IRONSQUIRREL Encrypted Exploit Delivery for the Masses
#IRONSQUIRREL
Este projeto visa entregar as explorações do navegador para o navegador da vítima de forma criptografada. A curva Ellyptic Diffie-Hellman (secp256k1) é usada para acordo-chave e o AES é usado para criptografia.
Ao entregar o código de exploração (e shellcode) para a vítima de forma criptografada, o ataque não pode ser repetido. Enquanto isso, a fonte HTML / JS é criptografada, portanto, a engenharia reversa da exploração é significativamente mais difícil.
Se você não tem idéia do que estou falando, Google for "Como ocultar seu navegador de 0 dias" e verifique minha apresentação. Ou confira no Youtube: https://www.youtube.com/watch?v=eyMDd98uljI Ou slides no Slideshare: https://www.slideshare.net/bz98/how-to-hide-your-browser-0days
Começando
Estas instruções irão levá-lo a uma cópia do projeto em funcionamento em sua máquina local para fins de desenvolvimento e teste.
Pré-requisitos
Dependências obrigatórias - clone o projeto IRONSQUIRREL, cd no diretório do projeto e execute os seguintes comandos:
sudo apt-get install ruby-dev
bundle install
Na verdade, nokogiri e gibberish gems serão instalados.
Dependência opcional (para a entrega de carga útil criptografada baseada no ambiente baseada em Powershell): Ebowlahttps://github.com/Genetic-Malware/Ebowla
Instalando
- Clone o projeto IRONSQUIRREL
- Instale os pré-requisitos
- (Opcional) Edite IRONSQUIRREL.rb
- Mude a porta de escuta
- Se Ebowla for usado, configure os caminhos
- (Opcional) Se Ebowla for usado, configure genetic.config.ecdh no diretório de instalação do Ebowla
- Execute IRONSQUIRREL.rb
ruby IRONSQUIRREL.rb --exploit full_path_to_exploit
Exemplo
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
Instruções de implantação para ambientes de produção
- Deixe-me saber se você usa isso de forma real
- Passe pelo menos 2 semanas para descobrir o que pode dar errado
Contribuindo
Não hesite em enviar correções de bugs, solicitações de recursos, comentários ...
Autores
- Zoltan Balazs (@ zh4ck) - Trabalho inicial
Licença
Reconhecimentos
- @CrySySLab
- @SpamAndHex
- @molnar_g
- @midnite_runr
- @buherator
- @sghctoma
- @zmadarassy
- @xoreipeip
- @DavidSzili
- @ theevilbit
- Szimues
Comentários
Postar um comentário