PDF de programación - Hack21-2nd Diario de un participante

Imágen de pdf Hack21-2nd Diario de un participante

Hack21-2nd Diario de un participantegráfica de visualizaciones

Publicado el 19 de Abril del 2018
477 visualizaciones desde el 19 de Abril del 2018
375,5 KB
9 paginas
Creado hace 20a (15/06/2003)
Publicado en la revista @rroba, nº 68, pp. 16-19. Mayo, 2003. © Román Medina-Heigl Hernández.


Hack21: diario de un participante
2ª Edición del concurso de hacking ético

Ha pasado más de un año desde la celebración de lo que fue un concurso pionero
en España. Con unos meses de retraso, Hack21 se ha presentado de nuevo a la
Comunidad y una vez más, allí hemos estado, participando, cara a cara con otros
compañeros y concursantes. Desde la posición privilegiada que nos ha brindado
este hecho, narraremos escrupulosamente todo
la
celebración del concurso. También contaremos con la opinión de la otra cara de la
moneda: los organizadores del evento.


lo acontecido durante

Un poco de historia


A finales de Octubre de 2001 se inauguraba oficialmente el primer concurso de
hacking ético celebrado en España; su nombre, Hack21. En aquella ocasión el concurso
resultó empañado por diversos motivos, como la extrema dificultad o una mala
planificación del mismo, lo que propició que los participantes pasaran la mayor parte de
su tiempo atacando un formulario infranqueable, cuando la vulnerabilidad que se debía
explotar estaba en otra parte (concretamente en el servidor DNS). Para más inri, la
máquina del concurso ejecutaba un sistema operativo poco corriente para la mayoría de
los participantes lo que dificultaba la confección del exploit necesario para superar el
primer nivel del concurso, y además el concursante debía tener acceso a un dominio,
para que la explotación del fallo DNS fuera posible. Por último, se intentó arreglar el
desaguisado a última hora y a la desesperada, añadiendo una nueva vulnerabilidad, en
uno de los servicios RPC de la máquina.


Este último intento también fue en vano, ya que el servicio RPC caía cada dos
por tres, debido a los intentos de explotación por parte de los concursantes. Como
resultado, el premio se declaró desierto y la verdad, no quedó muy buen sabor de boca
entre el público al que iba destinado el evento, que se sintió de alguna forma estafado y
defraudado.


La nueva edición


El concurso de este año ha durado algo menos de un mes. Comenzó el 4 de
Febrero a las 14:00h (con unas horas de retraso, hora española) y finalizó el viernes 28
de Febrero a las 14h. Se dividía en tres niveles de dificultad creciente y a cada uno de
ellos correspondía un premio (una misma persona podía resultar ganadora de los tres
premios ya que sólo se premiaba al primer concursante que superara cada uno de los
niveles, de forma independiente). Los premios eran muy atractivos: una cámara digital,
1500 € y 3000 €, para los niveles 1, 2 y 3, respectivamente. Además, en los tres casos se
haría entrega de un trofeo, y para los 100 primeros se regalaría también una suscripción
a una revista de seguridad. En realidad, el concurso estaba diseñado para que la
probabilidad de que alguien ganara el premio correspondiente al último nivel fuera
ínfima, con lo cual lo de los 3000 € era más una maniobra de marketing que otra cosa.


1

El nivel 1


Todos los niveles se basaban en una aplicación (en ASP) creada a efectos del
concurso y que emulaba una tienda de comercio electrónico. La plataforma empleada
era Windows 2000 / IIS 5.0 / SQL Server 2000 (lógico, si tenemos en cuenta que
Microsoft era uno de los patrocinadores del concurso). Existían dos páginas: la propia
del concurso (hackit.hack21.com) donde se desarrollaban las pruebas, y otra
(www.hack21.com) donde se encontraban las reglas del concurso, descripción de los
premios y dos foros: uno destinado a los propios concursantes y otro para noticias
oficiales de la organización.


Nada más conectar a la página web del concurso teníamos acceso al catálogo de
productos de la tienda virtual, con fotos, descripciones y precios. Arriba a la derecha se
podía ver un formulario para entrar en la tienda como usuario registrado, mediante
usuario y contraseña. Precisamente éste era el objetivo del primer nivel: conseguir
acceder a la tienda como un usuario registrado. Evidentemente no había formulario de
registro gratuito sino una interfaz de administración, al que inicialmente no se tenía
acceso: “no está en el rango de clase permitido, sólo acceso desde la LAN y/o no tiene
acceso”. Para saltarnos esto, simplemente había que modificar la cookie y sustituir dos
variables
así:
“src=172%2E16%2E16%2E1; permiso=1; ASPSESSIONIDSQTQDTQQ=…”. Para
averiguar la clase de la dirección a IP a usar, bastaba con hacer telnet al puerto 80 del
servidor web e introducir “HEAD / HTTP/1.0”, lo que le provocaba la visualización de
la IP privada del servidor web y nos daba una idea sobre el direccionamiento usado.


adecuados.

valores

por

los

La

cookie

quedaba

Por fín estábamos ante el formulario de administración pero ¿conocíamos el
usuario y contraseña de la persona encargada de esta función? El usuario se podía intuir

2

de otro mensaje de error, puesto a propósito, que decía: “el administrador y el usuario
de mantenimiento son los únicos que pueden dar de alta usuarios nuevos”. Dicho error
se mostraba al intentar acceder al enlace “nuevo usuario”, el cual no valía para nada
más. ¿Y la contraseña? Bastaba con analizar el código HTML de la página para
encontrar:

<!-- CODE: 0x62,0x61,0x63,0x6B,0x75,0x70,0x2F,0x72,0x65,0x63,0x75,

el

0x70,0x65,0x72,0x61,0x72,0x2E,0x61,0x73,0x70-->. Traduciendo
comentario
HTML a texto quedaba: “backup/recuperar.asp”. Así llegábamos a una nueva página,
con el dibujo de una llave y aparentemente nada más. Pero si nos fijábamos otra vez en
el código HTML de la página, abajo del todo, teníamos un fichero codificado con
“uuencode”. Bastaba con decodificarlo para obtener así un archivo ZIP. Dentro del
mismo, se encontraba un segundo fichero, el cual no se podía extraer de buenas a
primeras, al estar protegido por contraseña. Había pues que crackear el archivo ZIP.
Este punto ha sido duramente criticado, por un lado debido a la obvia dependencia de
esta prueba con la CPU de que disponga cada concursante, lo que introduce
desigualdades entre los mismos; y por otro, porque la contraseña del ZIP resultó tener 8
caracteres, lo cual significaba días (sí, días) de tiempo de cracking para poder romperla,
usando un charset normal (números y letras mayúsculas-minúsculas), incluso en una
máquina potente (pongamos, 1-2 GHz). Consiguieron romper la contraseña un grupo de
concursantes que optaron por distribuirse el espacio de claves posibles, lanzando así un
ataque distribuido. La contraseña resultó ser: “opqlmoeh”. Evidentemente, si
hubiésemos sabido de antemano que la contraseña no incluía mayúsculas ni números, el
proceso de fuerza bruta se habría visto tremendamente reducido. Pero no contábamos
con esa información.


El fichero extraído contenía los hashes (LanMan y NT) correspondiente al
usuario cuyo id era el 1010. Tras adecuar el fichero al formato correcto aceptado por la

3

conocida herramienta L0pthcrack, comenzábamos una nueva fase de fuerza bruta. En
algo más de 5h teníamos la contraseña: “vutiZUviGi” (a pesar de la longitud de la
contraseña, este tipo de hashes se pueden romper fácilmente debido a la naturaleza débil
de los mismos; más información en el manual de L0pthcrack). Era de suponer que el id
1010 se correspondía con el usuario de administración. Sólo restaba dirigirse al
formulario de administración e introducir como usuario “mantenimiento” junto con la
contraseña anteriormente hallada. Habíamos superado el nivel y debíamos rellenar un
pequeño formulario con los datos reales del concursante, para que la entrega de premios
fuera factible. Estos datos privados (que incluían usuario, contraseña, nombre y
apellidos, dirección postal completa y e-mail) serían más adelante comprometidos,
debido a una mala securización por parte de S21sec. Este grave hecho ha dado mucho
que hablar. Suerte que nadie lo denunció a la APD… En cualquier caso, añadir que el
ganador de este nivel fue un inteligente concursante apodado “Dreyer”.


El nivel 2


Al contrario que el nivel 1, este nuevo nivel se podía resolver fácilmente y en su
totalidad, en cuestión de horas. Lo más lógico es que igualmente lo hubiera ganado
“Dreyer”, precisamente por contar con la ventaja de haber llegado el primero. No fue
así, hubo irregularidades que lo impidieron, anulando injustamente esta ventaja.
¿Cuáles? No seáis impacientes, todo a su debido tiempo.


Comenzamos a jugar en este nivel horas más tarde de que Dreyer lo hiciera. El
objetivo era realizar una compra de un producto determinado de la tienda, pero claro,
nuestro usuario registrado no contaba con saldo suficiente. Había un formulario de
búsqueda sospechoso, pero que no funcionaba: obteníamos un error de VBScript
extraño y sobre el que nada se podía hacer. Pasamos unos dos días estudiando y
analizando todo el escenario y nada, que no había manera. Hablamos con otros
concursantes y estaban en la misma situación. Ya cansados, uno de ellos preguntó en el
foro de S21sec si dicho formulario funcionaba correctamente. Si no recuerdo mal, hubo
que insistir una vez más hasta que los organizadores repasaran el script .asp del
formulario de búsqueda y descubrieran que no funcionaba. ¡Estaba mal programado! Y
para colmo, ¡era la única puerta al siguiente nivel! ¡Habíamos tirado por la borda dos
bonitos días! S21sec se disculpó del tremendo fallo
  • Links de descarga
http://lwp-l.com/pdf10514

Comentarios de: Hack21-2nd Diario de un participante (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad