Comment lire le fichier d'hibernation Windows (hiberfil.sys) pour extraire des données?


8

J'ai besoin de trouver ce que toutes les données sont stockées dans le fichier d'hibernation en l'analysant. Cependant, jusqu'à présent, je n'ai réussi à le faire que manuellement en l'ouvrant dans un éditeur hexadécimal et en y recherchant des textes. J'ai découvert SandMan Library mais il n'y a aucune ressource présente. Une idée comment lire le fichier? Ou existe-t-il un outil / bibliothèque ou une autre méthode pour le faire?


3
un fichier hiberfil est une image du système ram au moment où il a été mis en veille prolongée. en tant que tel, oui, un éditeur hexadécimal est probablement le meilleur que vous obtiendrez. Cette tâche n'est essentiellement pas différente de celle d'essayer de lire le contenu de votre RAM.
Frank Thomas


1
@FrankThomas savez-vous quel est le format du fichier d'hibernation?
codeur

@OliverSalzburg Je veux connaître une structure de données pour lire le fichier?
codeur

1
@WernerHenze pour ma mission
codeur

Réponses:


7

Vous pouvez trouver beaucoup d'informations sur le Hiberfil.syssur la page ForensicWiki .

Bien que la plupart des structures de données requises pour analyser le format de fichier soient disponibles dans les symboles de débogage de Microsoft Windows, la compression utilisée (Xpress) était non documentée jusqu'à ce qu'elle soit inversée par Matthieu Suiche. Il a créé avec Nicolas Ruff un projet appelé Sandman est le seul outil open-source capable de lire et d'écrire le fichier d'hibernation de Windows.

Le pdf du projet Sandman se trouve ici .

Les créateurs du projet Sandman ont également créé un outil pour vider la mémoire et le Hiberfil.sysfichier (et les extraire du format de compression XPress). MoonSols Windows Memory Toolkit

Certains des autres liens sur la page ForensicWiki ne fonctionnent plus mais voici celui que j'ai trouvé: (Si vous voulez plonger directement dans la structure de format, vous pouvez utiliser cette ressource. Pour l'en-tête, les 8192 premiers octets du fichier, vous n'avez pas besoin de les décompresser)

Format de fichier d'hibernation.pdf

Ce dernier PDF et le dernier lien sur la page ForensicWiki devraient vous donner suffisamment d'informations sur la structure du Hiberfil.sys.

Les fichiers de mise en veille prolongée sont constitués d'un en-tête standard (PO_MEMORY_IMAGE), d'un ensemble de contextes et de registres du noyau tels que CR3 (_KPROCESSOR_STATE) et de plusieurs tableaux de blocs de données Xpress compressés / encodés (_IMAGE_XPRESS_HEADER et _PO_MEMORY_RANGE_ARRAY).

L'en-tête standard existe à l'offset 0 du fichier et est illustré ci-dessous. En règle générale, le membre Signature doit être "hibr" ou "wake" pour être considéré comme valide, mais dans de rares cas, l'intégralité de l'en-tête PO_MEMORY_IMAGE a été mise à zéro, ce qui peut empêcher l'analyse du fichier d'hibernation dans la plupart des outils. Dans ces cas, la volatilité utilisera un algorithme de force brute pour localiser les données dont elle a besoin.

Les références dans ces documents devraient vous donner beaucoup d'autres sources à explorer aussi.


3

Je vous recommande fortement de jeter un œil à cette réponse de security.stackexchange.com . Il montre un excellent moyen d'extraire les données ainsi que des informations sur l'algorithme lui-même.

J'ai souligné les parties importantes.

Oui, il le stocke non chiffré sur le disque. Il s'agit d'un fichier caché sur C:\hiberfil.sys, qui sera toujours créé sur tout système sur lequel l'hibernation est activée. Le contenu est compressé à l'aide de l'algorithme Xpress, dont la documentation est disponible en tant que document Word auprès de Microsoft . Matthieu Suiche en a fait une analyse complète en tant que présentation BlackHat en 2008, que vous pouvez obtenir en format PDF . Il existe également un outil appelé MoonSols Windows Memory Toolkit qui vous permet de vider le contenu du fichier. Je ne sais pas si cela vous permet de vous reconvertir, cependant. Vous devrez peut-être trouver un moyen de le faire vous-même.

Une fois que vous avez sorti les données, il est possible d'extraire ou de modifier les données, y compris les instructions. En termes d'atténuation, votre meilleure solution consiste à utiliser le chiffrement complet du disque comme BitLocker ou TrueCrypt.

La source


3

Convertissez le fichier hiberfil.sys en une image brute à l'aide de http://code.google.com/p/volatility/downloads/list . La dernière version en date est 2.3.1. Plus précisément, vous pouvez utiliser la ligne de commande suivante pour créer d'abord l'image brute: -f imagecopy -O hiberfil_sys.raw. Cela créera une image brute pour que vous puissiez ensuite exécuter la volatilité qui vous aidera à extraire des informations telles que le processus, les connexions, les sockets et les ruches de registre (pour n'en nommer que quelques-unes). Une liste complète des plugins peut être trouvée ici: https://code.google.com/p/volatility/wiki/Plugins . Bien sûr, la redline mandiante est un autre outil qui fournit cette fonctionnalité. J'espère que cela vous a aidé.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.