1.实验要求
(1)动手实践tcpdump
使用tcpdump开源软件对在本机上访问www.besti.edu.cn网站过程进行嗅探,回答问题:你在访问www.besyi.edu.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
五个
23.59.252.184
104.18.38.233
124.166.233.36
152.195.38.76
192.168.200.108
(2)动手实践Wireshark
使用Wireshark开源软件对在本机上以TELNET方式登录BBS(若现实中不存在合适的BBS,可考虑搭建本地BBS实验)进行嗅探与协议分析,回答如下问题并给出操作过程:
1.你所登录的BBS服务器的IP地址与端口各是什么?
IP地址:50.79.157.209
端口:23
2.TELNET协议是如何向服务器传送你输入的用户名及登录口令?
Telnet协议使用TCP/IP协议族作为传输层协议,在进行远程登录之前,需要先建立TCP连接,即三次握手,。首先,客户端向服务器发起连接请求,服务器在接收到连接请求后,回复确认信号,建立连接。
3.如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
过滤双方的IP地址,并点击follow追踪TCP流
(3)取证分析实践,解码网络扫描器(listen.cap)
1.攻击主机的IP地址是什么?
172.31.4.178
2.网络扫描的目标IP地址是什么?
172.31.4.178
3.本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
nmap端口扫描工具,通过snort工具解析确定的
4.你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
TCP全开扫描
5.在蜜罐主机上哪些端口被发现是开放的?
21、22、23、25、53、80、139、445、3306、5432、8009等
6.攻击主机的操作系统是什么?
2.实验内容
2.1 动手实践tcpdump
这里我使用Kali进行实践。首先查看Kali的网络信息,发现无法联网,在虚拟机的虚拟网络编辑器中设置Vmnet0为桥接模式且连接的是电脑的网卡,而不能选择自动,使用命令ifconfig,Kali的IP地址为192.168.10.100
用tcpdump对本机向外的通信进行抓包
2.2动手实践Wireshark
1.用telnet访问www.fozztexx.com
得到结果
开启Kali的Wireshark抓包,选择eth0网卡,然后在终端输入zhx以访客登入www.fozztexx.com,访问一段时间后在Wireshark过滤器中输入telnet对telnet协议的数据包进行过滤,抓包结果如图五所示,可知所登录的BBS服务器的IP地址为50.19.157.209,端口为23即telnet服务的端口。
继续追踪TCP流可以发现,输入以明文方式向服务器进行传输,其中在输入用户名的时候,telnet使用的模式为一次一个字符方式,即客户端输入一个字符,服务器即回显相同的字符,通过这个特点即可获取到用户名和密码,因此用户名为:zhx,密码为:zhuhaoxuan
2.3 取证分析实践,解码网络扫描器(listen.cap)
由于Kali里面安装snort失败,因此根据群内同学的建议,在Ubuntu中进行snort的安装并进行分析
使用Xftp进行Windows系统与虚拟机SeedUbuntu的连接,传输listen.pcap文件。(使用共享文件夹等等其他手段也可)
使用以下命令开启SeedUbuntu的SSH服务(前提是确保已经安装了SSH,安装SSH用命令sudo apt-get install openssh-server直接安装即可)
ifconfig查看IP
在XFTP中进行连接设置,输入IP、端口、账号密码。
连接成功,并传输文件:
传输后发现文件权限应该不够,权限只有664,直接在XFTP中提升其为777
sudo su
cp listen.pcap /etc/snort
将listen.pcap放到/home后,在终端进入/home,并提升权限为root,将文件复制到/etc/snort/这个路径
cd /etc/snort
sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap
由该解析结果可以看出,攻击者使用了nmap端口扫描工具对靶机进行了扫描(图中SCAN nmap),且攻击机IP为172.31.4.178,靶机IP为172.31.4.188。
重新打开Kali虚拟机,继续在WireShark中进行listen.pcap文件的分析。
Kali虚拟机传入listen.pcap文件的方式与上方类似(但是其实它可以直接进行文件的拖入,即将Windows上的文件直接拖进虚拟机的桌面即可,而SeedUbuntu却不能)
使用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 install p0f
sudo p0f -r listen.pcap
即攻击者的操作系统版本为Linux 2.6.x
3.学习中遇到的问题及解决
问题1:网络连接修改成桥接模式后断网
问题1解决方案:重新设置网络适配器,将桥接模式直接连接无线网卡
问题2:snort无法在Kali上下载
问题2解决方案:更换SeedUbuntu虚拟机进行snort工具的使用
4.学习感想和体会
通过和同学交流,我学习到了很多有关linux的知识