
Entrega de exploits criptografados para as massas
Este projeto visa entregar exploits de navegador ao navegador da vítima de forma criptografada. O Ellyptic-curve Diffie-Hellman (secp256k1) é usado para acordo de chaves e AES é usado para criptografia.
Ao entregar o código do exploit (e shellcode) à vítima de forma criptografada, o ataque não pode ser repetido. Enquanto isso, o código HTML/JS é criptografado, tornando a engenharia reversa do exploit significativamente mais difícil.
Se você não faz ideia do que estou falando, pesquise no Google por "Como esconder seus 0-days de navegador", e confira minha apresentação. Ou veja no YouTube: https://www.youtube.com/watch?v=eyMDd98uljI Ou slides no Slideshare: https://www.slideshare.net/bz98/how-to-hide-your-browser-0days
A ideia de entrega de exploit criptografado foi publicada por mim em 2 de junho de 2015: https://twitter.com/zh4ck/status/605754804472823808 https://www.mrg-effitas.com/research/generic-bypass-of-next-gen-intrusion-threat-breach-detection-systems/
Os caras do Angler exploit kit simplesmente roubaram minha ideia. E a implementaram mal.

Estas instruções fornecerão uma cópia do projeto em funcionamento na sua máquina local para fins de desenvolvimento e teste.
Dependências obrigatórias - clone o projeto IRONSQUIRREL, entre no diretório do projeto e execute os seguintes comandos:
sudo apt-get install ruby-dev
bundle install
Na verdade, as gems nokogiri e gibberish serão instaladas.
Dependência opcional (para entrega de payload criptografado com consciência de ambiente baseado em Powershell): Ebowla https://github.com/Genetic-Malware/Ebowla
ruby IRONSQUIRREL.rb --exploit full_path_to_exploit
ruby IRONSQUIRREL.rb --exploit /home/myawesomeusername/IRONSQUIRREL/exploits/alert.html
Depois disso, visite o servidor web a partir de um navegador. Exemplo de saída:
Listening on 2345
GET / HTTP/1.1
GET /sjcl.js HTTP/1.1
GET /dh.js HTTP/1.1
GET /client_pub.html?cl=SOifQJetphU2CvFzZl239nKPYWRGEH23ermGMszo9oqOgqIsH5XxXi1vw4P4YFWDqK6v4o4jIpAVSNZD1x5NTw%3D%3D HTTP/1.1
GET /final.html HTTP/1.1
GET /sjcl.js HTTP/1.1
The end
Sinta-se à vontade para enviar correções de bugs, solicitações de funcionalidades, comentários...
Este projeto está licenciado sob a Licença GPL3 - veja o arquivo LICENSE.md para detalhes
