Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
fatcat — Herramienta de exploración, extracción, reparación y análisis forense de sistemas de archivos FAT | Kitploit
Herramientas/GitHubGitHub/gregwar/fatcat
Forensia de DiscoAnálisis ForenseRecuperación de DatosForensia Digital
GitHubgregwar/fatcat

fatcat

Herramienta de exploración, extracción, reparación y análisis forense de sistemas de archivos FAT

Ver Repositorio
3254280hace 1 añoRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

fatcat

fatcat

Esta herramienta está diseñada para manipular sistemas de archivos FAT, con el fin de explorar, extraer, reparar, recuperar y realizar análisis forense de los mismos. Actualmente soporta FAT12, FAT16 y FAT32.

Tutoriales y ejemplos

Construcción e instalación

Puedes compilar fatcat de esta manera:

mkdir build
cd build
cmake ..
make

Y luego instalarlo:

make install

Exploración

Usando fatcat

Fatcat toma una imagen como argumento:

fatcat disk.img [options]

NOTA: según tu compilación, es posible que debas especificar las opciones antes de disk.img, es decir fatcat [options] disk.img

Puedes especificar un desplazamiento en el archivo con -O, lo que puede ser útil si hay varias particiones en un dispositivo de bloque, por ejemplo:

fatcat disk.img -O 1048576 [options]

Esto le indicará a fatcat que comience en el byte 1048576. Échale un vistazo al tutorial de particiones.

Listado

Puedes explorar la partición FAT usando la opción -l de la siguiente manera:

$ fatcat disk.img -l /
Listando ruta /
Cluster: 2
d 24/10/2013 12:06:00  some_directory/                c=4661
d 24/10/2013 12:06:02  other_directory/               c=4662
f 24/10/2013 12:06:40  picture.jpg                    c=4672 s=532480 (520K)
f 24/10/2013 12:06:06  hello.txt                      c=4671 s=13 (13B)

También puedes proporcionar una ruta como -l /some/directory.

Usando -L, puedes proporcionar un número de clúster en lugar de una ruta, lo que puede ser útil en ocasiones.

Si añades -d, también verás los archivos eliminados.

En el listado, el prefijo es f o d para indicar si la línea se refiere a un archivo o un directorio.

c= indica el número de clúster, s= indica el tamaño en bytes (que debería coincidir con el tamaño legible justo después).

La letra h al final indica que se supone que el archivo está oculto.

La letra d al final indica que el archivo fue eliminado.

Leyendo un archivo

Puedes leer un archivo usando -r, el archivo se escribirá en la salida estándar:

$ fatcat disk.img -r /hello.txt
¡Hola mundo!
$ fatcat disk.img -r /picture.jpg > save.jpg

Usando -R, puedes proporcionar un número de clúster en lugar de una ruta, pero la información del tamaño del archivo se perderá y el archivo se redondeará al número de clústeres que ocupe, a menos que proporciones la opción -s para especificar el tamaño del archivo a leer.

Puedes usar -x para extraer los directorios del sistema de archivos FAT a un directorio:

fatcat disk.img -x output/

Si quieres extraer desde un clúster específico, proporciónalo con -c.

Si proporcionas -d para extraer, los archivos eliminados también se extraerán.

Recuperación de eliminados

Navegando por archivos y directorios eliminados

Como se explicó anteriormente, los archivos eliminados se pueden encontrar en el listado proporcionando -d:

$ fatcat disk.img -l / -d
f 24/10/2013 12:13:24  delete_me.txt                  c=5764 s=16 (16B) d

Puedes explorar y localizar un archivo o un directorio eliminado interesante.

Recuperando un archivo eliminado

Para recuperar un archivo eliminado, simplemente usa -r para leerlo. Ten en cuenta que el archivo resultante se leerá de forma contigua del sistema FAT original y puede estar dañado.

Recuperando un directorio eliminado

Para recuperar un directorio eliminado, anota su número de clúster y extráelo como se indicó anteriormente:

# Si el clúster de tu directorio eliminado es 71829
fatcat disk.img -x output/ -c 71829

Ver también: tutorial de recuperación de eliminados

Recuperación

Sistema de archivos dañado

Suponiendo que tu disco tiene sectores dañados, es posible que desees realizar una recuperación.

El primer consejo es hacer una copia de tus datos usando ddrescue, y guardar tu disco en otro disco o en un archivo sano.

Cuando los sectores están dañados, sus bytes se reemplazarán con 0s en la imagen de ddrescue.

Una primera forma es intentar explorar tu imagen usando -l como se indicó y verificar con -i para descubrir si fatcat reconoce el disco como un sistema FAT.

Luego, puedes intentar echar un vistazo a -2, para comprobar si las tablas de asignación de archivos difieren, y si parecen fusionables. Es muy probable que lo sean; en ese caso, puedes intentar -m para fusionar las tablas FAT, no olvides hacer una copia de seguridad antes (ver abajo).

Archivos huérfanos

Cuando tu sistema de archivos está dañado, hay archivos y archivos perdidos y directorios perdidos que llamamos "huérfanos", porque no se puede acceder a ellos desde el sistema normal.

fatcat te proporciona una opción para encontrar esos nodos, realizará un análisis automatizado de tu sistema y explorará los sectores asignados de tu sistema de archivos; esto se hace con -o.

Obtendrás una lista de directorios y archivos, como esta:

Hay 2 elementos huérfanos:
Clústeres de directorio 4592 a 4592: 2 elementos, 49B
Clústeres de archivo 4611 a 4611: ~512B

Luego puedes usar directamente -L y -R para echar un vistazo a esos archivos y directorios:

$ fatcat disk.img -L 4592
Listando clúster 4592
Cluster: 4592
d 23/10/2013 17:45:06  ./                             c=4592
d 23/10/2013 17:45:06  ../                            c=0
f 23/10/2013 17:45:22  poor_orphan.txt                c=4601 s=49 (49B)

Ten en cuenta que los archivos huérfanos tienen un tamaño desconocido, lo que significa que si los lees, obtendrás un archivo que es múltiplo del tamaño de los clústeres.

Ver también: tutorial de archivos huérfanos

Hacking

Puedes usar fatcat para hackear tu sistema de archivos FAT

Información

La bandera -i te proporcionará mucha información sobre el sistema de archivos:

fatcat disk.img -i

Esto te dará datos de cabecera como tamaños de sectores, tamaños de FAT, etiqueta del disco, etc. También leerá la tabla FAT para estimar el uso del disco.

También puedes obtener información sobre un clúster específico usando -@:

fatcat disk.img -@ 1384

Esto te dará la dirección del clúster (desplazamiento del clúster en el sistema de archivos) y el valor del siguiente clúster en las dos tablas FAT.

Copia de seguridad y restauración de FAT

Puedes usar -b para hacer una copia de seguridad de tus tablas FAT:

fatcat disk.img -b backup.fats

Y usar -p para escribirlas de nuevo:

fatcat disk.img -p backup.fats

Escritura en las FAT

Puedes escribir en las tablas FAT con -w y -v:

fatcat disk.img -w 123 -v 124

Esto escribirá 124 como valor del siguiente clúster de 123.

También puedes elegir la tabla con -t, 0 es ambas tablas, 1 es la primera y 2 la segunda.

Diferencia y fusión de las FAT

Puedes ver la diferencia de las dos FAT usando -2:

# Viendo la diferencia
$ fatcat disk.img -2
Comparando las FAT

Las FAT son exactamente iguales

# Escribiendo 123 en el clúster 500 solo en FAT1
$ fatcat disk.img -w 500 -v 123 -t 1
Escribiendo siguiente clúster de 500 de 0 a 123
Escribiendo en FAT1

# Viendo la diferencia
$ fatcat disk.img -2
Comparando las FAT
[000001f4] 1:0000007b 2:00000000

Las FAT difieren
Parece fusionable

Puedes fusionar dos FAT usando -m. Para cada entrada diferente en la tabla, si una es cero y la otra no, se elegirá la entrada no cero:

$ fatcat disk.img -m
Comenzando la fusión...
Fusionando clúster 500
Fusión completa, 1 clúster fusionado
Descargar herramienta