Un incident désagréable s'est produit dans une grande institution financière: des attaquants sont entrés dans le réseau et ont «nettoyé à l'aspirateur» toutes les informations critiques - ils ont copié puis envoyé les données vers leur ressource distante. Les experts médico-légaux du Groupe IB ont appelé à l'aide six mois seulement après les événements décrits…. À ce moment-là, certains des postes de travail et des serveurs avaient déjà été mis hors service et les traces des actions des attaquants ont été détruites en raison de leur utilisation de logiciels spécialisés et d'une journalisation incorrecte. Cependant, un fichier d'échange Windows a été trouvé sur l'un des serveurs impliqués dans l'incident, à partir duquel les experts ont obtenu des informations critiques sur l'incident.
Dans cet article, Pavel Zevakhin, Group-IB Forensic Science Lab, discute des données qui peuvent être trouvées dans les fichiers d'échange Windows pendant la recherche médico-légale.
Partie 1. Ce que pagefile.sys cache
Ainsi, pagefile.sys est le fichier d'échange du système d'exploitation Windows. Lorsqu'il n'y a pas assez de RAM, Windows réserve un certain espace sur le disque dur et l'utilise pour augmenter ses capacités. En d'autres termes, il décharge une partie des données de la RAM dans le fichier pagefile.sys. Très souvent, les informations nécessaires au chercheur ne restent que dans le fichier d'échange.
Le téléchargement vers le fichier d'échange se produit page par page, dans des blocs de 4 Ko, de sorte que les données peuvent occuper à la fois une zone contiguë dans le fichier d'échange ou se trouver dans différentes parties de celui-ci. Cela signifie que dans la plupart des cas, les informations contenues dans ce fichier seront récupérées avec perte d'intégrité.
La taille de pagefile.sys dans le système de fichiers est définie par défaut par le système d'exploitation, mais l'utilisateur peut toujours désactiver le fichier d'échange ou modifier sa taille maximale. L'emplacement par défaut du fichier est à la racine de la partition système, mais il peut être situé sur n'importe quel autre lecteur logique, en fonction de l'endroit où l'utilisateur l'a placé. Ce fait doit être rappelé.
Avant de plonger dans l'extraction de pagefile.sys, nous devons comprendre ce qu'est ce fichier du point de vue du système de fichiers. Pour ce faire, nous utiliserons le logiciel AccessData FTK Imager:
Caché | Vrai | SID du propriétaire | S-1-5-32-544 |
Système | Vrai | Le nom du propriétaire | Administrateurs |
Lecture seulement | Faux | Groupe SID | S-1-5-18 |
Archiver | Vrai | Nom de groupe | SYSTÈME |
On peut voir qu'il s'agit d'un fichier système caché qui n'est pas facile à copier.
Comment puis-je obtenir ce fichier alors? Cela peut être fait de plusieurs manières:
- , FTK Imager KAPE
- — .
N'oubliez pas que les fichiers pagefile.sys peuvent être situés dans des clichés instantanés de volume et sur d'autres lecteurs logiques. Certes, il existe des cas où l'utilisateur définit lui-même les règles de cliché instantané et exclut la copie du fichier d'échange (il existe une branche HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Control \ BackupRestore \ FilesNotToSnapshot dans le registre système , où les fichiers qui seront exclus du cliché instantané sont spécifiés).
Dans l'image ci-dessous, vous pouvez voir comment la quantité de données détectées change dans le fichier d'échange actuel (dans l'image - le plus à gauche) et les fichiers d'échange qui ont été extraits du même lecteur à partir de clichés instantanés créés à des moments différents.
Un point important à garder à l'esprit: à partir de la build 10525, Windows 10 utilise la compression des fichiers d'échange. Lorsque la mémoire est faible, le système réduit les ressources de mémoire inutilisées dans chaque processus, ce qui permet à davantage d'applications de rester actives en même temps. Pour décompresser un tel fichier, vous devez utiliser un logiciel spécialisé.Par exemple, vous pouvez utiliser l' utilitaire winmem_decompress de Maxim Sukhanov pour la décompression :
Cela est utile lorsqu'une recherche dans le fichier d'échange d'origine n'a renvoyé aucun résultat ou que les données requises ont été compressées.
Ainsi, avec le fichier pagefile.sys entre nos mains, nous pouvons commencer à l'examiner. Et ici, il faut distinguer deux situations: la première - quand on sait quoi chercher, et la seconde - quand on ne sait pas. Dans le premier cas, il peut s'agir de fragments de fichiers, de traces du travail de l'un ou l'autre logiciel, d'une sorte d'activité de l'utilisateur. Pour une telle recherche, l'éditeur hexadécimal X-Ways WinHEX (ou tout autre) est généralement utilisé . Dans le second cas, vous devrez vous fier à des logiciels spécialisés, par exemple MAGNET AXIOM , Belkasoft Evidence Center , l'utilitaire strings (il peut être considéré comme le principal et le plus fréquemment utilisé), des logicielsPhotorec (logiciel de récupération de signature), dans certains cas, appliquez les règles Yara (en supposant que vous ayez configuré de gros fichiers à analyser) - ou affichez simplement le fichier manuellement.
Que peut-on trouver dans pagefile.sys et pourquoi nous concentrons-nous sur le fichier d'échange? C'est simple: ce sont des données partiellement déchargées de la RAM, c'est-à-dire des processus, des fichiers et d'autres artefacts - ce qui était activement et fonctionnait dans le système d'exploitation. Cela peut faire partie de l'historique Internet et de l'adresse IP, des informations sur le lancement de certains fichiers ou des fichiers eux-mêmes, des fragments d'images et de textes, des informations sur les demandes réseau de logiciels fonctionnant précédemment, des traces de logiciels malveillants sous forme de journaux de frappe, de fichiers système, etc. Journaux du système d'exploitation et bien plus encore.
Allons aux champs
Il est temps de passer directement aux cas réels et à la recherche. Alors, qu'est-ce qui est utile dans un fichier d'échange Windows du point de vue de la criminalistique numérique?
Dans l'un des cas, une image d'un lecteur infecté par divers logiciels malveillants a été examinée, à l'aide de laquelle des cybercriminels ont volé de l'argent sur le compte d'une organisation.
Pour donner une réponse complète à ce qui s'est passé et comment, le médecin légiste doit établir le point de départ de l'infection, les outils utilisés par les attaquants et la séquence des actions. Au cours de l'étude, toutes les traces du malware n'ont pas été trouvées. Et c'est là que pagefile.sys a été analysé. Comme nous le savons déjà, vous pouvez y trouver des pages de la mémoire de processus, déchargées de la RAM vers le fichier d'échange, qui peuvent parfois être restaurées, par exemple, à l'aide du logiciel Photorec en utilisant la méthode de signature, comme cela a été fait dans ce cas.
: (), . , , , , - , .
Ci-dessus, un exemple de fichiers (noms de fichiers attribués par Photorec en fonction des décalages depuis le début du fichier d'échange) téléchargés au cours de cette étude. Nous voyons que ce sont des fichiers exécutables, graphiques, textes et autres. Ensuite, tout est simple: nous les analysons en fonction des critères et des tâches nécessaires.
Dans ce cas particulier, les fichiers dll contenant du code malveillant ont été récupérés à partir du fichier d'échange. Voici un exemple de leurs détections sur VirusTotal (la recherche a été effectuée par la somme de contrôle des fichiers):
Lors de l'analyse, l'adresse du serveur distant avec lequel ces fichiers pouvaient interagir a été établie. À l'aide de l'éditeur hexadécimal X-Ways WinHEX, des lignes contenant les adresses du serveur distant ont été trouvées dans le fichier pagefile.sys examiné. Cela suggère que les fichiers détectés fonctionnaient dans le système d'exploitation et interagissaient activement avec leur serveur distant. Et voici les détections du service VirusTotal pour décembre 2018:
Ainsi, dans ce cas, grâce aux informations trouvées dans pagefile.sys, nous avons établi toute la chaîne d'infection.
Quoi d'autre?
Il existe parfois des cas uniques où, en plus d'autres traces, des captures d'écran encodées en base64 peuvent être trouvées dans le fichier d'échange. Par exemple, le cheval de Troie bancaire Buhtrap en crée une lors de l'envoi.
Dans ce cas particulier, le début du fichier était / 9j / 4AAQSkZJRgABAQEAYABgAAD / . Ceci est l'en-tête encodé en base64 du fichier jpeg (une partie de l'image est affichée):
L'extrait ci-dessus a été copié, décodé et ajouté une extension jpg. Nous avons eu de la chance et la capture d'écran détectée contenait un instantané complet du bureau actif de l'ordinateur comptable avec le logiciel ouvert "1C: Comptabilité", qui affichait le solde financier de l'entreprise et d'autres données importantes. Les autres images codées détectées étaient incomplètes (cassées) en raison de la manière dont les informations étaient stockées dans le fichier d'échange.
Un autre exemple. Lors de l'un des incidents, des traces du framework Cobalt Strike ont été trouvées (lignes typiques dans le fichier d'échange - mode SMB, status_448, ReflectiveLoader):
Et puis vous pouvez essayer de décharger les modules. Dans l'image ci-dessus, il s'agit de keylogger.dll et screenshot.dll, mais il peut y en avoir d'autres.
Passez. Le module mimikatz, qui fait partie de Cobalt Strike et est souvent utilisé par les cybercriminels, est un outil qui implémente la fonctionnalité de l'éditeur d'informations d'identification Windows et vous permet d'extraire les données d'authentification d'un utilisateur connecté en texte clair. C'est dans le fichier d'échange que des traces de son fonctionnement ont été trouvées, à savoir les chaînes de caractères suivantes:
- sekurlsa :: logonPasswords - extrait les identifiants et les mots de passe d'un compte
- token :: elevate - élevez les droits d'accès à SYSTEM ou recherchez le jeton d'administrateur de domaine
- lsadump :: sam - Récupère SysKey pour décrypter les entrées du fichier de registre SAM
- log Result.txt - le fichier dans lequel les résultats du logiciel sont enregistrés (n'oubliez pas de chercher ce fichier dans le système de fichiers):
L'exemple suivant est des traces du fonctionnement du cheval de Troie bancaire Ranbyus, qui se compose de nombreux modules. Dans une étude, un fichier d'échange qui se trouvait dans un cliché instantané (VSS) a trouvé des chaînes générées par un module complémentaire qui étendait les fonctionnalités du logiciel Ranbyus. Les lignes contenaient, entre autres, les données d'authentification de l'utilisateur saisies (login et mot de passe) dans le système «client-banque». Et à titre d'exemple, une partie d'une demande réseau, y compris des informations sur le serveur de gestion, qui ont été trouvées dans le fichier pagefile.sys:
En fait, il est assez courant de voir des exemples de requêtes POST par des logiciels malveillants sur ses serveurs C&C, ainsi que les réponses de ces serveurs aux requêtes. Voici de tels cas sur l'exemple d'interaction entre le logiciel Buhtrap et son serveur de contrôle:
Souvenons-nous maintenant du cas avec lequel nous avons commencé cet article. Un incident s'est produit dans une grande organisation avec de nombreux serveurs et postes de travail, au cours duquel des attaquants sont entrés sur le réseau, ont pris le contrôle des informations d'identification de l'un des administrateurs de contrôleur de domaine, puis ont traversé le réseau à l'aide d'un logiciel légitime. Ils ont copié les informations critiques, puis ont envoyé ces données vers un emplacement distant. Au moment de la riposte, plus de six mois s'étaient écoulés, certains postes de travail et serveurs avaient déjà été mis hors service, et les traces des actions des attaquants avaient été détruites "grâce" à leur utilisation de logiciels spécialisés et à une mauvaise journalisation.
Au cours du processus de réponse, nous nous sommes rendus sur le serveur exécutant Windows Server 2012 qui était impliqué dans l'incident. Les fichiers journaux système ont été écrasés plusieurs fois et l'espace disque libre a été écrasé. Mais il y avait un fichier d'échange! En raison du long fonctionnement du serveur sans redémarrage et de la grande taille du fichier d'échange, il conserve les traces du lancement des logiciels et des scripts des cybercriminels, qui au moment de l'étude n'étaient plus dans le système de fichiers au-delà de la récupération. Les informations sur les répertoires et les fichiers (chemins et noms) créés, copiés puis supprimés par des intrus, les adresses IP des postes de travail de l'organisation à partir desquels les données ont été copiées et d'autres informations importantes ont également été préservées.
Fait intéressant, l'analyse automatisée à l'aide de divers logiciels médico-légaux n'a pas donné de résultats complets, il n'y avait pas de critères de recherche spécifiques, de sorte que les experts ont eu recours à une analyse manuelle du fichier d'échange à l'aide de l'éditeur hexadécimal X-Ways WinHEX.
Voici quelques exemples de ce que les experts ont trouvé:
Informations sur l'utilisation des utilitaires pcsp.exe et ADExplorer.exe (les dates et les chemins sont présents).
En outre - des informations sur l'utilisation du script vbs (dans l'image - le début et la fin).
Il est à noter que les informations d'identification (login et mot de passe) de l'un des administrateurs du contrôleur de domaine, qui ont été précédemment compromis, sont indiquées:
En conséquence, presque toutes les informations critiques sur l'incident ont été trouvées dans le fichier d'échange de l'un des serveurs. Les outils des attaquants et certaines de leurs actions dans le réseau de l'entreprise ont été installés.
Et en conclusion, bien sûr, il convient de mentionner d'autres artefacts, tels que des données sur les visites de sites Internet (vous pouvez parfois trouver des informations sur l'utilisation de boîtes e-mail), des informations sur des fichiers et des répertoires:
Vous pouvez également trouver des informations telles que le nom de l'ordinateur et le numéro de série du volume où se trouvait le fichier d'échange:
Ainsi que des informations provenant des fichiers Prefetch et, bien sûr, des journaux système Windows.
Ainsi, pagefile.sys peut en fait contenir un grand nombre d'artefacts différents qui peuvent aider à l'analyse. C'est pourquoi vous ne devez jamais ignorer l'exploration des fichiers d'échange. Même si vous disposez de toutes les données dont vous avez besoin, examinez quand même pagefile.sys. La pratique montre qu'il peut manquer quelque chose d'important.