Subido por ZARSI ZARSI

Clase 095 - Esteganografia - Sonido

Anuncio
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.mp​3 → 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​.
Descargar