# 20242924 2024-2025-2 《网络攻防实践》实验三
20242924 2024-2025-2 《网络攻防实践》实验三
1.实验内容
1.1 实验基础知识
-
网络嗅探
网络嗅探器是网络管理员的工具。通过嗅探器,网络管理员可以了解网络的实际状态、发现网络漏洞并确定网络性能。可以通过嗅探器分析流量网络,找出网络拥塞的根源。网络嗅探是网络监控系统的基础。 -
TCPDump
功能 :命令行网络抓包工具,用于捕获和分析网络流量。
应用场景- 分析HTTP连接的目标服务器IP。
- 检测异常流量(如频繁SYN请求)。
-
Wireshark
功能 :图形化协议分析工具,支持深度解析数据包内容。
追踪TCP流:
Follow TCP Stream
可提取明文交互(如Telnet用户名/密码)。
应用场景- 分析Telnet登录过程的安全风险。
- 逆向工程网络协议。
-
Telnet协议分析
- 协议特性
- 明文传输:所有数据(包括凭据)未加密。
- 默认端口:
23
(实验中可能使用非标准端口的BBS)。
- 安全风险
- 数据泄露:通过Wireshark可直接捕获用户名和密码。
- 协议特性
-
网络扫描与取证分析
扫描工具识别- Nmap:通过日志中的扫描特征(如SYN扫描)判断工具类型。
- Snort:生成入侵检测日志(如
listen.cap
),用于分析扫描行为。
扫描方法
- SYN扫描:发送SYN包,根据响应判断端口状态(开放/关闭)。
- 目标端口:常见端口(80/HTTP、22/SSH)或全端口扫描。
-
蜜罐技术
模拟开放服务(如22/SSH、80/HTTP)诱捕攻击者。
2.实验过程
2.1 动手实践tcpdump
首先将kali的网络模式设置为桥接模式
查询本机IP地址为:172.20.10.3
使用tcpdump开源软件对在本机上访问sina.com.cn,输入命令:
sudo tcpdump -n src 172.20.10.3 and tcp port 80 and "tcp[13]&18=2"
然后打开浏览器,访问sina.com.cn
可以看到访问了4个服务器,他们的ip地址分别是:
34.107.221.82
49.7.37.60
123.125.216.178
101.28.133.120
最后用nslookup
命令进行查询,说明本次成功使用了tcpdump对访问过程进行了嗅探。
2.2 动手实践Wireshark
首先我们登录清华的BBS服务器,在kali上使用nslookup+网址的命令,查询到它的IP地址为120.92.211.176
通过命令luit -encoding gbk telnet bbs.mysmth.net
进入清华的bbs,输入guest
打开wireshark,在过滤器中直接输入telnet
,发现ip地址是120.92.211.176,端口号为23,TELNET协议通过远程控制Web服务器传送我输入的用户名及登录口令
Wireshark分析嗅探的数据包时,在过滤器中输入telnet
后,追踪TCP流从中获取用户名及登录口令,通过追踪tcp流发现用户名为guest,再使用密码登录
可以看出telnet是明文传输用户名和密码
2.3 取证分析实践,解码网络扫描器(listen.cap)
使用Wireshark打开listen.pcap
点击统计->会话,再点击IPv4
172.31.4.178 和 172.31.4.188 之间有大量的双向的网络数据包,因此可初步确定这两个是攻击主机IP和网络扫描的目标主机IP
查看会话数据包内容,发现所有的请求数据包(如TCP SYN包)则是从172.31.4.178发起,所有的响应数据包(如SYN/ACK包)均是从172.31.4.188发出。
攻击机IP:172.31.4.178 靶机IP:172.31.4.188
通过下面的命令安装snort
apt-get update apt-get install snort
输入命令,查看是否成功
snort -V
出现小猪猪,则安装成功
将 listen.pcap 复制到kali虚拟机中,使用snort对二进制记录文件进行入侵检测
snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap
可以发现本次攻击是使用nmap发起的
使用Wireshark的过滤器扫描出arp包,共进行4次nmap扫描,ARP广播进行ARP请求,目的主机有回应表示主机存活。攻击机第一次nmap扫描和第二次nmap扫描之间没有数据包,则第一次nmap扫描为探测目标IP是否活跃,指令为
nmap -sP 172.31.4.188
nmap扫描原理是基于ping的,所以每次扫描时,nmap都会通过ARP来确定目标MAC地址,在wireshark中过滤到四组ARP,因此说明了共进行了四次端口扫描。
有大量的TCP协议、ICMP协议、UDP协议数据,并使用了大量构造的标志位,以触发不同的响应包。猜测该扫描命令为主动探测操作系统 nmap -O
扫描。
攻击主机对目标机的955号端口发送了SYN包,该端口返回一个 TCP RST & ACK 包,说明该端口关闭。猜测以扫描的指令可能为 nmap -sS -p 1-65535 172.31.4.188 进行TCP SYN全端口扫描。
使用过滤器查找22端口
除了建立TCP SYN扫描,还建立了ssh连接,这是为了探测靶机的网络服务,于是猜测攻击机对靶机进行了 -sV 的版本扫描。
通过过滤器的tcp.flags.syn == 1 and tcp.flags.ack == 1
过滤出SYN | ACK的数据包
目标主机反馈攻击主机的端口活跃信息。可查看靶机的开放端口有:21 22 23 25 53 80 139 445 3306 5432 8009 8180
通过命令apt-get install p0f
安装p0f工具
查看攻击机的操作系统为2.6.x
3.学习中遇到的问题及解决
-
问题1:在设置kali的网络连接模式时,设置桥接模式后无法查询到ip地址。
问题1解决方案:尝试检查桥接网卡是否出错,但是查询ip时还是无法进行,切换手机热点后成功查询到本机ip
-
问题2:使用
snort -c /etc/snort/snort.lua -r listen.pcap -A alert_full
时虽然不报错但是未输出扫描数据信息问题2解决方案:以管理员模式打开配置文件,在
5.configure detection
板块对应位置添加语句enable_builtin_rules = true
4.学习感悟、思考等
出现未检测到 Nmap扫描记录的问题,根本原因在于 Snort 3 默认未启用内置检测规则,由于不熟悉snort3的规则所以在这个问题上卡住了很久,和同学们交流发现大家都遇到了这个问题。同时学习了tcpdump的一些命令,还有wireshark的过滤等功能。完成全部步骤后,感觉对wireshark还是不够熟悉,其中使用nmap进行网络服务类型探查时wireshark抓包的分析还不是很清楚,复习了相关知识点后我对实验内容有了更深入地掌握。