20211916 2021-2022-2 《网络攻防实践》第三周作业
1.实验要求
(1)动手实践tcpdump
使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题:你在访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
首先在kali打开网页:wwww.tianya.cn
在terminal运行命令 sudo tcpdump src 192.168.200.2 and tcp dst port 80
,其中 src 和 dst 是确定传输方向的关键字,指明ip包中源地址是 192.168.200.5 ,表示只捕获80端口的TCP协议数据包,监听192.168.200.5的http通信。
由上得到浏览器访问的Web服务器的IP地址 :
124.225.206.22
124.225.135.230
117.18.237.29
124.225.69.77
用nslookup
验证tcpdump
的正确性:
(2)动手实践Wireshark
使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
1. 你所登录的BBS服务器的IP地址与端口各是什么?
2. TELNET协议是如何向服务器传送你输入的用户名及登录口令?
3. 如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
在winxp虚拟机中,终端输入命令:telnet bbs.fudan.edu.cn
输入命令后显示如下图:
输入new,再依次注册用户名tanbanli,和用户密码123456,注册成功后,重新登录论坛:
回答问题1:BBS服务器的IP地址为202.120.255.9,端口为23, Wireshark截图如下:
回答问题2:telnet是使用明文向服务器传送用户名和命令的。
回答问题3:通过选定analyze->follow TCP Stream
,可以得到注册的用户名和密码,如下图:
(3)取证分析实践,解码网络扫描器(listen.cap)
1. 攻击主机的IP地址是什么?
2. 网络扫描的目标IP地址是什么?
3. 本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
4. 你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
5. 在蜜罐主机上哪些端口被发现是开放的?
6. 攻击主机的操作系统是什么?
回答问题1、2:通过wireshark打开listen.pcap文件,发现ip地址只有2个,分别是172.31.4.178和172.31.4.188。可以知道攻击主机IP地址为172.31.4.178,扫描的目标IP地址为172.31.4.188。
将listen.pcap复制到kali的home/kali文件夹中,使用snort工具对二进制文件进行入侵检测。
首先按如下步骤安装snort:
sudo apt-get update // 更新APT库
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 /home/kali/Downloads/listen.pcap
-A开启报警模式,-q不显示状态报告,,-u为初始化后改变snort的UID,-c为使用后面的配置文件,进入IDS模式,-r从pcap格式的文件中读取数据包
问答问题3:检测结果如下图所示:本次案例中是使用了nmap扫描工具对这些端口发起扫描。
问答问题4:攻击者使用了nmap的-sP Nmap进行ping扫描,用于判断主机是否存活。
以arp为条件进行过滤,攻击机在广播域内广播arp request报文,如果收到arp response报文即为活跃,可以得到目标主机mac地址。
nmap在发起端口扫描之前总是先通过Ping扫描和针对80端口进行探测,确定目标主机是否活跃,通过过滤器搜索icmp,可以定位ICMP协议对应的Ping扫描。
可以看到在数据包中存在大量SYN请求包,这是攻击机57738端口向目标主机进行的TCP SYN扫描,目的是用于扫描目标主机的端口是否活跃,如果活跃则目标主机会反馈一个SYN|ACK包,攻击机端口会立刻发送一个RST包关闭这个链接,目标端口不活跃则会反馈RST|ACK包。
问答问题5:输入过滤条件:tcp.flags.syn == 1 and tcp.flags.ack == 1
,可以过滤出SYN|ACK的数据包,即反馈所有的开放端口。查看可以确定以下端口开放:
21(ftp),22(ssh),23(telnet),25(smtp),53(domain),80(http),139(ssn),445(microsoft-ds),3306(mysql),5432(postgresql),8009,8180这几个端口是活跃的。
问答问题6:TTL字段值可以帮助我们识别操作系统类型,根据TTL==64,推测攻击机的操作系统为linux。
在终端先输入 sudo apt-get install p0f
安装p0f,再输入 sudo p0f -r /home/kali/Downloads/listen.pcap
探测,得知版本为linux 2.6.x。
2.学习中遇到的问题及解决
问题1:telnet无法打开到主机的连接。 在端口 23: 连接失败
解决:通过ping bbs.edu.cn发现是winx没有连接上互联网,修复一下,重新连接就可以了。
问题2:
解决:listen.pcap路径不对,换成listen.pcap现在所在路径即可。
sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap
换成如下
sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r /home/kali/Downloads/listen.pcap
3.学习感想和体会
这一次实践让我学习了取证分析,可以更好的理解网络攻防实践。
4.参考文献
1、老师给的视频
2、https://blog.csdn.net/m0_38103658/article/details/99680253
3、https://www.cnblogs.com/wyrr/p/12571981.html