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
PowerHuntShares — Audite les partages SMB d'Active Directory pour inventorier, analyser et signaler les privilèges excessifs. Découvre les systèmes accessibles, énumère les ACL des partages, identifie les configurations à risque élevé et génère des rapports HTML/CSV pour la priorisation des corrections. | Kitploit
Outils/GitHubGitHub/netspi/powerhuntshares
Analyse des VulnérabilitésAudit de ConfigurationCollecte d'InformationsSécurité RéseauTests d'Intrusion
GitHubnetspi/powerhuntshares

PowerHuntShares

Voir le dépôt
1.0k115il y a 10 moisVérifié par Kitploit

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

Audite les partages SMB d'Active Directory pour inventorier, analyser et signaler les privilèges excessifs. Découvre les systèmes accessibles, énumère les ACL des partages, identifie les configurations à risque élevé et génère des rapports HTML/CSV pour la priorisation des corrections.

Partager

PowerHuntShares v2

PowerHuntShares est un outil PowerShell conçu pour aider les équipes de cybersécurité et les testeurs d'intrusion à mieux identifier, comprendre, attaquer et corriger les partages SMB dans les environnements Active Directory qu'ils protègent. Chaque hacker a une histoire d'abus de partages SMB, mais il s'agit d'une surface d'attaque que les équipes de cybersécurité ont encore du mal à défendre. Ce projet vise à fournir un outil de preuve de concept open source pour créer un inventaire complet des partages, en exploitant des statistiques, des graphiques, des diagrammes et des modèles de langage pour contextualiser les partages, résumer les relations, évaluer les risques et prioriser les corrections.

Il prend en charge les fonctionnalités suivantes :

  • S'authentifier en utilisant le contexte utilisateur actuel, des identifiants ou un nom d'utilisateur/mot de passe en clair.
  • Découvrir les systèmes accessibles associés à un domaine Active Directory automatiquement. Il filtrera également les ordinateurs Active Directory en fonction des ports ouverts disponibles.
  • Cibler un seul ordinateur, une liste d'ordinateurs ou les ordinateurs Active Directory découverts (par défaut).
  • Collecter les informations sur les ACL des partages SMB à partir des ordinateurs cibles à l'aide de PowerShell.
  • Analyser les données des ACL de partage collectées.
  • Produire des rapports de synthèse et des détails sur les privilèges excessifs au format HTML et CSV.

Fonctionnalités bonus :

  • Fonctions LLM autonomes : https://github.com/NetSPI/PowerHuntShares/blob/main/Scripts/Invoke-FingerPrintShare.ps1
  • Analyseurs de mots de passe autonomes : https://github.com/NetSPI/PowerHuntShares/tree/main/Scripts/ConfigParsers

Ressources PowerHuntShares v2 :

  • Blog v2 : https://www.netspi.com/blog/technical-blog/network-pentesting/powerhuntshares-2-0-release/

Ressources PowerHuntShares v1 :

  • Blog v1 : https://www.netspi.com/blog/technical/network-penetration-testing/network-share-permissions-powerhuntshares/
  • Vidéo de présentation v1 : https://www.youtube.com/watch?v=TtwyQchCz6E
  • Diapositives de présentation v1 : https://github.com/NetSPI/PowerHuntShares/blob/main/Presentations/SO-CON_2025_Sutherland_Hunting_SMB_Shares_Final.pdf

Vocabulaire

PowerHuntShares inventorie les ACL de partages SMB configurées avec des « privilèges excessifs » et met en évidence les ACL « à haut risque ». Voici comment ceux-ci sont définis dans ce contexte.

Privilèges excessifs
Les permissions de lecture et d'écriture excessives sur les partages ont été définies comme toute ACL de partage réseau contenant une ACE (Access Control Entry) explicite pour les groupes « Everyone », « Authenticated Users », « BUILTIN\Users », « Domain Users » ou « Domain Computers ». Tous ces groupes donnent accès aux partages concernés aux utilisateurs du domaine en raison de problèmes d'héritage de privilèges. Notez qu'il existe un paramètre permettant aux opérateurs d'ajouter leurs propres groupes cibles.
Voici quelques informations complémentaires :

  • Everyone est une référence directe qui s'applique aux utilisateurs non authentifiés et authentifiés. En général, seule une session nulle est nécessaire pour accéder à ces ressources.
  • BUILTIN\Users contient les Authenticated Users
  • Authenticated Users contient les Domain Users sur les systèmes joints au domaine. C'est pourquoi les Domain Users peuvent accéder à un partage lorsque les permissions de partage ont été attribuées à « BUILTIN\Users ».
  • Domain Users est une référence directe
  • Les Domain Users peuvent également créer jusqu'à 10 comptes d'ordinateur par défaut qui sont placés dans le groupe Domain Computers
  • Les Domain Users disposant d'un accès administratif local à un ordinateur joint au domaine peuvent également usurper l'identité du compte d'ordinateur.

Veuillez noter : Les permissions de partage peuvent être supplantées par les permissions NTFS. De plus, sachez que les noms de partage exclus lors des tests contiennent les mots-clés suivants :

root@kitploit:~
print$, prnproc$, printer, netlogon, et sysvol

Partages à haut risque
Dans le contexte de ce rapport, les partages à haut risque ont été définis comme des partages qui fournissent un accès à distance non autorisé à un système ou une application. Par défaut, cela inclut les partages

root@kitploit:~
 wwwroot, inetpub, c$, et admin$   
Cependant, d'autres expositions peuvent exister sans être spécifiquement signalées.

Commandes de configuration

Voici une liste de commandes qui peuvent être utilisées pour charger PowerHuntShares dans votre session PowerShell actuelle. Veuillez noter que l'une d'elles devra être exécutée chaque fois que vous exécutez PowerShell. Elle n'est pas persistante.

root@kitploit:~
# Contourner les restrictions de la stratégie d'exécution
Set-ExecutionPolicy -Scope Process Bypass

# Importer le module qui se trouve dans le répertoire courant
Import-Module .\PowerHuntShares.psm1

ou

# Réduire le niveau de fonctionnement SSL pour prendre en charge la connexion à github
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
[Net.ServicePointManager]::SecurityProtocol =[Net.SecurityProtocolType]::Tls12

# Télécharger et charger PowerHuntShares.psm1 en mémoire
IEX(New-Object System.Net.WebClient).DownloadString("https://raw.githubusercontent.com/NetSPI/PowerHuntShares/main/PowerHuntShares.psm1")

Exemples de commandes

Remarque importante : Toutes les commandes doivent être exécutées en tant qu'utilisateur de domaine non privilégié.

root@kitploit:~
.EXEMPLE 1 : Exécution à partir d'un ordinateur du domaine. Effectue la découverte d'ordinateurs Active Directory par défaut.
PS C:\temp\test> Invoke-HuntSMBShares -Threads 100 -OutputDirectory c:\temp\test 

.EXEMPLE 2 : Exécution à partir d'un ordinateur du domaine avec des identifiants de domaine alternatifs. Effectue la découverte d'ordinateurs Active Directory par défaut.
PS C:\temp\test> Invoke-HuntSMBShares -Threads 100 -OutputDirectory c:\temp\test -Credential domain\user

.EXEMPLE 3 : Exécution à partir d'un ordinateur du domaine en tant qu'utilisateur actuel. Cibler les hôtes dans un fichier. Un par ligne.
PS C:\temp\test> Invoke-HuntSMBShares -Threads 100 -OutputDirectory c:\temp\test  -HostFile c:\temp\hosts.txt      

.EXEMPLE 4 : Exécution à partir d'un ordinateur hors domaine avec identification. Effectue la découverte d'ordinateurs Active Directory par défaut.
C:\temp\test> runas /netonly /user:domain\user PowerShell.exe
PS C:\temp\test> Import-Module PowerHuntShares.psm1
PS C:\temp\test> Invoke-HuntSMBShares -Threads 100 -RunSpaceTimeout 10 -OutputDirectory c:\folder\ -DomainController 10.1.1.1 -Credential domain\user 
root@kitploit:~
===============================================================
PowerHuntShares
===============================================================
 Cette fonction automatise les tâches suivantes :     

 o Déterminer le domaine de l'ordinateur actuel
 o Énumérer les ordinateurs du domaine        
 o Filtrer les ordinateurs qui répondent aux requêtes ping          
 o Filtrer les ordinateurs qui ont le port TCP 445 ouvert et accessible  
 o Énumérer les partages SMB 
 o Énumérer les permissions des partages SMB   
 o Identifier les partages avec des privilèges potentiellement excessifs       
 o Identifier les partages qui fournissent un accès en lecture et en écriture           
 o Identifier les partages à haut risque
 o Identifier les propriétaires, noms et listes de répertoires courants des partages   
 o Générer des chronologies de création, dernière écriture et dernier accès
 o Générer un rapport sommaire HTML et des fichiers CSV détaillés         

 Remarque : Cela peut prendre des heures dans les grands environnements.       
---------------------------------------------------------------
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---------------------------------------------------------------
DÉCOUVERTE DES PARTAGES      
---------------------------------------------------------------
[*][03/01/2021 09:35] Début de l'analyse
[*][03/01/2021 09:35] Répertoire de sortie : c:\temp\smbshares\SmbShareHunt-03012021093504
[*][03/01/2021 09:35] Connexion réussie au contrôleur de domaine : dc1.demo.local
[*][03/01/2021 09:35] Exécution d'une requête LDAP pour les ordinateurs associés au domaine demo.local
[*][03/01/2021 09:35] - 245 ordinateurs trouvés
[*][03/01/2021 09:35] Ping de 245 ordinateurs
[*][03/01/2021 09:35] - 55 ordinateurs ont répondu aux requêtes ping.
[*][03/01/2021 09:35] Vérification si le port TCP 445 est ouvert sur 55 ordinateurs
[*][03/01/2021 09:36] - 49 ordinateurs ont le port TCP 445 ouvert.
[*][03/01/2021 09:36] Obtention de la liste des partages SMB à partir de 49 ordinateurs
[*][03/01/2021 09:36] - 217 partages SMB ont été trouvés.
[*][03/01/2021 09:36] Obtention des permissions de partage à partir de 217 partages SMB
[*][03/01/2021 09:37] - 374 permissions de partage ont été énumérées.
[*][03/01/2021 09:37] Obtention des listes de répertoires à partir de 33 partages SMB
[*][03/01/2021 09:37] - Ciblage jusqu'à 3 niveaux de répertoire imbriqués
[*][03/01/2021 09:37] - 563 fichiers et dossiers ont été énumérés.
[*][03/01/2021 09:37] Identification des permissions de partage potentiellement excessives
[*][03/01/2021 09:37] - 33 privilèges potentiellement excessifs ont été trouvés sur 12 systèmes..
[*][03/01/2021 09:37] Analyse terminée
---------------------------------------------------------------
ANALYSE DES PARTAGES      
---------------------------------------------------------------
[*][03/01/2021 09:37] Début de l'analyse
[*][03/01/2021 09:37] - 14 partages peuvent être lus sur 12 systèmes.
[*][03/01/2021 09:37] - 1 partage peut être écrit sur 1 système.
[*][03/01/2021 09:37] - 46 partages sont considérés comme non par défaut sur 32 systèmes.
[*][03/01/2021 09:37] - 0 partage est considéré à haut risque sur 0 système
[*][03/01/2021 09:37] - Identification des 5 principaux propriétaires de partages excessifs.
[*][03/01/2021 09:37] - Identification des 5 principaux groupes de partages.
[*][03/01/2021 09:37] - Identification des 5 principaux noms de partages.
[*][03/01/2021 09:37] - Identification des partages créés au cours des 90 derniers jours.
[*][03/01/2021 09:37] - Identification des partages accédés au cours des 90 derniers jours.
[*][03/01/2021 09:37] - Identification des partages modifiés au cours des 90 derniers jours.
[*][03/01/2021 09:37] Analyse terminée
---------------------------------------------------------------
RÉSUMÉ DU RAPPORT SUR LES PARTAGES      
---------------------------------------------------------------
[*][03/01/2021 09:37] Domaine : demo.local
[*][03/01/2021 09:37] Heure de début : 03/01/2021 09:35:04
[*][03/01/2021 09:37] Heure de fin : 03/01/2021 09:37:27
[*][03/01/2021 09:37] Durée d'exécution : 00:02:23.2759086
[*][03/01/2021 09:37] 
[*][03/01/2021 09:37] RÉSUMÉ DES ORDINATEURS
[*][03/01/2021 09:37] - 245 ordinateurs du domaine trouvés.
[*][03/01/2021 09:37] - 55 (22.45%) ordinateurs du domaine ont répondu au ping.
[*][03/01/2021 09:37] - 49 (20.00%) ordinateurs du domaine avaient le port TCP 445 accessible.
[*][03/01/2021 09:37] - 32 (13.06%) ordinateurs du domaine avaient des partages non par défaut.
[*][03/01/2021 09:37] - 12 (4.90%) ordinateurs du domaine avaient des partages avec des privilèges potentiellement excessifs.
[*][03/01/2021 09:37] - 12 (4.90%) ordinateurs du domaine avaient des partages permettant un accès EN LECTURE.
[*][03/01/2021 09:37] - 1 (0.41%) ordinateur du domaine avait des partages permettant un accès EN ÉCRITURE.
[*][03/01/2021 09:37] - 0 (0.00%) ordinateur du domaine avait des partages considérés COMME À HAUT RISQUE.
[*][03/01/2021 09:37] 
[*][03/01/2021 09:37] RÉSUMÉ DES PARTAGES
[*][03/01/2021 09:37] - 217 partages trouvés. Nous attendons un minimum de 98 partages
[*][03/01/2021 09:37]   car 49 systèmes avaient des ports ouverts et il y a généralement deux partages par défaut.
[*][03/01/2021 09:37] - 46 (21.20%) partages sur 32 systèmes étaient non par défaut.
[*][03/01/2021 09:37] - 14 (6.45%) partages sur 12 systèmes sont configurés avec 33 ACL potentiellement excessives.
[*][03/01/2021 09:37] - 14 (6.45%) partages sur 12 systèmes permettaient un accès EN LECTURE.
[*][03/01/2021 09:37] - 1 (0.46%) partage sur 1 système permettait un accès EN ÉCRITURE.
[*][03/01/2021 09:37] - 0 (0.00%) partage sur 0 système est considéré COMME À HAUT RISQUE.
[*][03/01/2021 09:37] 
[*][03/01/2021 09:37] RÉSUMÉ DES ACL DE PARTAGE
[*][03/01/2021 09:37] - 374 ACL trouvées.
[*][03/01/2021 09:37] - 374 (100.00%) ACL étaient associées à des partages non par défaut.
[*][03/01/2021 09:37] - 33 (8.82%) ACL se sont avérées potentiellement excessives.
[*][03/01/2021 09:37] - 32 (8.56%) ACL se sont avérées permettant un accès EN LECTURE.
[*][03/01/2021 09:37] - 1 (0.27%) ACL s'est avérée permettre un accès EN ÉCRITURE.
[*][03/01/2021 09:37] - 0 (0.00%) ACL se sont avérées associées à des noms de partage À HAUT RISQUE.
[*][03/01/2021 09:37] 
[*][03/01/2021 09:37] - Les 5 noms de partage les plus courants sont :
[*][03/01/2021 09:37] - 9 des 14 (64.29%) partages découverts sont associés aux 5 premiers noms de partage.
[*][03/01/2021 09:37]   - 4 backup
[*][03/01/2021 09:37]   - 2 ssms
[*][03/01/2021 09:37]   - 1 test2
[*][03/01/2021 09:37]   - 1 test1
[*][03/01/2021 09:37]   - 1 users
[*] -----------------------------------------------

Exemples de rapports HTML

Page de rapport récapitulatif

Page de rapport récapitulatif

Page des fichiers intéressants

Page des fichiers intéressants

Page des secrets extraits

Page des secrets extraits

Page de l'explorateur ShareGraph

Page de l'explorateur ShareGraph

Crédits

Auteur
Scott Sutherland (@_nullbind)

Code open source utilisé
Ces personnes ont écrit du code open source qui a été utilisé dans le cadre de ce projet. Un grand merci à elles et à leur travail !

NomSite
Will Schroeder (@harmj0y)https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1

Licence
BSD 3-Clause

Tâches à faire

Correctifs/bogues en attente

  • Mettre à jour le code pour éviter Defender
  • Les fonctions d'extraction de mots de passe renvoient actuellement un enregistrement « valide » lorsque les champs sont trouvés dans le fichier, mais ils ont des valeurs vides. De plus, certains répertoires semblent être traités comme des fichiers.
  • Les ACL associées à Builtin\Users apparaissent parfois comme LocalSystem dans des conditions indéfinies, et par conséquent, n'apparaissent pas dans l'exportation des privilèges excessifs. - Merci Sam !

Fonctionnalités en attente

  • Ajouter la version de PowerHuntShares à la sortie du rapport HTML
  • Ajouter des options pour refuser l'énumération des fichiers intéressants et l'analyse des secrets.
  • Ajouter la possibilité de spécifier des groupes supplémentaires à cibler
  • Ajouter une recherche dans le contenu des fichiers.
  • Ajouter l'option DontExcludePrintShares
  • Ajouter le ciblage automatique des groupes qui contiennent un grand pourcentage de la population d'utilisateurs ; plus de 70% (rendre configurable). Ajouter comme option.
  • Ajouter la configuration ficelle : netlogon et sysvol peuvent renvoyer un accès refusé lors de l'utilisation de Windows 10 à moins que le paramètre ci-dessous ne soit configuré. Automatiser une vérification pour cela, et tenter de modifier si les privilèges sont au bon niveau. gpedit.msc, aller dans Ordinateur -> Modèles d'administration -> Réseau -> Fournisseur réseau -> Chemins UNC renforcés, activer la politique et cliquer sur le bouton « Afficher ». Entrer le nom de votre serveur (* pour tous les serveurs) dans « Nom de la valeur » et entrer le texte suivant « RequireMutualAuthentication=0,RequireIntegrity=0,RequirePrivacy=0 » sans guillemets dans le champ « Valeur ».
  • Ajouter des données de sessions actives pour aider à identifier les propriétaires/utilisateurs potentiels du partage.
  • Récupérer les SPN et les descriptions d'ordinateurs/descriptions de comptes SPN pour aider à identifier le propriétaire/l'unité commerciale.
  • Créer un fichier d'importation / edge BloodHound (partage à haut risque)
  • Améliorer la prise en charge d'IPv6, les adresses IPv6 n'apparaissent pas dans le résumé des sous-réseaux
  • Identification dynamique des pics dans la création de partages à haut risque/regroupements courants, besoin de mieux résumer les détails de support au-delà de la simple chronologie. Pour chacune des informations, ajouter le nombre moyen de partages créés pour le regroupement d'informations par année/mois (pour le hachage de dossier / nom, etc.), et l'augmentation du mois/année où il y a un pic. (essayer de fournir un contexte historique) ; peut-être même lister les répertoires non par défaut les plus courants utilisés par chacun d'eux. Ajouter potentiellement aussi la « date de première apparition ». (en alpha)
  • Identification dynamique de la cadence de création, modification et accès des partages à travers une population de partages qui partagent un nom et ont un niveau de similarité élevé.
  • Ajouter l'affichage des permissions de partage (en plus des permissions NTFS déjà affichées) et de l'accès résultant (le plus restrictif l'emporte)
  • Ajouter la profondeur, l'indicateur fichier/répertoire
  • Tellement. D'autres. Choses.

Aperçu visuel de PowerHuntShares

Voici une présentation visuelle du fonctionnement de PowerHuntShares, des données qu'il extrait et de la manière dont il présente des résultats exploitables.

Tableau de bord

Fournit une vue d'ensemble des partages découverts et des risques associés.

Tableau de bord

Fichiers générés

Rapports générés automatiquement pour une analyse facile et une révision hors ligne.

Fichiers générés

Noms de partages

Cartographie détaillée des noms de partages et de leurs propriétés.

Noms de partages - Exemple 1 Noms de partages - Exemple 2 Noms de partages - Exemple 3

Recommandations de correction

Étapes de correction suggérées pour remédier aux risques identifiés.

Correction

Vue chronologique

Visualisation des problèmes découverts dans le temps.

Chronologie

Comparaison par pairs

Compare les partages et permissions découverts entre différents systèmes.

Comparaison par pairs

Groupes de dossiers

Regroupe les dossiers et partages connexes pour un meilleur contexte.

Groupes de dossiers

Exposition par empreinte d'actif

Montre l'exposition des actifs en fonction des empreintes découvertes.

Exposition par empreinte d'actif

Graphique des partages

Représentation visuelle des partages découverts et de leurs relations.

Graphique des partages

Secrets extraits

Met en évidence les informations sensibles et les secrets découverts lors de l'analyse.

Secrets extraits

Fichiers intéressants

Liste les fichiers potentiellement intéressants ou de grande valeur trouvés dans les partages.

Fichiers intéressants

Exposition des données

Met en évidence les zones où des données sensibles peuvent être exposées.

Exposition des données

Exposition aux risques

Vues complètes de l'exposition aux risques avec une analyse détaillée.

Exposition aux risques Exposition aux risques 2

Télécharger l’outil
Warren F (@pscookiemonster)https://github.com/RamblingCookieMonster/Invoke-Parallel
Luben Kirovhttp://www.gi-architects.co.uk/2016/02/powershell-check-if-ip-or-subnet-matchesfits/