lunes, 7 de mayo de 2018

Detectando posibles archivos ocultos en canciones

Cualquiera nos podríamos ver afectados un día por el problema de abrir un archivo al cual se le ha bindeado otro con la intención de entrar a nuestro sistema con una sesión meterpreter. Por el tema de cómo vencer al antivirus, por eso no tendríamos que preocuparnos, ya que existen herramientas de las que he hablado por aquí como son Hércules que te hacen el trabajo. Es por esta razón que es muy importante saber si a un determinado archivo se le ha bindeado otro archivo o no. De eso trata esta entrada que es el resumen de un artículo que hemos elaborado entre mi pareja y yo.


Debo decir que no necesariamente debe ser algo malo que a una canción se le haya bindeado un archivo. Esto se puede hacer para transmitir información entre 2 o más personas y no necesariamente tiene que ser siempre un payload lo que haya bindeado. No obstante, nosotros lo hemos enfocado desde el punto de vista de la seguridad informática para acotar la superficie de actuación. Por ejemplo, en Mr. Robot se utiliza esta técnica para esconder las pruebas de la gente a la que hackea en CDs con títulos de canciones para así no levantar sospechas.



Para las pruebas, utilizamos el software gratuito DeepSound. Este software, así por encima, funciona de tal manera que añades la canción matriz, es decir, la canción a la que se le van a bindear archivos. Para las pruebas, mi pareja cantó la canción de Mägo de Oz de "Van a rodar cabezas".





Esa canción en .mp3 la pasamos a DeepSound para posteriormente añadirle una foto. Podríamos haber realizado las pruebas con un payload, pero el objeto del estudio era simplemente cómo detectar que se ha bindeado archivos a una canción-o cualquier otro archivo- teniendo el archivo original.


Yo consideré que lo más apropiado era, para la canción de "Van a rodar cabezas", bindear una foto de la Universidad de Córdoba. No es una amenaza ni nada, son simplemente pruebas, no es que lo vaya a hacer...o sí :P


Una vez que agregas los archivos secretos, solamente nos quedaría unirlos en un único archivo.



El archivo de salida será un .wav y además podemos establecer una contraseña. Esto se hace para que cuando tú quieras recuperar los archivos, tan sólo tengas que pasar el archivo de salida y escribir la contraseña.


Así pues, tenemos que el archivo de salida, al que, de ahora en adelante llamaremos "Fake", se llama Van a rodar cabezas, y el original se llama Van a rodar cabezas-Lucia. Hemos puesto nombres distintos para que a la hora de hacer las pruebas sepamos en todo momento de cuál estamos hablando.


Como se ha mencionado, si se quiere recuperar los archivos secretos, tan sólo hay que pasar el archivo Fake a DeepSound e introducir la contraseña que se ha establecido anteriormente.


Y se comprueba que, efectivamente, el achivo Fake contiene en su interior la foto del logo de la Universidad de Córdoba.

Con esto en mente, tan sólo nos queda tratar de saber si el archivo Fake tiene algún achivo secreto añadido teniendo en cuenta que ahora haremos como si fuésemos un usuario normal, con la peculiaridad de que tenemos el archivo original para poder comparar en todo momento el original con el fake.

Primera idea para comprobarlo.

La primer idea que tuvimos para probar esto era, en apariencia, sencilla. Como ella sabe de música y yo de física, optamos por utilizar el software gratuito Audacity para pasar en una pista de audio la canción original, y en otra pista, el archivo fake. Lo siguiente sería invertir una de las 2 pistas y reproducir las 2 pistas juntas.


Si fuesen exactamente iguales, lo que tendría que pasar es que durante los minutos que duren las 2 grabaciones, se tendría que producir un silencio provocado porque una pista de audio tiene como valor de su onda, por ejemplo, el valor 1 y la otra pista tiene una onda con valor -1. Al realizar el sumatorio, se anulan, ya que 1+{-1}=0.

Esta es la explicación matemática a lo que mucha gente que se dedica a la edición de audio realiza muchas veces cuando, a lo mejor, quieren eliminar el ruido de fondo de pistas de audio.

El problema que nos encontramos es que al realizar esto y reproducir las 2 pistas, efectivamente se producía un silencio total durante los minutos que duraba la grabación.

Y esto es un problema porque no son los mismos archivos, a uno se le ha añadido una foto. Esto nos decía que por ahí no debíamos seguir y también nos enseñó y demostró que cuando se unen esos 2 archivos, no se modifica el original como es lógico, pero la prueba es esta. Algo llevábamos aprendido.


La segunda idea que se nos ocurrió fue pasar el archivo de la canción a Notepad++ o a SublimeText. A mí personalmente me gusta más SublimeText, ya que notepad mostraba algunos errores. No obstante, en teoría ambos archivos tendrían que mostrar lo mismo, pero claro, el problema era otro, y es que no tenían, para empezar, el mismo formato, uno era un .mp3 y otro un .wav, estábamos comparando peras con manzanas.


Una vez teníamos los 2 archivos en .wav y pasábamos ambas pistas a SublimeText, nos mostraba claras diferencias entre los 2 archivos. No son sólo las diferencias marcadas, como se observa hay un punto en el que todos los valores de la pista original toman el valor 0000. Esta es la prueba de que no son el mismo archivo. Esta prueba si es concluyente y sí la podemos utilizar para tenerlo en cuenta.


También se podría utilizar el hash asociado a un archivo, aunque deberían llamarse los 2 archivos iguales y tener el mismo formato, algo que en la captura anterior no ocurre, aunque teniendo eso en cuenta, es otra prueba que se puede utilizar para la ecuación que elaboramos en el estudio.

Es verdad que uno de los problemas es que se requiere del archivo original para realizar las pruebas realizadas y no siempre se dispone del archivo original. No obstante, el objetivo del estudio era centrarse en cómo detectar si 2 archivos eran los mismos, no en detectar si a un archivo se le había bindeado otro, en todo momento hemos hablado de comparación de un archivo con el original.

El estudio es mucho más extenso, pero las ideas más básicas son estas, que al fin y al cabo, muchas de estas ideas son cosas que muchos sabríais aunque sí es cierto que a la hora de buscar información, encontrábamos a gente cometiendo algunos errores graves de procedimiento como comparar 2 archivos que, para empezar, no tenían la misma extensión. Nosotros hemos querido ser más rigurosos y precisos en este sentido para aportar pruebas de valor.

¿Hackeamos el Mundo?

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...

Entrada destacada

El server me sabe a poco.

Soy un fanático del Rock y de Debian . (Creo que voy a inventar Rockbian, que suena bien y todo xD) Llevaba tiempo queriendo unir estos 2 c...