Hack x Crack - Comunidad de Seguridad informática

Seguridad Informatica => Wargames => Retos no oficiales => Mensaje iniciado por: noopynoob en Octubre 06, 2013, 07:33:57 pm

Título: Wargame's - retos de esteganografia resueltos
Publicado por: noopynoob en Octubre 06, 2013, 07:33:57 pm
Buenas comunidad! aquí les regalo la solución de los 3 retos de esteganografía debido a la insistencia por la solución y el tiempo considerable del tiempo de vida de los wargames mas un tutorial que decidí hacer para la comunidad.

Antes que nada hice un pequeño tutorial de este tema de la esteganografia, no voy a profundizar mucho porque de eso no trata el tema pero voy a explicar unos conceptos básicos y las utilidades que puede llegar a tener.

(https://lh4.googleusercontent.com/-ZQVQmX_7apM/UCR2yRwKnJI/AAAAAAAAAOM/nVUrchPOBRU/s300/00_Ocultar-archivos-PC.jpg)

Actualmente la esteganografía esta demasiado relacionada con el área de la informática, esto es debido a que por medio del Internet podemos transportar información a cualquier punto geográfico y a grandes velocidades, lo cual en la antigüedad era un serio problema. Debido a la multitud de lenguajes que es capaz de interpretar un ordenador, la criptografía se relaciona de una manera colosal con la esteganografía, de esta manera primero se hace ilegible un mensaje, y por ultimo lo escondes. Claro todos esos lenguajes están relacionados con la informática (binario, octal, base 64...Etc.).

Es decir lo mas importante es aprender lo básico del sistema binario, hexadecimal, decimal, etc. y sus conversiones, en este tema no los voy a explicar porque como ya dije voy a centrarme en lo que es, pero tu puedes investigar por tu cuenta en internet hay mucha información.

http://es.wikipedia.org/wiki/Sistema_binario (http://es.wikipedia.org/wiki/Sistema_binario)
http://es.wikipedia.org/wiki/Sistema_hexadecimal (http://es.wikipedia.org/wiki/Sistema_hexadecimal)
http://es.wikipedia.org/wiki/ASCII (http://es.wikipedia.org/wiki/ASCII)

La esteganografía digital actual se basa en esconder bits, cabe mencionar que no es la única, pero el trabajar en niveles tan pequeños siempre nos dará un mejor resultado. Cuando hablamos de bits hablamos de pequeños bancos de información, nos referimos a puros número que tienden a tener un valor significativo. Dada la cantidad de números que tienen los demás lenguajes, la esteganografía a nivel bits la
manejaremos en el lenguaje más sencillo y cómodo, nos referimos al lenguaje binario
.

Existen técnicas de ocultar información en imágenes por medio de modificación de bits, o simplemente cifrar mensajes en binario, también marcas de agua en fin; una cantidad indefinida de técnicas. Las maneras en que ocultaremos información en este hilo son las principales y de ellas se derivan muchas, cabe mencionar que hay que aprender a crear métodos nuevos y efectivos. Pero antes de empezar a manipular estas técnicas debemos aprender todo lo relacionado con historia, formatos etc.

mas info:

http://es.wikipedia.org/wiki/Esteganograf%C3%ADa (http://es.wikipedia.org/wiki/Esteganograf%C3%ADa)

¿Como puedo ocultar mi información?

Es bastante sencillo aquí les mencionare algunas técnicas, aunque la esteganografia se basa mas en la creatividad mas que nada.

Ocultar documentos *.rar en archivos *.JPG.

Digamos que tenemos 2 archivos, 1 documento *.rar y un archivo *.jpg y queremos ocultar el rar dentro de una *.jpg para hacerlo pasar desapercibido. Lo primero que tendremos que tener en cuenta ser la “jerarquía” con la que ejecutaremos el comando.
Habrán el CMD (inicio/ejecutar/cmd).
Ahora tendrán que escribir:

Copy /B c:\mifoto.jpg + c:\elrar.rar c:\fotorar.jpg

Copy: Es copiar.
/b: Nos indica que copiaremos el archivo como binario.
c:\mifoto.jpg Hace referencia al nombre del archivo y la ruta donde lo tengo
guardado,
c:\elrar.rar Hace referencia al nombre del archivo *.rar y la ruta donde lo tengo
guardado.
Lo que hicimos con este comando, es básicamente ocultar un *.rar dentro de la
imagen, así podrás abrir la imagen y hacer que no quede evidencia del .*rar, pero si cambiáramos la extensión de nuestro *.jpg a *.rar obtendremos el documento *.rar y podremos extraer de el todo lo que contiene.

(https://lh6.googleusercontent.com/-SgNLAtykAFA/UCRPUmCHtlI/AAAAAAAAAKc/mWkQVxI4yxg/s640/09_usando_copyb.jpg)

¿Pero este método solo funciona en sistema windows?

ni mas faltaba, por supuesto que no, en sistema linux es lo mismo solo que es con el siguiente comando:


cat "archivo.zip" >> "foto.gif"

(http://imageshack.us/scaled/landing/62/0hhe.png)

Eso es básicamente lo que hice en el primer reto, es un método efectivo pero fácilmente detectable mas adelante explico porque.

Método (LSB).

según wikipedia, El método LSB (Least Significant BIT Insertion) - (Inserción en el BIT menos significativo), como bien lo dice su nombre, es un método que consiste en insertar información en el BIT con menos valor, esto para que la modificación que se haga en la imagen no sea demasiado notoria. Esta técnica puede ser usada para video y audio, pero es más recomendable en imágenes, pues estas por su alta definición en dimensiones y calidad, será casi imposible que algún cambio se pueda detectar. Para entender mejor esto pondré como se modificaría un código binario para insertar alguna letra.

(1 1 0 1 1 0 1 0) (0 1 0 0 1 0 0 1) (0 1 0 0 0 0 1 1)
(0 0 0 1 1 1 1 0) (0 1 0 1 1 0 1 1) (1 1 0 1 1 1 1 1)
(0 0 0 0 1 1 1 0) (0 1 0 0 0 1 1 1) (0 0 0 0 0 1 1 1)

El mensaje a cifrar es ‘A’ cuya representación ASCII es (1 0 0 1 0 1 1 1), entonces los nuevos píxeles alterados serían:

(1 1 0 1 1 0 1 1) (0 1 0 0 1 0 0 0) (0 1 0 0 0 0 1 0)
(0 0 0 1 1 1 1 1) (0 1 0 1 1 0 1 0) (1 1 0 1 1 1 1 1)
(0 0 0 0 1 1 1 1) (0 1 0 0 0 1 1 1) (0 0 0 0 0 1 1 1)

Observar que se ha sustituido el bit del mensaje (letra A, marcados en negritas) en cada uno de los bits menos significativos de color de los 3 píxeles. Fueron necesarios 8 bytes para el cambio, uno por cada bit de la letra A, el noveno byte de color no se utilizó, pero es parte del tercer pixel (su tercera componente de color). Esto es bastante efectivo y difícil de detectar aunque decidí no incluirla en los retos por su complejidad, aunque sabiendo esto lo puedo hacer para un próximo reto.

Conclusión:


Como pudieron notar la esteganografia se basa en la creatividad, los retos que hice fueron solo ideas y tengo muchas mas, esto es algo que se ha practicado desde el inicio de la historia hasta hoy, aun falta mucha información que no decidí incluir y puede que se desvié de su propósito original, mas lo veo como un arte y muchas otras cosas, bueno ya depende de la imaginación e ingenio de cada uno, ahora vamos a ver la solución de los retos, aunque creo que con esto ya les di las respuesta a todos los 3 jaja, vamos a ver..

[Wargame] Reto de Esteganografía[Facil] (http://foro.hackxcrack.net/forum/retos-no-oficiales/(wargame)-reto-de-esteganografia/)

Este fue el reto mas fácil y exitoso lo resolvieron 6 usuarios:

prow
Thaine Arys
<[Zoro]248>
Bladeyer
yehuju
sensei

Decidí hacer dos porque el fichero no lo ejecutaba linux (eso no significa que se pueda hacer uno para ambos).

Solución

Lo primero era cambiar la extension a .rar, deben considerar que siempre deben intentar cambiarle la extensión de una imagen a .rar es lo mas usual, es una practica bastante utilizada y efectiva,  Esto es debido que todo tipo de archivo, en su cabecera, entre otros, contiene ciertos bytes fijos (en cantidad y ubicación) usados exclusivamente para indicar el tamaño del archivo. La aplicación que utilice un archivo, de cualquier tipo, siempre lee su cabecera primero, adquiere ese valor como su tamaño (en cantidad de bytes) y seguidamente lee el resto del archivo hasta el final indicado por dicho valor. De modo que si se coloca algo (mensaje) más allá del valor de ese parámetro, no será leído por la aplicación normal, por tanto no detectado, y el archivo portador funcionará normalmente.  tiene la gran desventaja que provoca crecimiento del portador, tanto como el tamaño de su mensaje, siendo por tanto una estrategia fácilmente detectable. Un sencillo programa de estegoanálisis lo detecta por la sola lectura de su cabecera y la comprobación del tamaño real de archivo portador; incluso cualquier usuario desconfiado puede muchas veces sospechar del portador por su tamaño ocupado en disco en relación a su contenido.

Es decir si la imagen tiene su propio tamaño reservado, ejecuta hasta dicho tamaño, el resto sera ignorado podemos comprobarlo si abrimos la imagen con un editor hexadecimal y si buscamos al final veremos algo sospechoso...

bueno como les decía le cambiamos la extensión a la imagen avqx.jpg por avqx.rar, si no te muestra la extensión puedes configurar que te la muestre del panel de control esto es básico, quedando de este modo:


(http://imageshack.us/scaled/landing/594/wcu9.png)

abrimos ese fichero y te muestra que contiene otro archivo si lo extraemos tendremos esto:

(http://imageshack.us/scaled/landing/802/ysuq.png)

si abrimos ese archivo, tendremos esto:

(http://imageshack.us/scaled/landing/844/41d8.png)

como nos dice aun nos falta encontrar la verdadera información, pero es un .bat y esa extensión es la mas fácil de ver su código fuente, solo cambiando su extensión a .txt o abriéndolo con cualquier editor de texto como el notepad

(http://imageshack.us/scaled/landing/96/y7g1.png)
(http://imageshack.us/scaled/landing/594/ysbg.png)

nos muestra un link lo mas lógico seria ir a esa dirección con el navegador

(http://imageshack.us/scaled/landing/716/11il.png)

miramos su codigo fuente...

(http://imageshack.us/scaled/landing/823/1sky.png)

entramos a esa pagina y veremos la misma con unos botones tipo frame, elegimos el otro y listo:

(http://imageshack.us/scaled/landing/845/f5rg.png)

como pueden ver es un reto muy sencillo que con un poco de creatividad y lógica puedes llegar a la solución, para linux es lo mismo solo que el en vez del .bat es un .sh ya que tenia unos problemas con la compatibilidad de esos dos.


[Wargame] Reto de Esteganografía 2 [medio] (http://foro.hackxcrack.net/forum/retos-no-oficiales/(wargame)-reto-de-esteganografia-2/)

Este es un reto medio, fue resuelto por dos usuarios:

prow
Bladeyer

Este reto es diferente del anterior, solo necesitas un editor hexadecimal y buscar el mensaje, bastante simple no? la ventaja es que no altera el tamaño y es difícil de detectar, este es el método moderno más común y popular usado para esteganografía, también es uno de los llamados métodos de sustitución. Consiste en hacer uso del bit menos significativo de los pixels de una imagen y alterarlo. La misma técnica puede aplicarse a vídeo y audio, aunque no es lo más común. Hecho así, la distorsión de la imagen en general se mantiene al mínimo (la perceptibilidad es prácticamente nula), mientras que el mensaje es esparcido a lo largo de sus píxeles. Esta técnica funciona mejor cuando el archivo de imagen es grande, posee fuertes variaciones de color ("imagen ruidosa") y también aventaja cuanto mayor sea la profundidad de color.

primero con un editor hexadecimal de 16 columnas abrimos la imagen yo usare HxD pero hay muchos otros

(http://imageshack.us/scaled/landing/27/xmq9.png)

abrimos la imagen con el HxD para ver su contenido

(http://imageshack.us/scaled/landing/29/uork.png)

(http://imageshack.us/scaled/landing/694/1e2x.png)

Pueden ver que aplique el método LSB ya que coloque el mensaje al final de cada fila del offset, con la diferencia que no fue transformado a binario, ya que fuera muy dificíl de encontrar.

[Wargame] Reto de Esteganografía 3 [medio] (http://foro.hackxcrack.net/forum/retos-no-oficiales/(wargame-on)-reto-de-esteganografia-3-(medio)-20960/)

Este reto fue bastante fácil, ya que con un poco de observación y lógica podías llegar a la respuesta, fue resuelto por tres personas

Bladeyer
Aneraka
Kyr4-bl4ck

Cuando descargábamos el fichero vimos que esta dañado (un posible interceptor lo puede ignorar) pero en realidad hay que saber sacar dicha información, si vemos su estructura con el editor hexadecimal veremos esto:

(http://imageshack.us/scaled/landing/849/uzkz.png)

como podemos ver no hay cabecera... pues facil abrimos otra imagen .png cualquiera y tenemos esto:

(http://imageshack.us/scaled/landing/27/7ldq.png)

ahora lo lógico seria reemplazar la cabecera editada por la cabecera original de .png para arreglar el archivo y acceder a el, lo guardamos y vemos como ya lo resolvimos:

(http://imageshack.us/scaled/landing/822/moju.png)

Bueno, eso es todo, espero que les haya gustado, aun falta mucha información pero el post no pretende a estudiar todo sobre esteganografia, el post es de autoria propia aunque siempre hay una fuente por el conocimiento adquirido, pues bien, la mayor parte de la información es de wikipedia, y tutoriales de infiernohacker y taringa, pues a continuación esta la fuente de la mayor parte de la información aquí expuesta:

http://es.wikipedia.org/wiki/Esteganograf%C3%ADa (http://es.wikipedia.org/wiki/Esteganograf%C3%ADa)
http://www.taringa.net/posts/info/15371860/Como-ocultar-archivos-adentro-de-imagenes-audio-o-videos.html (http://www.taringa.net/posts/info/15371860/Como-ocultar-archivos-adentro-de-imagenes-audio-o-videos.html)

Aquí un manual que les recomiendo ampliamente, pertenece a infiernohacker.com :

http://foro.infiernohacker.com/index.php?topic=12215.0 (http://foro.infiernohacker.com/index.php?topic=12215.0)

Saludos y esperen los próximos retos mas complejos y diferentes
Título: Re:Wargame's, retos de esteganografia resueltos
Publicado por: MalaSuerte531 en Octubre 06, 2013, 07:57:34 pm
Esta muy bien sige así haciendo retos y luego explicandolos
Título: Re:Wargame's - retos de esteganografia resueltos
Publicado por: 20TooNs en Octubre 16, 2013, 12:58:54 pm
Hola máquina;

Me has despertado la curiosidad sobre este tema, lo único que toqué en clase es un programa que se llama camouflage o algo parecido.

Me pongo a hacer los retos que sin tus soluciones no los resolvería jamás.

Gracias y continua enseñando a ver si algún día soy capaz de resolver alguno antes de que coloques la solución.

Un saludo


Edito: Ya he hecho los tres siguiendo tus pasos, muy interesantes me han gustado todos.