Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
OneDrive-UDC2 — OneDrive come trasporto C2 occulto per Cobalt Strike | Kitploit
Strumenti/GitHubGitHub/nmht3t/onedrive-udc2
Strumenti DifensiviFrameworks per Penetration TestingPost-ExploitSicurezza CloudCommand and ControlRed TeamingSviluppo Payload
GitHubnmht3t/onedrive-udc2

OneDrive-UDC2

OneDrive come trasporto C2 occulto per Cobalt Strike

Vedi Repository
348354 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

OneDrive UDC2

Un canale C2 User-Defined di Cobalt Strike che utilizza OneDrive come livello di trasporto.

Architecture

Cosa ti serve

  • Un tenant Microsoft Entra ID con un utente che dispone di OneDrive for Business.
  • Una registrazione app con l'autorizzazione applicativa Files.ReadWrite.All.

Configurazione

1. Registrare un'applicazione

Nel Portale di Azure, vai su Registrazioni app e crea una nuova app:

  • Tipo di account: Single tenant.
  • URI di reindirizzamento: Lascia vuoto.

Annota il tenant ID e il client ID dalla pagina di panoramica.

2. Aggiungere l'autorizzazione Graph

In Autorizzazioni API:

  1. Aggiungi Microsoft Graph, poi Autorizzazioni applicative, poi Files.ReadWrite.All.
Scarica lo strumento
  • Clicca su Concedi consenso amministratore.
  • 3. Creare un client secret

    In Certificati e segreti, crea un nuovo segreto e copiane il valore.

    4. Creare le cartelle OneDrive

    Nel OneDrive dell'utente, crea due cartelle, una per la inbox e una per la outbox (ad es. c2inbox e c2outbox).

    5. Ottenere gli ID del drive e delle cartelle

    Apri Graph Explorer, accedi come quell'utente ed esegui:

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

    Prendi l'id di ciascuna cartella e il driveId da qualsiasi voce nella risposta JSON.

    Build

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

    Compila server/config.json:

    CampoValore
    tenant_idID tenant di Microsoft Entra ID
    client_idClient ID dell'applicazione
    client_secretValore del client secret
    drive_idID del drive OneDrive
    inbox_folder_idID della cartella inbox
    outbox_folder_idID della cartella outbox

    Poi compila il client:

    root@kitploit:~
    make
    

    Esecuzione

    Avvia il relay (usa screen o tmux così rimane attivo se il terminale si disconnette):

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

    In Cobalt Strike, crea un listener UDC2 sulla stessa porta e carica client/bof.o.

    Opzioni del relay

    FlagDescrizione
    --configPercorso di config.json (obbligatorio)
    --ts-addrIP del teamserver
    --ts-portPorta del listener UDC2
    --pollIntervallo di polling in secondi (predefinito 2.0)
    --statePercorso del file di stato (predefinito: <config>.state.json)
    --debugAbilita il logging di debug
    --cleanElimina il file di stato e la directory spool, poi esci

    File di stato, spool e lock

    Il relay crea alcuni file accanto alla tua configurazione per tenere traccia delle cose tra un riavvio e l'altro:

    • File di stato (config.json.state.json) - tiene traccia di quali file inbox sono stati elaborati, degli upload in sospeso e delle informazioni sulla sessione del beacon. Imposta un percorso personalizzato con --state.
    • Directory spool (config.json.state.json.spool/) - contiene i dati di risposta che non sono ancora stati caricati su OneDrive. Se il relay va in crash durante un upload, lo spool conserva i dati così può riprovare al prossimo avvio.
    • File di lock (config.json.state.json.lock) - impedisce che due istanze del relay vengano eseguite sullo stesso stato. Se vedi Another relay holds the lock e nessun altro relay è in esecuzione, il lock è obsoleto a causa di un crash.

    Reimpostare lo stato del relay

    Se lo stato locale del relay si corrompe o un lock obsoleto blocca l'avvio, usa --clean per cancellare il file di stato e la directory spool così il relay riparte da zero:

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

    Il file di lock viene mantenuto. Il relay non esegue la pulizia mentre un'altra istanza è in esecuzione. Al successivo avvio normale si reinizializza e salta qualsiasi file inbox più vecchio di 30 minuti.

    Puoi anche reimpostare manualmente eliminando tu stesso il file di stato e la directory spool. Se il file di lock è obsoleto (nessun relay in esecuzione), eliminalo anche tu.

    Demo

    POC

    Riferimenti

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