Solución Reto Hacking SecurimaTICa 2013

on

PRIMERA FASE

No acostumbro a participar en CTFs o Retos de Hacking, pero el otro día tras enterarme vía Twitter del inicio del concurso, decidí registrarme y probar suerte.

Recibí un email con la siguiente información:

Bienvenido al Reto SecurimaTICa 2013! El objetivo de la Etapa Previa del Reto Hacking de SecurimaTICa 2013 es la realización de la extracción de pistas para la consecución de este primer reto.

Para dicha tarea, el objetivo radicará en la web www.programacreatica.es que tenemos en propiedad. Todas las imágenes contenidas en este dominio, son sensibles a albergar algún tipo de información oculta.

A pesar de un primer momento descargarme todas las imágenes del sitio, la esteganografía habría que aplicarla en las 3 imágenes de portada. Para ello usé FileInyector.

1

En la primera imagen, la de portada, la contraseña era fácil “securmatica“.

Uno tras otros obteníamos ficheros txt que nos eran claves para continuar con el reto.

2

3

4

En este momento el asunto se complicó un poco más:

Bingo!!!Estás de suerte, obtienes un pack de pistas!
Toma nota: r3tocordoba (Ojo que es un tres!!!)

-Hay una imagen que no aparece en la Web y no está relacionada con el programacreatica.es
-La imagen está en .jpg.
-Es el logo del blog de hacking-etico.com
-Prueba las rutas de las imágenes mas comunes que aparecen en la web programacreatica.es donde está nuestro evento Securimática.

Había una imagen oculta y había que averiguar la ruta y tan sólo se sabía que era del blog hacking-etico.com.

Me creé listas de rutas hasta que me fijé que la empresa ACS iSecurity estaba directamente relacionada con este, por lo que siguiendo una supuesta lógica, la imagen que buscaba estaría ahí…

5

6

Esta primera fase había finalizado:

ENHORABUENA, HAS COMPLETADO EL RETO!!!

COPIA Y PEGA ESTE ENLACE WEB EN TU NAVEGADOR:
http://reto.securimatica.com/index.php?v=p9DO1Nyjk9OaoA==

DESCUIDA, ES SEGURO 😉

 

FASE FINAL

Tardé bastante en ponerme con la Fase Final. Desde que recibí el email, más de un día perdido haciendo otros menesteres.

El enunciado de la Primera Etapa fue el siguiente:

La empresa ?El elfo zumbón?, dedicada a la investigación en el campo de biodiversidad en las especies españolas, nos contrata con el fin de realizar una auditoría externa sobre el unico servidor que tienen público, mediante el cual comparten información privilegiada con sus homologos en otros paises. Aseguran no tener vectores de ataque, ya que tienen minimizada la exposición de sus datos, los cuales suelen ser críticos, ya que indican los experimentos geneticos que marcarán las nuevas tendencias en biogenética. Nosotros deberemos demostrar que su sistema es vulnerable, o que por el contrario es lo suficientemente seguro.

IP: 178.33.167.179

Analizando a primera vista con NMAP esta dirección, podíamos ver abiertos los servicios de FTP, SSH y WEB.

PORT    STATE    SERVICE
21/tcp  open     ftp
22/tcp  open     ssh
80/tcp  open     http
445/tcp filtered microsoft-ds

De primeras probé a entrar vía FTP con el usuario “root”, y me devolvió algo muy interesante. El usuario “secur1” no pudo autenticarse.

Ahora, mucho más claro. Necesito hacer bruteforce con ese usuario!!!

Lanzamos el Hydra según las indicaciones que vemos en Twitter por parte de @wolfinside. La contraseña solo tiene 3 caracteres, incluyendo minúsculas y números.

hydra -l secur1 -x 3:3:a1 178.33.167.179 ftp

Utilizo el parámetro 3:3:a1, donde empleoa un mínimo y máximo de 3 caracteres y  con minúsculas y números. Y a esperar…

Como tengo poca paciencia, y aún a riesgo de saturar el servidor… arranco Brutus y le pongo también a trabajar.

En 1:35h tenía el resultado.

Probamos a entrar y perfecto, nos plantea un acertijo… más lio!! Y descubrimos que el servidor guarda un fichero comprimido con contraseña.

Resuelve el acertijo, Moria espera: Di amigo y entra

El primer resultado de buscar eso en Google, me lleva a una web acerca de Tolkien y el Señor de los Anillos!

En la web, aparece la inscripción de la Puerta de Moria, donde dice “Puertas de Durin, Señor de Moria. Di amigo, y entra.” en elfico o algún idioma extraño.

Gracias a tipos que invierten su vida en publicar este tipo de cosas podemos averiguar que “amigo” es “mellon”. Esa es la contraseña!

exlotrm1

El fichero contiene una URL, para validar mi email, donde me llegarán más instrucciones. La Primera Etapa ha sido solucionada 🙂

Para la Segunda Etapa, recibo en mi correo un texto y una URL para descargar un PCAP:

La policía lleva varios días siguiéndole la pista al contrabandista Jake Phillips. Se sospecha que se está intercambiando información con algunos de sus contactos, entre ellos Charlie. La policía ha podido hacerse con una captura de tráfico y necesita saber la URL desde donde harán los intercambios. El Jefe de policía, el Sr. Smith nos solicita nuestra colaboración como Expertos en Análisis Forense. Para ello nos facilita un fichero con la captura de tráfico.

Vamos a echar mano de NetworkMiner para este análisis, siguiendo los pasos que los amigos de Fluproject publicaron en su día.

Puedo ver, como Jake le envía varios ficheros a Charlie por correo electrónico. Por lo que ordenamos y seleccionamos aquellos Frames cuyo protocolo es SMTP, logrando abrir el fichero 5ecret.docx, cuyo contenido es Bingo.

Con WordPad no veía algo interesante… había una URL en el documento que pude ver con el Word de Office:

url

De poco nos sirve de momento, ya que nos pide usuario y contraseña. El usuario es fácilmente localizable entre los mensajes: secret.

Una curiosidad, es la de encontrar entre esos mensajes una canción: Kino – No es todo lo que parece.

¿Entonces? ¿El usuario no es “secret”? ¿Es la contraseña? ¿Es algo?…

Se me ocurre que los malos juegan al despiste. Quizá no sea una web donde tenga que entrar, así que vuelvo a lanzar NMAP en este servidor, indicándome la existencia de muchos servicios abiertos… perdiendo el tiempo.

Volviendo una vez más al fichero PCAP, veo que Jake Philips se ha conectado exclusivamente a los puertos 587 y 143 de ese servidor, nada de puerto 80. Envió los emails… ¿solamente? Eso despista mucho.

smtp

Deshechando todo eso, y tras mucho tiempo bloqueado… me da por abrir con WordPad el fichero mp3.

pdf

Coño! Se trata de un PDF con la contraseña que necesito! ¿Por qué habré tardado tanto en hacer eso? Tendría que haber caído antes, ese fichero solamente tenía 14KB!!

pass

Con esto, ya hemos solucionado la Segunda Etapa, y nos lanzamos de lleno para la última.

etapa3

Muy pocas pistas nos dan, y aunque en un primer momento me pongo a analizar imágenes, crearme diccionarios y lanzar ataques… nada resulta fructífero.

indexof

Descubro incluso una imagen de un supuesto producto, un Delorean!! Pero no consigo nada por ese camino.

Decido entonces analizar la web en busca de vulnerabilidades que pueda aprovechar, con la ayuda de Acunetix.

acunetix

Genial! Es hora de pasar al ataque empleando SQLMap para mostrar bases de datos, tablas, columnas y hacer un dump.

sqlmap -u 178.33.167.179/reto/producto.php?id=1 --dbs

1

Hay disponibles 5 bases de datos… obviamente la que nos interesa es la que pone Reto3.

sqlmap -u 178.33.167.179/reto/producto.php?id=1 -D reto3 --tables

2

Hay solamente una tabla disponible llamada URL.

sqlmap -u 178.33.167.179/reto/producto.php?id=1 -D reto3 -T URL --columns

3

En esta vista podemos comprobar que las columnas que nos aparecen, parecen alojar algún tipo de credencial. Es hora de volcar la tabla y ver el contenido.

sqlmap -u 178.33.167.179/reto/producto.php?id=1 -D reto3 -T URL --dump

4

Aunque no eran credenciales como creía… Ahí tenemos la URL para la resolución de este reto. Lo hemos logrado!!

fase3_fin

Ha sido un concurso muy divertido, rápido y no muy complicado. A pesar de los bloqueos mentales que he sufrido en algunos momentos, se agradece el enorme esfuerzo realizado por parte de SecurimaTICa y Hacker-Etico. Muchas gracias.

10 thoughts on “Solución Reto Hacking SecurimaTICa 2013

  1. Muchas gracias Omar por tu participación y por la magnífica explicación de la resolución del reto. Encantados de que os haya gustado. El año que viene más y mejor. Seguimos en contacto! 😉

    @Miguel_Arroyo76

  2. Muchas gracias Eduardo, Miguel y Jesús. Todo un placer.

    Jesús hay muchas otras alternativas a FileInyector, pero creo que es la más sencilla de utilizar. Ya lo sabes para la próxima 😛

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

code