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

网络嗅探与协议分析

1.实践内容

网络嗅探

  • 定义:网络嗅探是一种黑客常用的窃听技术,利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密信息等。

  • 网络嗅探器:实现网络嗅探技术的工具称为网络嗅探器。嗅探器捕获的数据报文是经过封包处理之后的二进制数据,因此通常会结合网络协议分析技术来解析嗅探到的网络数据,这样才能恢复出TCP/IP协议栈上各层网络协议的内容,以及事件发送的应用层信息。

  • 网络嗅探器的原理和实现

    • 以太网工作原理:以太网采用了CSMA/CD技术,由于使用了广播机制,所有与网络连接的工作站都可以看到网络上传递的数据。网卡是网络中主机接收发送数据的硬件设备。网卡完成收发数据包的工作。网卡对于数据的接收有四种模式:
      • 广播模式:该模式下的网卡能够接收网络中的广播数据。
      • 组播模式:该模式下的网卡能够接收组播数据。
      • 直接模式:只有匹配目的MAC地址的。网卡才能接收该数据。
      • 混杂模式:无论其目的MAC地址是什么,网卡都能够接收一切监听到的数据。
    • 网络监听的原理:
      • 利用以太网的特性把网卡置为混杂模式状态的工具,一旦网卡设置为这种模式,它就能接收经过它的每一个信息包。
    • 共享式网络嗅探:使用集线器连接,集线器上任意一台主机都能够嗅探整个集线器上的全部网络流量。
    • 交互式网络嗅探:通过MAC地址映射表来发送数据。通常有以下三种方式实现嗅探:
      • MAC地址泛洪攻击
      • MAC欺骗
      • ARP欺骗
  • 网络嗅探器软件

    • 类UNIX平台网络嗅探器软件
      • libpcap抓包开发库:类UNIX平台上基于内核态BPF向应用程序提供的标准抓包开发库。
      • tcpdump嗅探器软件:最老的也是最通用的嗅探器程序。是通用的命令行网络嗅探与数据包分析程序,允许用户能够从主机所在网络上截取和显示特定的TCP/IP数据包。善用BPF过滤器规则也是利用tcpdump进行深入网络数据包与分析的关键所在。
      • wireshark嗅探器软件:是当前类UNIX平台下最好的基于图形界面的嗅探器软件。可以捕获网络数据包,并进行详细的协议分析。
    • Windows平台上有类UNIX平台上对应的移植版本,此外还有snifferPro等。
  • 网络嗅探的检测与防范

    • 检测:网络嗅探是一种被动攻击手段,检测困难。可以通过探测网卡是否处于混杂模式来进行检测;可通过构建MAC地址不合法但是IP地址有效的ICMP Echo请求进行测试网卡是否处于混杂状态。Windows平台,mac地址前8位是否为0xff。

    • 防范措施:使用安全的网络拓扑;用静态ARP和“MAC-端口映射表”;重视网络安全中集中位置点的安全防范;避免使用明文传输口令或敏感信息的网络协议。

协议分析

  • 网络协议分析是指对网络上传输的二进制格式数据包进行解析,以恢复出各层网络协议信息以及传输内容的技术方法。
  • 网络协议分析过程
    • 得到链路层传输的二进制数据包,一般为以太网数据帧
    • 进行结构分析,根据帧头Type字段确定网络层协议类型
    • 对IP数据包进行分析
    • 根据TCP或UDP的目标端口确定具体的应用层协议
    • 依据相应的应用层协议对数据进行整合恢复,得到实际传输的数据

2.实践过程

使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题:
你在访问www.tianya.cn网站首页时,浏览器访问多少个Web服务器?他们的IP地址都是什么?

在ubuntu中输入命令sudo tcpdump src 192.168.200.10 and tcp dst port

通过对完整的地址监听,发现访问天涯时浏览器经过一下这几个服务器

天涯IP

124.225.135.230

124.225.65.154

202.108.23.152

218.77.130.200

52.94.234.174

通过站长工具对IP进行查找,发现服务器地址在海南省海口市

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

1.尝试进入bbs.pku.edu.cn,发现连接不上,于是进入bbs.fudan.edu.cn,发现可以进入,通过telnet在命令行进入复旦大学bbs论坛,通过wireshark抓包,可以看到 登录的IP地址为202.120.225.9,端口为23

2.telnet是使用明文向服务器传送用户名和命令的。

3.通过分析选项的follow tcp stream,可以查看到自己的用户名和密码

2.3 实践作业——取证分析实践:解码网络扫描

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

通过wireshark对打开listen.pcap文件,发现ip地址只有2个,显而易见一个为攻击机,一个为靶机,而172.31.4.188是不同的端口对一个端口的回应,可以知道攻击主机IP地址为172.31.4.178,扫描的目标IP地址为172.31.4.188

TCP SYN扫描原理

扫描器向目标主机的一个端口发送请求连接的SYN包,扫描器在收到SYN/ACK后,不是发送的ACK应答而是发送RST包请求断开连接。这样,三次握手就没有完成,无法建立正常的TCP连接,因此,这次扫描就不会被记录到系统日志中。这种扫描技术一般不会在目标主机上留下扫描痕迹。

由下图看到对mysql 3306端口扫描发现其处于打开状态,而扫描器收到回应后回复为RST,可以分析出为TCP SYN扫描,猜测使用工具为nmap

通过TCP SYN扫描原理,可以使用过滤命令tcp.flags.ack == 1 and tcp.flags.syn ==1发现打开的服务,通过点击每个服务可以查看到打开的端口。常用的有mysql 3306 telnet 23 http 80 ssh 22 ftp 21

TTL是IP协议包中的一个值,是数据包为了防止数据包在网络中无限制的循环,而设定的网络数据包在网络传输中最大的转发次数。

不同的操作系统,它的TTL值默认值是不相同的。Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。

通过查看TTL值,可以看出攻击主机的操作系统为Linux。

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

问题1:北大的BBS论坛进不去?

解决:换个BBS论坛进就行了,比如复旦的bbs.fudan.edu.cn

4.实践总结

通过网络嗅探实践,发现想要窃取一个没有安全意识人的信息确实很容易,但也容易产生不良思想,学习安全一定要坚持本心,不想着搞黑产,更要有防御意识,同时意识到自己还是有很多的不足,对一些原理性的不是很清楚,需要继续的深入进去。

猜你喜欢

转载自www.cnblogs.com/kikokikokiko/p/12571698.html