Saludos hackers y sean bienvenidos nuevamente a una clase de HDC. Como se ha mostrado en las clases anteriores, es posible ocultar información en imágenes y en otros medios. Ahora es turno de aprender a ocultar información en sonidos. Hay muchas formas de ocultar información en ficheros de audios y aunque la mayoría incluye conocimientos matemáticos tratare de hacer esta clase lo más tranquilo y light. “¡Que bueno que no me gustan las matemáticas! ¿veremos algo como esto?” ¡Hola Manolo! Ese es un tipo de Esteganografía en sonido muy conocido que usaron en un capítulo de los Simpson, si lees de derecha a izquierda tiene un mensaje oculto -en este caso- dice “Únete a la marina”. Es muy chistoso ese capítulo, pero en esta clase no veremos de ese tipo. ¡Aparte tú cantas muy mal Manolo! “¡No es cierto! Entonces…. ¿se puede ocultar a la vista?” Evidentemente cuanto más usual sea el formato que se está intercambiando, más difícil va a resultar su detección, y por lo tanto más fácil será la comunicación oculta. En general, existen 3 grandes líneas de creación de algoritmos esteganográficos: 1. 2. 3. ocultar. La cubierta existe y la ocultación de información no la modifica. La cubierta existe y la ocultación produce alteraciones. La generación automática de la cubierta incluye la información a Podemos incluir mensajes en ficheros de audio en los que, al igual que en el caso de las imágenes, se puede insertar la información que se quiere ocultar en los valores reales de las muestras de audio o en los coeficientes de alguna de las transformadas matemáticas que se pueden aplicar. Ocultación de mensaje en ficheros de audio La forma más sencilla, aunque también la más débil, consiste en insertar los valores del mensaje codificado a formato binario exactamente igual que se veía en el caso de las imágenes, es decir, que se inserta en las muestras reales del fichero de audio. Lo que hace que modificar un valor un poco sea prácticamente indetectable. Pero necesitaremos muchas muestras para poder incrustar los bits necesarios, tantos como tenga el mensaje a insertar. Por lo tanto, si necesitamos 8 bits por cada letra y tenemos un mensaje de 60 letras, necesitaremos modificar más de 400 muestras, que, si se hace de manera consecutiva, seguro que se va a notar en la calidad del audio reproducido. Formato WAV Los reproductores de audio reproducen el formato WAV directamente, por lo que parece razonable intentar esconder información en este formato tan extendido, ya que un contenido con información oculta pasaría inadvertido entre una gran cantidad de ficheros de audio que pueden circular actualmente por las redes. Formato MP3 Normalmente los ficheros de audio están comprimidos para ocupar menos espacio y, en el caso de transmitirlo por la red, menos ancho de banda. El formato de compresión MP3 (MPEG Audio Layer 3 ) se ha convertido en el estándar de facto para este tipo de fichero. Por lo que es común encontrarnos con estos ficheros. El formato MP3 usa un modelo psicoacústico del oído humano y concretamente en las frecuencias que son perceptibles por el oído humano. De poco sirve guardar los armónicos muy altos de los instrumentos que no se pueden oír. Por eso, el formato MP3 elimina todas aquellas frecuencias que no van a afectar a la calidad del sonido por ser completamente imperceptibles. Además, si existen dos sonidos al mismo tiempo el oído humano escucha únicamente el más alto, por lo que el sonido con el volumen bajo, si hay otro con más volumen al mismo tiempo, no será escuchado. Estas técnicas permiten reducir drásticamente el número de datos a guardar en el archivo del formato MP3. Además el fichero resultante se comprime codificado mediante un determinado bit rate que determinará la calidad final del audio. El bit rate es lo que determina cuánto va a ocupar un segundo de audio. Lo más usual es utilizar un bit rate de 128 Kb por segundo. Para obtener todos estos procesos se aplica la Transformada de Fourier, en la cual no profundizaré. Con esto se podrá obtener el espectro y eliminar todas las frecuencias que no son para el oído humano. ¡Vamos a la práctica! La herramienta que usaremos se llama MP3Stego el cual podrán encontrar en la siguiente dirección: http://www.petitcolas.net/fabien/software/MP3Stego_1_1_18.zip Realizado por Fabie PEtitocolas, oculta la información dentro del fichero en formato MP3 en el mismo momento generado. Es decir, que esta herramienta convierte un fichero WAV a MP3 y a la vez oculta el mensaje oculto. El proceso de ocultación es algo complejo, ya que no se basa en la modificación de los valores resultantes, sino la modificación de como se calculan los valores del fichero resultante MP3, en el proceso llamado inner_loop de la codificación del fichero de audio. El proceso inner_loop cuantifica los datos de entrada y va incrementando el paso de cuantización hasta que los datos cuantificados se pueden codificar con la cantidad disponibles de bits. Otro proceso verifica que esta distorsión introducida por la cuantización de los valores no sobrepasa un cierto umbral que el modelo psico-acustico del oído humano detectaría. La ocultación de los valores se obtiene mediante la selección pseudo-aleatorio de los valores de la paridad de los bits que conforman el código de Huffman (que quizás veremos más adelante) los valores cuantificados anteriormente. El proceso de ocultación es complejo, pero eso no asegura que la ocultación de los datos sea segura, ya que al modificar valores de las paridades de los códigos correctos cualquier modificación alterara el contenido. Por lo tanto, tal y como argumenta el propio creador, si se decodifica a WAV y se vuelve a comprimir a MP3, se perderá por completo todo el mensaje oculto. Una vez descomprimido se debería de ver como en la imagen. Después deberás abrir una terminal e ir a la ruta donde esta tu ejecutable encode.exe. Por último elige tu sonido donde vas a querer ocultar la información, verifica que se escuche bien para que más adelante verifiques que no se daña el sonido ni la calidad. Para ocultar la información se necesita el siguiente comando: encode -E secreto.txt -P 123 cancion.wav cancion_salida.mp3 Descripción: ● encode → Llamamos al ejecutable. ● -E → Es el parámetro que especifica que es lo que ocultara. ● secreto.txt → Es mi mensaje secreto ● -P → Este parámetro especifica una contraseña (cabe resaltar que es opcional, no es necesario) ● cancion.wav → Es la sonido original donde ocultaremos el mensaje. ● cancion_salida.mp3 → Es la salida del programa, la canción con extensión .mp3 que tiene nuestro mensaje oculto. Podemos observar en la carpeta que se creó con el nombre que le pusimos. En mi caso se llama cancion_salida y se escucha correctamente. También podéis observar el tamaño del sonido original y el sonido nuevo que tiene el mensaje oculto. Su tamaño se ha comprimido bastante bien, mi mensaje oculto debe pesar menos de 1kb, esto ayuda a que sea un tamaño que puede pasar desapercibido. Extraer mensaje oculto Primero que todo recordar estar ubicado donde se encuentra el ejecutable decode.exe. Para extraer el mensaje oculto se necesita el siguiente comando: decode -X -P 123 cancion_salida.mp3 Descripción: ● decode → Llamamos el ejecutable ● -X → Parámetro que especifica que vamos a extraer. ● -P → Si pusimos contraseña, necesitamos específicarla para extraer el mensaje correctamente. ● cancion_salida.mp3 → Luego ponemos el nombre del sonido que tiene nuestro mensaje oculto. Como no especificamos al final que lo guardara en otra ruta, entonces se encontrara donde se encuentra nuestro ejecutable, el cual deberá observar un .txt con el nombre de la canción o sonido que tenía el mensaje oculto. Lo podrás abrir sin ningun problema y observar que ese mensaje está oculto en la canción. Hasta aquí con esta clase, diviertete con los conocimientos adquiridos y recuerda: ¡Happy Hacking! ------------------------------------------- Pueden seguirme en Twitter: @RoaddHDC La página de Facebook: www.facebook.com/roaddhdc Contactarse por cualquier duda a: [email protected] Para donaciones, pueden hacerlo en bitcoin en la dirección siguiente: 1HqpPJbbWJ9H2hAZTmpXnVuoLKkP7RFSvw También recomiendo que se unan al foro: underc0de.org/foro ------------------------------------------- Este tutorial puede ser copiado y/o compartido en cualquier medio siempre aclarando que es de mi autoría y de mis propios conocimientos. ------------------------------------------- T-Bon3.