导航

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

1.概况

本次作业属于哪门课 网络攻防实践
作业要求 网络嗅探与协议分析
收获 学习并了解了网络嗅探的实现原理以及一些嗅探工具的使用,并且复习了一些在计算机网络中学习过的网络协议

2.计算机网络知识点复习

2.1关于集线器hub

集线器处于物理层,实际上是一种多端口的中继器,集线器的工作原理就是将一台主机发出的消息广播到所有处于集线器上的其他主机,集线器上其他主机通过检查信息来确认信息是否是发送给自己的,因此集线器不能隔离冲突域(冲突域:在一个网络中,如果两台计算机同时发起通信会发生冲突,那么这个网络就属于一个冲突域),集线器在一个时钟周期内只能传输一组信息,如果一个集线器连接过多的主机,当多台主机同时发起通信时将发生信息堵塞、碰撞。

2.2 CSMA/CD协议

CSMA/CD全称为带冲突检测的载波侦听多路访问协议,是局域网内被广泛使用的介质访问控制协议。在CSMA机制中,由于可能存在多个节点侦听到信道空闲并同时开始传送数据,从而造成冲突,但是即使冲突了,CSMA协议也要将已破坏的帧发送完,使总线利用率降低。一种CSMA的改进方案是在发送站点传输的过程中仍继续监听信道,以检测是否存在冲突。如果发生冲突,信道上可以检测到超过发送站点本身发送的载波信号的幅度,由此判断出冲突的存在,那么立即停止发送(推迟一个随机的时间再发送),并向总线上发送一串阻塞信号,用以通知总线上的其他站点,各个站点接收到该阻塞信号,就不再发送数据了;总的来说就是“先听后发,边听边法,冲突停发,随机重发”

2.3网桥的概念和基本原理

随着局域网的发展,往往需要将多个局域网用一些中间设备连接起来,实现局域网之间的通信,这就是局域网的扩展。这里主要是在物理层和数据链路层对局域网进行扩展。在物理层扩展局域网使用的是中继器和集线器,其中有以下几个缺点:

  • 扩大了冲突域且总的吞吐量未提高
  • 不能互联使用不同以太网技术的局域网
    在数据链路层扩展局域网使用网桥。其特点是具有过滤帧的功能,网桥至少有两个端口,每个端口与一个网段连接。网桥每从一个端口接收到一个帧,就先暂存到缓存中,若该帧未出现差错,且欲发往目的站MAC地址属于另一个网段(同一个网段无需转发,应该丢弃),则通过查找转发表,将该帧从对应端口发出。因此,仅在同一个网段内通信的帧,不会被网桥转发到另一个网段中,因而不会加重整个网络的负担。

3.本章知识点总结

3.1网络嗅探的定义

网络嗅探是指利用计算机的网络接口截获其它计算机的数据报文的一种手段。实现网络嗅探的工具称为网络嗅探器(Sniffer)。

3.2网络嗅探器技术与工具分类

嗅探技术按照链路可以分为:有线局域网和无线局域网嗅探技术;按照实现方式分为:软件嗅探器和硬件嗅探器。

3.3网络嗅探实现的原理

众所周知,数据包在互联网上的传播是根据IP地址进行寻址的,但是完整的过程并非如此。数据包通过IP地址可以达到的最远的地点就是目标主机所在的子网,而在该子网内的寻址却是使用物理地址的,即MAC地址。数据包被传送到目标主机所在的子网时,它将被交给路由器,路由器在该子网内使用广播方式传播出去,这意味着该子网内的所有主机都可以接收到该数据包。不过主机接收到数据包后通常会先检查其目的地址,如果目的地址不是自己,那么就是丢弃,只有目的地址为自己的数据包才会将其交付给上一层处理。Sniffer将网卡设置为混杂模式,这样就可以接收到所有的数据包了,达到了嗅探了目的。网卡对接收到的数据包经过一步步的解析之后就得到了最终的应用程序报文,此时就可以清晰易懂地看出它所包含的内容。

3.4共享式网络和交互式网络的嗅探分析

共享式网络主要是通过集线器和中继器进行局域网组网,当局域网中任意一台主机发起通信时,发出的信息将被hub广播到其他所有端口上的主机,很容易被进行网络嗅探;而交互式网络是通过交换机(多端口网桥)将多个网段桥接到一起,当其中一个网段内的主机给其他网段的主机发送信息时,通过交换机中的MAC地址-端口映射表进行查找目标主机所在的端口,并将信息由该端口转发出,只有当未找到目标主机MAC地址时才进行广播,大大减少被网络嗅探的风险。

3.5针对交互式网络的网络嗅探手段

(1).MAC地址洪泛攻击

指攻击者向交换机发送含有大量虚假MAC和IP地址的数据包,导致交换机MAC地址-端口映射表溢出,无法进行端口映射,这时的交换机只能进行广播模式,向所有端口发送数据。

(2).MAC地址欺骗

假设局域网内有两台主机A,B,分别连接到交换机的1端口和2端口上,如果攻击者利用主机A来对主机B进行网络嗅探,那么采用MAC地址欺骗的方式就是A向交换机发送伪造的数据包,将源MAC伪造成B主机MAC地址,目的MAC仍然为B主机MAC,数据包发送到交换机时,因为源地址和目的地址一致,交换机将丢弃数据包,并更新MAC地址-端口映射表,将主机B的MAC地址映射到端口1上,但实际上主机B仍然处于端口2上。这样我们成功实施了MAC欺骗 所有的发往主机B的数据 都发送到了1号端口,主机B收不到数据了。这时有个问题 ,主机B发送数据的时候 端口的对应关系还是会变回正确的,这时就需要我们不停发送伪造的数据包来维持这个对应关系。

3.6网络协议分析技术原理

网络协议分析是指对网络上传输的二进制数据包进行解析,以恢复出各层协议信息以及传递内容的技术方法
OSI七层模型数据包封装流程

4.网络嗅探实践

linux下的抓包是通过注册一种虚拟的底层网络协议来完成对网络报文(准确的说是网络设备)消息的处理权。当网卡接收到一个网络报文之后,它会遍历系统中所有已经注册的网络协议,例如以太网协议、x25协议处理模块来尝试进行报文的解析处理,这一点和一些文件系统的挂载相似,就是让系统中所有的已经注册的文件系统来进行尝试挂载,如果哪一个认为自己可以处理,那么就完成挂载。
当抓包模块把自己伪装成一个网络协议的时候,系统在收到报文的时候就会给这个伪协议一次机会,让它来对网卡收到的报文进行一次处理,此时该模块就会趁机对报文进行窥探,也就是把这个报文完完整整的复制一份,假装是自己接收到的报文,汇报给抓包模块。

4.1使用tcpdump对主机访问天涯网进行嗅探,回答问题:你在访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?

tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

//监视指定网卡传输的数据包,如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0
tcpdump -i eth1 
//指定监控主机192.168.2.42收发到的所有数据包
tcpdump host 192.168.2.42 
//截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信
tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \) 
//如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令
tcpdump tcp port 23 and host 210.27.48.1 

对主机访问天涯网进行嗅探使用命令:sudo tcpdump src 192.168.2.42 and tcp dst port 80
首先在linux内打开浏览器访问[天涯网](www.tianya.cn),在终端界面执行上述命令进行网络嗅探


嗅探结果如上图所示,其中出现了多个ip地址,分别是117.18.237.29,221.182.218.244,221.182.218.229,
使用nslookup www.tianya.cn命令对天涯网进行ip查询,发现其ip地址为221.182.218.229

经过查询发现访问天涯网浏览器浏览了三个服务器,最后一个到达了天涯网。

4.2学习如何用wireshark抓包

使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:

  • 你所登录的BBS服务器的IP地址与端口各是什么?
  • TELNET协议是如何向服务器传送你输入的用户名及登录口令?
  • 如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
    如下,使用windows进行telnet登录清华大学水木年华BBS论坛,win+R打开运行,输入cmd,启动控制台,输入telnet www.newsmth.net回车

    成功访问到清华大学水木年华BBS论坛,此时打开wireshark筛选器,筛选telnet协议,出现如下所示数据包,其中120.92.212.76即为水木年华BBS的ip地址,使用端口为23号端口。

    此时以访客身份登录水木年华BBS,即账户名为“guest”,回车即可登录,wireshark抓取从本机发送到BBS主机上的信息流,右键选择“追踪流-tcp流”,即可看到所有主机和BBS交互的信息,选择左下角从本地主机到BBS主机的数据流查看(因为要抓取从本地主机登录BBS的账户信息,所以要选择从本地到BBS的数据流),即可看到用明文传输的访客用户名“guest”,没有密码。

    为了适应异构环境,Telnet协议定义了数据和命令在Internet上的传输方式,此定义被称作网络虚拟终端NVT(Net Virtual Terminal)。它的应用过程如下:
  • 对于发送的数据:客户机软件把来自用户终端的按键和命令序列转换为NVT格式,并发送到服务器,服务器软件将收到的数据和命令,从NVT格式转换为远地系统需要的格式;
  • 对于返回的数据:远地服务器将数据从远地机器的格式转换为NVT格式,而本地客户机将将接收到的NVT格式数据再转换为本地的格式。

4.3 取证分析实践:解码网络扫描

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

分析思路:
1.首先对数据包中的所有ip地址和流量进行统计,可以发现其中两个ip地址172.31.4.178,172.31.4.188 的流量占比很大,可以确定这两个ip对应的主机是攻击主机和靶机


2.其次,分析数据包中ARP协议数据
地址扫描探测是指利用ARP、ICMP请求目标网段,如果目标网段没有过滤规则,则可以通过回应消息获取目标网段中存活机器的IP地址和MAC地址,进而掌握拓扑结构,分析ARP数据可知是主机172.31.4.178向网段发起ARP请求,主机172.31.4.188对请求作出回应,将自己的ip和MAC地址发送给172.31.4.178。即可知道主机172.31.4.178发动了MAC地址扫描探测,可初步判定为攻击机。


3.通过筛选tcmp协议数据报,可以发现172.31.4.178对主机172.31.4.188实行了ping命令,主机172.31.4.188做出响应,此时主机172.31.4.178发现主机172.31.4.188连通。

4.分析下图中数据连接,可以知道攻击机对目标进行了半连接扫描,攻击机首先发起SYN包,目标返回SYN ACK;攻击方再发送RST包。如果端口未开启,目标主机直接返回RST包结束会话;图中攻击机分别对端口23和端口80进行了半连接扫描,目标有返回,说明端口打开。

5.分析如下数据,攻击机向目标发起UDP端口扫描,目标返回值为unreachable,表示UDP端口未打开

6.通过以上分析,可以断定攻击机就是ip地址为172.31.4.178的主机,172.31.4.188为目标主机,在这个抓取的数据包中,使用了一套完整的扫描步骤,首先是进行活动主机探测,然后是ping连通性,以及tcp连通性、半连通性、udp扫描等,可以判断使用了nmap工具进行的扫描;通过分析可知目标主机上开放的端口有:3306,39,23,80,5432,8009,8180,21,25,139
7.分析攻击机的操作系统
既然知道了攻击机ip是172.31.4.178,那么就从攻击机发出的数据包入手,根据百度查询知道不同的操作系统的TTL默认值是不同的,如windows一般为128,
linux一般为64,因此对攻击机ip数据报中的TTL值进行分析,可以猜想攻击机运行的是linux系统

5.参考资料

<<2019版计算机网络高分笔记-机械工业出版社>>
<<计算机网络第六版-高等教育出版社>>
WireShark教程 – 黑客发现之旅(5) – (nmap)扫描探测

posted on 2020-03-22 20:13  IT马保国  阅读(618)  评论(0编辑  收藏  举报