Editer la base de registre Windows XP avec chntpw

chntpw fait partie des outils miraculeux que seule la communauté du libre sait produire. Nous allons voir ici comment attaquer la base de registre XP de façon éditer,créer ou supprimer des clés et valeurs.

1) Vérifier les droits en écriture sur la partition NTFS contenant XP

Ceci est un préalable obligatoire. Tapez dans Konsole : mount

La ligne concernant votre partition système doit apparaître avec rw :

...
/dev/sda1 on /mnt/sda1 type fuseblk (rw,nosuid,nodev,noatime,allow_other,blksize=4096)
...

2) Les fichiers de la BDR

Vous avez tout à fait le droit d'accéder aux fichiers de la base de registre avec konqueror :

  • Ouvrez l'icône supports de stockage du bureau, choisissez votre partition, et positionnez-vous dans /windows/system32/config
  • Faites y un clic droit, puis action, ouvrir un terminal ici

Plus directement, ouvrez konsole, puis :

#On se positionne dans le dossier contenant les fichiers de bdr
cd /mnt/sda1/WINDOWS/system32/config
#On liste le contenu du dossier
ls

Vous devriez obtenir ce style de liste :

ACEEvent.evt*  default.sav*   SecEvent.Evt*  software.LOG*  system.LOG*     userdiff*
AppEvent.Evt*  Internet.evt*  SECURITY*      software.sav*  systemprofile/  userdiff.LOG*
default*       SAM*           SECURITY.LOG*  SysEvent.Evt*  system.sav*
default.LOG*   SAM.LOG*       software*      system*        TempKey.LOG*

3) Faisons une sauvegarde !

Avant toute chose, nous allons faire une sauvegarde sur un autre support des 5 fichiers importants : system, software, SAM, SECURITY et default :

#Créons un dossier de sauvegarde sur un autre disque
mkdir /mnt/sdb1/sav_registre
#On copie les fichiers dedans
cp -P system software SAM SECURITY default /mnt/sdb1/sav_registre
#On contrôle la présence des fichiers dans le dossier de sauvegarde
ls /mnt/sdb1/sav_registre

Les 5 fichiers correspondent aux ruches suivantes :

  • HKLM\SAM : SAM
  • HKLM\SECURITY : SECURITY
  • HKLM\SOFTWARE : software
  • HKLM\SYSTEM : system
  • HKU\.DEFAULT : default

4) Editons la ruche HKLM\software

Toujours dans Konsole, nous allons choisir de parcourir HKLM\software :

chntpw -e software

Vous devriez obtenir ceci :

chntpw version 0.99.3 040818, (c) Petter N Hagen
Hive's name (from header): <emRoot\System32\Config\SOFTWARE>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 686c <lh>
Page at 0x18ac000 is not 'hbin', assuming file contains garbage at end 
File size 25952256 [18c0000] bytes, containing 6096 pages (+ 1 headerpage)
Used for data: 482714/25549448 blocks/bytes, unused: 3598/121720 blocks/bytes.
Simple registry editor. ? for help.

[1020] >   

Si vous tapez ?, vous obtenez l'aide (ici traduite):

Simple registry editor:
hive [<n>] - liste les ruches ou saute à la ruche numero 'n'
cd <key> - change de clé
ls | dir [<key>] - affiche les clés et les valeurs
cat | type <value> - affiche la valeur de la clé
hex <value> - hexdump of value data
st [<hexaddr>] - affiche des informations sur la structure
ck [<keyname>]          - affiche la classe d'une clé s'il y en a une
nk <keyname> - ajoute une clé
dk <keyname> - supprime une clé (doit être vide - récursivité non supportée)
ed <value>            - Editer une valeur
nv <type> <valuename> - Ajouter une valeur
dv <valuename>        - Supprimer une valeur
delallv               - Supprime toutes les valeurs de la clé courante
rdel <keyname>        - Suppression récursive d'une clé et de ses sous-clés
debug - enter buffer hexeditor
q - quitter

Allons à l'essentiel, à savoir HKLM\software\Microsoft\Windows\CurrentVersion\Run, la branche servant à lancer certaines applications à l'ouverture de session:

cd Microsoft\Windows\CurrentVersion\Run
#listons son contenu
ls

J'obtiens ceci :

ls of node at offset 0x6643dc
Node has 0 subkeys and 5 values
offs        size      type   value name                    [value if type DWORD]
[b8ae84]    134  REG_SZ            <ATICCC>
[eab744]    124  REG_SZ            <NVMixerTray>
[115b544]     92  REG_SZ            <WSTray Icon>
[14cffc4]     54  REG_SZ            <CameraFixer>
[18683bc]     46  REG_SZ            <snpstd>

C'est raisonnable ! Listons le contenu de la valeur ATICCC :

cat ATICCC

chntpw renvoie ceci :

Value <ATICCC> of type REG_SZ, data length 134 [0x86]
"C:\Program Files\ATI Technologies\ATI.ACE\cli.exe" runtime -Delay

Il s'agit du panneau de contrôle ATI. Si je souhaite modifier cette valeur :

ed ATICCC

Ce qui donne :

EDIT: <ATICCC> of type REG_SZ with length 134 [0x86]
[ 0]: "C:\Program Files\ATI Technologies\ATI.ACE\cli.exe" runtime -Delay

Now enter new strings, one by one.
Enter nothing to keep old.
[ 0]: "C:\Program Files\ATI Technologies\ATI.ACE\cli.exe" runtime -Delay
->  

Pour supprimer cette même valeur :

dv ATICCC

Quittons et tapant q ; chntpwd demande si on souhaite écrire les modifications (par défaut non):

Write hive files? (y/n) [n] : 

5) Cas pratique : le virus Restarter.F

Le virus Restarter.F est un vers qui se transmet via MSN. Il rend l'ouverture de toute session impossible (déconnexion immédiate) en modifiant la valeur de Userinit (HKLM\software\Microsoft\Windows NT\CurrentVersion\Winlogon). Nous allons utiliser chntpw pour remettre cette valeur à son état d'origine :

chntpw -e software

Nous voici dans la bonne ruche;

cd \Microsoft\Windows NT\CurrentVersion\Winlogon

Editons la valeur Userinit :

ed Userinit

Indiquez (avec la virgule !):

C:\WINDOWS\system32\userinit.exe,

Profitez-en pour aller faire un tour du coté de HKLM\software\Microsoft\Windows\CurrentVersion\Run vérifier qu'il n'y a pas autre chose qui traine, puis quittez par q, et tapez y pour sauvegarder.

Reboot 'n pray ;-)

 
xp/editer_la_base_de_registre_windows_xp_avec_chntpw.txt · Dernière modification: 2009/01/11 19:10 par adminlfi
 
Recent changes RSS feed Licence Creative Commons BY-SA Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki