
Un scanner d'analyse médico-légale du système de fichiers et un outil de chasse aux menaces. Analyse les systèmes de fichiers au niveau MFT et OS et stocke les données dans SQL, SQLite ou CSV. Les menaces et les données peuvent être sondées en exploitant la puissance et la syntaxe de SQL.

Permettez-moi d'expliquer...
Vous commencez avec un disque ou des images disque potentiellement contaminés par des malwares, virus, APT (menaces persistantes avancées) ou similaires, puis vous les analysez avec cet outil. (Optionnellement, et en supposant que vous ayez la sagesse et la prévoyance de le faire, vous pouvez d'abord analyser une image disque de référence saine connue avec cet outil — ou plus tard, cela n'a pas d'importance. Ce n'est certainement pas nécessaire, mais cela ne peut que vous aider.) La partie d'analyse forensique de cet outil collecte un tas de propriétés sur chaque fichier d'un système de fichiers (ou d'une ou plusieurs images de celui-ci), et place ces propriétés dans une table de base de données relationnelle SQL. La sauce secrète réside dans la capacité à chasser les menaces, enquêter, ou poser des questions sur les données à l'aide de requêtes, dans le langage SQL, contre la base de données créée. Une caractéristique clé ici était de NE PAS inventer un langage de requête propriétaire. Si vous connaissez SQL et comment cliquer sur un bouton, alors vous savez déjà utiliser cet outil comme un chef. Même si ce n'est pas le cas, ce concept est suffisamment puissant pour que des requêtes pré-établies (voir ci-dessous) vous apportent beaucoup.
Premièrement, l'outil crée une entrée dans la base de données pour chaque enregistrement trouvé dans la MFT (table de fichiers maîtres – c'est ainsi que NTFS tient sa comptabilité). Cela contourne les permissions de sécurité des fichiers, le masquage, les techniques de furtivité ou d'obfuscation, la suppression de fichiers, ou la falsification d'horodatage. Ces techniques n'empêcheront pas le fichier d'être analysé et catalogué. Les octets du fichier sont lus depuis la MFT et autant de points de données que possible sont extraits des octets du fichier lus depuis la MFT avant de tenter d'accéder à des points de données via les appels API de plus haut niveau du système d'exploitation.
Après avoir sécurisé les données de niveau MFT et forensique, les propriétés, données et métadonnées disponibles au niveau du système d'exploitation pour chaque fichier sont collectées et viennent enrichir chaque entrée créée à partir de l'entrée MFT. Par conséquent, même si le fichier ou ses propriétés via l'API du système d'exploitation ou le framework .NET ne peuvent pas être accédés en raison des permissions (ACL), des verrous (fichier en cours d'utilisation), d'une corruption du disque, d'un fichier de taille nulle, ou de toute autre raison, l'existence du fichier sera toujours enregistrée, journalisée et suivie. L'entrée ne contiendra simplement pas les informations qui n'étaient pas accessibles au système d'exploitation. Jusqu'à 51 points de données différents peuvent être collectés pour chaque fichier.
/*
IDEA: All files in the directory C:\Windows\System32\ should be 'owned' by TrustedInstaller.
If a file in the System32 directory is owned by a different user, this indicates an anomaly,
and that user is likely the user that created that file.
Malware likes to masquerade around as valid Windows system files.
Executables that are placed in the System32 directory not only look more official, as it is a common path for
system files, but an explicit path to that executable does not need to be supplied to execute it from the
command line, windows 'Run' dialog box of the start menu, or the win32 API call ShellExecute.
*/
SELECT
TOP 1000 *
FROM [FileProperties]
WHERE
[FileOwner] <> 'TrustedInstaller'
AND [DirectoryLocation] = ':\Windows\System32'
AND IsSigned = 0
ORDER BY [PrevalenceCount] DESC
/*
IDEA: The MFT creation timestamp and the OS creation timestamp should match.
If the MFT creation timestamp occurs after the creation time reported by the OS meta-data,
this indicates an anomaly.
Timestomp is a tool that is part of the Metasploit Framework that allows a user to backdate a file
to an arbitrary time of their choosing. There really isn't a good legitimate reason for doing this
(let me know if you can think of one), and is considered an anti-forensics technique.
*/
SELECT
TOP 1000 *
FROM [FileProperties]
WHERE
([MftTimeAccessed] <> [LastAccessTime]) OR
([MftTimeCreation] <> [CreationTime]) OR
([MftTimeMftModified] <> [LastWriteTime])
ORDER BY [DateSeen] DESC
/*
IDEA: The 'CompileDate' property of any executable or dll should always come before the creation timestamp for that file.
Similar logic applies as for the MFT creation timestamp occuring after the creation timestamp. How could a program have been
compiled AFTER the file that holds it was created? This anomaly indicates backdating or timestomping has occurred.
*/
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 |