目录
1.实验内容
- 使用tcpdump开源软件对在本机上访问http://www.besti.edu.cn/ 网站过程进行嗅探。
- 使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析。
- 取证分析实践,解码网络扫描器。
2.实验过程
2.1动手实践tcpdump
将kali的网络模式设置为桥接模式
使用命令ifconfig
查看本机IP地址为192.168.43.210
输入以下代码进行监听。src
对应的IP即为刚刚查询到的桥接模式下Kali虚拟机的IP
sudo tcpdump -n src 192.168.43.210 and tcp port 80 and "tcp[13]&18=2"
然后打开kali中的浏览器,进入dky网站,进行嗅探
如下图,在本次监听嗅探中,出现了多个IP。前几项是打开浏览器时的记录,后面才是访问学校官网时访问的Web服务器
序号 | IP地址 | 端口 |
---|---|---|
1 | 152.195.38.76 | 80 |
2 | 192.124.249.23 | 80 |
3 | 203.208.39.226 | 80 |
4 | 123.121.157.1 | 80 |
使用nslookup www.besti.edu.cn
查询IP,发现IP为123.121.157.1
2.2动手实践Wireshark
使用Wireshark对在本机上以TELNET方式登录BBS(bbs.fozztexx.com)
进行嗅探与协议分析,回答如下问题并给出操作过程:
输入以下命令访问BBS服务器
luit -encoding gbk telnet bbs.fozztexx.com
由此可见,该BBS的IP为50.79.157.209
,且端口为23
打开Kali自带的Wireshark抓包,选择eth0
网卡
在终端输入VISITOR
以访客身份进行登录
在Wireshark中输入telnet
过滤数据包
然后在终端进行账号的创建,输入NEW
(表示新建一个账号),而后依次输入账号密码,分别为dky
和123456
右键点击一条创建账号过程中的数据包,选择Follow - TCP Stream
进行TCP流的跟踪。
追踪TCP流可以发现,输入的dky
和123456
以明文方式向服务器进行传输,并且telnet使用的模式为一次一个字符方式,即客户端输入一个字符,服务器即回显一个字符。
①你所登录的BBS服务器的IP地址与端口各是什么?
IP地址:50.79.157.209
端口:23
②TELNET协议是如何向服务器传送你输入的用户名及登录口令?
Telnet协议使用TCP/IP协议族作为传输层协议,在进行远程登录之前,需要先建立TCP连接。此后,每在客户端输入一个字符,Telnet就将发送它给服务器,服务器返回相应的回显字符。
③如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
通过过滤通信双方的IP地址和数据包的协议等,点击登录过程中的数据包follow追踪TCP流,即可获取。
2.3 取证分析实践,解码网络扫描器(listen.cap)
进行实践,并回答以下问题:
①攻击主机的IP地址是什么?
172.31.4.178
②网络扫描的目标IP地址是什么?
172.31.4.188
③本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
nmap端口扫描工具,通过snort工具解析确定的
④你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
详细见下文。
⑤在蜜罐主机上哪些端口被发现是开放的?
21、22、23、25、53、80、139、445、3306、5432、8009、8180等等
⑥攻击主机的操作系统是什么?
即攻击者的操作系统版本为Linux 2.6.x
打开SeedUbuntu虚拟机,输入以下命令进行snort的安装
sudo apt-get update
sudo apt-get install snort
安装完成后,即出现以下红紫色界面,将此终端关闭,重新打开一个再进行下一步操作
将listen.pcap
文件传输到SeedUbuntu虚拟机中,有两个较为方便的方法:
- 安装VMware Tools,即可把主机的
listen.pcap
文件复制到SeedUbuntu虚拟机中 - 将SeedUbuntu的网络设为
桥接模式
,在SeedUbuntu中打开浏览器进入学习通下载listen.pcap
文件
打开终端,输入以下命令,在终端中将权限提升为root,将listen.pcap
文件复制到/etc/snort/
路径
sudo su
cp listen.pcap /etc/snort
使用以下命令,进入snort并对listen.pcap进行分析
cd /etc/snort
sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap
结果如下
由该结果可以看出,攻击者使用了nmap端口扫描工具对靶机进行了nmap扫描,且攻击机IP为172.31.4.178,靶机IP为172.31.4.188。
打开Kali虚拟机,继续在WireShark中进行listen.pcap文件的分析。Kali虚拟机传入listen.pcap文件的方式与上方类似
使用wireshark打开文件,如下图所示
nmap会根据arp更新目标MAC地址,通过筛选arp数据包,即可得到以下内容,这说明攻击者通过广播的形式查询靶机172.31.4.188的MAC地址
筛选icmp数据包可以发现,攻击机和靶机之间存在双向数据包,说明进行了批量的ping扫描进行主机扫描,以确认目标靶机是否活跃。
筛选TCP数据包,可以发现进行了大量的TCP扫描,例如攻击机向靶机发送SYN请求包,靶机返回SYN,ACK确认连接,攻击机响应,说明该端口开放。反之,如果靶机返回RST,ACK,则说明靶机的该端口关闭。
通过筛选tcp.flags.syn == 1 and tcp.flags.ack == 1
可以得到靶机所有开放的端口,例如有21、22、23、25、53、80、139、445、3306、5432、8009、8180等等端口。
最后,通过以下命令安装p0f工具,并使用该工具进行攻击者的攻击机操作系统版本的查询
sudo apt-get update
sudo apt install p0f
接着运行以下命令查看操作系统版本
sudo p0f -r listen.pcap
由上图syn+ack
包的内容可知,操作系统的版本为Linux 2.6.x
3.学习中遇到的问题及解决
-
问题1:在SEED Ubuntu虚拟机中执行
sudo apt-get update
时无法更新,一直显示0% -
问题分析:猜测应该是网络问题
-
问题1解决方案:将SEED Ubuntu虚拟机的网络设置为
桥接模式
-
问题2:执行
sudo p0f -r listen.pcap
时提示找不到listen.pcap
文件
问题分析:文件路径问题
-
问题2解决方案:在
listen.pcap
所在路径下执行sudo p0f -r listen.pcap
4.学习感悟、思考等
这次实验让我接触到了tcpdump, wireshark,snort等工具,让我领会到了这些网络工具功能的强大,之后要多加应用熟练掌握,以期在网络攻防领域有所了解。
参考资料
- blog.csdn.net/qq_53198713/article/details/136917416
- blog.csdn.net/TS1903/article/details/136916841
- blog.csdn.net/Alex_hql/article/details/136917147