auditorEs una herramienta forense para
la auditoría rápida de integridad que utiliza
funciones hash criptográficas
.
Es similar a otras herramientas populares (fsum, hashdeep, sha256sum, etc.), pero con características que hacen que la auditoría de datos digitales sea más simple y rápida .
auditorTiene soporte para varios
algoritmos hash. El valor predeterminado es
sha256, que es el recomendado por NIST
desde 2015 (consulte
la Política de NIST sobre funciones hash
).
Por defecto,
thash
method
Está habilitado, pero este modo se puede deshabilitar.
El proceso de auditoría utilizado
auditorse basa en el concepto de
cadena de integridad , proporcionada por archivos de auditoría
que almacenan información de integridad.
Los términos involucrados en este proceso son: Audit_FullList: El archivo de auditoría contiene información de integridad de cada
archivo de datos original procesado.
Stamp: La información de integridad
actual del Audit_FullListarchivo.
StampSe recalcula y se muestra siempre al
realizar las acciones correspondientes.
Audit_Stamp: El archivo de
auditoría almacena la Stampfecha
Audit_FullListy hora de creación.
La cadena de integridad se produce en el siguiente orden (comportamiento predeterminado):
Los archivos de datos internos
input_pathse procesan y generan
información de integridad (hash, tamaño, ruta de archivo relativa, etc.)
que se almacena en Audit_FullList.
Audit_FullListTambién se procesa,
generando Stamp, que se imprime en la
terminal y se almacena en Audit_Stamp.
La comprobación de la cadena de integridad se realiza en
orden inverso al proceso anterior, reprocesando los archivos y
verificando su integridad con respecto a los archivos de auditoría.
StampTambién se recalcula, se imprime en
la terminal y se compara con el valor almacenado
Audit_Stamppara verificar si coincide.
Para proceder con la generación de los archivos de auditoría y garantizar que la verificación futura de la cadena de integridad se lleve a cabo de forma correcta y segura, siga los pasos que se indican a continuación:
input_path»). Con Auditor
instalado, abre una terminal de comandos y ejecuta el comando
correspondiente
auditor hash input_path. Por defecto,
este comando creará los archivos de auditoría
Audit_FullListen
Audit_Stampla raíz de la carpeta
«input_path». (Esto se puede modificar si es necesario).
Audit_Stampauditor check, se ejecuta la cadena
de integridad descrita anteriormente. Al finalizar el proceso, los
datos de integridad de Audit_FullListse
recalculan y se imprimen en la terminal
, y DEBEN coincidir exactamente con el valor impreso o firmado
digitalmente en el paso anterior.
Si no coinciden, la comprobación de integridad no es válida .
Audit_FullList. Consulte los ejemplos
en la sección de uso de
auditor check.
Consulte aquí un breve manual.
Una vez auditorinstalado en su sistema,
puede usarlo de la siguiente manera:
auditor subcommands:
hashEs el primer paso de la auditoría forense. Genera archivos de
auditoría que permiten verificar la integridad de los archivos.
auditor hash input_path
Esto:
input_pathcon
algoritmo predeterminado (
sha256)
input_path):
Audit_FullListContiene los
datos de integridad (hash, tamaño, nombre) de los archivos en
input_path. Nombre
predeterminado:
_auditor_hashes.txt
Audit_Stamp: contiene
únicamente los datos de integridad de
Audit_FullList. Nombre
predeterminado:
_auditor_stamp.txt.Este es el
archivo que debe imprimirse o firmarse digitalmente para
garantizar la verificación de toda la cadena de integridad.
Audit_FullList
Después hash, puede ejecutar
checkel comando para verificar la
integridad. Para garantizar correctamente la verificación de
integridad en el futuro, lea la sección
Cadena de integridad y siga las
recomendaciones que allí se ofrecen.
Simplemente genera hashes, pero no crees ningún archivo (-l)
auditor hash input_path -l
Sobrescribir archivos de auditoría (-o), utilizando un disco rápido (-z) con el algoritmo predeterminado (útil con discos SSD, para mayor velocidad):
auditor hash input_path -o -z
Igual que lo anterior, pero con el modo estricto activado, para garantizar que se aplique el hash a TODOS los archivos en input_path:
auditor hash input_path -o -z --strict
Sobrescribir archivos de auditoría (-o), sin utilizar el método thash (-d):
auditor hash input_path -o -d
Sobrescribir archivos de auditoría (-o), incluir solo archivos txt (-i "**/*.txt") solo en la carpeta raíz (-u 1) (las banderas -i y -e usan patrones glob, consulte las Notas para obtener más detalles).
auditor hash input_path -o -i "**/*.txt" -u 1
Sobrescribir archivos de auditoría (-o), incluir todos los archivos, excepto los archivos txt (-e "**/*.txt")
auditor hash input_path -o -e "**/*.txt"
Sobrescribir archivos de auditoría (-o), incluir solo archivos con nombre "file1.doc" (-i "**/*/file1.doc") y "file2.xls" (-i "**/*/file2.xls")
auditor hash input_path -o -i "**/*/file1.doc" -i "**/*/file2.xls"
Sobrescribir archivos de auditoría (-o), incluyendo TODOS los archivos, excepto los que se encuentran en las carpetas $RECYCLE.BIN y "System Volume Information". Nota: El carácter $ en $RECYCLE.BIN pertenece al nombre y debe ir precedido de una barra invertida (\) para que se analice correctamente.
auditor hash input_path -o -e "**/\$RECYCLE.BIN/**" -e "**/System Volume Information/**"
Sobrescribir archivos de auditoría (-o), incluir todos los archivos txt (-i "**/*/*.txt"), excepto los que se encuentran dentro del directorio llamado folder1 (-e "**/*/folder1/*").
auditor hash input_path -z -o -a blake3 -i "**/*/*.txt" -e "**/*/folder1/*"
Sobrescribir archivos de auditoría (-o), usar disco rápido (-z) y algoritmo 'blake3' (muy rápido):
auditor hash input_path -o -z -a blake3
Sobrescribir archivos de auditoría (-o), usar tamaño de bloque 10 MB y función hash 'whirlpool'
auditor hash input_path -o -b 10MB -a whirlpool
lockResulta útil cuando es necesario conservar los archivos de
auditoría existentes. Puede utilizarse después del comando
hash y evitar la generación accidental de nuevos archivos de
auditoría input_path.
auditor lock input_path
Esto:
_auditor_lock.txtcon
input_path
marca de tiempo de creación.
input_pathbloque.
Para desbloquearlo input_path, debes
eliminar manualmente el archivo._auditor_lock.txt
checkEs el segundo paso de la auditoría forense. Verifica la integridad
de los datos utilizando la información de los archivos de auditoría
y se puede usar después de que se haya realizado el hash.
auditor check input_path
Esto:
input_path):
Audit_Stampy compárelos con ellos
Audit_FullList.
Audit_FullListy compárelos con los
archivos originales en input_path.
Audit_FullList.
Comprueba en modo de disco rápido (-z), utilizando los archivos de auditoría predeterminados.
auditor check input_path -z
Igual que lo anterior, pero con el modo estricto habilitado, para asegurar que se verifiquen TODOS los archivos en input_path.
auditor check input_path -z --strict
Comprobar solo archivos txt (-i "**/*.txt"), utilizando archivos de auditoría predeterminados (las banderas -i y -e utilizan patrones glob, consulte las Notas para obtener más detalles).
auditor check input_path -i "**/*.txt"
Comprobar en modo silencioso (-q) y detenerse en el primer error (-x), utilizando archivos de auditoría predeterminados.
auditor check input_path -q -x
Compruebe F:\data_path utilizando archivos de auditoría con nombres específicos. (-f para <Audit_FullList> y -s para <Audit_Stamp>)
auditor check F:\data_path -f C:\other_path\personal_fullList.txt -s C:\other_path\personal_stamp.txt -q -x
Comprobar la integridad de un solo archivo en <input_path> comparándolo con algún archivo de auditoría.
auditor check F:\data_path\file1.txt -f C:\other_path\some_audit.txt -q -x
Nota: La comprobación del auditor es compatible con el formato fsum.
)
cloneSe utiliza para copiar datos internamente
input_pathy
dest_path, al mismo tiempo, verificar
la integridad de los datos copiados.
auditor clone input_path dest_path
Esto:
input_path,
generar datos de integridad (hash, tamaño, nombre);
dest_path;dest_pathcomparándolos con los
datos de integridad generados en
input_path.
input_path/usr/local/bin` o
dest_pathcon la opción `-g`. Si los
archivos de auditoría ya existen, no podrá crearlos.
En caso de error, volverá a intentarlo (por defecto son 3 veces, esto se puede cambiar).
En modo de disco rápido (-z).
auditor clone input_path dest_path -z
Igual que lo anterior, pero con el modo estricto activado, para asegurar que TODOS los archivos en input_path se clonen:
auditor clone input_path dest_path --strict
En modo silencioso (-q) y detenerse ante el primer error (-x).
auditor clone input_path dest_path -q -x
Clonación con generación de archivos de auditoría tanto en input_path como en dest_path (¡Ver notas!).
auditor clone input_path dest_path -g both
Clonación con generación de archivos de auditoría solo en dest_path.
auditor clone input_path dest_path -g dest
Clonación con generación de archivos de auditoría solo en input_path.
auditor clone input_path dest_path -g input
Puede usar -i y/o -e para incluir o excluir archivos del proceso (No se puede usar con --strict).
auditor clone input_path dest_path -q -x -i "**/*.txt" -e "**/dir1/**/*
Notas: Para generar archivos de auditoría,
input_path¡no puede haber archivos de
auditoría (Audit_FullList y Audit_Stamp)! Esto es para evitar
confusiones con los archivos de auditoría existentes.
Consulte todas las opciones con auditor clone --help
)
chkcopyse utiliza para comprobar los datos internos
input_pathcomparándolos con los
archivos de auditoría y copiarlos a
dest_path, y al mismo tiempo
verificar la integridad de los datos copiados en
dest_path.
auditor chkcopy input_path dest_path
Esto:
input_pathy
verificar su integridad comparándolos con los datos de los
archivos de auditoría;
dest_path;dest_pathcomparándolos con los
datos de integridad de los archivos de auditoría.
En caso de error, volverá a intentarlo (por defecto son 3 veces, esto se puede cambiar).
En modo de disco rápido (-z) para discos rápidos como ssd, m.2, etc.
auditor chkcopy input_path dest_path -z
Igual que lo anterior, pero con el modo estricto activado, para asegurar que TODOS los archivos en input_path sean revisados y copiados:
auditor chkcopy input_path dest_path --strict
En modo silencioso (-q) y detenerse ante el primer error (-x).
auditor chkcopy input_path dest_path -q -x
Puede usar -i y/o -e para incluir o excluir archivos del proceso (No se puede usar con --strict).
auditor clone input_path dest_path -q -x -i "**/*.txt" -e "**/dir1/**/*
Nota:
input_path ¡Debe tener archivos de
auditoría (Audit_FullList / Audit_Stamp)!
infoNo realiza comprobación de integridad del hash. Solo analiza los
archivos de auditoría y su contenido,
input_pathy muestra información útil.
Puede utilizarse después de haber realizado el hash.
auditor info input_path
Esto:
input_path):
Audit_Stampauditoría
Audit_FullList.
Audit_Stampexisten
Audit_FullListy si el tamaño
listado es el mismo que en
input_path.
input_pathestán listados en
Audit_FullList.
Audit_FullList y compararlos con el
archivo de auditoría.Audit_Stamp
\. Si lo desea, puede usar una
doble barra invertida al final
\\. Esto se debe a que la barra
invertida simple escapa las comillas finales, y la terminal no puede
interpretar la ruta correctamente.
Esto funciona:
"C:\My Data Path" o"C:\My Data Path\\"
Esto falla:
"C:\My Data Path\"
Descarga y datos de integridad de los binarios (dentro del archivo zip):
Aviso legal: Esta versión
auditorse proporciona como software en
fase de desarrollo,
SIN garantía ni soporte de ningún tipo , y es gratuita
únicamente para uso no comercial . Úsela bajo su propia
responsabilidad.
Licencia: Esta versión
auditortiene licencia
únicamente para uso no comercial . Consulte los
términos completos de la licencia
para obtener más información.
El formato de los archivos de auditoría es sencillo. Cada línea contiene:
hash_value ?ALGORITHM[<THASH-BlockSize>]|file_size[:hex]*relative_filepath
donde [ ] son opcionales:
hash_value: valor del hash.
ALGORITHM[<THASH-BlockSize>]Algoritmo utilizado para calcular el hash, almacenado en mayúsculas
para mantener la compatibilidad con otras herramientas. El parámetro
<THASH-BlockSize> es opcional e indica si se utilizó el método de
hash y el tamaño del bloque. El tamaño del bloque debe estar en KB, MB,
GB o TB. Ej.: 10MB.
file_sizeTamaño del archivo
original tras aplicarle el hash. Útil para comprobaciones y para mejorar
la velocidad cuando el tamaño no coincide. ¿Por qué aplicar el hash a un
archivo grande si ya se sabe que su tamaño no coincide con el del
original?
[:hex]Indicador opcional para
indicar que las rutas de archivo están en formato hexadecimal. Esto es
necesario porque algunos sistemas operativos permiten caracteres como
'\n', '\r' o '\0', y el formato hexadecimal evita problemas al formatear
los resultados.
relative_filepath: La ruta de
acceso relativa del archivo cifrado.
Ejemplo 1: uso del método thashcon el algoritmo sha256 y un tamaño de bloque de 50 MB:
281d5d93464f1165ea7c403ca99d63ff4bf9a360864f8df4bd0e8e6c03774e98 ?SHA256<THASH-50MB>|500000*file_hashed.bin
Ejemplo 2: utilizando el método normal, solo que con el algoritmo blake3, con la ruta del archivo en formato hexadecimal.
7357b67824d086dc53f5e1ded565f500456bea1812783f1fbcddc08fddc3944c ?BLAKE3|2233:hex*1aCb344356e4e2b2b6
En el futuro se podrán implementar otros formatos.
Utilizando
hiperfino
, pruebas entre
auditorSe realizaron fsum, rhash y hashdeep64 y los resultados se muestran a
continuación.
Machine configs:
S.O.: Windows 11 Home 64bits
Processor: AMD Ryzen 7 (7800X3D 4.20 GHz)
RAM: 64 GB of RAM (Corsair Vengeance DDR5 64GB - 5200MHz)
Disk: SSD M.2 2TB (Corsair MP600 Pro NVMe)
Data Source 1:
Benchmarks using Data Source 1:
Data Source 2
Benchmarks using Data Source 2: