jueves, 26 de abril de 2018

Abriendo archivos desde una imagen

Primero abrimos una imagen y visualizamos su contenido:
fls -f ext2 -m "/" -r imagen.dd
0|/lost+found|11|d/drwx------|0|0|12288|1254232453|1254232453|1254232453|0
0|/pos39.jpg|12|r/rrw-r--r--|0|0|37947|1254232606|1254232501|1254232501|0
0|/bbdd1|13|r/rrw-------|0|0|3145728|1254235683|1254232936|1254235733|0
0|/arch2 (deleted)|0|r/----------|0|0|0|0|0|0|0
0|/$OrphanFiles|28113|V/V---------|0|0|0|0|0|0|0
0|/$OrphanFiles/OrphanFile-14 (deleted)|14|-/rrw-r--r--|0|0|57|1254233933|1254233909|1254233942|0

Podemos visualizar que tenemos una imagen en inodo 12, para ver su contenido utilizamos el siguiente comando:
#istat -f ext2  imagen.dd 12 
inode: 12
Allocated
Group: 0
Generation Id: 2783857707
uid / gid: 0 / 0
mode: rrw-r--r--
size: 37947
num of links: 1

Inode Times:
Accessed:    2009-09-29 08:56:46 (PET)
File Modified: 2009-09-29 08:55:01 (PET)
Inode Modified: 2009-09-29 08:55:01 (PET)

Direct Blocks:
1025 1026 1027 1028 1029 1030 1031 1032
1033 1034 1035 1036 1038 1039 1040 1041
1042 1043 1044 1045 1046 1047 1048 1049
1050 1051 1052 1053 1054 1055 1056 1057
1058 1059 1060 1061 1062 1063

Indirect Blocks:
1037

El inodo 12 nos indica que tiene bloques directos e indirectos. Ahora como sabes que es una imagen por que podemos consultar la cabecera del primer bloque.
para ello utilizamos el comando:

#blkcat -f ext2 imagen.dd 1025 |  hexdump -C
00000000  ff d8 ff e0 00 10 4a 46  49 46 00 01 01 00 00 01  |......JFIF......|
00000010  00 01 00 00 ff db 00 43  00 05 03 04 10 10 0f 10  |.......C........|

Los primeros cuatro números hexadecimal nos indica que tipo de archivo es:
ff d8 ff e0  pertenece a una imagen, esto se puede consultar en la siguiente tabla.
https://www.welivesecurity.com/la-es/2015/10/01/extension-de-un-archivo-cabeceras/


Ahora que sabemos que es una imagen podemos extraer todos los bloques al llamar directamente al inodo.
 icat -f ext2  imagen.dd 12 > imagen.jpg


Para poder extraer el nombre del archivo podemos utilizar el siguiente comando:
# ffind -f ext2 imagen.dd 12
/pos39.jpg






No hay comentarios:

Publicar un comentario