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
Tools/GitHubGitHub/rootsecdev/microburstsecretshunter
DefensivwerkzeugeStatische AnalyseKonfigurationsprüfungCloud-SicherheitSecret-ErkennungFehlkonfigurationDatenbanksicherheit
GitHubrootsecdev/microburstsecretshunter

MicroburstSecretsHunter

Durchsucht exportierte Azure-Domain-Dumps nach Klartext-Passwörtern, Verbindungszeichenfolgen, Speicherschlüsseln und anderen Geheimnissen; erstellt geschwärzte CSV/HTML-Berichte für schreibgeschützte Audit-Workflows.

Repository anzeigen
2315vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

MicroBurst Secrets Hunter

Ein PowerShell-Scanner, der MicroBurst-Ausgaben von Get-AzDomainInfo nach Klartext-Passwörtern, Schlüsseln, Verbindungszeichenfolgen und anderen Geheimnissen durchsucht, die niemals unverschlüsselt in einer Azure-Umgebung liegen sollten.

Entwickelt für Read-only-Audit-Workflows: Sie sammeln einen Domänen-Dump mit MicroBurst (Reader-Zugriff reicht für Get-AzDomainInfo), dann zeigen Sie mit diesem Tool auf den Ausgabeordner. Es greift nicht selbst auf Azure zu – es liest nur die Dateien, die Sie bereits exportiert haben. Geheimniswerte werden in jedem Bericht geschwärzt, sodass die Ausgabe bedenkenlos an Findings angehängt werden kann.


Schnellstart

root@kitploit:~
# Diesen Ordner klonen / kopieren, dann aus einer PowerShell-Eingabeaufforderung:
.\Scan-MicroBurst.ps1 -Path .\MicroBurst-2026 -Verbose

Oder das Modul importieren und das Cmdlet direkt verwenden:

root@kitploit:~
Import-Module .\MicroBurstSecretsHunter.psd1 -Force
Invoke-MBSecretScan -Path .\MicroBurst-2026

Berichte werden in einen Zeitstempel-Ordner (MBSecretScan-<timestamp>) im aktuellen Verzeichnis geschrieben, sofern Sie nicht -OutputDirectory angeben.

Standardmäßig wird jeder Wert geschwärzt, damit die Berichte sicher geteilt werden können. Die sichtbaren Zeichen sind auf ein Viertel der Wertlänge begrenzt (max. 4 führende + 2 nachgestellte Zeichen), und alles, was 8 Zeichen oder kürzer ist, wird durch eine Maske fester Breite ersetzt – ein typisches Passwort erscheint also als ********, während ein 88 Zeichen langer Storage-Schlüssel als AAAA**********AA erkennbar bleibt. Kontextzeichenfolgen werden geschwärzt, bevor sie gekürzt werden, und jedes auf einer Zeile gefundene Geheimnis wird aus dem Kontext jedes Findings dieser Zeile entfernt, sodass in einem Bericht kein Klartext überlebt. Beim Triage von False Positives ist es oft schneller, den vollständigen Wert zu sehen – übergeben Sie -ShowSecrets, um ungeschwärzte Werte überall auszugeben (Konsole, CSV, HTML). Konsole und HTML tragen dann ein deutliches Warnbanner, und die Berichte müssen wie echtes Anmeldeinformationsmaterial behandelt werden:

root@kitploit:~
Invoke-MBSecretScan -Path .\dump -ShowSecrets        # Rohwerte, für lokales Triage

Funktioniert unter Windows PowerShell 5.1 und PowerShell 7+ (Windows, Linux, macOS).


Was Sie erhalten

Jeder Lauf erzeugt drei Dinge:

AusgabeBeschreibung
KonsolenübersichtFarbcodierte Zählungen nach Schweregrad/Kategorie sowie die wichtigsten Critical/High-Findings.
findings.csvEine Zeile pro Finding (Schweregrad, Regel, Datei, Zeile, geschwärzter Wert, Kontext) für das Triage in Excel. Felder mit gescanntem Inhalt sind gegen Tabellenkalkulations-Formelinjektion geschützt.
report.htmlEigenständiger HTML-Bericht (keine externen Ressourcen) mit Schweregrad-Karten, Live-Textfilter und Schweregrad-Umschaltern – mit dem Kunden teilbar.

Das Cmdlet gibt außerdem Finding-Objekte an die Pipeline aus, sodass Sie nachverarbeiten können:

root@kitploit:~
$f = Invoke-MBSecretScan -Path .\dump -Quiet
$f | Where-Object Severity -eq 'Critical' | Format-Table File,Line,RuleName

Was erkannt wird

RegelSchweregradBeispielquelle in einem Dump
SQL-/DB-Verbindungszeichenfolge mit eingebettetem PasswortCriticalApp Service-Einstellungen, web.config-Exporte
Azure Storage-Kontoverbindungszeichenfolge / 88-Zeichen-SchlüsselCriticalApp-Einstellungen, Storage-Exporte
Service Bus / Event Hub SharedAccessKeyCriticalMessaging-Ressourcenkonfigurationen
Cosmos DB-KontoschlüsselCriticalApp-Einstellungen
PEM-Private-Key-BlockCriticalKey Vault / Zertifikatsexporte
Azure Redis Cache-PasswortHighCache-Verbindungszeichenfolgen
Azure AD-Clientgeheimnis (Post-2021-…Q~…-Format)HighARM-Vorlagen, App-Einstellungen
SAS-Token / sig=-ParameterHighStorage-SAS-URLs
JWT-/Bearer-TokenHighZwischengespeicherte Token, Konfigurationen
Zertifikats-/Schlüsseldatei vorhanden (.pfx, .pem, .key, …)HighÜberall im Dump
Generische password- / pwd-ZuweisungHighAutomation-Variablen, App-Einstellungen, ARM-Parameter
Generische secret- / client_secret-ZuweisungHighApp-Einstellungen, Vorlagen
AWS-Zugriffsschlüssel / GitHub- / Slack-TokenHigh/MittelFremde Anmeldeinformationen in Azure-Apps
Generisches api_key / access_key / connectionstringMittelApp-Einstellungen
Zeichenfolge mit hoher Entropie (heuristisch)NiedrigAuffangnetz für unbekannte Schlüsselformate – Opt-in über -IncludeEntropy

Der vollständige, bearbeitbare Regelsatz befindet sich in Private/Get-MBSignature.ps1. Jede Regel ist ein [PSCustomObject] mit diesen Feldern:

FeldErforderlichZweck
Id, Name, Category, SeverityjaIdentität sowie Art und Weise, wie das Finding gemeldet und sortiert wird.
PatternjaDer reguläre Ausdruck. Wird pro Scan einmal kompiliert.
ValueGroupjaWelche Erfassungsgruppe das Geheimnis enthält (0 = gesamter Treffer). Steuert die Schwärzung.
MultiLineneinStatt zeilenweise gegen den gesamten Dateitext auswerten (PEM-Blöcke). Jeder Treffer wird gemeldet, nicht nur der erste.
CaseSensitiveneinVerzicht auf die Standardkompilierung mit IgnoreCase. Für Formate festlegen, die case-sensitiv definiert sind (AKIA, ghp_, eyJ, Q~) – ohne dies werden beliebig großgeschriebene Ähnlichkeiten als Treffer gewertet.
RedactneinSetzen Sie $false, wenn der erfasste Wert eher ein Label als ein Geheimnis ist (eine PEM-Headerzeile, ein Zertifikatsdateiname), damit er wörtlich erscheint, statt unlesbar maskiert zu werden. Standard ist Schwärzung.

Strukturierte CSV-Spaltenpaarung

Get-AzDomainInfo exportiert Automation-Kontovariablen und App-Einstellungen als Name,Value[,Encrypted]-Zeilen. Das Geheimnis befindet sich in der Spalte Value, während das Schlüsselwort, das es identifiziert (z. B. ServiceAccountPwd, dbConnectionString), in der Spalte Name steht – ein einfacher regulärer Ausdruck sieht sie also nie in derselben "Zeile", und das Schlüsselwort ist ohne Wortgrenze in einem zusammengesetzten Token vergraben.

Für .csv-/.tsv-Dateien führt der Scanner zusätzlich eine strukturierte Spaltenpaarung durch (Private/Get-MBCsvFinding.ps1):

  • Name/Value-Modus – klassifiziert die Name-Zelle jeder Zeile; wenn sie sensibel ist und die Value-Zelle echte Daten enthält, wird sie gemeldet. Zeilen mit Encrypted=True werden übersprungen (der Wert ist kein Klartext).
  • Sensibler-Spalten-Modus – wenn ein Spaltenkopf selbst sensibel ist (eine Password- oder StorageKey-Spalte), wird jede Zelle gemeldet, die kein Platzhalter ist.

Werte, die bereits von einer Regel mit hoher Konfidenz abgedeckt werden (Verbindungszeichenfolgen, Storage-Schlüssel, SAS), werden an den Rohzeilen-Durchlauf zur engeren Schwärzung übergeben, und Findings werden nach Kategorie dedupliziert, sodass dasselbe Geheimnis nie doppelt gemeldet wird. Wenn eine Datei nicht als CSV geparst werden kann, greift der Scanner automatisch auf den normalen Rohzeilen-Scan zurück.

Wertseitiger Scan (-ScanValues)

Die obige Paarung knüpft an den Namen einer Einstellung an. Um auch Geheimnisse zu erfassen, die unter einem bedeutungslosen Namen gespeichert sind (z. B. Config1 = P@ssw0rd2026!), übergeben Sie -ScanValues. Dabei wird der Inhalt von Wert-Zellen mit zwei konservativen Heuristiken mit niedrigem Schweregrad untersucht:

  • Passwortähnlich – 8–64 Zeichen, keine Leerzeichen, enthält ein starkes Sonderzeichen (!@#$%^&* …) sowie Buchstaben und eine weitere Zeichenklasse. Bezeichnerartige Werte wie Standard_D2s_v3 (deren einzige Symbole _ - . sind) werden ignoriert.
  • Hohe Entropie – ≥ 16 Zeichen, gemischte Buchstaben+Ziffern, Shannon-Entropie ≥ -MinEntropy. Pfade / URLs / Ressourcen-IDs (alles, was / oder \ enthält) werden übersprungen, um das Markieren von Ressourcen-IDs zu vermeiden.

In Name/Value-Tabellen wird die Value-Spalte gescannt; in Freiform-Tabellen wird jede Zelle gescannt. Das bedeutet höhere Trefferquote, aber auch mehr False Positives – daher ist es standardmäßig deaktiviert. Aktivieren Sie es für einen tieferen Sweep und führen Sie dann das Triage der Low-Findings durch.


Behandlung von False Positives

Azure-Dumps sind voller langer, zufällig aussehender Zeichenfolgen, die keine Geheimnisse sind. Der Scanner filtert diese heraus:

  • GUIDs (Abonnement-/Mandanten-/Ressourcen-/Objekt-IDs) werden nie markiert.

  • Platzhalter & Nicht-Geheimnis-Wertformen – ********, null, <provide-at-deploy>, true/false, wiederholte Zeichen, Vorlagen-Tokens (${var}, %VAR%), JSON-Objekte/-Arrays ({...}, [...], einschließlich mehrzeiliger), Datums-/Zeitstempel und serialisierte .NET-Typ-/Sammlungsnamen (z. B. eine VM-Skalierungsgruppen-Secrets-Spalte, die als System.Collections.Generic.List1[...VaultSecretGroup]dargestellt wird) – werden übersprungen. Beachten Sie, dass dies formbasiert ist: EineSecrets`-Spalte mit einem tatsächlichen Klartextwert wird weiterhin markiert.

  • Harmlose Passwort-Metadatenfelder – Verzeichnisspalten, deren Name ein Schlüsselwort enthält, aber nur den Passwort-Status bzw. die Richtlinie beschreiben, niemals das Geheimnis selbst (PasswordProfile, PasswordPolicies, ForceChangePasswordNextSignIn, LastPasswordChangeDateTime, PasswordExpirationDateTime, …). Diese sind in RBAC-Exporten wie InheritedOwners.csv / InheritedContributors.csv häufig und werden nicht markiert, während eine Spalte, die tatsächlich Password heißt, weiterhin markiert wird. Key Vault-Zugriffsrichtlinien-Berechtigungsspalten (PermissionsToSecretsStr, PermissionsToKeysStr, …), die Berechtigungsverben wie Get, List, Set, Delete enthalten, werden ebenfalls ignoriert.

  • Code- & Vorlagenausdrücke – wenn password/secret/usw. ein Variablen- oder Eigenschaftsname ist, der auf einen Ausdruck statt auf ein Literal verweist, wird der erfasste Wert übersprungen: PowerShell-Cmdlet-Aufrufe (Get-RandomPassword 8, Get-AzKeyVaultSecret ...), Variablenreferenzen einschließlich skopierter ($result, $kv.Secrets, $global:clientSecret, $env:KEY), Unterausdrücke ((-join $x)) und ARM-/Logic-App-Referenzen (@{body(...)}, @body(...), [parameters('...')]). Häufig in Automation-Runbooks und Logic-App-Definitionen.

    Die mehrdeutigen Formen hier – $var, , – werden nur in Dateien verworfen, die tatsächlich Code enthalten (, , , , …). Ein Passwort ist sehr oft eine gültige Variablenreferenz (, ), daher hat die Anwendung dieses Filters auf CSV-Wert-Zellen echte Geheimnisse verworfen. Eindeutige Vorlagenmarkierungen (, , ) werden überall herausgefiltert.

  • Spaltenkopf-Nähe – die generischen keyword = value-Regeln behandeln nur : und = als Trennzeichen (nicht ,), sodass ein CSV-Header wie ...,AdminPassword,Secrets,... den nächsten Spaltennamen nicht mehr als Passwort erfasst. Kommagetrennte Name,Value-Paare werden weiterhin von der strukturierten CSV-Paarung abgedeckt.

  • Ressourcen-ID-Pfade werden in kurze Segmente aufgeteilt, statt als ein Token mit hoher Entropie behandelt zu werden.

  • Case-sensitive Anmeldeinformationsformate (AWS AKIA…, GitHub ghp_…, JWT eyJ…, Azure AD …Q~…) werden case-sensitiv abgeglichen, sodass beliebig großgeschriebene Ähnlichkeiten wie akiaijklmnopqrstuvwx nicht gemeldet werden. Schlüsselwortregeln (password=, AccountKey=) bleiben case-insensitiv.

  • Die Entropie-Heuristik ist standardmäßig deaktiviert – sie erzeugt verrauschte Low-Severity-Findings, daher opt-in mit -IncludeEntropy für einen tieferen Sweep. Selbst dann feuert sie nur auf Tokens, die wie Schlüsselmaterial aussehen (gemischte Buchstaben+Ziffern oder Base64-Marker), sodass camelCase-Bezeichner wie networkSecurityGroups ignoriert werden. Erhöhen Sie die Messlatte weiter mit -MinEntropy 4.5.


Wichtige Parameter

ParameterStandardZweck
-Path(erforderlich)Stammordner der MicroBurst-Ausgabe.
-OutputDirectoryZeitstempel-OrdnerWo Berichte geschrieben werden (wird nie gescannt). Kann nicht selbst der Scan-Root sein; ein darin verschachtelter Ordner erzeugt eine Warnung.
-IncludeEntropyausOpt-in zum Hoch-Entropie-Heuristik-Durchlauf (fügt Low-Severity-Findings hinzu).
-MinEntropy4.0Shannon-Entropieschwelle (Bits/Zeichen) für die Heuristik.
-ScanValuesausUntersucht zusätzlich den Inhalt von CSV-Wert-Zellen auf Geheimnisse unter harmlosen Namen (Low-Severity, höhere Trefferquote).
-ShowSecretsausGibt ungeschwärzte Werte in der gesamten Ausgabe aus, um das False-Positive-Triage zu beschleunigen. Berichte werden zu echtem Anmeldeinformationsmaterial.
-MaxFileSizeMB50Überspringt Dateien, die größer sind. Übersprungene Dateien werden gewarnt und in der Übersicht sowie im HTML-Bericht gezählt.
-IncludeExtensionhäufige TexttypenÜberschreibt, welche Dateitypen gescannt werden (ein führender Punkt ist optional).
-NoCsv / -NoHtmlausÜberspringt ein Berichtsformat.
-QuietausUnterdrückt die Konsolenübersicht (Objekte werden weiterhin zurückgegeben).

Projektstruktur

root@kitploit:~
MicroBurstSecretsHunter.psd1     Modulmanifest
MicroBurstSecretsHunter.psm1     Modullader
Scan-MicroBurst.ps1              Komfort-Wrapper-Skript
Public/
  Invoke-MBSecretScan.ps1        Haupt-Cmdlet (Dateidurchlauf, Abgleich, Berichterstattung)
Private/
  Get-MBSignature.ps1            Erkennungsregelsatz (zum Erweitern bearbeiten)
  Get-MBCsvFinding.ps1           Strukturierte CSV-Name/Wert-Spaltenpaarung
  MBHelpers.ps1                  Entropie, Schwärzung, Kontextdarstellung,
                                 CSV-Feld-Escaping, Zeilenfensterung,
                                 Platzhalter-/GUID-Filter
  Write-MBConsoleSummary.ps1     Konsolenausgabe
  New-MBHtmlReport.ps1           HTML-Berichtsgenerator
tests/
  sample-dump/                   Beispiel-Fixture im Get-AzDomainInfo-Stil

Zum Testen mit der mitgelieferten Beispieldatei:

root@kitploit:~
.\Scan-MicroBurst.ps1 -Path .\tests\sample-dump

Abdeckungsgrenzen, die Ihnen das Tool mitteilt

Alles, was der Scanner nicht lesen konnte, ist ein blinder Fleck – und ein stiller blinder Fleck liest sich wie "hier wurde nichts gefunden". Der Scanner ist daher explizit diesbezüglich:

  • Dateien über -MaxFileSizeMB erzeugen eine Write-Warning mit ihrem Namen, eine NOT scanned-Zeile in der Konsolenübersicht und ein Banner im HTML-Bericht.
  • Nicht lesbare Dateien (gesperrt, keine Berechtigung) werden auf dieselbe Weise gezählt; führen Sie mit -Verbose aus, um die einzelnen Pfade zu sehen.
  • Lange Zeilen werden nicht gekürzt. Minifiziertes einzeiliges JSON ist in Azure-Exporten normal, und eine 14 KB große einzeilige ARM-Vorlage versteckt ein AdminPassword gerne hinter jedem festen Cut-off. Daher werden Zeilen in überlappenden 8000-Zeichen-Fenstern gescannt. Doppelte Treffer aus der Überlappung werden in der Deduplizierung zusammengeführt.

Hinweise & Einschränkungen

  • Das Fehlen von Erkennungen ist kein Beweis für Sicherheit. Betrachten Sie dies als Kraftverstärker für die manuelle Prüfung, nicht als deren Ersatz.
  • Standardmäßig schwärzen die Berichte Geheimniswerte, legen aber dennoch offen, wo sich Geheimnisse befinden. Behandeln Sie sie daher als sensible Engagement-Artefakte. Mit -ShowSecrets enthalten sie die vollständigen Klartext-Anmeldeinformationen – sicher aufbewahren und nach dem Triage löschen.
  • Das Tool ist read-only und tätigt keine Netzwerkaufrufe.
Tool herunterladen
(expr)
Verb-Noun
.ps1
.json
.tf
.yaml
$ummer2026
$ecretPass1
@{
@body(
[parameters(