Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
PowerHuntShares — Überprüft Active Directory SMB-Freigaben, um übermäßige Berechtigungen zu inventarisieren, zu analysieren und zu melden. Entdeckt zugängliche Systeme, listet Freigabe-ACLs auf, identifiziert risikoreiche Konfigurationen und erstellt HTML/CSV-Berichte zur Priorisierung von Abhilfemaßnahmen. | Kitploit
Tools/GitHubGitHub/netspi/powerhuntshares
SchwachstellenanalyseKonfigurationsprüfungInformationsbeschaffungNetzwerksicherheitPenetrationstests
GitHubnetspi/powerhuntshares

PowerHuntShares

Repository anzeigen
1.0k115vor 10 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

Über

Überprüft Active Directory SMB-Freigaben, um übermäßige Berechtigungen zu inventarisieren, zu analysieren und zu melden. Entdeckt zugängliche Systeme, listet Freigabe-ACLs auf, identifiziert risikoreiche Konfigurationen und erstellt HTML/CSV-Berichte zur Priorisierung von Abhilfemaßnahmen.

Teilen

PowerHuntShares v2

PowerHuntShares ist ein PowerShell-Tool, das entwickelt wurde, um Cybersicherheitsteams und Penetrationstestern dabei zu helfen, SMB-Freigaben in den Active Directory-Umgebungen, die sie schützen, besser zu identifizieren, zu verstehen, anzugreifen und zu beheben. Jeder Hacker hat eine Geschichte über den Missbrauch von SMB-Freigaben, aber es ist eine Angriffsfläche, die Cybersicherheitsteams immer noch nur schwer verteidigen können. Dieses Projekt zielt darauf ab, ein offenes Proof-of-Concept-Tool zur Erstellung eines umfassenden Freigabeinventars bereitzustellen, das Statistiken, Diagramme, Grafiken und Sprachmodelle nutzt, um Freigaben zu kontextualisieren, Beziehungen zusammenzufassen, Risiken zu bewerten und die Behebung zu priorisieren.

Es unterstützt Funktionen zur:

  • Authentifizierung unter Verwendung des aktuellen Benutzerkontexts, eines Credentials oder Klartext-Benutzername/Passwort.
  • Erkennung zugänglicher Systeme, die automatisch einer Active Directory-Domäne zugeordnet sind. Es filtert auch Active Directory-Computer basierend auf verfügbaren offenen Ports.
  • Zielsetzung auf einen einzelnen Computer, eine Liste von Computern oder erkannte Active Directory-Computer (Standard).
  • Sammlung von SMB-Freigabe-ACL-Informationen von Zielcomputern mittels PowerShell.
  • Analyse der gesammelten Freigabe-ACL-Daten.
  • Berichterstattung von Zusammenfassungsberichten und Details zu übermäßigen Berechtigungen in HTML- und CSV-Dateiformaten.

Bonusfunktionen:

  • Eigenständige LLM-Funktionen: https://github.com/NetSPI/PowerHuntShares/blob/main/Scripts/Invoke-FingerPrintShare.ps1
  • Eigenständige Passwort-Parser: https://github.com/NetSPI/PowerHuntShares/tree/main/Scripts/ConfigParsers

PowerHuntShares v2 Ressourcen:

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

PowerHuntShares v1 Ressourcen:

  • v1 Blog: https://www.netspi.com/blog/technical/network-penetration-testing/network-share-permissions-powerhuntshares/
  • v1 Präsentationsvideo : https://www.youtube.com/watch?v=TtwyQchCz6E
  • v1 Präsentationsfolien: https://github.com/NetSPI/PowerHuntShares/blob/main/Presentations/SO-CON_2025_Sutherland_Hunting_SMB_Shares_Final.pdf

Vokabular

PowerHuntShares inventarisiert SMB-Freigabe-ACLs, die mit „übermäßigen Berechtigungen“ konfiguriert sind, und hebt „hochriskante“ ACLs hervor. Im Folgenden ist definiert, was in diesem Zusammenhang darunter verstanden wird.

Übermäßige Berechtigungen
Übermäßige Lese- und Schreibfreigabeberechtigungen wurden als jede Netzwerkfreigabe-ACL definiert, die einen expliziten ACE (Access Control Entry) für die Gruppen „Everyone“, „Authenticated Users“, „BUILTIN\Users“, „Domain Users“ oder „Domain Computers“ enthält. Alle ermöglichen Domänenbenutzern aufgrund von Vererbungsproblemen Zugriff auf die betroffenen Freigaben. Beachten Sie, dass es einen Parameter gibt, der es Operatoren erlaubt, eigene Zielgruppen hinzuzufügen.
Im Folgenden finden Sie einige zusätzliche Hintergrundinformationen:

  • Everyone ist ein direkter Verweis, der sowohl für nicht authentifizierte als auch für authentifizierte Benutzer gilt. Normalerweise ist nur eine Nullsitzung erforderlich, um auf diese Ressourcen zuzugreifen.
  • BUILTIN\Users enthält Authenticated Users
  • Authenticated Users enthält Domain Users auf domänengebundenen Systemen. Deshalb können Domain Users auf eine Freigabe zugreifen, wenn die Freigabeberechtigungen „BUILTIN\Users“ zugewiesen wurden.
  • Domain Users ist ein direkter Verweis
  • Domain Users können standardmäßig bis zu 10 Computerkonten erstellen, die in der Gruppe Domain Computers platziert werden.
  • Domain Users, die lokale Administratorrechte auf einem domänengebundenen Computer haben, können auch das Computerkonto imitieren.

Bitte beachten Sie: Freigabeberechtigungen können durch NTFS-Berechtigungen außer Kraft gesetzt werden. Beachten Sie auch, dass beim Testen Freigabenamen ausgeschlossen wurden, die die folgenden Schlüsselwörter enthalten:

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

Hochriskante Freigaben
Im Kontext dieses Berichts wurden hochriskante Freigaben als Freigaben definiert, die unbefugten Remote-Zugriff auf ein System oder eine Anwendung ermöglichen. Standardmäßig umfasst dies die Freigaben

root@kitploit:~
 wwwroot, inetpub, c$, und admin$   
Es können jedoch weitere Gefährdungen bestehen, die darüber hinaus nicht erwähnt werden.

Setup-Befehle

Nachfolgend finden Sie eine Liste von Befehlen, die verwendet werden können, um PowerHuntShares in Ihre aktuelle PowerShell-Sitzung zu laden. Bitte beachten Sie, dass einer dieser Befehle jedes Mal ausgeführt werden muss, wenn PowerShell gestartet wird. Es ist nicht dauerhaft.

root@kitploit:~
# Bypass execution policy restrictions
Set-ExecutionPolicy -Scope Process Bypass

# Import module that exists in the current directory
Import-Module .\PowerHuntShares.psm1

or

# Reduce SSL operating level to support connection to github
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
[Net.ServicePointManager]::SecurityProtocol =[Net.SecurityProtocolType]::Tls12

# Download and load PowerHuntShares.psm1 into memory
IEX(New-Object System.Net.WebClient).DownloadString("https://raw.githubusercontent.com/NetSPI/PowerHuntShares/main/PowerHuntShares.psm1")

Beispielbefehle

Wichtiger Hinweis: Alle Befehle sollten als unprivilegierter Domänenbenutzer ausgeführt werden.

root@kitploit:~
.EXAMPLE 1: Run from a domain computer. Performs Active Directory computer discovery by default.
PS C:\temp\test> Invoke-HuntSMBShares -Threads 100 -OutputDirectory c:\temp\test 

.EXAMPLE 2: Run from a domain computer with alternative domain credentials. Performs Active Directory computer discovery by default.
PS C:\temp\test> Invoke-HuntSMBShares -Threads 100 -OutputDirectory c:\temp\test -Credential domain\user

.EXAMPLE 3: Run from a domain computer as current user. Target hosts in a file. One per line.
PS C:\temp\test> Invoke-HuntSMBShares -Threads 100 -OutputDirectory c:\temp\test  -HostFile c:\temp\hosts.txt      

.EXAMPLE 4: Run from a non-domain computer with credential. Performs Active Directory computer discovery by default.
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
===============================================================
 This function automates the following tasks:     

 o Determine current computer's domain
 o Enumerate domain computers        
 o Filter for computers that respond to ping requests          
 o Filter for computers that have TCP 445 open and accessible  
 o Enumerate SMB shares 
 o Enumerate SMB share permissions   
 o Identify shares with potentially excessive privileges       
 o Identify shares that provide read & write access           
 o Identify shares that are high risk
 o Identify common share owners, names, & directory listings   
 o Generate creation, last written, & last accessed timelines
 o Generate html summary report and detailed csv files         

 Note: This can take hours to run in large environments.       
---------------------------------------------------------------
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---------------------------------------------------------------
SHARE DISCOVERY      
---------------------------------------------------------------
[*][03/01/2021 09:35] Scan Start
[*][03/01/2021 09:35] Output Directory: c:\temp\smbshares\SmbShareHunt-03012021093504
[*][03/01/2021 09:35] Successful connection to domain controller: dc1.demo.local
[*][03/01/2021 09:35] Performing LDAP query for computers associated with the demo.local domain
[*][03/01/2021 09:35] - 245 computers found
[*][03/01/2021 09:35] Pinging 245 computers
[*][03/01/2021 09:35] - 55 computers responded to ping requests.
[*][03/01/2021 09:35] Checking if TCP Port 445 is open on 55 computers
[*][03/01/2021 09:36] - 49 computers have TCP port 445 open.
[*][03/01/2021 09:36] Getting a list of SMB shares from 49 computers
[*][03/01/2021 09:36] - 217 SMB shares were found.
[*][03/01/2021 09:36] Getting share permissions from 217 SMB shares
[*][03/01/2021 09:37] - 374 share permissions were enumerated.
[*][03/01/2021 09:37] Getting directory listings from 33 SMB shares
[*][03/01/2021 09:37] - Targeting up to 3 nested directory levels
[*][03/01/2021 09:37] - 563 files and folders were enumerated.
[*][03/01/2021 09:37] Identifying potentially excessive share permissions
[*][03/01/2021 09:37] - 33 potentially excessive privileges were found across 12 systems..
[*][03/01/2021 09:37] Scan Complete
---------------------------------------------------------------
SHARE ANALYSIS      
---------------------------------------------------------------
[*][03/01/2021 09:37] Analysis Start
[*][03/01/2021 09:37] - 14 shares can be read across 12 systems.
[*][03/01/2021 09:37] - 1 shares can be written to across 1 systems.
[*][03/01/2021 09:37] - 46 shares are considered non-default across 32 systems.
[*][03/01/2021 09:37] - 0 shares are considered high risk across 0 systems
[*][03/01/2021 09:37] - Identified top 5 owners of excessive shares.
[*][03/01/2021 09:37] - Identified top 5 share groups.
[*][03/01/2021 09:37] - Identified top 5 share names.
[*][03/01/2021 09:37] - Identified shares created in last 90 days.
[*][03/01/2021 09:37] - Identified shares accessed in last 90 days.
[*][03/01/2021 09:37] - Identified shares modified in last 90 days.
[*][03/01/2021 09:37] Analysis Complete
---------------------------------------------------------------
SHARE REPORT SUMMARY      
---------------------------------------------------------------
[*][03/01/2021 09:37] Domain: demo.local
[*][03/01/2021 09:37] Start time: 03/01/2021 09:35:04
[*][03/01/2021 09:37] End time: 03/01/2021 09:37:27
[*][03/01/2021 09:37] Run time: 00:02:23.2759086
[*][03/01/2021 09:37] 
[*][03/01/2021 09:37] COMPUTER SUMMARY
[*][03/01/2021 09:37] - 245 domain computers found.
[*][03/01/2021 09:37] - 55 (22.45%) domain computers responded to ping.
[*][03/01/2021 09:37] - 49 (20.00%) domain computers had TCP port 445 accessible.
[*][03/01/2021 09:37] - 32 (13.06%) domain computers had shares that were non-default.
[*][03/01/2021 09:37] - 12 (4.90%) domain computers had shares with potentially excessive privileges.
[*][03/01/2021 09:37] - 12 (4.90%) domain computers had shares that allowed READ access.
[*][03/01/2021 09:37] - 1 (0.41%) domain computers had shares that allowed WRITE access.
[*][03/01/2021 09:37] - 0 (0.00%) domain computers had shares that are HIGH RISK.
[*][03/01/2021 09:37] 
[*][03/01/2021 09:37] SHARE SUMMARY
[*][03/01/2021 09:37] - 217 shares were found. We expect a minimum of 98 shares
[*][03/01/2021 09:37]   because 49 systems had open ports and there are typically two default shares.
[*][03/01/2021 09:37] - 46 (21.20%) shares across 32 systems were non-default.
[*][03/01/2021 09:37] - 14 (6.45%) shares across 12 systems are configured with 33 potentially excessive ACLs.
[*][03/01/2021 09:37] - 14 (6.45%) shares across 12 systems allowed READ access.
[*][03/01/2021 09:37] - 1 (0.46%) shares across 1 systems allowed WRITE access.
[*][03/01/2021 09:37] - 0 (0.00%) shares across 0 systems are considered HIGH RISK.
[*][03/01/2021 09:37] 
[*][03/01/2021 09:37] SHARE ACL SUMMARY
[*][03/01/2021 09:37] - 374 ACLs were found.
[*][03/01/2021 09:37] - 374 (100.00%) ACLs were associated with non-default shares.
[*][03/01/2021 09:37] - 33 (8.82%) ACLs were found to be potentially excessive.
[*][03/01/2021 09:37] - 32 (8.56%) ACLs were found that allowed READ access.
[*][03/01/2021 09:37] - 1 (0.27%) ACLs were found that allowed WRITE access.
[*][03/01/2021 09:37] - 0 (0.00%) ACLs were found that are associated with HIGH RISK share names.
[*][03/01/2021 09:37] 
[*][03/01/2021 09:37] - The 5 most common share names are:
[*][03/01/2021 09:37] - 9 of 14 (64.29%) discovered shares are associated with the top 5 share names.
[*][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
[*] -----------------------------------------------

HTML-Berichtsbeispiele

Übersichtsseite des Berichts

Übersichtsseite des Berichts

Seite mit interessanten Dateien

Seite mit interessanten Dateien

Seite mit extrahierten Geheimnissen

Seite mit extrahierten Geheimnissen

ShareGraph Explorer Seite

ShareGraph Explorer Seite

Danksagungen

Autor
Scott Sutherland (@_nullbind)

Verwendeter Open-Source-Code
Diese Personen haben Open-Source-Code geschrieben, der im Rahmen dieses Projekts verwendet wurde. Ein großes Dankeschön geht an sie und ihre Arbeit!

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

Lizenz
BSD 3-Clause

Todos

Ausstehende Fehlerbehebungen/Fehler

  • Code aktualisieren, um Defender zu umgehen
  • Passwort-Extraktionsfunktionen geben derzeit einen „gültigen“ Datensatz zurück, wenn die Felder in der Datei gefunden werden, aber leere Werte haben. Außerdem scheinen einige Verzeichnisse als Dateien behandelt zu werden.
  • ACLs, die mit Builtin\Users verknüpft sind, erscheinen manchmal unter undefinierten Bedingungen als LocalSystem und tauchen daher nicht im Export der übermäßigen Berechtigungen auf. - Danke Sam!

Ausstehende Funktionen

  • PowerHuntShares-Version zum HTML-Berichtsoutput hinzufügen
  • Optionen hinzufügen, um die Aufzählung interessanter Dateien und die Geheimnisanalyse abzuwählen
  • Möglichkeit hinzufügen, zusätzliche Zielgruppen anzugeben
  • Dateiinhaltsdurchsuchung hinzufügen
  • Option DontExcludePrintShares hinzufügen
  • Automatische Zielsetzung für Gruppen, die einen großen Prozentsatz der Benutzerpopulation enthalten; über 70% (konfigurierbar machen). Als Option hinzufügen.
  • Konfiguration hinzufügen: netlogon und sysvol können Zugriff verweigert werden, wenn Windows 10 verwendet wird, sofern die unten stehende Einstellung nicht konfiguriert ist. Automatisch prüfen und gegebenenfalls ändern, wenn die Berechtigungen auf dem richtigen Niveau sind. gpedit.msc, gehen Sie zu Computer -> Administrative Vorlagen -> Netzwerk -> Netzwerk-Anbieter -> Harte UNC-Pfade, aktivieren Sie die Richtlinie und klicken Sie auf die Schaltfläche „Anzeigen“. Geben Sie Ihren Servernamen (* für alle Server) in „Wertname“ ein und geben Sie den folgenden Text „RequireMutualAuthentication=0,RequireIntegrity=0,RequirePrivacy=0“ ohne Anführungszeichen in das Feld „Wert“ ein.
  • Aktive Sitzungsdaten hinzufügen, um potenzielle Besitzer/Benutzer von Freigaben zu identifizieren.
  • SPNs und Computerbeschreibungen/SPN-Kontobeschreibungen abrufen, um Besitzer/Geschäftseinheit zu identifizieren.
  • Bloodhound-Importdatei / -Kante (hochriskante Freigabe) erstellen
  • Bessere Unterstützung für IPv6 hinzufügen, IPv6-Adressen tauchen nicht in der Subnetz-Zusammenfassung auf
  • Dynamische Identifizierung von Spitzen bei der Erstellung hochriskanter Freigaben/gemeinsamer Gruppierungen – es müssen besser unterstützende Details über die Zeitleiste hinaus zusammengefasst werden. Für jede Dateneinsicht die durchschnittliche Anzahl der erstellten Freigaben für die Einsichtsgrupierung nach Jahr/Monat (für Ordner-Hash / Name usw.) hinzufügen und den Anstieg im Monat/Jahr des Spitzenwerts angeben. (versuchen, einen historischen Kontext zu liefern); vielleicht sogar die häufigsten Nicht-Standard-Verzeichnisse auflisten, die von jeder dieser Gruppen verwendet werden. Optional auch „Erstmals gesehenes Datum“ hinzufügen. (in Alpha)
  • Dynamische Identifizierung des Rhythmus von Freigabeerstellung, -änderung und -zugriff über eine Freigabepopulation mit gleichem Namen und hohem Ähnlichkeitsgrad.
  • Anzeige der Freigabeberechtigungen (zusammen mit den bereits angezeigten NTFS-Berechtigungen) und des resultierenden Zugriffs (die restriktivste gewinnt) hinzufügen
  • Tiefe, Datei-/Verzeichnis-Flag hinzufügen
  • So. Viele. Andere. Dinge.

PowerHuntShares Visueller Überblick

Nachfolgend finden Sie eine visuelle Schritt-für-Schritt-Erklärung, wie PowerHuntShares funktioniert, welche Daten es extrahiert und wie es umsetzbare Ergebnisse präsentiert.

Dashboard

Bietet eine Übersicht auf hoher Ebene über entdeckte Freigaben und zugehörige Risiken.

Dashboard

Generierte Dateien

Automatisch generierte Berichte für eine einfache Analyse und Offline-Überprüfung.

Generierte Dateien

Freigabenamen

Detaillierte Zuordnung von Freigabenamen und ihren Eigenschaften.

Freigabenamen - Beispiel 1 Freigabenamen - Beispiel 2 Freigabenamen - Beispiel 3

Behebungsanleitung

Vorgeschlagene Schritte zur Behebung identifizierter Risiken.

Behebungsanleitung

Zeitleistenansicht

Visualisierung entdeckter Probleme im Zeitverlauf.

Zeitleiste

Peer-Vergleich

Vergleicht entdeckte Freigaben und Berechtigungen über verschiedene Systeme hinweg.

Peer-Vergleich

Ordner-Gruppen

Gruppierung verwandter Ordner und Freigaben für einen besseren Kontext.

Ordner-Gruppen

Asset-Fingerprinting-Exposition

Zeigt die Asset-Exposition basierend auf entdeckten Fingerabdrücken.

Asset-Fingerprinting-Exposition

Freigabegraph

Visuelle Darstellung entdeckter Freigaben und Beziehungen.

Freigabegraph

Extrahierte Geheimnisse

Hebt vertrauliche Informationen und Geheimnisse hervor, die während des Scans entdeckt wurden.

Extrahierte Geheimnisse

Interessante Dateien

Listet potenziell interessante oder wertvolle Dateien auf, die in Freigaben gefunden wurden.

Interessante Dateien

Datenexposition

Hebt Bereiche hervor, in denen vertrauliche Daten exponiert sein könnten.

Datenexposition

Risikoexposition

Umfassende Risikoexpositionsansichten mit detaillierter Analyse.

Risikoexposition Risikoexposition 2

Tool herunterladen
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/