Savage
From Hack Story
Savage y The Phreaker son los apodos más conocidos de Jordi Murgó, nacido en 1968, en Lleida. Murgó es un reconocido hacker, miembro de Apòstols, cuya principal faceta es la programación, destacando sus programas QueSO, que determina remotamente sistemas operativos, y NePED, un detector de programas espía. Ambos bajo licencia pública GNU y nacidos en 1998. La mayoría de sus programas, desde el primer ordenador que tuvo, un HitBit de Sony, en 1984, son de libre distribución y código abierto.
QueSO ha sido su programa más conocido, otros programas lo llevan incrustado y Nmap adopta la misma técnica y la amplía[1]. También ha protagonizado algún embrollo memorable: El proyecto Internet Operating System Counter usaba el programa para sus estadísticas. Mientras recogían datos en ordenadores israelíes, desde una máquina llamaba beirut.leb.net, una empresa de seguridad dio la alarma nacional, que ocupó portadas en Israel, al estilo "Un libanés residente en Estados Unidos ataca lugares israelíes en Internet".[2]
NePED, aunque sin historias de espías, ha sido recomendado por el Computer Emergency Response Team:
NePED nació como un reto personal y eterna discusión con otros gurús. Todos afirmaban que no podían detectarse "sniffers" si no se estaba dentro de la máquina en cuestión.[3]
Savage es también autor de BB.BAS, la BlueBox para MSX, y el exploit imapd.c para Linux, que permitía conseguir un "root" remoto en segundos, con RedHat 3 y 4.
Savage es una leyenda del hacking hispano. Las incursiones internacionales del leridano no acaban con QueSO y NePED: desde 1988, cuando sus programas de comunicaciones para MSX, COMS3 y COMS4 eran usados mundialmente; hasta 1999, cuando su nombre aparecía en los créditos del kernel de GNU/Linux. Miembro durante su existencia del grupo hacker Apòstols, con ellos jugaba, en el 89, a pasear por redes y ordenadores de todo el mundo. En 1992 montó uno de los primeros proveedores de acceso, Lleida.net. Años después, en el 97, practicaría el hacktivismo, aportando código a los portugueses ToXyN, en su campaña contra Indonesia por la independencia de Timor del Este. En 1998, junto con su amigo de Apòstols Rampa, creó la red de chat IRC-Hispano.
La gente de mi generación, que ha seguido a ritmo constante, tiene historias muy similares. Somos hackers por necesidad, la informática de la época era escasa y cara y tenías que buscarte la vida para tener herramientas, información, acceder a redes, investigar como funcionaban... para hacer los programas que te evitarían el pago.[4]
Contents |
Autobiografía
Empecé a los 14 años, aprendiendo informática de compañeros de 4º y 5º de FP. Una cosa llevó a la otra y aprendí microprocesadores por mi cuenta, lo sabía casi todo de la familia 6502. En mi escuela tenían unos equipos con 6502, programables en BASIC y Assembler, en aquella época sólo conocía el Assembler. Las makinas se llamaban Acorn-ATOM. Con la pasta de recoger fruta me compré un ordenador HitBit de Sony (con cassette y 16K de RAM) el año 1984, porque en la escuela no me dejaban estar más horas en el aula de informática.
Después curré haciendo el mantenimiento eléctrico y de automatismos de la escuela, por las mañanas, por la tarde a clase. Con la pasta compré impresora, ampliación de memoria a 64Ks, algunos juegos de Konami... y conseguí ¡¡UN MODEM pirata!!! Peaso módem a 300 bauds. Menudo problema: ¿cómo coño se conecta un módem a mi MSX? Me pedí un RS232 de importación. Fantástico, ya tenía módem, RS232 y en una revista había visto un número de teléfono de un BBS. Hice 4 líneas en BASIC para montar un mini-programa de comunicaciones, que me permitía activar y desactivar la captura de sesión hacia la impresora.
1988. Entro a currar en Telefónica (en prácticas). Poca pasta, pero me compré el MSX2, ¡¡con disketera y 80 columnas de texto!!
Me hice una versión mejor del programa de comunicaciones, que me permitía bajar y subir ficheros con protocolo X-MODEM. El programa tuvo mucho éxito en el mundo MSX, se llamaba COMS3. Conseguí un compilador de C (limitadísimo) para CPM, lo adapté ligeramente a MSX-DOS, y aprendí C. El primer programa fue el COMS4, hecho en C y ASM de Z80 (también era libre). Se utilizó durante mucho tiempo a nivel mundial.
1989. Estuve en una empresa de informática local, monté un sistema anticopia basado en hardware.
1989-2000. Vuelvo a Telefónica. Hasta Julio de 2000 hago de administrador de sistemas (Theos, IBM S/1, Banyan, SunOS, HP/UX, AIX, Solaris, Linux...) y de programador de cosas relacionadas con sistemas y comunicaciones.
1989-1990. En aquella época, rondaba las redes X25, buscando Unixes, Vaxens y chats multiusuario. Conocí a gente muy simpática, unos se llamaban Glaucoma porque atacaban la red IRIS. Empezamos a hacer el idiota juntos, llamando gratis, entrando por el morro a X25, saliendo por out-dials de compañías americanas. Al final, alguien dijo que éramos un grupo y podíamos llamarnos Los Apòstols. Éramos 2 de BCN, yo de Lleida, uno de Zaragoza, uno de Alicante y uno de Tenerife. Si entrábamos en un Unix, teníamos una perfecta imitación del login que nos permitía utilizar cualquier cuenta del sistema con el password "joshua!" (¿podríamos decir que ya era un rootkit? :) En los VAXes, no podíamos sustituir el LOGIN.EXE, así que hacíamos usuarios que pareciesen procesos del sistema (SYS$PROCESS, por ejemplo) pero con privilegios.
1990. Compré un PC-XT de segunda mano con 640Kb de RAM y 10Mb de disco duro. Allí instalé mi primera BBS: MSX-Access. Seguí diseñando cosas para MSX y utilidades. Adapté el compilador libre de C para 8 bits (micro C) a Z80 optimizado. Mucha gente lo utilizaba. Fuí ampliando el módem: 2400, 2400MNP y ¡¡14.400!! Pagué 140.000 pesetas por él.
1991. Podemos decir que Apòstols ya no existe.
1992. Me caso, monto LleidaNet, me compro más PCs, abandono el MSX y me dedico al Unix (Coherent 286, Coherent 386 y LINUX). En aquella época, hice cosas bastante interesantes, recuerdo una librería libre y en código fuente, para C++, que te permitía multitask cooperativo desde MS-DOS. Algunas cosas para automatizar tareas de Fidonet (era coordinador de Catalunya).
1994. Montamos nuestro primer webserver, un CERN, sobre Linux, en la Universitat de Lleida, conectada a la Universitat Politècnica de Catalunya a 9600.
1995. Montamos Internet en LleidaNet y nos hacemos ISP, todo bajo Linux. Sólo tenía tiempo de codificar para nuestros clientes.
1996. Registramos Apostols.org con Rampa de Encomix. Conozco a los chicos de ToXyN mientras intentaban hackear algunas máquinas de LleidaNet. Les hago un talk root@ip_del_hacker y nos hicimos coleguillas. Me reintroduje en el mundo de la (in)seguridad.
1997. El tema ISP ya no me absorbe y me dedico a codificar de nuevo. Algunas cosas impublicables, que utilizaron los amigos de ToXyN en la campaña contra Indonesia, por la Independencia de Timor del Este. Hice algún módulo para Roxen, bajo GPL, y bastantes aportaciones al código del webserver.
1998. Me dedico a hacer cosas relacionadas con el IRC, hasta que domino bastante bien el sistema. Hago QueSO y NePED, sigo aportando cosas allí donde puedo... A final de año se provoca la escisión de Arrakis a IRC-Hispano y, en una noche, montamos lo que ya tenía funcionando en la red IRC de DarkNet. Monto Linux.Apostols.Org.
1999. Todo el año dedicado a cosas del IRC-Hispano: services, nuevos bots, juegos online, mantenimiento y mejoras en el ircd. Alan Cox me acepta un pequeño patch para el kernel de Linux, no sabes lo ke mola que salga tu nombre en el kernel :)
1 julio de 2000. Dejo Telefónica, LleidaNet y dimito de Admin/Oper/Devel del Hispano.[5]
La clave ORTSAC
Una de las mayores hazañas de los primeros grupos de hackers, Glaucoma y Apòstols, fue robar la contraseña de acceso a los nodos X25 de Telefónica. La contraseña era ORTSAC, el apellido, al revés, de la persona que los había montado. Cada grupo lo hizo por su lado y, en el caso de Apòstols, quien lo llevó a cabo fue Savage, en solitario, dos años antes del nacimiento de Apòstols. Usó para ello ingeniería social:
Año 1987 (tenía un modem de 300bps y un ordenador MSX). En una revista del sector leí que las empresas se conectaban por X25 (IBERPAC) y el tema me interesó. El primer paso fue conseguir los números de acceso a IBERPAC... Hice una llamada a información de la CTNE:
- Hola, soy Fulanito de Tal, del departamento de Informática de XXX, y necesito los números de acceso a la red IBERPAC de toda España, para que nuestros representantes puedan acceder a la nueva aplicación de pedidos.
- Espere un momento que le doy el teléfono del departamento de "Datos".
- Hola, ... el mismo rollo ....
- Sí, por supuesto, ¿a qué fax se lo mando?
- Les dí mi número y puse en marcha una mierda de FAX manual (desguazado de unas oficinas), de los que no pone la identificación del equipo.
Bueno, ya tengo el teléfono de acceso, ahora un manual, a ver cómo funciona... Fuí a las oficinas comerciales de Telefónica, les expliqué que mi primo estaba en EEUU y que me había hablado de X25, que en su ordenador de la universidad tenían y que podríamos "hablar". Muy amables, me dieron un montón de panfletos, incluído un mini manual de X28 (PAC de acceso a Iberpac)
Me pongo a probar pero, claro, me faltaban "direcciones" X25 para conectar: Trashing. Los contenedores que estaban delante del centro Iberpac de Lleida. En una semana ya tenía listados inacabables de direcciones. Muchas aceptaban sólo cobro revertido, o sea, no necesitaba un usuario/password de acceso a Iberpac.
Estuve unos meses jugando con lo que tenía, conseguí direcciones X25 del exterior, pero se necesitaba usuario/password para acceder a Iberpac internacional.
Llamé al Teléfono del departamento de "Datos":
- Hola, soy Manolo de Datos de Huesca, que he perdido la clave para hacer pruebas X28, ¿la tienes por aquí a mano?
- Sí claro, es N918340405/ORTSAC
Y así pude salir del país, y conocer al resto de Apòstols en los chats exteriores (Minitels franceses, pero con acceso X25 internacional). Su procedimiento para llegar allí había sido muy similar.
La clave de acceso ORTSAC era casi universal :) y duró 2 años. ORTSAC era CASTRO, nombre del responsable que la pidió para hacer las pruebas X28 de toda España.
Cuando se petó, intentamos conseguir la nueva, pero la respuesta era "no, ahora han mandado una distinta a cada provincia".
Entonces, un gran empresa informática pasó a ser nuestro proveedor de claves de acceso, llamando a las 2 de la mañana, cuando sólo había un colgado de guardia o un vigilante:
-Hola, soy Manolo Pérez de Iberpac, se nos ha caído el nodo y necesitamos verificar sus datos de acceso...
La conseguimos 3 veces, la de esta gran empresa :)[6]
Introducción a QueSO
A la hora de realizar auditorias informaticas es muy importante
disponer de herramientas para la deteccion de IPs activas,
puertos, y sistemas operativos. En este ultimo punto es donde
escasea el software libre, y el que hay se basa en en metodos
un tanto brutos:
rpcinfo
snmp
telnet
version de SendMail
bajarse binarios del ftp-publico remoto
y otras lindeces lentas y sospechosas
Visto el problema, hace un an~o (Abr.97) empece un programa que era
capaz de diferenciar entre un Linux y un Windows mediante el envio
de paquetes TCP a un puerto LISTEN del remoto. Nunca llega a
establecerse
conexion alguna con el puerto remoto, por lo ke es mas "fino" que
los
expuestos anteriormente. A principios del mes de Abril.98 retome
el tema
y el resultado obtenido es QueSO, disponible en:
http://apostols.org/projectz/queso/
Como somos capaces de determinar el OS remotamente mediante
simples paquetes TCP ??? Pues facil, son paquetes sin sentido
alguno,
y en ningun RFC indica que responder ante este tipo de situaciones,
y ante la ambiguedad, cada implementacion de pila TCP/IP opta por
responder distinto. En algun caso como el de Linux, hay descuidos
de programacion que lo hacen detectable.
Que paketes invalidos envia el programa QueSO ?
0 SYN * ESTE ES VALIDO, usado para comprobar
LISTEN
1 SYN+ACK
2 FIN
3 FIN+ACK
4 SYN+FIN
5 PSH
6 SYN+XXX+YYY ( XXX & YYY son flags no contemplados en
TCP/IP )
En todos los paquetes el seq_num es aleatorio y el ack_num es 0.
En respuesta al paquete 0 (SYN), cualquier puerto LISTEN ha de
contestar SYN+ACK con ack_num, seq_num y window distintos de 0,
o en caso de no estar LISTEN contestara RST+ACK y el ack_num.
Y aqui termina lo estandarizado y empieza el terreno de QueSO :)[7]
Notas
- ↑ Remote OS detection via TCP/IP Stack FingerPrinting. Fyodor (18-10-98)
- ↑ Un programa catalán causa el pánico en Israel. Mercè Molist (1998)
- ↑ Código Hispano. Mercè Molist (13/02/01)
- ↑ Código Hispano. Mercè Molist (13/02/01)
- ↑ Entrevista Jordi Murgó. Revista @rroba, 95 (04-05)
- ↑ Jordi Murgó, en conversación privada
- ↑ savage
Enlaces externos
- Apòstols
- Perfil Jordi Murgó
- Hackeos memorables: Indonesia. Security By Default (23/10/08)
- Detección de espias en redes ethernet. Jordi Murgó. Hispasec.
- Crònica de l'Assemblea de Reagrupament per Internet. Jordi Murgó.
- ¿Qué tienen allí? by nomad. Hack Story Blog (20/06/12)
- El activista que luchó por Timor Oriental. Carmen Jané. "El Periódico" (02-09-12)