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
Publicar un comentario