20241902 2024-2025-2《网络攻防实践》第三周作业
1.实验内容
本周主要通过练习使用tcpdump、wireshark和snort等软件,学习网络嗅探、协议分析以及取证分析相关技术的学习和实践。利用tcpdump可以分析本机访问某个网站过程中,嗅探浏览器访问的web服务器;使用wireshark可以在本机以telnet方式登录BBS时进行嗅探和分析;使用snort可以对listen.pcap文件进行多维度的分析,进行攻击行为分析和取证;最后使用p0f可以对攻击机的操作系统等数据进行分析。
2.实验过程
实验(1)动手实践tcpdump
将kali网络模式改为桥接,以链接外部网络:
使用ifconfig
命令获取ip:
在终端输入命令tcpdump -n src 192.168.1.103 and tcp port 80 and "tcp[13]&18=2"
,打开firefox访问www.bilibili.com(tianya.cn无法访问):
可见其ip为60.9.5.121
,但查询其dns记录,和这一IP地址不相同,怀疑采用了cdn加速,使用超级ping验证,证实有cdn加速:
实验(2)动手实践wireshark
以telnet方式访问水木清华社区:
开启wireshark抓包,可见其ip和端口为120.92.212.76:23
:
跟踪TCP流,分别以guest和admin/admin登录该社区,通过观察数据包可发现登录用户名和口令以明文方式传输:
那么利用wireshark抓取的数据包,可以直接明文获得登录用户名和口令。
实验(3)使用snort和p0f,对listen.pcap进行分析
在seedlab系统中sudo apt-get update
更新软件源,sudo apt-get install snort
安装snort:
输入命令sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap
,对listen.pcap分析:
可见攻击机ip为172.31.4.178,目标ip为172.31.4.188,使用nmap进行扫描:
用wireshark打开listen.pcap,分析攻击者的攻击过程:
筛选arp包,攻击机在攻击之前会对靶机进行询问,可见共进行了4次询问:
第1、2次询问之间没有任何其他行为,故第一次询问是命令nmap -sP 172.31.4.188
的结果,旨在探测目标是否活跃。
第2、3次询问中可见有大量下图所示的数据包发送,在这些数据包中攻击机通过构造不同的标志位,根据目标返回包的特征对其操作系统进行探测,使用命令为nmap -O 172.31.4.188
:
第3、4次询问中有大量重复数据包,分析可知为全端口扫描,命令为nmap -sS -p 1-65535 172.31.4.188
:
第4次询问后,攻击机以发送不同协议的数据包,旨在探测目标开启的服务,命令为nmap -sV 172.31.4.188
:
在wireshark中以条件tcp.flags.syn==1 and tcp.flags.ack==1 and ip.src==172.31.4.188
进行数据包筛选,发现目标开启端口21,22,23,25,53,80,445,3306,5432,8009,8180:
在kali中安装p0f:
输入命令sudo p0f -r listen.pcap
,可见攻击机系统为linux 2.6.x:
3.学习中遇到的问题及解决
- 问题1:tianya.cn和复旦大学bbs无法访问
- 问题1解决方案:换用www.bilibili.com和水木清华社区进行实验
- 问题2:kali系统安装的snort为3.x版本,原有的snort.conf换成了snort.lua,原有命令无法将警报消息输出到控制台
- 问题2解决方案:在seedlab中安装snort,版本为2.x,可以得到想要的输出
4.学习感悟、思考等
通过此次实验的学习,掌握了tcpdump、wireshark、snort等网络嗅探分析工具等的初步使用,在安装snort的过程中,对linux更新源、apt方式安装软件等的操作也进行了学习。通过wireshark对数据包的分析,初步了解了攻击机使用nmap扫描目标的具体原理和数据包格式特点。
Acknowledgement
对孔佳音同学及其男友在snort 3.x的配置及使用中给予的帮助表示衷心的感谢!