brute_file_carving: recuperación de imágenes corruptas

Saludos,

El tema de éste post inició con un interrogante.

Si tengo una cantidad de información en crudo como una imagen de un disco corrupta, o un archivo de word corrupto, o cualquier otro tipo de raw data (información en crudo) del cual puedo leer su código hexadecimal en crudo y del cual necesito sabe que tipo de archivos, información contiene ¿como recupero la información legible?
 

Algunos preconceptos a tener en cuenta: 

Código hexadecimal

Como editar código hexadecimal


Headers y footers de tipos de archivos




Pues si el propósito es hacer el análisis manual de la información se me ocurrió hacer una prueba de concepto primero buscando en la lectura hexadecimal de la raw data (información en crudo) un header de una imagen jpg y buscar su correspondiente footer, en el caso de no encontrarse o de haber sido eliminado dicho footer no sabría donde termina la imágen.

Entonces empecé a hacer una prueba haciendo un script en python que leyera el código hexadecimal en crudo del archivo y fuera agregando el footer jpg luego de cada byte para hacer la prueba, al hacer ésto deberían generarse una serie de imágenes de las cuales luego verificaría de cuales de esas imágenes se generaría una vista previa en el explorador de archivos y proseguiría a observar como se ve dichas imágenes generadas.

Luego de terminar el script leí un poco sobre el concepto y encontré que dicha técnica se llamaba file carving por lo cual llamé al script brute file carving pero de hecho antes de hacer el script no había leído sobre la técnica y como se hacía.

El propósito era entonces simplemente recuperar una imágen pero me encontré con algo interesante, 
luego de ver las imágenes que se generaban, pude apreciar visualmente como es que se genera una imágen byte a byte, como se van creando los pixeles, como se siguen algunos patrones dependiendo de la imágen y el tamaño de las mismas , ésto es lo que les comparto hoy, el script que hice y el video de como funciona. La idea es hacer luego un video más extenso explícando cada parte del código del script.

Video de la prueba de concepto:





Link del repositorio de código: https://github.com/kr1shn4murt1/brute_File_Carving


Código fuente del script: brute_file_carving.py
Link de la imágen de prueba: Test_Image.jpg

Comentarios

Entradas más populares de este blog

Obtener el ID y password de teamviewer de una maquina en la LAN

Activar mensajero en Windows 7 y 2008

La forma mas sencilla de escalar privilegios en windows - easiest privilege escalation on windows