20212821 2021-2022-2 《网络攻防实践》第三周作业

1.实验内容

1)动手实践tcpdump,学习利用TCPDUMP在访问某个网站过程中的抓包功能,并根据所抓取到的数据包分析所访问网站的WEB服务器及IP地址
2)动手实践wireshark,使用Wireshark对在本机上以TELNET方式登录BBS进行嗅探与协议分析
3)取证分析实践,解码网络扫描器,使用wireshark分析某个扫描过程的数据包收发情况,分析扫描方式及具体命令

2.实验过程

(1)动手实践tcpdump

使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题:你在访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
打开SEEDUBUNTU虚拟机,并打开终端,在终端中输入命令:sudo tcpdump src 192.168.1.108 and tcp dst port 80,IP为虚拟机自身的IP,该命令表示所有由主机发出的,SYN位置1,ACK位置0的,发往端口80的数据包。打开网页访问 www.tianya.cn,此时可以在终端中看到捕获的数据包详情。捕获结果如下图所示:

在访问过程中出现的IP地址分别为124.255.135.130、124.255.206.22、124.255.69.77、124.255.214.214、223.23.221.60、111.206.209.249和82.221.107.34
猜测以上地址为访问过程访问的WEB服务器及其对应的IP地址,使用如下命令查询www.tianya.cn对应的IP地址:

(2)动手实践Wireshark

使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:

1)你所登录的BBS服务器的IP地址与端口各是什么?
首先打开命令窗口,使用命令 telnet bbs.fudan.edu.cn访问BBS服务器
第一次使用时要先输入new命令来注册一个新的账号,注册完账号后重新打开BBS,然后使用刚才所注册的账号进行登录:

登录过程捕包部分截图如下:

这两张截图分别是DNS数据包和TCP握手数据包的截图,从图中可以看到所登录的BBS服务器的IP地址为:202.120.225.9,端口为23
2)TELNET协议是如何向服务器传送你输入的用户名及登录口令?
观察如下数据包:

我们可以发现TELNET协议在传输用户名及口令时,是客户机先向服务器发送一个字符的数据,服务器收到后再向客户机发送所收到的这一字符数据,接着客户机在向服务器传送下一个字符,直到把用户名及口令传输完毕,并且在传输时使用明文传输。
3)如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
可以先使用TELNET过滤所捕获到的登录数据包,然后再依次查看每一个数据包所携带的明文数据,如下图所示:

用户名和密码之间用一个传输\r\n的数据包隔开,从而我们可以得到登录过程中的账号为:lvxiuwei,密码为:123456

(3)取证分析实践,解码网络扫描器(listen.cap)

查看扫描过程中所捕获的部分数据包:

1)攻击主机的IP地址是什么?
由上图可知,攻击主机的IP地址为172.31.4.178
2)网络扫描的目标IP地址是什么?
网络扫描的目标IP地址为172.31.4.188
3)本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
本次案列使用nmap工具发起这些端口扫描,我是通过snort工具进行确定的
4)你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
扫描的部分截图如下图所示:

由上图可知,攻击机在进行扫描目标机端口时根据目标及端口的不同状态做出了不同的响应
根据相应特点我们可以判断出攻击机对目标机端口采取的tcp端口扫描方式为开放扫描,下面对整个扫描过程进行分析:
首先以“arp”作为过滤条件进行过滤,发现172.31.4.178共向172.31.4.188发送了四次arp请求,如下图所示:

第一次和第二次之间没有数据包,故第一次为ARP的单独扫描,也就是使用nmap -sp命令判断网段中活跃的主机
第二次扫描时nmap使用命令tcp.port == 57738 and tcp.flags.syn == 1 and tcp.flags.ack == 0
表示tcp端口57738发送tcp请求但无回应,通过数据包可知,此次扫描基本包括了靶机上的所有协议和服务,所以猜测是进行了namp -O扫描靶机上安装的操作系统,如下图所示:

由上述arp过滤结果分析得知,第三次arp请求包序号2071,第四次arp请求包序号为133220,期间往返包数量大约为12万,整体数据流大致为为([SYN]->[SYN, ACK])大小为2,故大约扫描了6万个端口
nmap默认只能扫描1000个端口,所以第三次扫描的参数应该是nmap -sS,人为指定扫描端口的数量。

使用命令tcp.port==23过滤文件数据,23为telnet端口。结果如下图所示:

观察这4次扫描的过程,可以看出在第一二三次扫描时都只是建立了连接就结束了,但在第四次扫描的时候出现了telnet连接
使用命令tcp.port==22进行过滤,22为ssh端口。结果如下图所示:

由上图可知第一二三次都是确定目标端口打开,第四次出现了ssh连接,此处是为了探知靶机的ssh软件版本。
由此我们得知第三次和第四次对22端口的扫描实际上是一体的,第三次用来发现22端口是否打开,第四次用来探测22端口服务的软件版本
由上述分析可知,第四次扫描为nmap -sV,探测靶机上开放的网络服务。

5)在蜜罐主机上哪些端口被发现是开放的?
使用命令tcp.flags.syn1 and tcp.flags.ack1进行过滤,过滤的部分结果如下图所示:

故靶机上打开的端口为21、22、23、25、53、80、139、445、3306、5432、8009、8180。
6)攻击主机的操作系统是什么?
在seedubuntu虚拟机终端输入apt-get install p0f 安装P0f
安装完毕后输入命令p0f -r /home/seed/Downloads/listen.pcap 探测到攻击机的操作系统为:linux 2.6.x

3.学习中遇到的问题及解决

  • 问题1:在seedubuntu虚拟机中安装好p0f后执行命令:p0f -r /home/seed/Downloads/listen.pcap 时一直提示出错
  • 问题1解决方案:执行命令前先进入root模式

4.学习感悟、思考等)

本周通过对tcpdump、wireshark的动手实践学习,初步了解了他们的使用方法,并且最后还对某次扫描过程中所捕获到的数据包进行分析,分析这次扫描的具体方式、使用的命令及扫描过程,对网络嗅探以及扫描有了更加深入的学习。

参考资料

  • [《网络攻防技术与实践》]
  • ...
posted @ 2022-03-31 21:42  ~嘉然今天吃什么  阅读(27)  评论(0编辑  收藏  举报