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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Dop2Mop — OpenGraph-Sammler für BloodHound, der Angriffspfade von DevOps- zu MLOps-Infrastrukturen abbildet und CI/CD-Pipeline-, Dienstprinzipal- und ML-Plattform-Ressourcen für die Lateral-Movement-Analyse sammelt. | Kitploit
Tools/GitHubGitHub/h4wkst3r/dop2mop
Cloud-Infrastruktur-SicherheitAufklärungContainer-SicherheitSchwachstellenanalyseInformationsbeschaffungPenetrationstestsCloud-SicherheitDevSecOpsIdentitäts- & Zugriffsmanagement (IAM)LieferkettensicherheitRed Teaming
4120vor 5 MonatenNoch nicht geprüft
GitHubh4wkst3r/dop2mop

Dop2Mop

OpenGraph-Sammler für BloodHound, der Angriffspfade von DevOps- zu MLOps-Infrastrukturen abbildet und CI/CD-Pipeline-, Dienstprinzipal- und ML-Plattform-Ressourcen für die Lateral-Movement-Analyse sammelt.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Dop2Mop

Ein Proof-of-Concept OpenGraph-Collector für BloodHound, der Angriffspfade von DevOps- zu MLOps-Infrastruktur abbildet.

Basierend auf Pipelines of Privilege: Attack Paths from DevOps to MLOps Infrastructure von Brett Hawkins (@h4wkst3r).

Inhaltsverzeichnis

  • Danksagungen
  • Übersicht
    • Unterstützte Plattformen
    • Abgebildete Vertrauensgrenzen
  • Installation
    • Optionale Abhängigkeiten
  • Schnellstart
    • Demo-Daten generieren
    • In BloodHound importieren
  • Konfiguration
    • Konfigurationsdatei
    • Anmeldeinformationsprüfung
  • CLI-Referenz
    • Befehlsübersicht
    • Globale Optionen
    • dop2mop collect
    • dop2mop demo
  • CLI-Anwendungsbeispiele
    • Grundlegende Sammlung
    • Sammlung einer einzelnen Plattform
    • Sammlung mehrerer Plattformen
    • GitHub-Sammlungsbeispiele
    • Azure DevOps-Sammlungsbeispiele
    • Azure ML-Sammlungsbeispiele
    • AWS SageMaker-Sammlungsbeispiele
    • Vollständige Umgebungssammlung
  • Umgebungsvariablen
  • Knotentypen
    • DevOps-Knoten
    • MLOps-Knoten
    • Identitätsknoten
    • Artefakt-Knoten
  • Kantentypen
    • Angriffspfad-Kanten
    • Strukturelle Kanten
  • Beispielabfragen
  • Benutzerdefinierte Icons
    • Icons in BloodHound hochladen
  • Python-API
    • Verwendung einzelner Collector
    • Erstellen benutzerdefinierter Graphen
  • Fehlerbehebung
    • Häufige Probleme
  • Lizenz

Danksagungen

  • SpecterOps für BloodHound und OpenGraph

Übersicht

Dop2Mop sammelt Daten von DevOps- und MLOps-Plattformen, um Angriffspfade zu identifizieren, die laterale Bewegungen von CI/CD-Pipelines zur Trainingsinfrastruktur für maschinelles Lernen ermöglichen. Die Ausgabe erfolgt als BloodHound-kompatibles OpenGraph-JSON zur Visualisierung und Analyse.

Unterstützte Plattformen

DevOps-PlattformenMLOps-PlattformenIdentitätsanbieter
GitHub (Actions, Repos, Secrets)Azure Machine LearningAzure AD-Dienstprinzipale
Azure DevOps (Pipelines, Serviceverbindungen)Amazon SageMakerAWS IAM-Rollen
OIDC/Föderierte Identität

Abgebildete Vertrauensgrenzen

Dop2Mop modelliert die fünf in der Forschung identifizierten kritischen Vertrauensgrenzen:

  1. TB1: Code-Repository zu CI/CD-Pipeline – Automatische Auslösung von Pipelines durch Code-Commits
  2. TB2: Dienstprinzipal-Authentifizierung – NHI-Anmeldeinformationen, die von Pipelines für den Zugriff auf ML-Plattformen verwendet werden
  3. TB3: Vertrauen in Container-Artefakte – Implizites Vertrauen in Container-Images aus internen Registries
  4. TB4: Ausführung von Jobdefinitionen – ML-Plattformen führen Jobdefinitionen ohne Validierung aus
  5. TB5: Deserialisierung von Code – Unsichere Deserialisierung von Datensätzen (pickle, joblib)

Installation```bash

git clone https://github.com/h4wkst3r/dop2mop.git cd dop2mop pip install -r requirements.txt pip install -e .

## Was gesammelt wird

Jeder Collector sammelt plattformspezifische Ressourcen und kartiert die Vertrauensgrenzen zwischen ihnen:

| Collector | Gesammelte Ressourcen |
|-----------|----------------------|
| **GitHub** | Organisationen, Repositories, Workflows, Secrets, Branch-Protection-Regeln, OIDC-Konfigurationen, Container-Image-Referenzen, S3-Bucket-Referenzen |
| **Azure DevOps** | Organisationen, Projekte, Pipelines (YAML), Serviceverbindungen (mit Umfangsdetails), Variablengruppen, Agent-Pools, Repositories |
| **Azure ML** | Workspaces, Compute-Cluster/-Instanzen, Datastores, ML-Umgebungen, registrierte Modelle, Jobs/Experimente, Online- und Batch-Endpunkte |
| **SageMaker** | Training-Jobs, Modelle, Endpoints, Domains, Notebook-Instanzen, IAM-Ausführungsrollen (mit Richtlinienanalyse), ECR-Repositories/-Images, S3-Buckets (gefiltert auf ML-relevante) |

## Schnellstart

### Demo-Daten generieren

Der schnellste Weg, Dop2Mop in Aktion zu sehen, besteht darin, Demo-Daten zu generieren, die die Angriffsszenarien aus der Forschung zeigen:```bash
dop2mop demo -o demo.json

In Daten in BloodHound einlesen

  1. BloodHound CE öffnen (v8.0+)
  2. Zu Administration → Dateiimport navigieren
  3. Die generierte JSON-Datei hochladen
  4. Mit Cypher abfragen:
MATCH (u:User)
RETURN u
``````cypher
// Azure DevOps to Azure ML Lateral Movement
MATCH p=(repo)-[:TriggersPipeline]->(pipeline)-[:UsesServiceConnection]->(svcconn)-[:AuthenticatesAs]->(workspace)-[:CodeExecution]->(compute)
RETURN p

// Container Image Poisoning (Supply Chain Attack)
MATCH p=(workflow)-[:CanPoisonImage]->(image)<-[:PullsImage]-(job)
RETURN p

// OIDC/Federated Identity Abuse (confirmed edges)
MATCH p=(workflow)-[:OIDCTrust]->(oidc)-[:CanAssumeRole]->(role)-[:SubmitsJob]->(job)
RETURN p

// OIDC abuse including inferred paths
MATCH p=(workflow)-[:OIDCTrust]->(oidc)-[:InferredCanAssumeRole]->(role)
RETURN p

// Dataset Poisoning via Pickle Deserialization
MATCH p=(workflow)-[:CanPoisonDataset]->(dataset)<-[:LoadsDataset]-(job)
RETURN p

// Find repos with weak/no branch protection (TB1 exploitable)
MATCH (repo)-[:BypassesProtection]->(repo)
RETURN repo.name, repo.default_branch

// Find overprivileged SageMaker IAM roles
MATCH (role:IAMRole) WHERE role.is_admin = true OR role.has_s3_full_access = true
RETURN role.name, role.attached_policies

// Find SageMaker notebooks with root + internet access
MATCH (nb:SMNotebook) WHERE nb.root_access = 'Enabled' AND nb.direct_internet_access = 'Enabled'
RETURN nb.name, nb.status

// Find self-hosted ADO agent pools
MATCH (agent:ADOAgent) WHERE agent.is_hosted = false
RETURN agent.name, agent.pool_type

Konfiguration

Konfigurationsdatei

Anstatt bei jeder Ausführung Anmeldeinformationen zu übergeben, können Sie diese in einer Konfigurationsdatei speichern. Kopieren Sie das beigefügte Beispiel und füllen Sie Ihre Werte ein:

cp config.example.yml config.yml```bash

cp dop2mop.yaml.example dop2mop.yaml

Edit dop2mop.yaml with your credentials

Dop2Mop überprüft diese Orte in der folgenden Reihenfolge:

1. Pfad, der mit `--config` angegeben wurde
2. `dop2mop.yaml` / `dop2mop.yml` / `.dop2mop.yaml` im aktuellen Verzeichnis
3. `~/.dop2mop.yaml`

> **Hinweis:** `dop2mop.yaml` befindet sich in `.gitignore`, um ein versehentliches Committen von Anmeldedaten zu verhindern. Die Beispieldatei (`dop2mop.yaml.example`) kann bedenkenlos committet werden.

Siehe [dop2mop.yaml.example](https://github.com/h4wkst3r/dop2mop/blob/main/dop2mop.yaml.example) für alle verfügbaren Optionen mit Kommentaren.

**Prioritätsreihenfolge:** CLI-Argumente > Konfigurationsdatei > Umgebungsvariablen.

### Anmeldedatenvalidierung

Testen Sie Anmeldedaten vor dem Durchführen einer vollständigen Sammlung:```bash
# Validate all configured collectors
dop2mop collect --validate -v
Tool herunterladen