Crypto
Bon il me fallait une page pour parler de tout ce qui est Cryptographie / Mots de passes / secrets. J'ai donc englobé tout ça sous le terme un peu large de "Crypto" au profit de la page "Système" qui n'avait pas vraiment sa place sur ce site de Docs.
Chez Microsoft
En environnement windows, il existe à priori 3 façons de stocker les mots de passe pour une machine windows :
La base SAM
Cette base peut être dump lorsqu'un utilisateur est administrateur local de la machine
Chemin vers la base SAM
C:\Windows\System32\config
Si le disque n'est pas chiffré, utilisation d'une clé bootable pour modifier ce fichier avec chntpw (dispo dans les dépôts communautaires ubuntu) pour ainsi blank le mot de passe de l'utilisateur souhaité 😈
La base LSA
La base LSA stocke les informations du domaine.
Le processus LSASS
Ce processus stocke dans la mémoire vive les sessions active d'une machine.
Le saint graal : le NTDS
Dans un pentest d'environnement Active Directory, on va très vite s'intéresser à la "base de données" de mots de passe que renferme notre service ADDS.
Hashs
Pour rappels, les hashs suivant indiquent que le mot de passe est vide :
Au format LM
aad3b435b51404eeaad3b435b51404ee
Au format NT
31d6cfe0d16ae931b73c59d7e0c089c0
En cas de doutes, le compte "Invité" / "Guest" (ID 501) sur un NTDS est dispose toujours de mot de passe vide par défaut.
Ne pas oublier qu'un hash LM peut être vide mais le hash NT ne l'est surement pas.
Hashcat
Pour casser tout types de hashs, j'utilise beaucoup Hashcat. Couplé à un système Windows + Drivers à jours + GPU Nvidia on atteint de plutôt bonnes performances pour casser du mot de passe !
De très nombreux types de hashs existent, et hashcat a probablement la solution adaptée. Voici la commande principale qu'il faut adapter en fonction du type de hash :
hashcat -m XXXX -a 0 -O /path/vers/hash.txt /path/vers/dict.txt
Et voici les types de hashs communément utilisés :
Type de Hash | Mode |
---|---|
LM | 3000 |
NT | 1000 |
NetNTLMv1 | 5500 |
NetNTLMv2 | 5600 |
MsCache2 (DCC2 - slooooooooow) | 5600 |
Wordlists
Weakpass fournit des listes de mots de passes légères (parfois moins) pour combiner avec hashcat pour péter du mot de passe.
J'utilise en liste "portables" :
- Rockyou
- HashesOrg
Sur un temps plus long, ces listes de mots de passes sont efficaces :
- Hashesorg2019
- Weakpass
Tools / old / vrac à retrier
Pamspy
pamspy, un creds dumper pour Linux.
Mimikatz
Un petit billet sur un incontournable des attaques Kerberos : mimikatz