Me complace presentar el tema de hoy, "Cómo follar a los malos y la mafia usando la botnet de JavaScript". Primero, quiero presentarme a mí y a mi país: soy Chema Alonso, trabajo para una pequeña empresa llamada Informatica64. También hago seguridad de Microsoft y vivo en España.

Si no has estado en España, definitivamente deberías visitarlo, hay muchos lugares dignos de atención. Esta es Madrid, una ciudad que nunca duerme, lo ves en la primera diapositiva, es más pequeña que Nueva York. Esta es Barcelona con su increíble templo de la Sagrada Familia y, por supuesto, Pamplona, donde la gente huye de los toros furiosos. Solo hay una regla: si estás borracho, ¡no corras! Y entonces todo es simple: solo tienes que correr más rápido que el toro.
Si te gustan las vacaciones especiales, aquí está la batalla de los tomates Tomatin. No estoy seguro de la historia de esta costumbre, pero solo necesitas tirar tomates, y esto es bastante interesante. Sí, eso es España!
Comencemos nuestro tema. Es bastante simple: crear una botnet, y eso es todo. ¿Cuántos pensaron en crear una botnet? ¿Y quién realmente lo creó? Entonces, por supuesto, solo yo. La idea de crear una botnet es bastante interesante, pero soy una persona perezosa. Soy de España, así que esto es normal. Además, no tenemos dinero, no tuvimos un "día cero", no somos el FBI o la NSA que pueden usar las redes de forma gratuita, y no somos Google, Apple o Microsoft, cuyo equipo existe en todo el mundo.
Quiero mostrarles una imagen ampliada en la pantalla: esta es la invención de los españoles, se sientan en la piscina y conectan la electrónica a través de un cable de extensión, que flota gracias a las zapatillas de goma que llevan puestas.

Esta es una maravillosa ilustración de cómo usamos diferentes cosas en España. Los españoles actuamos a nuestra manera, no como los demás. Entonces, la idea de crear una botnet es bastante simple: ¡infectemos a todos! Una idea muy simple que queríamos implementar en una botnet era que las computadoras involucradas en ella querían infectarse.

Si lo piensa, este es un tema bastante común en Internet. La industria del malware se ha extendido ampliamente en los últimos 5-10 años con la ayuda de trucos fraudulentos de ingeniería social y antivirus, entonces, ¿por qué no una botnet hace tal truco?

La botnet se basa en la idea de un ataque de "hombre en el medio" que utiliza la intercepción de mensajes entre un cliente y un servidor. Es suficiente para capturar el canal, y tenemos un control total. Puede usar varios escenarios de captura de red: suplantación de ARP, DHCP fraudulento en redes que admiten IPv4 o IPv6, suplantación de ICMPv6, ataque SLAAC, suplantación de DNS, etc.
Publicamos una nueva herramienta en medio del ataque del hombre llamada Evil FOCA, con un clic y listo. Y, por supuesto, si puede configurar DNS, puede hacer que un hombre en el medio ataque.
Hay dificultades porque tienes que lidiar con muchos proveedores de Internet y muchas redes. Uno de los trucos más utilizados hace unos años fue el método "hombre en el navegador", que es una especie de extensión de la tecnología de ataque "hombre en el medio".
Durante mucho tiempo, una escuela de hackers rusos utilizó con éxito esta técnica con Internet Explorer 6 con el conocido complemento Ayudante de navegador (BHO), un componente Active X que permitía abrir archivos que originalmente solo estaban destinados al navegador. Crearon malware disfrazado de BHO. Esto permitió acceder a todos los datos, interceptar contraseñas y códigos ingresados desde el teclado, principalmente para conexiones entre instituciones bancarias. Por lo tanto, este troyano bancario comenzó a llamarse "rusos en mi navegador IE".

Este es un método de ataque muy común configurando un archivo XML troyano especial, simple pero que funciona bien.
Entonces, necesitábamos escribir código que los sistemas antivirus no detectarían, pero decidimos que era muy difícil para nosotros. Por lo tanto, decidimos usar el llamado "caché del navegador envenenado", o el ataque "JavaScript en el medio", y lo llamamos "el hombre en la pestaña". La idea es bastante simple.

Si no puede controlar todo el navegador, puede ejecutar JavaScript en una pestaña de usuario y puede hacer muchas cosas. Puede acceder al código, modificar el HTML, acceder a los campos del formulario, puede controlar la pestaña, etc.
Las características del ataque "JavaScript en el medio" son:
- uso no constante: borrar el caché significa eliminar contenido infectado;
- el contenido en caché existe antes de la fecha de vencimiento,
un hacker puede inyectar JavaScript de forma remota; - acceso a cookies como solo HTTP, acceso a código HTML, direcciones URL, ejecución de código.
Hay un proyecto muy famoso: el marco de explotación de navegador BEEF. Le permite hacer muchas cosas interesantes, por ejemplo, insertar un pequeño fragmento de código JavaScript en el navegador del usuario para envenenar el caché.

El problema es que necesitamos configurarlo en Internet, lo cual es bastante difícil si necesita infectar muchos bots de red. Entonces, nuestra idea era más simple: crear una botnet JavaScript usando Scratch.
Basado en la idea de un entorno que infecta específicamente un archivo JavaScript, en primer lugar decidimos que la mejor manera de crear una botnet sería si los bot implementaran el principio de "proprio motu", es decir, "por iniciativa propia", no usando un "hombre en el medio", sino usando usuarios mismos. Decidimos centrarnos en la red TOR y los servidores proxy utilizados en Internet.

La idea de esta red es simple: si usted es el último en la línea, puede acceder a todo el contenido interceptando todas las conexiones.
Para implementarlo, construimos una máquina que era "el hombre en el medio", y lo registramos como un nodo TOR y como un servidor proxy anónimo, y en ambos casos trabajamos por un tiempo. Sin embargo, debemos decir que nuestra actividad maliciosa como Se descubrió un host TOR, que ignoró nuestra dirección IP.

Para la rehabilitación, se nos ofreció tomar exámenes, crear una sesión de prueba, etc., lo que nos pareció demasiado complicado, porque somos españoles. Por lo tanto, lo siguiente que hicimos fue crear nuestro propio servidor proxy. Esto es bastante simple, ya que el proxy no tiene una infraestructura tan grande como TOR, es solo un servidor independiente al que los usuarios intentan unirse.

Estudiamos todos los manuales en el servidor proxy anónimo en Internet y nos dimos cuenta de que este es un esquema de "hombre en el medio". Al crear un servidor proxy a través del cual las personas intentan conectarse a Internet, pudimos recopilar todos los datos e infectar todos los navegadores.
Lo primero que hicimos fue alquilar un servidor proxy en Internet. Por supuesto, pensamos en sus funciones, no necesitábamos un servidor de "juguete" con Pirate Bay o Amazon, recordamos sobre Wikileaks, pero tampoco necesitábamos un servidor megapower. Y también decidimos que es mejor dejarlo estar en un país donde no hay leyes. Decidimos alquilar un servidor en Afganistán, Irán, Kazajstán o en España (aplausos y risas).
Después de alquilar el servidor, comenzamos a configurarlo. Se suponía que era un servidor simple basado en servidores proxy Apache y SQUID. Además, al usar este servidor, íbamos a infectar todos los archivos JavaScript con un pequeño fragmento de código, que solo requiere un par de líneas.

Tan pronto como el usuario se conectó a nuestro servidor, fuimos al sitio y recibimos una página de respuesta que contenía un archivo JavaScript. Le devolvimos al usuario casi el JavaScript original, agregando solo 2 líneas de "carga útil". Al mismo tiempo, no queríamos usar algo conocido en Internet como BEEF, sino que simplemente insertamos dos líneas de código en todos los archivos JavaScript que pasaron por nuestro servidor proxy.
Todo lo que necesitábamos hacer se muestra en la siguiente diapositiva.

Configuramos la "carga útil" en nuestro proxy SQUID y eliminamos la política de caducidad en el archivo de configuración del servidor Apache, porque después de que JavaScript infectara el navegador, esta "infección" debería haber permanecido allí para siempre.
A continuación, creamos el script real que se muestra en la siguiente diapositiva, que infecta los archivos JavaScript.

Copiamos los archivos, les agregamos el script pasarela.js y enviamos estos archivos actualizados a los clientes a la dirección IP mediante la impresión "http: // .......". Este es un código muy pequeño, lleno de vulnerabilidades, pero funciona. El script en sí, llamado Pasarela, que se copió a todos los archivos JavaScript, se parece al que se muestra en la siguiente diapositiva. Todo lo que hace es descargar el payload.php envenenado de un servidor malicioso e informar su identificación descargando imágenes de jsonip.php.

En el código, puede ver si el elemento fue creado o no. El objetivo es no ejecutar pasarela.js más de una vez en la misma página. Como nosotros, como personas decentes, no queríamos dañar a los usuarios, publicamos en la página principal del servidor el siguiente atractivo para todos los clientes que iban a utilizar los servicios de nuestro servidor proxy.

“¡ATENCIÓN! Este servidor proxy se utiliza para la investigación en el campo de la seguridad en Internet. Todos los archivos JavaScript se infectarán y se recopilarán todos sus datos. Si desea mantenerse a salvo, no use este servidor proxy. Si hace esto, no envíe información confidencial. Si todavía decide usarlo, tenga en cuenta que lo hace bajo su propio riesgo y riesgo ".
Si no desea perder su contraseña o sus datos personales, ¡no use nuestro servidor! Esta es una muy buena política de seguridad. El ejército usa una política de seguridad más o menos similar: ve una advertencia similar en el sitio web del Cuerpo de Ingenieros del Ejército de los EE. UU., Por lo que actuamos de manera bastante legal.

Entonces, publicamos nuestro servidor proxy en Internet y escribimos que es un proxy abierto, y que todos pueden agregar su propio proxy a nuestra base de datos. Verá que tenemos pestañas con listas de diferentes servidores proxy, ordenándolos por país, por puerto, hay una pestaña de servidores proxy seleccionados.

La idea de hacer que los "chicos malos" usaran nuestro servidor proxy malicioso era muy simple: lo registramos en una lista de servidores proxy. Durante mucho tiempo y en muchos sitios y blogs, se recomienda utilizar servidores proxy para obtener una dirección IP anónima, que es común para muchos de nosotros. Seleccionamos al azar el sitio y registramos una dirección IP con el puerto 31337 para atraer un poco más de atención.
Estos sitios con listas de proxy realizan pruebas de seguridad de nuevos proxies, pero la prueba no es tan compleja como en la red TOR. En realidad, no se trata de registrar un servidor proxy para realizar pruebas o no, pero tan pronto como se incluye en dicha lista de servidores probados, cientos de sitios y aplicaciones que descargan estas listas sin ningún control de seguridad se conectan de inmediato.
Es suficiente simplemente pasar la primera prueba, por ejemplo, una prueba de conexión y funcionalidad, y la "magia de Internet" hará que su dirección IP aparezca como confiable en miles de sitios, lo que sucedió con nuestra dirección IP. La siguiente diapositiva muestra que nuestra dirección IP fraudulenta ha aparecido en miles de sitios.

Verá que nuestra dirección IP apareció en la consulta de búsqueda 1110 veces porque todos los proxies comenzaron a copiarse. Porque si coloca su dirección IP en la lista de un servidor proxy, todos los demás servidores proxy comienzan a copiar estas listas. Es divertido, porque un día te traerá muchas cosas.
A continuación, creamos una "carga útil" para robar cookies. No queríamos tratar con cookies seguras, sino que solo utilizamos cookies HTTP. Copiamos cookies regulares e inseguras y las enviamos al panel de control.

También utilizamos una pequeña "carga útil" para obtener los campos del formulario, utilizamos la información completada por el usuario y también la enviamos a nuestro panel de control.

De hecho, eso era todo: ahora era posible disfrutar de los frutos de nuestro trabajo. Una vez incluso pudimos movilizar 5,000 bots. Después de analizar las conexiones, descubrimos que la mayoría de las máquinas de nuestra botnet estaban ubicadas en Rusia, Brasil, México e Indonesia, donde los servicios de servidores proxy tienen una gran demanda. No tuvimos que pagar por esto, no tuvimos que crear ningún malware polimórfico especial, fue suficiente para publicar una sola dirección IP del servidor en Internet. Bueno, ya sabes, somos de España.
La pregunta era, ¿quién usa este tipo de servicios? ¿Cuántas personas en esta sala usan los servicios de servidores proxy en Internet? Entonces, si desea anonimato, use un servidor proxy. Si desea aún más anonimato, use más de un servidor proxy, para que pueda infectar más de 1 servidor proxy (risas de la audiencia).

La idea era que aquellos que usan tales servidores son indudablemente malas personas. Por ejemplo, la mafia de los estafadores del "Príncipe nigeriano", conocida por todos.

La inscripción en la placa: "Royal Bank of Nigeria". Spammer-scammer: "Envié correos electrónicos a todos los que pude encontrar, mi Príncipe, pero nadie quiere ayudarlo a deshacerse de su dinero".
En primer lugar, queríamos recopilar datos de personas malas que hacen cosas malas. Por lo tanto, logramos recopilar toda la información de los estafadores nigerianos, incluidos los nombres de usuario y las contraseñas. Pero les advertimos al respecto, por lo que todo es legal.
Tan pronto como recibimos las contraseñas, entramos en los buzones de estas personas, y allí encontré a uno de mis estafadores-estafadores favoritos que tenía un buzón royalhotelengland@hotmail.co.uk.

Este tipo creó una compañía de spam para engañar a las personas, ofreciéndoles una visa especial para conseguir trabajo en el Reino Unido, por lo que pidió 275 libras. La siguiente diapositiva muestra un correo electrónico en el que pidió dinero.

Se parece a una carta oficial. Por supuesto, había muchas personas razonables en el mundo que le respondieron: "Está bien, pero primero muéstrame este trabajo y luego te enviaré dinero". Por lo tanto, si uno de los destinatarios del correo no deseado sospechaba de él un fraude, no insistió y se hizo cargo de otros clientes. Al final, le enviaron toda la información necesaria para obtener una visa, todos los datos personales; puede ver escaneos de sus documentos en la siguiente diapositiva.


Este es un currículum, páginas de pasaporte y fotografías de alta calidad para solicitar un pasaporte en el Reino Unido, e incluso las huellas dactilares necesarias para obtener una visa de trabajo en el Reino Unido. Muchas personas le enviaron estos datos, y esta es la forma más fácil de robar información confidencial que he encontrado en mi vida. Si tiene esos datos, puede crear fácilmente su propia "mula" para llevar a cabo operaciones bancarias fraudulentas.
Otra de mis cuentas de redes sociales favoritas de un sitio de citas es este chico, o más bien, esta chica. Honestamente, muchachos, ¿cuántos de ustedes piensan que esa chica buscará un chico para tener relaciones sexuales en Internet?

Esto nos causó grandes sospechas desde el principio, por lo que decidimos obtener un nombre de usuario y contraseña para este perfil. Como puede ver, esta Axionqueen escribe que está buscando un novio para salir o una relación seria, tiene unos 30 años y vive en Keller, Texas. Pero el hecho es que encontramos un perfil completamente diferente en una red social diferente, donde esta "reina" ya vive en Auckland en Nueva Zelanda, y tiene 31 años, y así sucesivamente. Y luego encontramos otro tercer perfil de la misma niña en el sitio web de PlanetaLove USA, que indica que vive en Lynchburg, Virginia y está interesada en hombres de 39 a 60 años.

¿Hay alguien de Virginia aquí para conocer a esta chica?
Pero lo más interesante es que otro perfil del mismo usuario parecía completamente diferente. Esta vez nuestra chica era de Alemania.

Y luego decidimos entrar en el buzón de este usuario y familiarizarnos con sus cartas. Naturalmente, este era un chico, no una niña.
20:20 min
Conferencia DEFCON 20. Cómo joder a los malos (y la mafia) usando la botnet JavaScript. Parte 2Gracias por quedarte con nosotros. ¿Te gustan nuestros artículos? ¿Quieres ver más materiales interesantes?
Apóyenos haciendo un pedido o recomendándolo a sus amigos, un
descuento del 30% para los usuarios de Habr en un análogo único de servidores de nivel de entrada que inventamos para usted: toda la verdad sobre VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps de $ 20 o cómo dividir el servidor? (las opciones están disponibles con RAID1 y RAID10, hasta 24 núcleos y hasta 40GB DDR4).
VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps hasta diciembre de forma gratuita al pagar por un período de seis meses, puede ordenar
aquí .
Dell R730xd 2 veces más barato? ¡Solo tenemos
2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV desde $ 249 en los Países Bajos y los Estados Unidos! Lea sobre
Cómo construir un edificio de infraestructura. clase utilizando servidores Dell R730xd E5-2650 v4 que cuestan 9,000 euros por un centavo?