Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
BARK — BloodHound Attack Research Kit | Kitploit
Tools/GitHubGitHub/bloodhoundad/bark
Privilege EscalationAufklärungExploitationInformationsbeschaffungPenetrationstestsCloud-SicherheitIdentitäts- & Zugriffsmanagement (IAM)AuthentifizierungRed Teaming
GitHubbloodhoundad/bark

BARK

BloodHound Attack Research Kit

6047129vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen

BARK

BARK Logo

BARK steht für BloodHound Attack Research Kit. Es ist ein PowerShell-Skript, das entwickelt wurde, um das BloodHound Enterprise Team bei der Erforschung und kontinuierlichen Validierung von Missbrauchsprimitiven zu unterstützen. BARK konzentriert sich derzeit auf Microsofts Azure-Produktpalette und -Dienste.

BARK benötigt keine Abhängigkeiten von Drittanbietern. Die Funktionen von BARK sind so einfach und wartbar wie möglich gestaltet. Die meisten Funktionen sind sehr einfache Wrapper für Anfragen an verschiedene REST-API-Endpunkte. Die grundlegenden Funktionen von BARK benötigen nicht einmal einander - Sie können fast jede BARK-Funktion aus BARK herausnehmen und sie wird perfekt als eigenständige Funktion in Ihren eigenen Skripten funktionieren.

Autor und Mitwirkende

Hauptautor: Andy Robbins @_wald0

Mitwirkende:

  • Jonas Bülow Knudsen @Jonas_B_K
  • Fabian Bader @fabian_bader
  • CravateRouge @CravateRouge
  • g60ocR @g60ocR

Erste Schritte

Es gibt viele Möglichkeiten, ein PowerShell-Skript zu importieren. Hier ist eine Möglichkeit:

Laden Sie zuerst BARK.ps1 herunter, indem Sie dieses Repository klonen oder einfach die Rohinhalte von GitHub kopieren und einfügen.

git clone https://github.com/BloodHoundAD/BARK

Wechseln Sie nun mit cd in das Verzeichnis, in dem sich die PS1-Datei befindet:

cd BARK

Schließlich können Sie die PS1-Datei wie folgt dot-importieren:

. .\BARK.ps1

Drücken Sie die Eingabetaste, und Ihre PowerShell-Instanz hat nun Zugriff auf alle Funktionen von BARK.

Ausführen Ihrer ersten BARK-Befehle

Mit wenigen Ausnahmen erfordern Azure-API-Endpunkte eine Authentifizierung für die Interaktion. BARK enthält einige Funktionen, die Ihnen helfen, die erforderlichen Token für die Interaktion mit den MS Graph- und Azure-REST-APIs zu erhalten. Jede BARK-Funktion, die mit einer Azure-API interagiert, die eine Authentifizierung erfordert, benötigt die Angabe eines Tokens.

Angenommen, Sie möchten alle Benutzer in einem Entra-ID-Mandanten auflisten. Zuerst müssen Sie ein Token mit MS Graph-Bereich erhalten. Es gibt viele Möglichkeiten, dieses Token zu erhalten:

Wenn Sie eine Benutzername/Kennwort-Kombination für einen Entra-Benutzer in diesem Mandanten haben, können Sie zunächst ein Aktualisierungstoken für den Benutzer mit der Funktion Get-EntraRefreshTokenWithUsernamePassword von BARK abrufen:

$MyRefreshTokenRequest = Get-EntraRefreshTokenWithUsernamePassword -username "[email protected]" -password "MyVeryCoolPassword" -TenantID "contoso.onmicrosoft.com"

Das resultierende Objekt, das Sie gerade erstellt haben, $MyRefreshTokenRequest, wird als Teil davon ein Aktualisierungstoken für Ihren Benutzer enthalten. Sie können nun ein MS Graph-bezogenes Token mit diesem Aktualisierungstoken anfordern:

$MyMSGraphToken = Get-MSGraphTokenWithRefreshToken -RefreshToken $MyRefreshTokenRequest.refresh_token -TenantID "contoso.onmicrosoft.com"

Dieses neue Objekt, $MyMSGraphToken, wird als einen seiner Eigenschaftswerte ein MS Graph-bezogenes JWT für Ihren Benutzer enthalten. Sie sind nun bereit, dieses Token zu verwenden, um alle Benutzer im Entra-Mandanten aufzulisten:

$MyUsers = Get-AllEntraUsers -Token $MyMSGraphToken.access_token -ShowProgress

Nach Abschluss wird die Variable $MyEntraUsers mit Objekten gefüllt, die alle Benutzer in Ihrem Entra-Mandanten repräsentieren.

Tokenverwaltungs- und Manipulationsfunktionen

  • Get-AzureKeyVaultTokenWithClientCredentials fordert ein Token von STS an, wobei Azure Vault als Ressource/Zielgruppe angegeben wird, unter Verwendung einer Client-ID und eines Geheimnisses.
  • Get-AzureKeyVaultTokenWithUsernamePassword fordert ein Token von STS an, wobei Azure Vault als Ressource/Zielgruppe angegeben wird, unter Verwendung eines benutzerbereitgestellten Benutzernamens und Kennworts.
  • Get-AzurePortalTokenWithRefreshToken fordert ein Azure-Portal-Authentifizierungs-Aktualisierungstoken mit einem benutzerbereitgestellten Aktualisierungstoken an.
  • Get-AzureRMTokenWithClientCredentials fordert ein AzureRM-bezogenes JWT mit einer Client-ID und einem Geheimnis an. Nützlich zur Authentifizierung als Entra-Dienstprinzipal.
  • Get-AzureRMTokenWithPortalAuthRefreshToken fordert ein AzureRM-bezogenes JWT mit einem benutzerbereitgestellten Azure-Portal-Authentifizierungs-Aktualisierungstoken an.
  • Get-AzureRMTokenWithRefreshToken fordert ein AzureRM-bezogenes JWT mit einem benutzerbereitgestellten Aktualisierungstoken an.
  • Get-AzureRMTokenWithUsernamePassword fordert ein AzureRM-bezogenes JWT mit einem benutzerbereitgestellten Benutzernamen und Kennwort an.
  • Get-EntraRefreshTokenWithUsernamePassword fordert eine Sammlung von Token, einschließlich eines Aktualisierungstokens, von login.microsoftonline.com mit einem benutzerbereitgestellten Benutzernamen und Kennwort an. Dies schlägt fehl, wenn der Benutzer Multi-Faktor-Authentifizierungsanforderungen hat oder von einer Richtlinie für bedingten Zugriff betroffen ist.
  • Get-MSGraphTokenWithClientCredentials fordert ein MS Graph-bezogenes JWT mit einer Client-ID und einem Geheimnis an. Nützlich zur Authentifizierung als Entra-Dienstprinzipal.
  • Get-MSGraphTokenWithPortalAuthRefreshToken fordert ein MS Graph-bezogenes JWT mit einem benutzerbereitgestellten Azure-Portal-Authentifizierungs-Aktualisierungstoken an.
  • Get-MSGraphTokenWithRefreshToken fordert ein MS Graph-bezogenes JWT mit einem benutzerbereitgestellten Aktualisierungstoken an.
  • Get-MSGraphTokenWithUsernamePassword fordert ein MS Graph-bezogenes JWT mit einem benutzerbereitgestellten Benutzernamen und Kennwort an.
  • Parse-JWTToken nimmt ein Base64-kodiertes JWT als Eingabe und parst es für Sie. Nützlich zur Überprüfung der korrekten Token-Zielgruppe und -Ansprüche.

Die auf Aktualisierungstoken basierenden Funktionen in BARK basieren auf Funktionen in TokenTactics von Steve Borosh.

Entra-Enumerationsfunktionen

  • Get-AllEntraApps sammelt alle Entra-Anwendungsregistrierungsobjekte.
  • Get-AllEntraGroups sammelt alle Entra-Gruppen.
  • Get-AllEntraRoles sammelt alle Entra-Administratorrollen.
  • Get-AllEntraServicePrincipals sammelt alle Entra-Dienstprinzipalobjekte.
  • Get-AllEntraUsers sammelt alle Entra-Benutzer.
  • Get-EntraAppOwner sammelt Besitzer einer Entra-App-Registrierung.
  • Get-EntraDeviceRegisteredUsers sammelt Benutzer eines Entra-Geräts.
  • Get-EntraGroupMembers sammelt Mitglieder einer Entra-Gruppe.
  • Get-EntraGroupOwner sammelt Besitzer einer Entra-Gruppe.
  • Get-EntraRoleTemplates sammelt Entra-Administratorrollenvorlagen.
  • Get-EntraServicePrincipal sammelt einen Entra-Dienstprinzipal.
  • Get-EntraServicePrincipalOwner sammelt Besitzer eines Entra-Dienstprinzipals.
  • Get-EntraTierZeroServicePrincipals sammelt Entra-Dienstprinzipale, die eine Tier-Zero-Entra-Administratorrolle oder eine Tier-Zero-MS-Graph-App-Rollenzuweisung haben.
  • Get-MGAppRoles sammelt die von der MS Graph-Dienstprinzipal verfügbar gemachten App-Rollen.
Tool herunterladen