Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
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
OneDrive-UDC2 — OneDrive als verdeckter C2-Transport für Cobalt Strike | Kitploit
Tools/GitHubGitHub/nmht3t/onedrive-udc2
DefensivwerkzeugePenetrationstest-FrameworksPost-ExploitationCloud-SicherheitCommand and ControlRed TeamingPayload-Entwicklung
GitHubnmht3t/onedrive-udc2

OneDrive-UDC2

OneDrive als verdeckter C2-Transport für Cobalt Strike

Repository anzeigen
34835vor 4 TagenNoch 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

OneDrive UDC2

Ein benutzerdefinierter C2-Kanal (User-Defined C2) für Cobalt Strike, der OneDrive als Transportschicht verwendet.

Architecture

Was du brauchst

  • Einen Microsoft Entra ID-Mandanten mit einem Benutzer, der über OneDrive for Business verfügt.
  • Eine App-Registrierung mit der Anwendungsberechtigung Files.ReadWrite.All.

Einrichtung

1. Eine Anwendung registrieren

Gehe im Azure-Portal zu App-Registrierungen und erstelle eine neue App:

  • Kontotyp: Einzelner Mandant.
  • Umleitungs-URI: Leer lassen.

Notiere die Mandanten-ID und die Client-ID von der Übersichtsseite.

2. Die Graph-Berechtigung hinzufügen

Unter API-Berechtigungen:

  1. Füge Microsoft Graph hinzu, dann Anwendungsberechtigungen, dann Files.ReadWrite.All.
Tool herunterladen
  • Klicke auf Administratorzustimmung erteilen.
  • 3. Ein Client-Geheimnis erstellen

    Erstelle unter Zertifikate & Geheimnisse ein neues Geheimnis und kopiere dessen Wert.

    4. Die OneDrive-Ordner erstellen

    Erstelle im OneDrive des Benutzers zwei Ordner, einen für den Posteingang und einen für den Postausgang (z. B. c2inbox und c2outbox).

    5. Die Laufwerk- und Ordner-IDs abrufen

    Öffne den Graph Explorer, melde dich als dieser Benutzer an und führe Folgendes aus:

    root@kitploit:~
    GET https://graph.microsoft.com/v1.0/me/drive/root/children
    

    Nimm die id jedes Ordners und die driveId aus einem beliebigen Eintrag der JSON-Antwort.

    Build

    root@kitploit:~
    cp server/config.json.example server/config.json
    

    Fülle server/config.json aus:

    FeldWert
    tenant_idMicrosoft Entra ID-Mandanten-ID
    client_idClient-ID der Anwendung
    client_secretWert des Client-Geheimnisses
    drive_idOneDrive-Laufwerk-ID
    inbox_folder_idID des Posteingangsordners
    outbox_folder_idID des Postausgangsordners

    Dann baue den Client:

    root@kitploit:~
    make
    

    Ausführen

    Starte das Relay (verwende screen oder tmux, damit es weiterläuft, wenn dein Terminal die Verbindung trennt):

    root@kitploit:~
    python3 server/relay.py --config server/config.json --ts-addr <teamserver-ip> --ts-port <udc2-port>
    

    Erstelle in Cobalt Strike einen UDC2-Listener auf demselben Port und lade client/bof.o.

    Relay-Optionen

    FlagBeschreibung
    --configPfad zu config.json (erforderlich)
    --ts-addrTeamserver-IP
    --ts-portPort des UDC2-Listeners
    --pollAbfrageintervall in Sekunden (Standard 2.0)
    --statePfad zur Statusdatei (Standard: <config>.state.json)
    --debugDebug-Logging aktivieren
    --cleanStatusdatei und Spool-Verzeichnis löschen, dann beenden

    Status-, Spool- & Sperrdatei

    Das Relay erstellt ein paar Dateien neben deiner Konfiguration, um den Überblick zwischen Neustarts zu behalten:

    • Statusdatei (config.json.state.json) – verfolgt, welche Posteingangsdateien verarbeitet wurden, ausstehende Uploads und Beacon-Sitzungsinformationen. Lege mit --state einen benutzerdefinierten Pfad fest.
    • Spool-Verzeichnis (config.json.state.json.spool/) – enthält Antwortdaten, die noch nicht zu OneDrive hochgeladen wurden. Wenn das Relay mitten im Upload abstürzt, bewahrt der Spool die Daten auf, damit sie beim nächsten Start erneut versucht werden können.
    • Sperrdatei (config.json.state.json.lock) – verhindert, dass zwei Relay-Instanzen gegen denselben Status laufen. Wenn du Another relay holds the lock siehst und kein anderes Relay läuft, ist die Sperre von einem Absturz veraltet.

    Relay-Status zurücksetzen

    Wenn der lokale Status des Relays beschädigt ist oder eine veraltete Sperre den Start blockiert, verwende --clean, um die Statusdatei und das Spool-Verzeichnis zu löschen, damit das Relay neu startet:

    root@kitploit:~
    python3 server/relay.py --config server/config.json --clean
    

    Die Sperrdatei bleibt erhalten. Das Relay bereinigt nicht, während eine andere Instanz läuft. Beim nächsten normalen Start initialisiert es sich neu und überspringt alle Posteingangsdateien, die älter als 30 Minuten sind.

    Du kannst auch manuell zurücksetzen, indem du die Statusdatei und das Spool-Verzeichnis selbst löschst. Wenn die Sperrdatei veraltet ist (kein Relay läuft), lösche sie ebenfalls.

    Demo

    POC

    Referenzen

    • Cobalt Strike UDC2 docs
    • Cobalt Strike ICMP UDC2
    • WKL Slack UDC2