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

posted @ 2022-03-28 22:31  banlichestnut  阅读(137)  评论(0编辑  收藏  举报