Etiqueta
Ingeniería inversa
todos los capítulos
- Capítulo 2 Abriendo XorDDoS con Ghidra En el Capítulo 1 el C2 se quedó cifrado dentro del binario. Aquí lo abro con Ghidra y sale entero - pero de paso aparece todo lo demás que este bicho lleva dentro: cómo se disfraza de proceso del sistema, cómo mata a la competencia usando el mismo rastro que lo delata a él, y cómo miente sobre su propia dirección cuando su central se lo ordena.
- Capítulo 4 Mirai al descubierto: 16 métodos y un XOR de un byte El bot del capítulo anterior guardaba su config cifrada y sus órdenes en clave. Con Ghidra sale todo: el descifrado (un XOR ridículo), el nombre real de la botnet, el protocolo de su C2 y su arsenal completo - sin repartir armas.
- Capítulo 6 El minero que esconde su cartera Desempaquetamos el minero de RedTail y lo abrimos con Ghidra buscando el pool y la cartera. Lo que encontramos es más interesante que un número: el dato va dentro, embebido y cifrado - y nadie ha publicado cómo descifrarlo.
- Capítulo 8 Sysorbit al desnudo: tres capas para esconder una dirección Abrimos el APK capa a capa: un DEX que solo es un lanzador, una app que se clava en /system si hay root, y un motor de DDoS en código nativo. El C2 me dio con la puerta en las narices - hasta que volví por otro camino y salió entero.
- Capítulo 12 Nikki, te quieren El binario llegó sin limpiar: su autor se dejó dentro los nombres de las seiscientas veintiocho funciones que escribió. Es como recibir un libro cerrado con el índice grapado en la portada. Aquí lo leo entero, función por función, hasta llegar a la única cadena que no encajaba con nada.
- Capítulo 13 Tres cerraduras y la llave puesta En el capítulo 10 cacé el minero, pero no el bicho que lo reparte: aquello lo conté prestado, con el análisis de otros. El cebo, que es rencoroso, me lo trajo entero - blindado tres veces, con un blob que se resistió a todo lo que sé hacer. Hasta que dejé de intentar leerlo.
- Capítulo 15 Volví a por RedTail, y RedTail ya tenía dueño Monté una jaula, ejecuté el minero y le saqué de la memoria la configuración que en el capítulo 6 no supe descifrar. Me emocioné… y me llevé dos cosas que no buscaba: que esta familia ya estaba documentada de arriba abajo (en un sitio donde no se me ocurrió mirar) y que la pieza que creía haber descifrado servía para otra cosa.
- Capítulo 19 ¿Un Mirai que no sabía atacar? Bajé los tres binarios del capítulo anterior esperando el arsenal de DDoS de siempre. No estaba: ni una función de ataque. Lo que hace en su lugar (y, sobre todo, el canal por el que le llegan las órdenes) es lo más raro que ha entrado por el cebo. Un bicho pensado, de arriba abajo, para que no se le vea.
- Capítulo 22 El gemelo que me faltaba Un bot de la escuela Mirai lleva dentro la dirección de quien le da las órdenes. Busqué la de este por cuatro caminos distintos y no la encontré por ninguno - y de paso publiqué una teoría propia que resultó ser falsa. Lo que acabó funcionando no fue una herramienta mejor: fue darme cuenta de que en algún sitio había otro binario, compilado del mismo código, cuyo centro de mando alguien ya había publicado. Con los dos delante, la diferencia entre ellos son mil ciento treinta bytes.
- Capítulo 24 La línea que nadie escribió En el capítulo anterior quedó un número sin explicar: el backdoor borraba un proceso distinto en cada instalación, y eso no se puede saber de antemano. Abro el minero y aparece la respuesta - una plantilla con el hueco reservado. De paso sale la cartera a la que va el dinero, detrás de un cifrado que da risa.
- Capítulo 27 Solo el líder habla El kit se quedó quieto en el disco, así que lo encendí yo en una jaula sin salida. Dentro hay un bot que exige saber su propia dirección antes de nada, se une a una malla de hasta dos mil nodos, celebra una elección y se corona líder - y solo entonces abre un chat de Telegram. El operador no entra en ninguna máquina: manda un mensaje al jefe de la manada. Y cuando le quemas el chat, la botnet se cura sola.
- Capítulo 29 Me dijo su nombre tres veces Cayó en el cebo otro ELF de IoT con pinta de Mirai del montón. Lo bauticé «zbot» por sus ficheros de cron, y resultó que ni se llamaba así: por tres caminos distintos (las rutas que dejó en el disco, los banners con que habla SSH y HTTP, y los primeros bytes de cada mensaje a su central) el bicho me fue diciendo su verdadero nombre. Detrás había algo más interesante que un bot de tumbar servidores: una máquina para alquilar la línea de casa de su víctima como proxy. Y un operador que, con todo montado, rompía sus propias direcciones de descarga. XLab ya la había bautizado «Shemzbot» en un tuit; esto es el destripe que aquel tuit no traía.
- Capítulo 32 Cifró hasta un mensaje roto Tres bytes mentirosos dejan al descompilador fuera, y detrás hay un segundo muro: las cadenas del autor no están en el fichero. Para cuando conseguí hablar con él, llevaba un rato diciéndome que sí a siete órdenes que no existían.
- Capítulo 33 DIICOT: Sabor Ciocolata Casi tres megas que hacen una sola cosa: llamar a casa, decir dos palabras y esperar diez segundos a que alguien conteste. Si nadie lo hace, se va sin dejar rastro. Pero dentro, cifrada de otra forma, lleva una segunda dirección: un dominio que nadie ha registrado. Y el resto del programa cabe en una línea de shell.
- Capítulo 34 DIICOT: Una sílaba de diferencia El ejecutor del capítulo anterior llama a una máquina que ya conocía y guarda de reserva un dominio que se parece demasiado a otro que sí existió. Tirando de esa sílaba de diferencia aparecen su hermano mayor, el C2 anterior y el hueco por el que entra en las víctimas. Al final, le pregunté al otro lado qué manda.