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
MicroburstSecretsHunter — Analyse les dumps de domaines Azure exportés à la recherche de mots de passe en clair, de chaînes de connexion, de clés de stockage et d'autres secrets ; génère des rapports CSV/HTML expurgés pour les flux de travail d'audit en lecture seule. | Kitploit
Outils/GitHubGitHub/rootsecdev/microburstsecretshunter
Outils DéfensifsAnalyse StatiqueAudit de ConfigurationSécurité CloudDétection de SecretsMauvaise ConfigurationSécurité des Bases de Données
GitHubrootsecdev/microburstsecretshunter

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 →
Partager

MicroburstSecretsHunter

Analyse les dumps de domaines Azure exportés à la recherche de mots de passe en clair, de chaînes de connexion, de clés de stockage et d'autres secrets ; génère des rapports CSV/HTML expurgés pour les flux de travail d'audit en lecture seule.

Voir le dépôt
221il y a 14 joursPas encore vérifié

MicroBurst Secrets Hunter

Un scanner PowerShell qui fouille la sortie de MicroBurst Get-AzDomainInfo à la recherche de mots de passe en clair, de clés, de chaînes de connexion et d'autres secrets qui ne devraient jamais rester non chiffrés dans un environnement Azure.

Conçu pour des workflows d'audit en lecture seule : vous collectez un dump de domaine avec MicroBurst (l'accès Lecteur suffit pour Get-AzDomainInfo), puis vous pointez cet outil vers le dossier de sortie. Il ne touche pas Azure lui-même — il lit uniquement les fichiers que vous avez déjà exportés. Les valeurs secrètes sont masquées dans chaque rapport, de sorte que la sortie peut être jointe en toute sécurité aux constatations.


Démarrage rapide

root@kitploit:~
# Clone / copy this folder, then from a PowerShell prompt:
.\Scan-MicroBurst.ps1 -Path .\MicroBurst-2026 -Verbose

Ou importez le module et utilisez le cmdlet directement :

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

Les rapports sont écrits dans un dossier horodaté (MBSecretScan-<timestamp>) dans le répertoire courant, sauf si vous passez -OutputDirectory.

Par défaut, chaque valeur est masquée afin que les rapports puissent être partagés en toute sécurité. La quantité de caractères révélés est limitée à un quart de la longueur de la valeur (plafonné à 4 en tête + 2 en fin), et tout élément de 8 caractères ou moins est remplacé par un masque de largeur fixe — ainsi un mot de passe typique s'affiche comme ********, tandis qu'une clé de 88 caractères reste identifiable comme AAAA**********AA. Les chaînes de contexte sont masquées avant d'être tronquées, et chaque secret trouvé sur une ligne est masqué dans le contexte de chaque constatation de cette ligne, de sorte qu'aucun texte en clair ne survit dans un rapport. Lors du tri des faux positifs, il est souvent plus rapide de voir la valeur complète — passez -ShowSecrets pour émettre des valeurs non masquées partout (console, CSV, HTML). La console et le HTML portent alors une bannière d'avertissement claire, et les rapports doivent être traités comme des informations d'identification réelles :

root@kitploit:~
Invoke-MBSecretScan -Path .\dump -ShowSecrets        # raw values, for local triage

Fonctionne sur Windows PowerShell 5.1 et PowerShell 7+ (Windows, Linux, macOS).


Ce que vous obtenez

Chaque exécution produit trois éléments :

SortieDescription
Résumé consoleDécomptes colorés par sévérité/catégorie plus les principales constatations critiques/élevées.

Le cmdlet émet également des objets de constatation dans le pipeline, afin que vous puissiez post-traiter :

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

Ce qu'il détecte

L'ensemble de règles complet et modifiable se trouve dans Private/Get-MBSignature.ps1. Chaque règle est un [PSCustomObject] avec les champs suivants :

Appariement structuré des colonnes CSV

Get-AzDomainInfo exporte les variables de compte d'automatisation et les paramètres d'application sous forme de lignes Name,Value[,Encrypted]. Le secret se trouve dans la colonne Value tandis que le mot-clé qui l'identifie (par exemple ServiceAccountPwd, dbConnectionString) se trouve dans la colonne Name — de sorte qu'une regex simple ne les voit jamais sur la même « ligne » et que le mot-clé est enfoui dans un jeton composé sans limite de mot.

Pour les fichiers .csv / .tsv, le scanner effectue en plus un appariement structuré des colonnes (Private/Get-MBCsvFinding.ps1) :

  • Mode Name/Value — classe la cellule Name de chaque ligne ; si elle est sensible et que la cellule Value contient des données réelles, elle est signalée. Les lignes marquées Encrypted=True sont ignorées (la valeur n'est pas en clair).
  • Mode colonne sensible — si un en-tête de colonne est lui-même sensible (une colonne Password ou StorageKey), chaque cellule qui n'est pas un espace réservé est signalée.

Les valeurs déjà couvertes par une règle à haute confiance (chaînes de connexion, clés de stockage, SAS) sont différées vers le passage en ligne brute pour un masquage plus strict, et les constatations sont dédupliquées par catégorie afin que le même secret ne soit jamais signalé deux fois. Si un fichier ne peut pas être analysé comme CSV, le scanner revient automatiquement à l'analyse normale en ligne brute.

Analyse côté valeur (-ScanValues)

L'appariement ci-dessus repose sur le nom d'un paramètre. Pour également détecter les secrets stockés sous un nom sans signification (par exemple Config1 = P@ssw0rd2026!), passez -ScanValues. Il inspecte le contenu des cellules de valeur avec deux heuristiques prudentes de sévérité Faible :

  • De type mot de passe — 8 à 64 caractères, sans espace, contient un caractère spécial fort (!@#$%^&* …) plus des lettres et une autre classe. Les valeurs de type identifiant comme Standard_D2s_v3 (dont les seuls symboles sont _ - .) sont ignorées.
  • Haute entropie — ≥ 16 caractères, mélange de lettres et de chiffres, entropie de Shannon ≥ -MinEntropy. Les chemins / URL / ID de ressource (tout ce qui contient / ou \) sont ignorés pour éviter de signaler des ID de ressource.

Dans les tables Name/Value, il analyse la colonne Value ; dans les tables libres, il analyse chaque cellule. Cela échange un rappel plus élevé contre davantage de faux positifs, c'est donc désactivé par défaut — activez-le pour une analyse plus approfondie, puis triez les constatations de sévérité Faible.


Gestion des faux positifs

Les dumps Azure sont pleins de longues chaînes à l'apparence aléatoire qui ne sont pas des secrets. Le scanner les filtre :

  • GUID (ID d'abonnement / de locataire / de ressource / d'objet) ne sont jamais signalés.

  • Espaces réservés et formes de valeurs non secrètes — ********, null, <provide-at-deploy>, true/false, caractères répétés, jetons de modèle (${var}, %VAR%), objets/tableaux JSON ({...}, [...], y compris multilignes), dates/horodatages, et noms de types/collections .NET sérialisés (par exemple une colonne Secrets de VM scale set rendue comme System.Collections.Generic.List1[...VaultSecretGroup]) — sont ignorés. Notez qu'il s'agit d'une logique basée sur la forme : une colonne Secrets` contenant une véritable valeur en clair est toujours signalée.

  • Champs de métadonnées de mot de passe bénins — les colonnes d'annuaire dont le nom contient un mot-clé mais ne décrivent que la du mot de passe, jamais le secret lui-même (, , , , , …). Ces champs sont courants dans les exports RBAC comme / et ne sont pas signalés, tandis qu'une colonne réellement nommée l'est toujours. Les colonnes de permissions de politique d'accès Key Vault (, , …) — qui contiennent des verbes de permission comme — sont également ignorées.


Paramètres clés


Structure du projet

root@kitploit:~
MicroBurstSecretsHunter.psd1     Module manifest
MicroBurstSecretsHunter.psm1     Module loader
Scan-MicroBurst.ps1              Convenience wrapper script
Public/
  Invoke-MBSecretScan.ps1        Main cmdlet (file walk, matching, reporting)
Private/
  Get-MBSignature.ps1            Detection rule set (edit to extend)
  Get-MBCsvFinding.ps1           Structured CSV Name/Value column pairing
  MBHelpers.ps1                  Entropy, redaction, context rendering,
                                 CSV field escaping, line windowing,
                                 placeholder/GUID filters
  Write-MBConsoleSummary.ps1     Console output
  New-MBHtmlReport.ps1           HTML report generator
tests/
  sample-dump/                   Example Get-AzDomainInfo-style fixture

Pour l'essayer avec l'exemple fourni :

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

Limites de couverture que l'outil vous signale

Tout ce que le scanner n'a pas pu lire est un angle mort, et un angle mort silencieux se lit comme « rien trouvé ici ». Le scanner est donc explicite à ce sujet :

  • Les fichiers dépassant -MaxFileSizeMB produisent un Write-Warning les nommant, une ligne NOT scanned dans le résumé console, et une bannière dans le rapport HTML.
  • Les fichiers illisibles (verrouillés, accès refusé) sont comptés de la même manière ; exécutez avec -Verbose pour les chemins individuels.
  • Les longues lignes ne sont pas tronquées. Le JSON sur une seule ligne minifié est courant dans les exports Azure, et un modèle ARM d'une ligne de 14 Ko peut facilement cacher un AdminPassword au-delà de toute coupure fixe ; les lignes sont donc analysées en fenêtres de 8000 caractères qui se chevauchent. Les correspondances en double dues au chevauchement sont éliminées lors de la déduplication.

Notes et mises en garde

  • L'absence de détections n'est pas une preuve de sécurité. Considérez cet outil comme un multiplicateur de force pour la revue manuelle, pas comme un remplacement de celle-ci.
  • Par défaut, les rapports masquent les valeurs secrètes mais révèlent toujours où se trouvent les secrets ; traitez-les donc comme des artefacts d'intervention sensibles. Avec -ShowSecrets, ils contiennent les informations d'identification complètes en clair — stockez-les de manière sécurisée et supprimez-les après le tri.
  • L'outil est en lecture seule et n'effectue aucun appel réseau.
Télécharger l’outil
findings.csv
Une ligne par constatation (sévérité, règle, fichier, ligne, valeur masquée, contexte) pour le tri dans Excel. Les champs contenant du contenu analysé sont échappés contre l'injection de formules dans les feuilles de calcul.
report.htmlRapport HTML autonome (aucune ressource externe) avec cartes de sévérité, filtre de texte en direct et bascules de sévérité — partageable avec le client.
RègleSévéritéExemple de source dans un dump
Chaîne de connexion SQL/DB avec mot de passe intégréCritiqueParamètres App Service, exports web.config
Chaîne de connexion de compte de stockage Azure / clé de 88 caractèresCritiqueParamètres d'application, exports Storage
SharedAccessKey Service Bus / Event HubCritiqueConfigurations de ressources de messagerie
Clé de compte Cosmos DBCritiqueParamètres d'application
Bloc de clé privée PEMCritiqueExports Key Vault / certificats
Mot de passe Azure Redis CacheÉlevéeChaînes de connexion du cache
Secret client Azure AD (format …Q~… post-2021)ÉlevéeModèles ARM, paramètres d'application
Jeton SAS / paramètre sig=ÉlevéeURL SAS de stockage
Jeton JWT / bearerÉlevéeJetons en cache, configurations
Fichier de certificat / clé présent (.pfx, .pem, .key, …)ÉlevéeN'importe où dans le dump
Affectation générique password / pwdÉlevéeVariables d'automatisation, paramètres d'application, paramètres ARM
Affectation générique secret / client_secretÉlevéeParamètres d'application, modèles
Clé d'accès AWS / jetons GitHub / SlackÉlevée/MoyenneIdentifiants étrangers stockés dans des applications Azure
api_key / access_key / connectionstring génériquesMoyenneParamètres d'application
Chaîne à haute entropie (heuristique)FaibleFilet de sécurité pour les formats de clé inconnus — à activer explicitement via -IncludeEntropy
ChampRequisObjectif
Id, Name, Category, SeverityouiIdentité et manière dont la constatation est signalée et triée.
PatternouiLe regex. Compilé une fois par analyse.
ValueGroupouiGroupe de capture contenant le secret (0 = correspondance entière). Pilote le masquage.
MultiLinenonÉvaluer sur le texte entier du fichier plutôt que ligne par ligne (blocs PEM). Chaque correspondance est signalée, pas seulement la première.
CaseSensitivenonDésactive la compilation IgnoreCase par défaut. À définir pour les formats définis en respectant la casse (AKIA, ghp_, eyJ, Q~) — sans cela, des imitations à casse arbitraire correspondent.
RedactnonDéfinissez $false lorsque la valeur capturée est une étiquette plutôt qu'un secret (une ligne d'en-tête PEM, un nom de fichier de certificat) afin qu'elle apparaisse textuellement au lieu d'être masquée jusqu'à l'illisibilité. Par défaut, masque.
politique/état
PasswordProfile
PasswordPolicies
ForceChangePasswordNextSignIn
LastPasswordChangeDateTime
PasswordExpirationDateTime
InheritedOwners.csv
InheritedContributors.csv
Password
PermissionsToSecretsStr
PermissionsToKeysStr
Get, List, Set, Delete
  • Expressions de code et de modèle — lorsque password/secret/etc. est un nom de variable ou de propriété pointant vers une expression plutôt qu'un littéral, la valeur capturée est ignorée : appels de cmdlet PowerShell (Get-RandomPassword 8, Get-AzKeyVaultSecret ...), références de variables, y compris celles à portée ($result, $kv.Secrets, $global:clientSecret, $env:KEY), sous-expressions ((-join $x)), et références ARM / Logic App (@{body(...)}, @body(...), [parameters('...')]). Courant dans les runbooks d'automatisation et les définitions Logic App.

    Les formes ambiguës ici — $var, (expr), Verb-Noun — ne sont écartées que dans les fichiers qui contiennent réellement du code (.ps1, .json, .tf, .yaml, …). Un mot de passe est très souvent une référence de variable valide ($ummer2026, $ecretPass1), donc appliquer ce filtre aux cellules de valeur CSV écartait de vrais secrets. Les marqueurs de modèle non ambigus (@{, @body(, [parameters() sont filtrés partout.

  • Contiguïté des en-têtes de colonnes — les règles génériques mot-clé = valeur ne traitent que : et = comme séparateurs (pas ,), donc un en-tête CSV comme ...,AdminPassword,Secrets,... ne capture plus le nom de la colonne suivante comme mot de passe. Les paires Name,Value séparées par des virgules sont toujours couvertes par l'appariement CSV structuré.

  • Les chemins d'ID de ressource sont divisés en segments courts au lieu d'être traités comme un seul jeton à haute entropie.

  • Les formats d'identifiants sensibles à la casse (AWS AKIA…, GitHub ghp_…, JWT eyJ…, Azure AD …Q~…) sont détectés en respectant la casse, de sorte que des imitations à casse arbitraire comme akiaijklmnopqrstuvwx ne sont pas signalées. Les règles de mots-clés (password=, AccountKey=) restent insensibles à la casse.

  • L'heuristique d'entropie est désactivée par défaut — elle produit des constatations de sévérité Faible bruyantes, vous devez donc l'activer explicitement avec -IncludeEntropy pour une analyse plus approfondie. Même alors, elle ne se déclenche que sur des jetons qui ressemblent à du matériel clé (mélange de lettres+chiffres ou marqueurs base64), donc les identifiants camelCase comme networkSecurityGroups sont ignorés. Montez encore la barre avec -MinEntropy 4.5.

  • ParamètrePar défautObjectif
    -Path(requis)Dossier racine de la sortie MicroBurst.
    -OutputDirectorydossier horodatéOù les rapports sont écrits (jamais analysé). Ne peut pas être la racine d'analyse elle-même ; un dossier imbriqué à l'intérieur déclenche un avertissement.
    -IncludeEntropydésactivéActiver explicitement le passage heuristique à haute entropie (ajoute des constatations de sévérité Faible).
    -MinEntropy4.0Seuil d'entropie de Shannon (bits/caractère) pour l'heuristique.
    -ScanValuesdésactivéInspecte également le contenu des cellules de valeur CSV pour des secrets sous des noms inoffensifs (sévérité Faible, rappel plus élevé).
    -ShowSecretsdésactivéÉmet des valeurs non masquées dans toutes les sorties pour accélérer le tri des faux positifs. Les rapports deviennent des informations d'identification réelles.
    -MaxFileSizeMB50Ignore les fichiers plus volumineux que cela. Les fichiers ignorés font l'objet d'un avertissement et sont comptés dans le résumé et le rapport HTML.
    -IncludeExtensiontypes de texte courantsRemplace les types de fichiers analysés (un point initial est facultatif).
    -NoCsv / -NoHtmldésactivéIgnore un format de rapport.
    -QuietdésactivéSupprime le résumé console (les objets sont toujours renvoyés).