Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!
SharePointDumper — PowerShell SharePoint-Extraktions- und Audit-Tool für Red/Blue/Purple-Teams. Listet alle SharePoint-Websites/Laufwerke auf, auf die ein Benutzer über Microsoft Graph zugreifen kann, lädt rekursiv Dateien herunter und protokolliert jede Graph- + SharePoint-HTTP-Anfrage für SIEM-Korrelation, Detection Engineering und IR-Tests. | Kitploit
PowerShell SharePoint-Extraktions- und Audit-Tool für Red/Blue/Purple-Teams. Listet alle SharePoint-Websites/Laufwerke auf, auf die ein Benutzer über Microsoft Graph zugreifen kann, lädt rekursiv Dateien herunter und protokolliert jede Graph- + SharePoint-HTTP-Anfrage für SIEM-Korrelation, Detection Engineering und IR-Tests.
Teilen
SharePointDumper
SharePointDumper ist ein PowerShell-basiertes Extraktions- und Prüfprogramm, das SharePoint-Websites auflistet, auf die ein Benutzer über Microsoft Graph zugreifen kann, und Dateien über SharePoint herunterlädt.
Es ist für SOC-/DLP-Tests, Purple Teaming und nicht anspruchsvolle Red-Team-Bewertungen konzipiert und erstellt detaillierte Berichte, einschließlich heruntergeladener Dateien und aller HTTP-Anfragen (Graph + SharePoint) für die SIEM-Korrelation.
Das Tool führt keine Authentifizierung durch. Stattdessen benötigt es ein bereits erlangtes OAuth2-Zugriffstoken mit den entsprechenden Microsoft Graph-Berechtigungen (Sites.Read.All oder Sites.ReadWrite.All).
Wenn Sie Hilfe bei der Beschaffung eines solchen Tokens benötigen, können Sie EntraTokenAid verwenden (Beispiele unten enthalten), das die Erstellung nutzbarer Zugriffstoken vereinfacht.
✨ Funktionen
Listet SharePoint-Websites, Laufwerke, Ordner und Dateien über Microsoft Graph auf
Rekursives Herunterladen von Laufwerken und Ordnern (unter Verwendung von SharePoint-Vorauthentifizierungs-URLs)
Keine zwingenden externen Abhängigkeiten (keine Microsoft Graph PowerShell-Module usw.)
Anpassbarer User-Agent
Globale Download-Limits: maximale Anzahl von Dateien und maximale Gesamtgröße
Ein-/Ausschlussfilter für Websites und Dateierweiterungen
Einstellbare Anforderungsdrosselung mit zufälligem Jitter
Beispiel-CSV-API-Protokoll (kann CSV oder JSON sein):
Beispiel-Datei-Download-Protokoll (kann CSV oder JSON sein):
📦 Installation
Repository klonen
root@kitploit:~
git clone https://github.com/zh54321/SharePointDumper.git
cd SharePointDumper
🔑 Voraussetzungen
SharePointDumper benötigt ein gültiges Microsoft Graph-Zugriffstoken mit delegierten Berechtigungen zum Auflisten von Websites und Dateien:
Sites.Read.Alloder
Sites.ReadWrite.All
Darüber hinaus muss der OAuth-Client berechtigt sein, die SharePoint-API aufzurufen.
Mehr als 23 Microsoft-Erstanbieteranwendungen haben bereits vorab zugestimmte Sites.Read…-Berechtigungen. Sie können Dateien von SharePoint herunterladen und verwendet werden, um ohne zusätzliche Mandantenkonfiguration ein gültiges Token zu erhalten.
Verwenden Sie nach Möglichkeit ein CAE-aktiviertes Zugriffstoken, das bis zu 24 Stunden gültig bleibt und Unterbrechungen bei länger andauernden Dumps reduziert.
Token mit EntraTokenAid abrufen
Sie können EntraTokenAid verwenden, um ein geeignetes Zugriffstoken über PowerShell zu erhalten
(CAE-Token werden standardmäßig angefordert):
root@kitploit:~
# Modul klonen
git clone https://github.com/zh54321/EntraTokenAid.git
Import-Module EntraTokenAid/EntraTokenAid.psm1
# Token abrufen
$tokens = Invoke-Auth -ClientID 'b26aadf8-566f-4478-926f-589f601d9c74' -RedirectUrl 'urn:ietf:wg:oauth:2.0:oob'
# Optional: In mit den folgenden Beispielen kompatibler Variable speichern
$AccessToken = $tokens.access_token
Im Fortsetzungsmodus muss -OutputFolderzwingend auf den Ordner des vorherigen Laufs verweisen.
Automatische Token-Aktualisierung verwenden
SharePointDumper kann ein abgelaufenes Zugriffstoken (HTTP 401) automatisch mit einem Aktualisierungstoken und EntraTokenAid erneuern.
root@kitploit:~
# Zwingend: Das Modul muss importiert sein, damit das Tool den Befehl Invoke-Refresh verwenden kann
Import-Module .\EntraTokenAid\EntraTokenAid.psm1
# Optional: Token mit EntraTokenAid abrufen (andere Methoden sind ebenfalls möglich)
$tokens = Invoke-Auth -ClientId 'b26aadf8-566f-4478-926f-589f601d9c74' -RedirectUrl 'urn:ietf:wg:oauth:2.0:oob'
# SharePointDumper mit Aktualisierungsunterstützung ausführen
.\Invoke-SharePointDumper.ps1 -AccessToken $tokens.access_token -RefreshToken $tokens.refresh_token -RefreshClientId 'b26aadf8-566f-4478-926f-589f601d9c74'
Hinweis: Token-Aktualisierungsversuche werden NICHT im API-Protokoll protokolliert.
Parameter
Parameter
Erforderlich
Typ
Beschreibung
AccessToken
Ja
String
OAuth2-Zugriffstoken. Keine Authentifizierung innerhalb des Tools.
OutputFolder
Nein
String
Verzeichnis für den Dump. Standard: ".". Im Modus -Resume muss es auf einen vorhandenen vorherigen Dump-Ordner verweisen.
UserAgent
Nein
String
Benutzerdefinierter UserAgent für alle HTTP-Anfragen. Standard: SharePointDumper