20212820 2021-2022-2 《网络攻防实践》第三周作业
1.实验内容
1.1 网络嗅探
-
网络嗅探概述
网络嗅探技术是一种常用的窃听技术,利用计算机的网络接口截获并监听数据流中所包含的隐私信息。
-
网络嗅探的原理与实现
以太网工作原理介绍:以太网通过使用CSMA/CD协议的共享通信信道进行消息传输。以太网中的数据以帧为单位,将上层的数据包装配上帧头和帧尾,通过MAC地址匹配数据包的目标。当网卡处于混杂模式下,能够接受一切通过它连接的以太网络的数据帧。
-
不同平台网络嗅探技术实现
类UNIX平台下,用户态的libpcap与内核态的BPF和过滤机制进行配合,共同提供UNIX平台的网络嗅探接口;windows平台下,通过与libpcap相容的WinPcap进行抓取。
-
网络嗅探软件
类Unix平台下的嗅探软件:libpcap、tcpdump、wireshark和dsniff、sniffit等等
windows平台下的嗅探软件:wireshark、snifferPro等等
-
网络嗅探的检测
可以通过探测网卡是否处于混杂模式来进行检测,或者通过构建MAC地址无效但是IP地址有效的ICMP Echo请求查看主机是否返回应答包从而测试网卡是否处于混杂状态。
-
网络嗅探的防范措施
采用安全的网络拓扑,对网络进行合理分段;通过在重要的主机或网关上设置静态的ARP对应表,以及在交换机上设置静态的MAC-端口映射表,能够防止利用MAC地址欺骗、ARP欺骗等手段进行嗅探的手法;重视网络数据传输的集中位置点的安全防范;避免使用明文传输口令或敏感信息的网络协议。
1.2 网络协议分析
-
定义:对解惑的以二进制数字发送的数据包进行分析,得出该数据包使用的协议以及内容的技术。
-
原理:首先利用嗅探技术截获链路层数据包,然后逐步分析确定该数据包使用的网络层协议、传出层协议、应用层协议,最后解析获得传输的数据。
-
网络协议分析工具:wireshark
2.实验过程
(1)动手实践tcpdump
使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题:你在访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
i.在kali虚拟机上终端输入tcpdump src (本机IP)192.168.11.24 and tcp dst port 80。然后打开火狐浏览器访问 www.tianya.cn。我们可发现tcpdump 嗅探到的数据包如下:

由于空间有限,仅仅截图部分,他们的ip地址都是:
124.225.159.113
124.225.214.206
124.225.206.22
(2)动手实践Wireshark
使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
- 你所登录的BBS服务器的IP地址与端口各是什么?
- TELNET协议是如何向服务器传送你输入的用户名及登录口令?
- 如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
i.可以先将Wireshark打开,然后在终端中输入指令: luit -encoding gbk telnet bbs.fudan.edu.cn登录BBS。进入如下界面:

ii.在Wireshark中,通过查询,可以获得BBS服务器的IP为202.120.225.9,端口为23。

iii.Telnet协议在传输用户名和密码时采用的时明文传输,我们通过追踪TCP流可以看到我们的用户名为guest。如下所示:

iv.选择下方的对话从本机IP: 192.168.11.24到复旦大学BBS的IP: 202.120.225.9,可以发现用户名为guest,密码为空。如下所示:

(3)取证分析实践,解码网络扫描器(listen.cap)
-
攻击主机的IP地址是什么?
-
网络扫描的目标IP地址是什么?
-
本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
-
你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
-
在蜜罐主机上哪些端口被发现是开放的?
-
攻击主机的操作系统是什么?
i.使用snort对二进制记录文件进行入侵检测。
通过sudo apt-get install snort命令进行snort的安装;通过sudo chmod 777 /etc/snort/snort.conf给予snort.conf可读可写可执行权限;通过sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap(-A为开启报警模式,-q为不显示状态报告,-r为从.pcap格式文件中读取数据包)查询结果。

通过snort的分析,我们可以得到攻击主机IP为172.31.4.178,网络扫描目标IP为172.31.4.188。
同时,我们还可以知道攻击形式为nmap扫描。
ii.根据题意,使用Wireshark获取扫描类型和目标端口。
在wireshark中筛选ARP。nmap每次探测主机活跃都是在广播域内广播arp request报文,而且每次扫描之前都会进行主机活跃探测。
通过筛选,不难看出一共进行了4次nmap扫描,扫描的起点分别是5,7,2071和133220。其中第一次和第二次之间没有数据包,所以第一次作为ARP的单独扫描,也就是使用nmap -sp命令判断网段中活跃的主机。

通过观察第二次扫描的末尾数据包。发现攻击机针对 ssh、 TCP 和 UDP 的1端口使用了大量构造的标志位,以触发不同的响应包。从而,判断这些流量是由其nmap -O 靶机IP触发,进行远程主机的操作系统探测。结果如下:

接下来观察第三次扫描。第三次扫描的往返是13W数据包,估计扫描端口六万多。所以第三次扫描的参数应该是nmap -sS来人为指定扫描端口的数量。结果如下:

使用命令tcp.port == 23(23为telnet端口)过滤文件数据。发现攻击机对靶机进行4次扫描过程。可以看出在第一二三次扫描都只是建立了连接就结束了,但在第四次扫描的时候出现了telnet连接;

使用命令tcp.port == 22(22为ssh端口)可知第一二三次都是确定目标端口打开,第四次出现了ssh连接,此处是为了探知靶机的ssh软件版本。由此我们知道第三次和第四次对22端口的扫描实际上是一体的,第三次用来发现22端口是否打开,第四次探知22端口服务的软件版本。因此第四次扫描为nmap -sV,探测靶机上开放的网络服务。

iii.使用命令tcp.flags.syn == 1 and tcp.flags.ack == 1进行过滤发现靶机上打开的端口为21、22、23、25、53、80、139、445、3306、5432、8009、8180。

iv.然后确定操作系统,使用p0f -r listen.pcap对数据包进行分析,可以从中发现探测到的操作系统版本为Linux 2.6.x:结果如下:

3.学习中遇到的问题及解决
- 问题1:安装snort失败
解决方案:多次尝试各种网络上的安装方法失败后,选择了重装系统大法,重装了最新版本的kali,再次折腾更新源安装snort成功。
4.学习感悟、思考
通过一次次的实验,对于网络协议的分析、一些分析工具的使用我更加熟悉了,极大的锻炼了我的动手实验能力,收获很多,也让我把计算机网络的知识再次温习了。对于计算机网络的知识从课本变得更贴近现实了。
浙公网安备 33010602011771号