20199319 2019-2020-2 《网络攻防实践》第四周作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/19attackdefense
这个作业的要求在哪里 https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10518
我在这个课程的目标是 学习并掌握网络攻防知识,能完成相关实践
这个作业在哪个具体方面帮助我实现目标 对网络嗅探和协议分析有了基础的了解并运用一些工具进行了实践

1.知识点梳理与总结

1、网络嗅探概述

  • 网络嗅探技术是一种常用的窃听技术,利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的隐私信息。
  • 被动攻击技术;为中间人攻击提供帮助,为入侵检测系统提供底层数据来源。
  • 嗅探器捕获的报文是经过封包处理后的二进制数据
  • 嗅探器按照链路可以分为:有线局域网(以太网、Wi-Fi)和无线局域网嗅探器;区别是无线嗅探器可以读取和分析符合如IEEE 802.11等无线传输协议的数据包。
  • 按照实现方式分为:软件嗅探器和硬件嗅探器(协议分析仪)。

2、网络嗅探的原理与实现

  • 以太网工作原理:
    以太网共享通信信道,采用广播机制,使用CSMA/CD(载波监听/冲突检测)技术避免通信冲突。以太网中的数据以帧为单位,将上层封装的TCP/IP数据包在链路层装配上帧头和帧尾,发送至共享通信介质上。网卡驱动程序在正常模式下,只会接受目标MAC地址与自身MAC地址相匹配的数据帧。但网卡的混杂模式将会接收一切通过它连接共享通信媒介的数据帧。
  • 共享式网络和交换式网络:
    • 通过集线器进行连接的网络称为共享式网络,其网络拓扑基于总线方式,物理上是广播的。这种连接方式导致同一集线器上连接的所有主机在发送数据包时,会发往每一台主机,任一主机都能嗅探整个集线器上的网络流量。
    • 通过交换机组建的网络称为交换式网络,在交换机中存在“MAC地址-端口映射表”,从而将数据包将发送到特定的网卡。
  • 交换式网络中的网络嗅探技术:
    • MAC地址洪泛攻击:向交换机发送大量含有虚构MAC地址和IP地址的数据包,使映射表溢出无法处理,交换机进入类似集线器的工作方式。
    • MAC欺骗:假冒所要监听的主机网卡,是交换机更新映射表。
    • ARP欺骗(最常用):利用IP地址与MAC地址之间进行转换时的协议漏洞,达到MAC欺骗。
  • 类UNIX平台下:
    • 内核态的BPF(链路层的原始接口,可使网卡处于混杂模式;支持过滤封包)
    • 用户态的libpcap:抓包工具库,与内核态的BPF和过滤机制相配合,为UNIX平台的提供网络嗅探接口;
    • 捕获的数据包保存在pcap记录文件中,二进制文件。
  • windows平台下:NPF(与BPF兼容)、WinPcap(与libpcap兼容)

3、网络嗅探:嗅探器软件

  • 类UNIX平台下:
    通常使用的网络嗅探器软件一般基于标准接口BPF和libpcap,最常用包括libcap抓包开发库、tcpdump、wireshark嗅探器软件,另外还有sniff、sniffit等。
    • libpcap抓包开发库:libpcap开发的基本步骤是打开网络设备、设置过滤规则、捕获数据、关闭网络设备。
    • tcpdump:提供命令行模式,支持使用BFP语法的过滤条件进行数据包的选择性嗅探,然后进行TCP/IP协议栈的协议分析。
      tcpdump是通用的命令行网络嗅探器与数据包分析协议。通过src 192.168.200.200 and tcp dst port 80可以查看源主机向外连接的HTTP网络流量的情况。
      通过tcpdump将监视第一个网络接口上所有流过的数据包。
  • windows平台下的嗅探软件:wireshark、SnifferPro等。

4、网络嗅探的检测与防范

  • 网络嗅探的检测:网络嗅探是一种被动攻击手段,检测困难。可以通过探测网卡是否处于混杂模式来进行检测;可通过构建MAC地址不合法但是IP地址有效的ICMP Echo请求进行测试网卡是否处于混杂状态。Windows平台,mac地址前8位是否为0xff。
  • 网络嗅探的防范措施:使用安全的网络拓扑;用静态ARP和“MAC-端口映射表”;重视网络安全中集中位置点的安全防范;避免使用明文传输口令或敏感信息的网络协议。

5、网络协议分析技术

  • 网络协议分析技术原理:对网络上传输的二进制格式数据包进行解析,以恢复出各层网络协议信息以及传输内容的技术方法。
  • 网络协议分析的典型过程包括以下几个步骤:
    • 网络嗅探得到的原始数据是在链路层传输的二进制数据包。大多为以太网数据帧
    • 对数据帧进行结构分析,定位帧头各字段结构,根据帧头Type字段确定网络层的协议类型(大多是IP协议0800),并提取包含的网络层数据内容。
    • 进一步对IP数据包进行分析,根据IP协议头的Protocol字段,确定传输层协议类型(通常是TCP:6或UDP:17),并提取传输层数据内容。
    • 继续根据TCP或UDP目标端口确定确定具体的应用层协议(如http:80、ftp:21、telnet:23等),并对数据包进行拼接重组,得到应用层特定协议的应用交互内容。
    • 依据相应应用层协议对数据进行整合恢复,得到实际传输数据。

6、网络协议分析工具:Wireshark

作用:捕获数据包,对数据包进行协议分析,以尽可能的显示详细情况。
注意大小写!!!

  • 过滤源ip、目的ip:在wireshark的过滤规则框Filter中输入过滤条件。例如:查找源/目的地址为192.168.200.2的包(ip.src/dst==192.168.200.2)

  • 端口过滤:例如:tcp.port==80

  • host+地址:监听指定主机

  • 过滤get包/post包,http.request.method=="GET/POST"

  • 运算符使用:过滤两种条件时,使用and连接;相同:eq ==;不同:ne !=;大于:gt >;小于:lt <;大于或等于:ge >=;小于或等于:le <=;

2.实践内容

任务一 tcpdump

使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题:你在访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
在kali虚拟机上终端输入tcpdump src 192.168.200.4 and tcp dst port 80,浏览器访问www.tianya.cn,tcpdump嗅探到的数据包如下:

可以看到,浏览器访问了以下服务器:

  • 124.225.135.230 海南省海口市 电信
  • 218.77.130.160 海南省海口市 电信
  • 124.225.214.214 海南省海口市 电信
  • 117.18.237.29 Taipei, Taipei City, Taiwan
  • 124.225.65.154 海南省海口市电信

任务二 wireshark

使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
(1)你所登录的BBS服务器的IP地址与端口各是什么?
(2)TELNET协议是如何向服务器传送你输入的用户名及登录口令?
(3)如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?

打开wireshark进行捕包,在命令行输入telnet bbs.fudan.edu.cn,注册登录,查看捕包结果。
(1)由下图可以看出登录的BBS服务器的IP地址为:202.120.255.9

通过分析捕包,可以看出端口为:23

(2)使用Telnet协议进行远程登录时需要满足以下条件:在本地计算机上必须装有包含Telnet协议的客户程序;必须知道远程主机的Ip地址或域名;必须知道登录标识与口令。telnet远程登录服务分为以下4个过程(参考百度百科):

  • 本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的Ip地址或域名;
  • 将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据报;
  • 将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;
  • 最后,本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。

注册登录:(用户名:fanxn;密码:besti),TELNET协议在传输用户名和口令的时候,通过明文进行传输。

(3)选中一个telnet数据包,右键选择-->Follow TCP Stream,,如下图所示,可以看到用户名和密码:

任务三 取证分析实践,解码网络扫描器

(1)攻击主机的IP地址是什么?
(2)网络扫描的目标IP地址是什么?
(3)本次案例中是使用了哪个扫描工具发起这些端口扫描?
(4)你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
(5)在蜜罐主机上哪些端口被发现是开放的?
(6)攻击主机的操作系统是什么?

  • 用wireshark打开从云班课上下载listen.pcap,使用菜单栏中Statistics下的Conversation,选择IPV4可以看出,172.31.4.178和172.31.4.188之间发送了大量的数据包,可以确定攻击发生在在这两个ip之间。

从捕获的tcp数据包可以看出172.31.4.188基本发送的都是ack确认包,可以推测出此ip为目标主机,即网络扫描的目标IP地址是172.31.4.188,故另一个IP地址172.31.4.178为攻击主机的ip;

  • 通过nmap工具对端口进行了扫描。

  • 以arp为条件进行过滤,攻击机在广播域内广播arp request报文,如果收到arp response报文即为活跃,可以得到目标主机mac地址。

  • nmap在发起端口扫描之前总是先通过 Ping扫描和针对80端口进行探测,确定目标主机是否活跃,通过过滤器搜索icmp,可以定位ICMP协议对应的Ping扫描。

  • 可以看到在数据包中存在大量SYN请求包,这是攻击机57738端口向目标主机进行的TCP SYN扫描,目的是用于扫描目标主机的端口是否活跃,如果活跃则目标主机会反馈一个SYN|ACK包,攻击机端口会立刻发送一个RST包关闭这个链接,目标端口不活跃则会反馈RST|ACK包。

  • 在蜜罐主机上发现开放端口:输入过滤条件:tcp.flags.syn == 1 and tcp.flags.ack == 1,可以过滤出SYN|ACK的数据包,即反馈所有的开放端口。查
    看可以确定以下端口开放:
    21(ftp),22(ssh),23(telnet),25(smtp),53(domain),80(http),139(ssn),445(microsoft-ds),
    3306(mysql),5432(postgresql),8009,8180这几个端口是活跃的。

  • TTL 字段值可以帮助我们识别操作系统类型,根据TTL==64,推测攻击机的操作系统为linux。

任务四 攻防对抗实践

攻击方用nmap扫描,防守方用tcpdump嗅探,用wireshark分析,并分析出攻击方的扫描目的以及每次使用的nmap命令。

  • 使用WinXP作为攻击机(192.168.200.2),进行nmap扫描;kali(192.168.200.4)作为防守方,输入tcpdump -i eth0 -w tcp.pcap进行监听并且保存文件为tcp.pcap。再利用wireshark打开tcp.pcap进行分析。 tcpdump的使用参考

  • nmap扫描结果如下:



  • wireshark捕包结果:

3.学习中遇到的问题及解决

  • 1、虚拟机和主机文件传输问题
    在winXP中安装了vmware tool

  • 2、在浏览器访问网站时发现连不上网,所以刚开始并不能嗅探到信息
    重启虚拟机后成功连上,但过一会再次连不上了。查阅资料说要把网卡设置为NAT模式(但已经是了),然后只能重新设置了以下,ok!
    感觉网络不太稳定!

  • 3、在实践三中由于kali始终连不上网,所以open-vm-tool一直装不上,所以选择了winxp的虚拟机。不过现在终于解决了kali设置了NAT但总是时不时连不上网的问题。在之后准备在kali上再尝试一下。
    打开/etc/network/interfaces,然后添加两行内容,如下图:

https://blog.csdn.net/like98k/article/details/79873320

4.总结

通过本次学习,了解了tcpdump进行网络嗅探的使用,回顾了nmap的原理,通过攻防对抗实践对相关原理和操作更加的熟悉,但对于具体的分析还需要多加练习,在实践过程中还需要更多的耐心。

参考资料

VMWare网络连接问题
tcpdump常用用法
winXP中vmware tool的安装
telnet远程登录服务工作过程

原文地址:https://www.cnblogs.com/fanxiaonan/p/12560613.html