20199110 2019-2020-2 《网络攻防实践》第四周作业
1.实践内容
第4章是网络嗅探与协议分析。
(1)网络嗅探
利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密信息等。实现网络嗅探技术的工具称为网络嗅探器(sniffer)。网络嗅探技术可以按监听链路层网络分,也可以按照实现形式分为软件嗅探和硬件嗅探。
(I)网络嗅探软件
-
类UNIX平台网络嗅探软件(libpcap抓包开发库、tcpdump嗅探器软件、wireshark嗅探器软件、Snort开源网络入侵检测系统、dsniff、sniffit、linux_sniffer等)
-
Windows平台网络嗅探器软件(NPF、winpcap、windump、wireshark、SniffPro、Buttsniffer、NetMon、Network Associates Sniffer等)
-
tcpdump是通用的命令行网络嗅探与数据包分析程序,允许用户能够从主机所在网络上截取和显示特定的TCP/IP数据包
(II)网络嗅探的防范措施
-
采用安全网络拓扑
-
用静态ARP或MAC-端口映射表代替动态机制
-
重视网络数据传输的集中位置点的安全防范
-
使用加密及安全增强的网络协议进行替代
(2)网络协议分析
是指对网络上传输的二进制格式数据包进行解析,以恢复出各层网络协议信息以及传输内容的技术方法。对TCP/IP协议栈中基本网络协议的分析技术实现比较简单,在开源网络嗅探器软件(如Tcpdump、Wireshark、Snort等)都有相应的源码实现。其他协议如ICMP、ARP、UDP等协议,只需按照各自的协议格式进行分析即可。
Snort进行网络协议分析的主要过程:
-
解析以太网数据帧(预处理 ——> 拆包 ——> 解析上层协议)
-
解析IP数据包(预处理 ——> 拆包 ——> 解析上层协议包)
-
解析TCP数据包(预处理 ——> 拆包 ——> 解析)
网络协议分析工具Wireshark是一款开源网络数据包分析工具,其主要作用是捕获网络数据包,对数据包进行协议分析。Wireshark支持类UNIX、Windows和Mac OS平台。
2.实践过程
任务一
使用tcpdump开源软件对在本机上访问www.tianya.cn
网站过程进行嗅探,回答问题:你在访问www.tianya.cn
网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
解答
访问www.tianya.cn
网站首页时,使用tcpdump src 本机IP and tcp dst port 80
指令进行查询,本机IP为192.168.200.6
。结果如下:
通过上图(由于空间有限,没有全部显示),我们可以发现浏览器访问的Web服务器有:
117.18.237.29
221.182.218.229
221.182.218.244
221.182.218.238
221.182.218.151
124.225.214.214
203.208.41.63
通过nslookup www.tianya.cn
,查询到他的IP地址为221.182.218.229
。操作如下:
任务二
使用Wireshark开源软件对在本机上以telnet方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
(1)你所登录的BBS服务器的IP地址与端口各是什么?
(2)telnet协议是如何向服务器传送你输入的用户名及登录口令的?
(3)如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
解答
(1)可以先将Wireshark打开,然后在终端中输入指令luit -encoding gbk telnet bbs.fudan.edu.cn
登录BBS。进入如下界面:
(2)在Wireshark中,通过查询,我们可以获得BBS服务器的IP为202.120.225.9
,端口为23
。
(3)Telnet协议在传输用户名和密码时采用的时明文传输,我们通过追踪TCP流可以看到我们的用户名为guest
。如下所示:
(4)选择下方的对话从本机IP(192.168.200.6
)到复旦大学BBS的IP(202.120.225.9
),可以发现用户名为guest
,密码为空。如下所示:
任务三
取证分析实践:解码网络扫描
案例分析挑战内容:这次案例分析挑战是完全为刚入门的安全分析师准备的,目标是分析有人为构造的一台蜜罐主机5次不同类型端口扫描。需要指出的是,这次案例分析中的端口扫描流量并不是从“野外”捕获的,而是特意构造的,这次入门级的案例分析挑战的目的完全是为了提供学习和训练的机会。
网络入侵检测器-snort捕获每次扫描的流量并存入tcpdump格式二进制网络日志文件中。这次挑战的任务每组从这5次扫描的日志文件中随机选择两个,分析这两个文件,回答所列的问题,并撰写详细的实验分析报告。通过这次挑战,你能够学习到数据包抓取技术的使用方法,以及使用数据包解码工具tcpdump或Wireshark分析网络数据包的技能。
问题:
(1)攻击主机的IP地址是什么?
(2)网络扫描的目标IP地址是什么?
(3)本次案例中是使用了哪个扫描工具发起这些端口扫描/?你是如何确定的?
(4)你所分析的日志文件中,攻击者使用了哪种扫描方法,扫描的目标端口是什么,并描述其工作原理。
(5)在蜜罐主机上发现哪些端口是开放的?
(6)额外奖励问题:攻击主机的操作系统是什么?
解答
(1)根据题意要求,使用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扫描。
(2)根据题意,使用Wireshark获取扫描类型和目标端口。
(I)在wireshark中筛选ARP。nmap每次探测主机活跃都是在广播域内广播arp request
报文,而且每次扫描之前都会进行主机活跃探测。通过筛选,我们发现第一次和第二次之间并没有数据包,进而判定第一次是采用namp -sP 靶机IP
进行主机活跃探测。结果如下:
(II)通过观察第二次扫描的末尾数据包。发现攻击机针对 ssh、 TCP 和 UDP 的1端口使用了大量构造的标志位,以触发不同的响应包。从而,判断这些流量是由其nmap -O 靶机IP
触发,进行远程主机的操作系统探测。结果如下:
(III)接下来观察第三次扫描。第三次扫描的往返是13W数据包,估计扫描端口六万多。所以应该是指定端口扫描,使用的namp -sS -p 1-65535
(-p指定扫描的端口数)指令进行扫描。结果如下:
(IV)观察最后一次扫描。第四次扫描的时间高于前三次扫描的时间,这符合之前进行收集技术学习时获得的经验准则。因此,我们可以假设最后一次为namp -sV 靶机IP
网络服务探测。寻找一个8180端口(http),我们发现普通的活跃性检测就是半开扫描SYN->SYN,ACK->RST
,而第四次扫描发现建立了握手和HTTP连接,故而判定扫描方式为namp -sV 靶机IP
。结果如下:
(3)同样处于Wireshark中对文件进行分析。
(I)首先确定端口,通过筛选tcp.flags.syn == 1 and tcp.flags.ack == 1
,得到开放的端口有:21 22 23 25 53 80 139 445 3306 5432 8009 8180
。结果如下:
(II)然后确定操作系统,使用nmap -O -r listen.pcap
进行操作系统类型的探测,基本确定操作系统是Linux
。结果如下:
任务四
攻击对抗实践
攻击方用nmap扫描(达到特定目的),防守方用tcpdump嗅探,用Wireshark分析,并分析出攻击方的扫描目的以及每次使用的nmap命令。撰写实验报告。
解答
本次选用IP为192.168.200.6
的SEEDUbuntu作为攻击机,扫描指令包括nmap -sP 靶机IP
、nmap -sS 靶机IP
、nmap -sV 靶机IP
、nmap -O 靶机IP
。以下为操作示例:
选用IP为192.168.200.125
的Metasploitable作为靶机,嗅探指令为tcpdump -i eth0 -w dump.pcap
。使用tcpdump -r dump.pcap
可以进行dump.pcap
的分析查看,由于Metasploitable命令行不可以上推,没有进行结果显示。以下为操作示例:
以上为任务四部分操作,涉及分析扫描目的和扫描指令类型部分详查任务三。
3.学习中遇到的问题及解决
-
问题1:不同虚拟机之间内置工具不同,且工具使用各异。
-
问题1解决方案:根据任务和实战需要,选择合适的平台和工具进行使用。
-
问题2:虚拟机特性各异,存在各自的缺点和有点。
-
问题2解决方案:根据现实情况,选择符合大众观感的虚拟机进行操作。比如,本次作业中用到的ubuntu不存在kali中文乱码的情况。
4.实践总结
嗅探和分析可以帮助我们获得更多的信息,更了解被攻击系统,更容易攻入被攻击系统。随着攻防技术的发展,嗅探和分析的工具不断增加,整体成集成化、平台化发展。因为工具集成程度不一,所能完成的工作不一,因此我们需要选择合适的工具使用。
在使用嗅探工具和网络分析工具时,我们应当遵循合法合理的原则,不逾矩。在复现或者完成某些操作时,有的时候会给人带来一种成就感。同时,会促使自己去完成更多的任务,把任务完成的更好。在边学边用的过程中,我们要不断积累经验,争取做得更好。在解决问题的过程中,不断学习和成长。