
Python-Reconnaissance-Tool zur Erkennung von Azure-Diensten und zur Zuordnung von Tenant-Besitz via DNS-Validierung, Multi-Service-Sondierung und Antwortanalyse. Unterstützt paralleles Scannen, Permutationsgenerierung und mehrere Exportformate.
Ein Python-Aufklärungstool, das entwickelt wurde, um Azure-Dienste zu entdecken und auf Basis ihrer Antworten Informationen zur Mandantenbesitzer zuzuordnen.
Dieses Tool hilft Sicherheitsforschern, Penetrationstestern und Azure-Administratoren, Azure-Ressourcen zu entdecken, die mit bestimmten Mandanten-IDs verbunden sind.
Testet Ressourcennamen gegen 6 verschiedene Azure-Dienste und deren Subdomains:
.azurewebsites.net und .scm.azurewebsites.net)dev.azure.com).vault.azure.net).blob.core.windows.net).sharepoint.com).azuredatabricks.net)Tool klonen oder herunterladen:
git clone https://github.com/NetSPI/ATEAM.git
cd ATEAM
Erforderliche Abhängigkeiten installieren:
pip install -r requirements.txt
Oder manuell installieren:
pip install requests dnspython urllib3
Installation überprüfen:
python ateam.py --help
Einzelne Ressource scannen:
python ateam.py -r "myapp"
Mehrere Ressourcen scannen:
python ateam.py -r "app1" "app2" "app3"
Scannen aus einer Textdatei mit Ressourcenliste:
python ateam.py -f resources.txt
Ausführliche Ausgabe mit (20) Workern:
python ateam.py -f resources.txt -v -w 20
Permutationen generieren und scannen:
python ateam.py -f resources.txt -p
Permutationen mit kleinerer Batch-Größe generieren (empfohlen für große Scans):
python ateam.py -f resources.txt -p -b 100
Ergebnisse nach HTML exportieren:
python ateam.py -e html
Datenbank leeren und neu starten:
python ateam.py -f resources.txt --clear
ATEAM/
├── ateam.py # Hauptskript
├── requirements.txt # Python-Abhängigkeiten
├── permutations.txt # Ressourcennamen-Permutationen
└── README.md # Diese Datei
Die Datei permutations.txt enthält gängige Präfixe und Suffixe, um Variationen von Ressourcennamen zu generieren:
dev
prod
test
staging
api
web
...
Dies erzeugt Kombinationen wie:
devmyappmyappdevprodmyappmyapp-prodErgebnisse werden in azure_tenants.db (SQLite) mit folgendem Schema gespeichert:
resource_uri: Die entdeckte Ressourcen-URLresource_type: Typ des Azure-Dienstestenant_id: Extrahierte Mandanten-IDdiscovered_at: Zeitstempel der Entdeckung2025-06-27 14:37:39 - INFO - Found Storage Account tenant ID 72f988bf-86f1-41af-91ab-2d7cd011db47 for mars
2025-06-27 14:37:40 - INFO - Found App Service SCM tenant ID 'common' for notarealapplication
2025-06-27 14:37:47 - INFO - Found Key Vault tenant ID 72f988bf-86f1-41af-91ab-2d7cd011db47 for mdo
Resource URI Type Tenant ID Discovered At
-----------------------------------------------------------------------------------------------------------------
hanover.scm.azurewebsites.net AppServices-SCM 72f988bf-86f1-41af-91ab-2d7cd011db47 2025-06-27 21:37:41
dev.azure.com/microsoft DevOps 72f988bf-86f1-41af-91ab-2d7cd011db47 2025-06-27 21:37:12
mdo.vault.azure.net KeyVault 72f988bf-86f1-41af-91ab-2d7cd011db47 2025-06-27 21:37:47
mars.blob.core.windows.net StorageAccount 72f988bf-86f1-41af-91ab-2d7cd011db47 2025-06-27 21:37:46
⚠️ Wichtig: Stellen Sie sicher, dass Sie die entsprechende Autorisierung haben, bevor Sie Ressourcen scannen. Nicht autorisiertes Scannen kann gegen Nutzungsbedingungen oder geltende Gesetze verstoßen.
Sie können ausführliches Logging für detaillierte Informationen aktivieren, aber es kann etwas viel sein:
python ateam.py -f resources.txt -v
Wenn Sie bei Verwendung von Permutationen "killed"-Meldungen erhalten, versuchen Sie, die Batch-Größe zu reduzieren:
python ateam.py -f resources.txt -p -b 100 -w 5
Dies verarbeitet Ressourcen in kleineren Batches mit weniger gleichzeitigen Workern, um Speicherüberlastung zu vermeiden.
Beiträge sind willkommen! Bitte zögern Sie nicht, einzureichen:
| Option | Beschreibung | Beispiel |
|---|
-f, --file | Datei mit Ressourcen (eine pro Zeile) | -f resources.txt |
-r, --resources | Leerzeichen-getrennte Liste von Ressourcen | -r "app1" "app2" |
-w, --workers | Anzahl gleichzeitiger Worker (Standard: 10) | -w 20 |
-b, --batch-size | Ressourcen pro Batch (Standard: 1000) | -b 100 |
-v, --verbose | Ausführliches Logging aktivieren | -v |
-l, --list | Alle Datenbankeinträge auflisten | -l |
-e, --export | Ergebnisse exportieren (csv, json, html) | -e html |
--clear | Datenbank vor dem Scannen leeren | --clear |
-t, --tenant | Ergebnisse nach Mandanten-ID filtern | -t "tenant-id" |
-p, --permutations | Ressourcennamen-Permutationen generieren | -p |