
Entrega de exploits cifrados para las masas
Este proyecto tiene como objetivo entregar exploits de navegador al navegador de la víctima de manera cifrada. Se utiliza Elliptic-curve Diffie-Hellman (secp256k1) para el acuerdo de claves y AES para el cifrado.
Al entregar el código del exploit (y el shellcode) a la víctima de forma cifrada, el ataque no puede repetirse. Mientras tanto, la fuente HTML/JS está cifrada, por lo que la ingeniería inversa del exploit es significativamente más difícil.
Si no tienes idea de lo que estoy hablando, busca en Google "How to hide your browser 0-days", y revisa mi presentación. O mírala en Youtube: https://www.youtube.com/watch?v=eyMDd98uljI O las diapositivas en Slideshare: https://www.slideshare.net/bz98/how-to-hide-your-browser-0days
La idea de la entrega cifrada de exploits fue publicada por primera vez por mí el 2 de junio de 2015: https://twitter.com/zh4ck/status/605754804472823808 https://www.mrg-effitas.com/research/generic-bypass-of-next-gen-intrusion-threat-breach-detection-systems/
Los chicos de Angler exploit kit simplemente robaron mi idea. Y la implementaron mal.

Estas instrucciones te ayudarán a obtener una copia del proyecto en funcionamiento en tu máquina local para fines de desarrollo y prueba.
Dependencias obligatorias: clona el proyecto IRONSQUIRREL, cd al directorio del proyecto y ejecuta los siguientes comandos:
sudo apt-get install ruby-dev
bundle install
En realidad, se instalarán las gemas nokogiri y gibberish.
Dependencia opcional (para entrega de payload cifrado consciente del entorno basado en 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
Después de eso, visita el servidor web desde un navegador. Ejemplo de salida:
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
No dudes en enviar correcciones de errores, solicitudes de funciones, comentarios ...
Este proyecto está licenciado bajo la Licencia GPL3 - consulta el archivo LICENSE.md para más detalles
