
Una herramienta de análisis forense de sistemas de archivos y caza de amenazas. Escanea sistemas de archivos a nivel de MFT y SO y almacena datos en SQL, SQLite o CSV. Las amenazas y los datos se pueden explorar aprovechando la potencia y la sintaxis de SQL.

Permítanme elaborar...
Comienzas con un disco o imágenes de disco que potencialmente están contaminados con malware, virus, APT (amenazas persistentes avanzadas) o similares, y luego los escaneas con esta herramienta. (Opcionalmente, y suponiendo que tengas la sabiduría y previsión para hacerlo, puedes escanear una imagen de disco de referencia conocida como buena con esta herramienta primero (o después, no importa). Ciertamente no es necesario, pero solo puede ayudarte.) La parte de escaneo a nivel forense de esta herramienta recopila un montón de propiedades sobre cada archivo en un sistema de archivos (o una imagen del mismo), y coloca estas propiedades en una tabla de base de datos relacional SQL. El ingrediente secreto proviene de la capacidad de cazar amenazas, investigar o hacer preguntas sobre los datos mediante consultas, en el lenguaje SQL, contra la base de datos que se crea. Una característica clave aquí fue NO inventar un lenguaje de consulta propietario. Si sabes SQL y cómo hacer clic en un botón, entonces ya sabes cómo usar esta herramienta como un experto. Incluso si no lo sabes, este concepto es lo suficientemente potente como para que las consultas predefinidas (ver más abajo) te den mucho rendimiento.
En primer lugar, la herramienta crea una entrada en la base de datos por cada registro encontrado en el MFT (tabla de archivos maestra - así es como NTFS lleva su registro). Esto elude los permisos de seguridad de archivos, la ocultación de archivos, las técnicas de sigilo u ofuscación, la eliminación de archivos o la manipulación de marcas de tiempo. Estas técnicas no impedirán que el archivo sea escaneado y catalogado. Los bytes del archivo se leen del MFT y se toman tantos puntos de datos como sea posible de los bytes del archivo leídos del MFT antes de intentar acceder a cualquier punto de datos mediante las llamadas API de nivel superior del sistema operativo.
Después de asegurar los datos del MFT y a nivel forense, se recopilan las propiedades, datos y metadatos a nivel de sistema operativo disponibles sobre cada archivo, y complementan cada entrada creada a partir de la entrada del MFT. Como resultado de esto, incluso si el archivo o sus propiedades de la API del sistema operativo o del framework .NET no pueden ser accedidos debido a permisos de archivos (ACL), bloqueos de archivos (en uso), corrupción de disco, un archivo de longitud cero, o cualquier otra razón diversa, la existencia del archivo aún será registrada, guardada en el log y rastreada. Sin embargo, la entrada simplemente no contendrá la información sobre él que no era accesible para el sistema operativo. Se pueden recopilar hasta 51 puntos de datos diferentes por cada archivo.

/*
IDEA: Todos los archivos en el directorio C:\Windows\System32\ deberían ser 'propiedad' de TrustedInstaller.
Si un archivo en el directorio System32 es propiedad de un usuario diferente, esto indica una anomalía,
y ese usuario es probablemente el usuario que creó ese archivo.
A los malware les gusta hacerse pasar por archivos válidos del sistema Windows.
Los ejecutables que se colocan en el directorio System32 no solo parecen más oficiales, ya que es una ruta común para
archivos del sistema, sino que no es necesario proporcionar una ruta explícita a ese ejecutable para ejecutarlo desde la
línea de comandos, el cuadro de diálogo 'Ejecutar' de Windows del menú de inicio, o la llamada a la API de Win32 ShellExecute.
*/
SELECT
TOP 1000 *
FROM [FileProperties]
WHERE
[FileOwner] <> 'TrustedInstaller'
AND [DirectoryLocation] = ':\Windows\System32'
AND IsSigned = 0
ORDER BY [PrevalenceCount] DESC
/*
IDEA: La marca de tiempo de creación del MFT y la marca de tiempo de creación del SO deberían coincidir.
Si la marca de tiempo de creación del MFT ocurre después de la hora de creación reportada por los metadatos del SO,
esto indica una anomalía.
Timestomp es una herramienta que forma parte de Metasploit Framework que permite a un usuario retrodatar un archivo
a una hora arbitraria de su elección. Realmente no hay una buena razón legítima para hacer esto
(déjame saber si puedes pensar en una), y se considera una técnica anti-forense.
*/
SELECT
TOP 1000 *
FROM [FileProperties]
WHERE
([MftTimeAccessed] <> [LastAccessTime]) OR
([MftTimeCreation] <> [CreationTime]) OR
([MftTimeMftModified] <> [LastWriteTime])
ORDER BY [DateSeen] DESC
/*
IDEA: La propiedad 'CompileDate' de cualquier ejecutable o DLL debería siempre ser anterior a la marca de tiempo de creación de ese archivo.
Se aplica la misma lógica que para la marca de tiempo de creación del MFT que ocurre después de la marca de tiempo de creación. ¿Cómo podría un programa haber sido
compilado DESPUÉS de que se creó el archivo que lo contiene? Esta anomalía indica que se ha realizado retrodatación o timestomping.
*/
SELECT
TOP 1000 *
FROM [FileProperties]
WHERE
([MftTimeCreation] < [CompileDate]) OR
([CreationTime] < [CompileDate])
ORDER BY [DateSeen] DESC
| MFTNumber | SequenceNumber | SHA256 | FullPath | Length | FileOwner | Attributes | IsExe | IsDll | IsDriver | BinaryType | IsSigned | IsSignatureValid | IsValidCertChain | IsTrusted | ImpHash | MD5 | SHA1 | CompileDate | MimeType | InternalName | ProductName | OriginalFileName | FileVersion | FileDescription | Copyright | Company | Language | Trademarks | Project | ApplicationName | Comment | Title | Link | ProviderItemID | ComputerName | DriveLetter | DirectoryLocation | Filename | Extension | CertSubject | CertIssuer | CertSerialNumber | CertThumbprint | CertNotBefore | CertNotAfter | PrevalenceCount | Entropy | YaraRulesMatched | DateSeen | MftTimeAccessed | MftTimeCreation | MftTimeModified | MftTimeMftModified | CreationTime | LastAccessTime | LastWriteTime |
|---|
| 18010 | 0 | C67BE7D3F54D44AC264A18E33909482F1F8CA7B7FBAAF5659EF71ED9F8092C34 | C:\Windows\WinSxS\amd64_windows-defender-service-cloudclean_31bf3856ad364e35_6.3.9600.18603_none_73d12e8145b3841b\SymSrv.dll | 149264 | TrustedInstaller | A | 1 | 1 | 0 | 16 | 1 | 1 | 0 | 1 | 5D54F5D721E301667338323AC07578E3 | 65FB3391EB26F5AC647FC40501D8E21D | 4B46DB2A99A47FF6A6EE376F4D79F5298BFF28A2 | 2010-02-01 20:15:48.0000000 | application/x-msdownload | symsrv.dll | Debugging Tools for Windows(R) | symsrv.dll | 6.12.2.633 | Symbol Server | © Microsoft Corporation. All rights reserved. | Microsoft Corporation | English (United States) | L | C | C:\Windows\WinSxS\amd64_windows-defender-service-cloudclean_31bf3856ad364e35_6.3.9600.18603_none_73d12e8145b3841b | SymSrv.dll | .dll | CN=Microsoft Corporation, OU=MOPR, O=Microsoft Corporation, L=Redmond, S=Washington, C=US | CN=Microsoft Code Signing PCA, O=Microsoft Corporation, L=Redmond, S=Washington, C=US | 6105F71E000000000032 | D468FAEB5190BF9DECD9827AF470F799C41A769C | 7/13/2009 5:00:18 PM | 10/13/2010 5:10:18 PM | 1 | 0 | NULL | 2020-10-25 06:17:12.0133333 | 2013-06-18 14:43:52.6497911 | 2013-08-22 06:56:50.9086288 | 2013-08-22 06:56:50.9086288 | 2019-01-15 19:13:49.1704756 | 2013-08-22 06:56:50.9086288 | 2013-08-22 06:56:50.9086288 | 2013-06-18 14:43:52.6497911 |