SSHv1 CRC32, el exploit de ‘Matrix Reloaded’
Todos hemos comprobado profusamente cómo se utilizan elementos de la cultura informática en las películas con una suerte bastante desacertada. Incluso cintas que se suponen pertenecientes al género computacional están cargadas de errores informáticos.
Desde ‘Juegos de guerra‘, e incluso bastante antes, los ordenadores han pasado a formar parte de la línea argumental de muchos telefilmes. Y digo desde ‘Juegos de guerra’ porque quizás fuera la primera película dedicada exclusivamente al mundo informático desde la perspectiva del hacking puro, en la que se mostraba una primitiva y rudimentaria Internet.
Esta película, genialmente interpretada por Matthew Broderick, derrochaba imaginación, sin embargo no se le puede achacar un excesivo uso fantasioso de la informática, quizás porque en la época tampoco era posible crear efectos tridimensionales grandiosos y recurrieron a mostrar la austera pantalla negra de la consola y el adolescente introduciendo los comandos a mano. También es cierto que en algunos momentos a los guionistas se les fue la pinza un poco y se generan situaciones digitales bastante inverosímiles (sobre todo para la época); pero es una gran película.
La película ‘La red‘, que tiene como protagonista a Sandra Bullock, es otro de esos títulos de culto en el mundo de hacking, aunque en ella se aprecia más la ignorancia informática de los guionistas y la despreocupación total del director y del productor por fabricar un producto serio más allá de una absurda trama. Direcciones IP que no existen, extraños efectos de interferencias en páginas web que llevan a sitios oficiales, chats imposibles y demás parafernalia son fácilmente reconocibles en ‘La red’. Además, por supuesto, de uno de los principales axiomas del panorama de las películas de tema informático, que dice aquello de que la velocidad de borrado del contenido de un disquete es inversamente proporcional a la tensión emocional de la escena.
Pero existe una película todavía peor, mucho peor. Es la película ‘Hackers (piratas informáticos)‘. El colmo del despropósito informático, está cargada de interfaces gráficas deslumbrantes, de pantallas de login descomunales (muy típico) y de efectos e instrumentos digitales que se escapan, ya no del mundo de la informática, sino del mundo de la lógica aplastante. Esta película, con una jovencísima Angelina Jolie en el papel de Kate Libby (aka Acid Burn), tiene de la cultura cyberpunk sólo la estética y poco más.
‘Operación Swordfish‘, con John Travolta, es uno de los ejemplos de película en la que la informática sirve únicamente como telón de fondo para el argumento, porque prácticamente nada de lo que dicen tiene sentido. Para muestra un botón. En la siguiente escena (en inglés), archifamosa por lo absurda, Stanley Jobson (Hugh Jackman) tiene que reventar la clave de acceso al Departamento de Defensa de los EEUU en 60 segundos mientras un esbirro del malo le apunta con una pistola a la cabeza y una rubia de traca le practica una felación. Vamos, lo nunca visto.
Es impresionante verle teclear vaya usted a saber qué en el portátil mientras aparecen en pantalla listados larguísimos de términos informáticos sin conexión aparente alguna.
Series televisivas como ‘CSI‘ han metido la gamba también más de una vez. Memorable la imagen siguiente en la que aparece una dirección IP que ríete tú del protocolo IPv6. ¿De dónde se han sacado números tan altos? Por el amor de Dios, ¿qué longitud en bits tienen esas direcciones? ¿Acaso los CSI tienen una red paralela a Internet en la que hay más máquinas conectadas que seres vivos en la galaxia? Y no ha sido la única vez que les pasa.
En fin, multitud de películas en las que se cometen continuamente errores con el tema informático y que, parece ser, se seguirán cometiendo. Podríamos hablar de la dirección de correo errónea (Max@Job 3:14
) en ‘Misión imposible‘, del iPod que lee cientos de códigos en pocos segundos, para escanearlos con un cabezal acoplado en plan MacGyver, en ‘Firewall‘, de obtener una contraseña gracias a la imagen de una cámara de seguridad en ‘Conspiración en la Red‘ o de los cientos de errores típicos que se cometen en todas las películas: programas que amplían una matrícula fotografiada desde tomar por culo hasta que se visualiza perfectamente, monitores con un brillo tal que reflejan su imagen perfectamente en la cara del usuario, listados en pantalla con el soniquete de fondo de una impresora matricial, velocidades de transferencia de datos inverosímiles, etcétera.
Sin embargo, y para nuestro regocijo, existen películas en las que el asunto informático se ha tratado correctamente. Títulos como ‘El ultimátum de Bourne‘, ‘La jungla 4.0‘, ‘El asalto final (Hackers 2: Operación Takedown)‘ o ‘The Matrix Reloaded‘ son buenos ejemplos de películas en los que las escenas con ordenadores son totalmente creíbles, porque aparecen sistemas operativos que existen, software real y comandos reales que, además, se introducen de forma acertada y eficaz para el fin que se desea llevar a cabo.
Y es precisamente en ‘The Matrix Reloaded’ donde los hermanos Wachowski llevaron, a mi entender, el tema hacking hasta su punto más riguroso en la escena en la que Trinity (Carrie-Anne Moss) intenta reventar el acceso al ordenador de la central eléctrica. La foto siguiente muestra a qué escena me refiero.
En la imagen se puede apreciar perfectamente la pantalla de la consola que Trinity ha manejado una vez realizada toda la secuencia hasta introducir la contraseña. Es un shell no estándar de una consola Unix adaptado al tono verde que tiñe todas las películas de la saga ‘The Matrix’.
Trinity utiliza para reventar la contraseña, en principio, el programa Nmap (en su versión 2.54BETA25, una versión real), que es un software de código abierto que se utiliza en el mundo del hacking y de la seguridad informática para escanear o rastrear puertos en una máquina remota con el objeto de encontrar agujeros de seguridad. Nmap ofrece la posibilidad de encontrar todos los puertos abiertos de una máquina objetivo y poder comprobar así si dicha máquina es vulnerable a un ataque sobre ese puerto.
La línea de comando que emplea ella es la siguiente:
nmap -v -sS -0 10.2.2.2
El parámetro -v
le indica a Nmap que aumente el nivel de mensajes detallados; -sS
prepara a la aplicación para un análisis de puertos TCP mediante la técnica SYN; y -O
especifica que debe ser activada la detección del sistema operativo que está escuchando en ese puerto.
Un escaneo SYN puede realizarse rápidamente, sondeando miles de puertos por segundo en una red rápida en la que no existan cortafuegos. El sondeo SYN es relativamente sigiloso y poco molesto, ya que no llega a completar las conexiones TCP. A esta técnica se la conoce habitualmente como sondeo medio abierto, porque no se llega a abrir una conexión TCP completa. Se envía un paquete SYN
, como si se fuera a abrir una conexión real, y después se espera una respuesta. Si se recibe un paquete SYN/ACK
esto indica que el puerto está a la escucha (abierto), mientras que si se recibe un RST
(reset) indica que no hay nada escuchando en el puerto. Si no se recibe ninguna respuesta (o si se recibe un error de tipo ICMP no alcanzable) después de realizar algunas retransmisiones, entonces el puerto se marca como filtrado.
Por último, Trinity pasa a Nmap como parámetro final la dirección IP del ataque (10.2.2.2), que es una dirección perfectamente válida de un adaptador de red en un servidor.
Lo siguiente que podemos observar en la imagen son los resultados que ha arrojado Nmap. En este caso sólo ha descubierto un puerto abierto que, casualmente, es el puerto TCP 22, el puerto de SSH (Secure SHell). SSH es el nombre de un protocolo, y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo la computadora mediante un intérprete de comandos y, además, implementa la seguridad que otros protocolos de sus mismas características (como Telnet) no tienen.
Al darse cuenta de que el puerto 22 está abierto en la máquina remota, Trinity, que es una hacker experimentada porque le habrán enchufado en Matrix un programa de esos directo a la mente para aprender a hackear, no se le ocurre otra cosa que utilizar un exploit para reventar la seguridad del equipo y hacerse con su dominio. El exploit utilizado es el SSHv1 CRC32, que existe en la realidad y fue creado por el analista de seguridad Michael Zalewski en el año 2001.
Un exploit es una pieza de software, un fragmento de datos o una secuencia de comandos con el fin de automatizar el aprovechamiento de un error, fallo o vulnerabilidad, a fin de causar un comportamiento no deseado o imprevisto en los programas informáticos, hardware o componentes electrónicos (por lo general computarizados).
A este ataque en concreto contra un servidor SSH se le conoce como SSHNuke. El agujero de seguridad SSHv1 CRC32 es un fallo de desbordamiento de memoria muy real. O quizás mejor lo fue, porque esperemos que los administradores de sistemas no tengan todavía por ahí un servidor SSH con software tan viejo como para contener este error (alguno seguro que hay). Explotado correctamente permite a un atacante remoto modificar su contraseña de root (cuenta de usuario en sistemas Unix que posee todos los derechos) y acceder al sistema vulnerable.
Vemos, por fin, que Trinity ejecuta el exploit, mediante la siguiente instrucción, contra la IP anterior y con el parámetro pertinente para cambiar la contraseña del administrador del sistema:
sshnuke 10.2.2.2 -rootpw="Z10N0101"
Atención especial al detalle de la contraseña nueva (Z10N0101
). Si os dais cuenta está formada por dos partes: Z10N
y 0101
. Z10N
es la forma de escribir Zion (la última ciudad humana real fuera de Matrix) en «leet», que es un tipo de escritura con caracteres alfanuméricos usado por algunas comunidades y usuarios de diferentes medios de Internet, sobre todo los hackers (aunque en «leet» auténtico, la Z
debería haber sido sustituida por un 2
, dando lugar a 210N
). Y el número 101
es una cifra que aparece mucho en toda la saga de ‘The Matrix’.
Una vez que Trinity cambia la contraseña a su antojo, lo que hace es acceder, vía SSH, a la máquina remota con privilegios de root (introduciendo su contraseña recién restaurada).
En fin, muchos directores de películas deberían mirarse en el reflejo de ‘The Matrix’ para, a la hora de introducir temas informáticos en sus obras, recurrir a expertos en la materia y conseguir así un producto digno. Ya sé que, en el fondo, todo esto es de putos friquis como nosotros, y que a la gente que va al cine le gusta ver espectaculares efectos tridimensionales en la pantalla de un ordenador, pero, si no se inventan una forma nueva para conducir un coche, ¿por qué hacerlo para manejar un ordenador?
Seguro que esos directores se gastan más dinero en contratar a expertos pilotos para que el manejo de una jodida avioneta quede realista y luego no invierten un mísero euro en la materia informática. Un error, porque sus películas serán la risión en los foros especializados de Internet, y sus personas de ellos rebajadas a directores de pacotilla. He dicho.
Muy interesante…. A mi personalmente me molesta cuando van a borrar un archivo, y tarda como 40 segundos borando, mientras apretan un monton de teclas que no pueden tener significado por la repidez en que son escritas.
Y al final se deja de borrar, el archivo esta intacto, como si la maquina hubiera esperado 38 segundos para despues borrarlo en los 2 segundos restantes
🙂
Las de Millenium también utilizan el sistema operativo mac, lo que ya no se es si los comandos que introduce en la consola para acceder al ordenador de otro son del todo correctos.
Muy buen post.
Totalmente de acuerdo! Como me da por las bolas cuando ves como mienten con el tema de la informatica. El summum se lo lleva la peli «El dia de la Independencia» cuando programan un virus en un lenguaje extraterreste y con smile incluido. Verguenza les debería dar!
Pues en lo personal estoi totalmente de acuerdo con uds donde el error de la la revundancia cilica y desbordamiento del buffer parece ser ciertamente programado por un diccionario fijense en el track donde trinity teclea n para escrivir nmap la camara en ese momento enfoca el teclado pero en ese mismo instante enfoca la pantalla y ya escrivio nmap -v -sS -0 10.2.2.2 increible..!! no hay impresopnalismo alguno todo ello lo hace cualquiera para ser una pelicula de tal contundencia. saludos colegas..!
[…] This post was mentioned on Twitter by Odomera. Odomera said: SSHv1 CRC32, el exploit de ‘Matrix Reloaded’ http://bit.ly/c8mPUH […]
Yo disfruto con la serie Mr. Robot. Salen muchos comandos que enseño a mis alumnos y salen técnicas muy parecidas de hackeo a las usadas en la realidad. Siempre desde la perspectiva de que es una serie de ficción claro….