Les ruches du registre Windows

Dans cette partie vous trouverez des papiers, articles sur l'informatique/sécurité.
Avatar de l’utilisateur
Malekal_morte
Site Admin
Site Admin
Messages : 85838
Inscription : 10 sept. 2005 13:57
Contact :

Les ruches du registre Windows

Message par Malekal_morte » 18 mars 2012 18:44

Voici une page consacrée aux ruches du registre.
Cette page permet de comprendre comment est structuré le registre Windows.

Pour rappel vous avez cette page sommaire sur le registre Windows sur le site : Le Registre Windows

Qu'est ce que l'on appelle une ruche?

Une ruche correspond à un fichier sur le disque.
Les ruches sont stockés dans le dossier : %SystemRoot%\System32\Config

Si un des fichiers est endommagé, la ruche et donc les informations deviennent illisibles. Windows peux alors ne pas réussir à démarrer.
On peux alors obtenir le message :

Windows XP n'a pas pu démarrer car le fichier suivant est manquant ou endommagé : \WINDOWS\SYSTEM32\CONFIG\SYSTEM

La FAQ suivant décrit le rétablissement des ruches : http://support.microsoft.com/kb/307545


Voici la liste des ruches de HKEY_LOCAL_MACHINE :
  • KEY_LOCAL_MACHINE\default => c:\windows\system32\config\default
  • KEY_LOCAL_MACHINE\SAM (Security Account Manager) => c:\windows\system32\config\sam
  • KEY_LOCAL_MACHINE\Security => c:\windows\system32\config\security
  • KEY_LOCAL_MACHINE\Software (informations logiciels) => c:\windows\system32\config\software
  • KEY_LOCAL_MACHINE\System (informations sytèmes, configuration, services etc) => c:\windows\system32\config\system
La ruche HKEY_CURRENT_USERS se trouve elle dans le fichier NTUSER.dat qui se trouve à la racine du profil utilisateur.
Pour Windows XP : C:\Documents and Settings\<user>
Pour Windows Vista/Seven : C:\Utilisateurs\<users>

HKEY_LOCAL_MACHINE VS HKEY_CURRENT_USERS

HKEY_LOCAL_MACHINE contient donc les informations systèmes mais aussi logiciels. Pour modifier cette ruche, il faut que l'utilisateur courant aie des droits administrateurs.

Les informations logiciels se trouvent dans la ruche : KEY_LOCAL_MACHINE\Software
Cela comprends aussi les informations relatives à Windows, notamment dans la partie : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft

et notamment :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

Si l'utilisateur a des droits restreints, il ne pourra modifier le système mais seulement son profil/environnement soit donc les dossiers de son profil et la ruche HKEY_CURRENT_USER.
Ce qui permet par exemple pour chaque utilisateur d'avoir son propre fond d'écran, de configurer l'affichage des dossiers (icônes etc) comme bon lui semble.

On retrouve donc la même structure sur la partie SOFTWARE entre HEKY_LOCAL_MACHINE (tous utilisateurs) et HKEY_CURRENT_USER (utilisateurs courants) .

Image

Image

Vous trouverez d'autres informations sur les profils utilisateurs et registre en page 2 de la page : profil utilisateur.
En réalité, HKEY_CURRENT_USERS est une image de HKEY_USERS\<SID de l'utilisateur courrant>
(SID étant les identifiants de type S-1-5-21-823518204-725345543-786100373-1005 qui identifie un utilisateur)

Le fait donc de tourner avec des droits administrateurs, en cas d'infection, rend la modification possible du système et le chargement de malware bas dans le système (drivers, services => rootkit), ou simplement le fait d'avoir une clef Run au niveau HKEY_LOCAL_MACHINE sera effectif à tous les utilisateurs.

Tandis qu'un utilisateur avec des droits restreints qui lance un malware ne verra que son environnement modifié, il est alors plus facile pour l'antivirus (qui tourne lui avec des droits systèmes) de nettoyer le profil de l'infection.
D'où le fait qu'il n'est pas recommandé de surfer avec des droits administrateurs : Pourquoi ne pas surfer avec les droits administrateur?

Ruches USERS et Malwares

Sur un Windows, deux utilisateurs :
  • MaK => SID : S-1-5-21-823518204-725345543-786100373-1003
  • Robert => SID : S-1-5-21-823518204-725345543-786100373-1005
(SID étant les identifiants de type S-1-5-21-823518204-725345543-786100373-1005 qui identifie un utilisateur)

Sur le profil Mak, j'ai créé une clef Run Clef LOCALE qui pointe sur c:\blabla.exe

Un rapport HijackThis depuis la session MaK :

Image

En bleu, les clefs Run relatives à HKEY_LOCAL_MACHINE
En rouge, les clefs Run relatives à HKEY_CURRENT_USER soit donc l'utilisateur MaK, on retrouve la clef ajoutée.
Plus bas, les clefs des autres utilisateurs (notamment SYSTEM et SERVICE), on retrouve le SID.

Si on se logue avec la session Robert, HijackThis ne montre pas la clef Run "Clef LOCALE".

Cela vient du fait que les clefs relatives au profil de l'utilisateur MaK ne sont pas chargées :
Image

En chargeant la ruche (voir paragraphe suivant), OTL, en cochant "tous les utilisateurs", parvient à lister la "Clef LOCALE" :
Image

Par contre, HijackThis ne liste que le processus CFTMON.EXE des autres utilisateurs.

Image

Dans le cas des infections ransomwares / Fake Police qui ajoutent des clefs relatives à l'utilisateur.
Si l'internaute va en mode sans échec avec l'utilisateur administrateur (le ransomware bloquant sa session) qui est caché en mode normal, les outils HijackThis et OTL ne montreront pas les clefs USERS relatives à l'infection sur la session infectée puisque la ruche NTUSERS.dat de la session infectée ne sera pas chargée dans le registre.

Charger une ruche depuis un systèmes d'exploitation alternatif

Le programme regedit permet de charger des ruches.
Dans les cas évoqués précédemment, il est possible de charger la ruche MaK depuis la session Robert.
Pour cela, il faut récupérer le SID de l'utilisateur qui nous intéresse.

Se rendre sur la clef : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
Vous obtenez en dessous les SID : S-x-x-xx-xxxxxx-xxxxxxx-xxxxxxx-xxxx
Cliquez sur chacun de ces dossiers SID afin d'identifier les utilisateurs par rapport à droite à la clef ProfileImagePath.
Notez le SID en le copie/collant dans le bloc-note (clic droit sur le SID puis copier la clef).

Ci-dessous, on voit que l'utilisateur MaK est rattaché au SID : S-1-5-21-823518204-725345543-786100373-1003

Image

Afficher les fichiers cachés et systèmes => afficher-les-fichiers-caches-systemes-t18239.html

Se rendre ensuite sur la clef : HKEY_USERS
Cliquez sur le menu Fichier et Charger la ruche.
Coller le SID relatif à la session dont vous souhaitez charger les informations.

Image

Si tout va bien, vous devriez donc avoir dans HKEY_USERS un second SID qui correspond à la session dont vous souhaitez obtenir les informations.

Image

Il est tout à fait possible de charger les ruches HKEY_LOCAL_MACHINE de %SystemRoot%\System32\Config de cette manière.

Attention - pour décharger la ruche, ne supprimer pas les clefs, - vous devez sélectionner la ruche et cliquez sur le menu Fichier puis décharger la ruche

Depuis un CD Live ou disque dur esclave

Dans le cas où Windows n'est pas accessible.
Un CD Live permet l'accès au registre.

Le CD Live OTLPE : otlpe-live-t23453.html
charge les ruches du systèmes sous les noms :
HKEY_LOCAL_MACHINE\SYSTEM_ON_C
HKEY_LOCAL_MACHINE\SOFTWARE_ON_C
De même, les ruches relatives aux utilisateurs sont chargées.

Sur la page relative à ZeroAccess version 64 bits (consrv.dll) : https://www.malekal.com/2011/10/19/zacce ... rv-winsrv/
Vous trouvez une procédure pour charger les ruches depuis le CD : Ultimate Boot CD.

Enfin il est tout à fait possible de charger les ruches depuis regedit en allant les chercher sur un disque dur esclave.
Première règle élémentaire de sécurité : on réfléchit puis on clic et pas l'inverse - Les fichiers/programmes c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas

Sécuriser son ordinateur (version courte)

Tutoriels Logiciels - Tutoriel Windows - Windows 10

Stop publicités - popups intempestives
supprimer-trojan.com : guide de suppression de malwares

Partagez malekal.com : n'hésitez pas à partager sur Facebook et GooglePlus les articles qui vous plaisent.

Répondre

Revenir vers « Papiers / Articles »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité