Mostrando entradas con la etiqueta esteganografía. Mostrar todas las entradas
Mostrando entradas con la etiqueta esteganografía. Mostrar todas las entradas

martes, 27 de septiembre de 2016

Reto Ninja - Qurtuba CTF


Hola a todos! Soy Álvaro (@alvarodh5), aunque mi nick es Blackdrake. Ante todo quería dar las gracias a fwhibbit por permitirme escribir en este fantástico blog.

En esta entrada, explicaré como realizar el reto ninja del CTF de Qurtuba, aprovecho para felicitar una vez a toda la organización, pues hicieron un trabajo excelente.

Llegamos al reto ninja, teóricamente el más difícil pues era el que más puntuación otorgaba, comenzamos con un comprimido con contraseña, la descripción es clara: "Visita Is it a game or is it real? para continuar con el reto".




Obviamente no me la iba a perder por nada en el mundo, pero la pista, hizo que estuviera más atento a los pequeños detalles.

Comienza la ponencia y nos encontramos con un vídeo de 10 unido a un temazo hardcore con el que sorprendió a toda la sala a mí incluido, justo después, apareció en una de las diapositivas un personaje bastante conocido:


¿Qué hace charizard en una diapositiva? ¿Será nuestra contraseña?



BINGO! Archivo descomprimido y nos  encontramos con los siguientes ficheros:




Nos dirigimos a visualizar el contenido del fichero PassWords.odt:



Aparentemente un documento vacío en el que lo único que hay es la siguiente cadena:
WARGAMES ENDING

Sin perder tiempo, comencé a traducirlo:
W w    A a   R r   G g   A a   M m  E e  S s      (espacio)
E e  N n   D d  I i  N n   G g
wargames ending

En ese momento y entre carcajadas apareció Fran (el creador del reto) que les enseñó su pc a otros miembros de la organización que compartieron con él las risas. En ese instante supe que el documento escondía más de lo que parecía, aprovecho para darle gracias a Justo que me dijo que mirase bien todo el documento entre risas.


BA-GOSHI TSAH-AS-ZIH TOISH-JEH AH-NAH DAH-NES-TSA BA-GOSHI BE-LA-SANA NA-AS-TSO-SI
CLA-GI-AIH A-CHI A-CHIN TLA-GIN YEH-HES NA-HASH-CHID DZEH

Cuya traducción al castellano es: cybercampincibe



Llegados a este punto, contamos con 3 contraseñas (o eso parece), en este momento nos dirigimos a comprobar que contiene el audio llamado Mr.Robot 1x09.ape.

Al ejecutarlo, nos encontramos con otra canción hardcore… pero el nombre no cuadraba, algo debe esconder. Después de googlear y porque no, de ver el capítulo, llegamos a la conclusión de que se utiliza DeepSound, una herramienta de steganografía exclusiva para Windows, aunque, se puede utilizar con wine. (http://jpinsoft.net/DeepSound/)

Abrimos DeepSound y le pasamos nuestro audio, y como era de esperar, nos solicita una de nuestras contraseñas:

En este caso, h0n3yst4t10n

Y encontramos estos ficheros ocultos:



Ambos comprimidos con contraseña, en un primer momento, pensé que no habría problema, pues aún contamos con dos contraseñas sin usar, por desgracia, ninguna era válida. Qurtuba había finalizado, así que, me puse en contacto con Fran para preguntarle al respecto, le pasé las contraseñas y su respuesta fue la siguiente:

“Ha habido un error, es en mayúsculas, la otra, no es una contraseña, OSINT”

Perfecto, ahora todo tenía lógica, y aunque Qurtuba ya había finalizado y me había proclamado vencedor junto con Diego y Juan, quise acabar este reto.

Por tanto, probamos CYBERCAMPINCIBE y listo! Tenemos el fichero xab descomprimido:



Aparentemente un apk que descomprimiría más tarde, ahora el objetivo era conseguir la otra contraseña, en cuanto comencé a buscar sobre “wargames ending” supe cuál era la contraseña (además, Fran también mencionó unos mapas), recordaba que cuando grabé parte de su ponencia para poder volver a verla de nuevo, me fijé en un código que apareció en el medio de unas pantallas. Por tanto, busqué dicha imagen. Unos minutos más tarde, la tenía y con ella, el contenido del fichero xaa:




Era momento de decompilar el apk para comprobar si escondía algún secreto:


¿Un apk que no se puede decompilar ni descomprimir? Algo falla, para asegurarme, intenté instalarla en un emulador y obviamente, dió error. Por tanto, no era un apk.

Utilicé binwalk para comprobar si de verdad había algo oculto y lo encontré:


¿Un fichero que se llamaba igual que el comprimido? Sospechoso. No pude obtener nada útil de este fichero (ni strings, ni cabeceras etc…).

Era turno del fichero xaa, si antes parecía un apk y no lo era, esta vez, ¿qué tipo de archivo será?




El editor hexadecimal nos confirma que es un RIFF (o al menos, que contiene esa cabecera), me propuse escucharlo y en efecto, solo se escuchaban sonidos y ruidos. 

Analicé el audio por si había de nuevo steganografía, pero sin éxito. Así que, se lo comenté a Fran, que me pasó un vídeo en youtube (Cargando un juego de Amstrad): https://www.youtube.com/watch?v=4S9qTfdUWbc. 

También me preguntó sobre los nombres de los ficheros xaa y xab, le dije que tenían pinta de ser el resultado de un Split, respuesta a la que dió su visto bueno.

En este momento lo tenía claro, había que unir ambos ficheros y ejecutar el juego:



Me volví loco, intenté ejecutar el juego con todo tipo de emuladores sin éxito, así que, investigué sobre las caratulas, intentando generar una, después de haber probado varias herramientas desistí.

En un acto desesperado de Fran que quería ver su reto ninja resuelto, envío este enlace: http://www.rtl-sdr.com/the-international-space-station-is-transmitting-sstv-images/ enseguida encontré un fragmento de texto que llamó mucho mi atención:

“To decode the images it is recommended to use SDR# and pipe the audio into MMSSTV, a freeware SSTV decoding software program”

Instalé el programa y le pasé el archivo generado de la unión de xaa y xab:



Ahí estaba la flag, reto ninja resuelto por fin!

Comencé a entender, que el vídeo de youtube era una pista sobre convertir el audio en imagen y no tenía nada que ver con Amstrad. 

Sin más darle las gracias a Fran, que consiguió tenerme enganchado durante unos días para poder resolverlo.

Espero que os haya gustado!

Un saludo, Blackdrake.

martes, 6 de septiembre de 2016

Auditando a TheFrequency - Vulnhub (Parte II)




Buenos días a todos!

Después de un largo tiempo sin publicar entrada, y después de que varios de mis compañeros me lo pidieran, os traigo la segunda y última parte del CTF "TheFrequency". 

Como ya dije en la primera parte de Auditando a "TheFrequency" - Vulnhub (Parte I) , esta máquina es muy peculiar y divertida, ya que se basa en el arte de la esteganografía,

Retomamos el reto donde lo dejamos, ya habíamos conseguido las claves para acceder a los dos primeros niveles del reto. De aquí en adelante, no tiene mucho misterio, deberemos seguir el mismo proceso que en los niveles anteriores para ir consiguiendo las claves de los diferentes niveles.


NIVEL 3

Seguimos la misma metodología que para el nivel 2, donde utilizábamos el programa fldigi para analizar los distintos modos digitales de nuestro audio.
Cerca del minuto 30:35 , empezamos a percibir un sonido muy extraño, que resultó ser el modo: BPSK31,  por lo que configuramos de nuevo la herramienta y ejecutamos.

Al igual que en anteriores niveles, es muy importante que la franja roja que observamos en la siguiente imagen (justo entre el 500 y 1000), se sitúe justo en esa posición, para este audio en concreto.


Tras analizar todo el mensaje, hemos conseguido:
NIVEL 3: THE PASSWORD FOR LEVEL THREE IS Ph4z3Sh1ftK3y3d

Ya tenemos la tercera password, así que realizaremos el mismo procedimiento, nos conectaremos por SFTP, consiguiendo un nuevo fichero frequency.txt. Al abrirlo, contiene parte de la clave privada, no toda, por tanto pasamos al siguiente nivel.



Como habéis podido comprobar, el proceso es el mismo para todos los niveles, así que a continuación pondré una captura de cada uno de los niveles, junto al modo de audio utilizado y la contraseña obtenida, para no alargar mucho el post.


NIVEL 4
MODO UTILIZADO: MT63
NIVEL 4: THE PASSWORD FOR LEVEL FOUR IS MT63-2000



NIVEL 5
MODO UTILIZADO: RTTY
NIVEL 5: THE PASSWORD FOR LEVEL FIVE IS WATSONGRAPH1931




NIVEL 6
MODO UTILIZADO: THROB
NIVEL 6: THE PASSWORD FOR LEVEL SIX IS THROBONTHISKNOB




ACCESO A ROOT

En este punto, ya disponemos de las contraseñas de cada uno de los niveles, por lo que habremos obtenido un fichero "frecuency.txt" en cada nivel, con un fragmento de la clave privada.


Unimos los ficheros en uno solo, unificando así todos los fragmentos de la clave privada y le damos permisos de lectura y ejecución para podernos conectar por el protocolo ssh y con el usuario root.


Este es el resultado de la clave privada:


Intentamos conectarnos, y ...BINGO!!!!! ACCESO A ROOT CONSEGUIDO!!!
Una vez dentro, encontramos un fichero llamado flag.txt, que contiene un enlace a un video de youtbe. El video no es nada más y nada menos que Notorious Big feat Frank Sinatra.





Y con esto, damos por finalizada la auditoría a la máquina TheFrequency.
Os invito a todos a que realicéis este CTF ya que es muy divertido y no se parece en nada a ninguno de los retos que hemos visto anteriormente en este blog.

Espero que os haya gustado y hasta la próxima!



miércoles, 25 de mayo de 2016

Auditando a TheFrequency - Vulnhub (Parte I)


Autor: Diego Jurado Pallarés


Buenas a todos hackers!! 

En el día de hoy, os traigo una demostración bastante detallada de como auditar la máquina "TheFrequency".  
Esta máquina podemos encontrarla VulnHub, una página web muy útil donde podremos encontrar todo tipo de máquinas con las que podremos practicar auditorias de seguridad informática.

Lo primero de todo, os invito a que os descarguéis la máquina desde su página oficial, o directamente en estos enlaces: 


El objetivo y características en TheFrequency es: 
  • Conseguir acceso como root al sistema.
  • Servicio DHCP habilitado
  • Sistema Operativo BSD


Antes de empezar, sería interesante que intentaseis auditar esta máquina por vuestra cuenta, ya que es bastante peculiar y divertida.  Si no lo conseguís por vuestra cuenta, entonces podéis ayudaros leyendo este tutorial.


COMENZAMOS...ALERTA SPOILER!! 

Lo primero que haremos será desplegar TheFrequency en una máquina virtual, de forma que podamos auditarla desde otra máquina. 

El primer paso será comprobar la IP (usando netdiscover) que se le ha asignado a TheFrequency, y realizar un escaneo de puertos y vulnerabilidades, siguiendo con el proceso típico en una auditoria de sistemas. 
En mi caso he utilizado nmap y nessus respectivamente, obteniendo los siguientes resultados: 

 NetDiscover: 



Escaneo con NMap: 



Resumen de escaneo con Nessus:



A continuación haremos un repaso por las vulnerabilidades encontradas. Tras investigar observamos que no hay ninguna vulnerabilidad de las mencionadas anteriormente que podamos explotar, por lo tanto pasamos a la explotación manual.

Intentamos atacar el servicio SSH mediante ataque por fuerza bruta (usando Medusa o Hydra), con el usuario “root” y con la wordlist “rockyou.txt”.

Tras más de 5 horas probando, paramos la ejecución…no se ha encontrado respuesta, no podía ser tan fácil.

Intentamos ahora explotar el servicio HTTP de alguna forma. Al entrar mediante navegador, observamos lo siguiente:


Encontramos un audio, llamado frequency.mp3 , por el nombre, parece que sin duda será clave para la realización de la auditoria.

Tras abrir el audio, no observamos nada, ninguna pista. Tras volver a escuchar, nos llama la atención un sonido que aparece aproximadamente en el minuto 1 del audio, un sonido que parece morse.

Es en este momento cuando nos damos cuenta que debemos descifrar el código morse, para ver qué tipo de información nos proporciona, pero… ¿Cómo lo hacemos?

Recurrimos a la Esteganografía (aplicación de técnicas que permiten la ocultación de mensajes u objetos dentro de otros, lo cual hace que la comunicación pase inadvertida.)


NIVEL 1


En este paso nos daremos cuenta, que esta máquina sigue el formato CTF - "Capture The Flag", y más adelante veremos la razón.


Para analizar el código morse deberemos analizar el espectro del audio. Para ello, tenemos varias posibilidades, infinitas herramientas.
En mi caso, he utilizado wavepad para analizarlo en Windows.
Al abrir el programa, observamos en el espectrograma los pulsos del código morse representados con puntos y barras.



Aumentamos el tamaño de la ventana para mejorar la visualización, y con ayuda del código internacional de morse, comenzamos a traducir el mensaje cifrado, solo pondré un par de imágenes de ejemplo ya que sino que daría muy extenso:





Tras analizar todo el mensaje, hemos conseguido:
NIVEL1 : THE PASSWORD FOR LEVEL ONE IS THEFREQUENCY2015.

Este es el punto exacto en el que me dí cuenta de que estábamos ante un CTF y parece que ya hemos conseguido la contraseña del primer nivel.

Nos conectaremos al primer nivel mediante SSH, tras un mensaje que nos muestra que solo el protocolo SFTP es accesible, nos conectamos:



Ya estamos dentro, y observamos que dentro tan solo hay un fichero: frequency.txt que contiene lo que parece el inicio de una clave privada.






NIVEL 2

Ya hemos obtenido lo que parece el inicio de una clave privada, por lo que seguiremos analizando el audio en busca de más pistas. 

Cerca del minuto 17, nos encontramos con un nuevo fragmento de audio, esta vez no se trata de morse, sino de modos digitales como los que utilizan los radio-aficionados.

Utilizaremos la herramienta audacity para identificar estos cambios en el audio, sin necesidad de tener que escuchar todo, ya que tiene más de una hora de duración. Como podemos ver, con este programa, podemos observar franjas rojas en el espectrograma que nos indican variaciones en el audio.



Para este proceso, encontramos una web donde podremos encontrar a una pista de lo que podría ser el modo digital utilizado, con los distintos tipos existentes y sus sonidos, que son bastante útiles para relacionarlo con el audio del nivel 2.


A continuación nos descargamos otra herramienta llamada fldigi que nos permite analizar los modos digitales, y tras mucha prueba error(probando casi todos los modos), conseguimos traducir el fragmento de audio. El modo digital usado es Hellschreiber.

Para su correcto funcionamiento, será imprescindible colocar la franja roja que aparece en la parte inferior de la siguiente imagen, en la misma posición (entre medias del número 1000), ya que en caso contrario, no conseguiremos descifrar el audio correctamente. 


Tras analizar todo el mensaje, hemos conseguido:
NIVEL 2: THE PASSWORD FOR LEVEL TWO IS RUDOLFHELL1920

Ya tenemos la segunda password, así que realizaremos el mismo procedimiento, nos conectaremos por SFTP, consiguiendo un nuevo fichero frequency.txt. Al abrirlo, contiene parte de la clave privada, no toda, por tanto pasamos al siguiente nivel.




Y con esto acaba la entrada de hoy. En la próxima parte, seguiremos accediendo en cada uno de los niveles restantes, y conseguiremos el deseado acceso a root.

Espero que os haya gustado!! 

Google Analytics