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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
OutOfTune — Rogue-Device-Enrollment-Tool für Entra ID und Intune MDM. Automatisiert den Gerätebeitritt, Token-Erfassung, MDM-Registrierung und OMA-DM-Check-in, um Richtlinien, WLAN-Anmeldedaten, Skripte und Apps zu extrahieren, während Conditional Access umgangen wird. | Kitploit
Tools/GitHubGitHub/stra-x/outoftune
Authentifizierung & AutorisierungPrivilege EscalationSchwachstellenanalyseLaterale BewegungKonfigurationsprüfungInformationsbeschaffungPost-ExploitationPenetrationstestsCloud-SicherheitMobile SicherheitIdentitäts- & Zugriffsmanagement (IAM)
31327vor 6 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Red Teaming
GitHubstra-x/outoftune

OutOfTune

Rogue-Device-Enrollment-Tool für Entra ID und Intune MDM. Automatisiert den Gerätebeitritt, Token-Erfassung, MDM-Registrierung und OMA-DM-Check-in, um Richtlinien, WLAN-Anmeldedaten, Skripte und Apps zu extrahieren, während Conditional Access umgangen wird.

Repository anzeigen
Teilen

OutOfTune

Inspiriert vom ursprünglichen Pytune, registriert OutOfTune ein nicht autorisiertes Gerät in Entra ID, meldet es bei Intune MDM an und prüft den resultierenden Compliance-Status.

Unterstützt nur Windows-Geräte, da dies mein Hauptziel war. Möglicherweise werden in Zukunft weitere hinzugefügt.

Begleitende Blogbeiträge:

  • 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/

Anforderungen

pip install -r requirements.txt

Funktionsweise

Die Kette läuft in Phasen ab, die jeweils auf dem in chain_state.json gespeicherten Zustand aufbauen.

drs-token  ->  device-join  ->  device-token  ->  mdm-enroll  ->  mdm-checkin
  1. drs-token – ein DRS-Zugriffstoken abrufen (ROPC oder vorab erbeutet)
  2. device-join – ein neues Geräteobjekt in Entra ID registrieren, ein Gerätezertifikat abrufen
  3. device-token – sich als Geräteprinzipal authentifizieren, ein Intune-Registrierungstoken abrufen
  4. mdm-enroll – SOAP-Discovery + WS-Trust-Registrierung, ein MDM-Clientzertifikat abrufen
  5. mdm-checkin – OMA-DM SyncML-Checkin, Richtlinien abrufen, optional einen primären Benutzer festlegen

Verwendung

1. Ein DRS-Token abrufen

ROPC (Anmeldedaten bekannt):

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

Vorab erhaltenes Token:

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

2. Ein Gerät mit Entra ID verbinden

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

Erzeugt <GERÄTENAME>.pfx – das Gerätezertifikat. Passwort ist password.


3. Ein Geräteprinzipal-Token abrufen

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

Authentifiziert sich bei AAD als Geräteobjekt (nicht als Benutzer). Umgeht benutzerbezogene CA-Richtlinien.


4. Bei Intune MDM anmelden

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

Führt SOAP-Discovery gegen den MDM-Endpunkt durch und sendet dann eine WS-Trust PKCS10-Registrierungsanfrage. Erzeugt <GERÄTENAME>_mdm.pfx.

Verwenden Sie --profile, um die an Intune gesendeten Hardware-/OS-Attribute des Geräts zu fälschen (siehe Geräteprofile).


5. OMA-DM Checkin

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

Führt die OMA-DM SyncML-Schleife gegen r.manage.microsoft.com aus. Intune überträgt Konfigurationsprofile, App-Zuweisungen und alle anderen Richtlinien, die auf das Gerät abzielen. Nach Abschluss der Schleife werden die Erkenntnisse automatisch extrahiert und angezeigt.

Wenn -r angegeben wird, wird das Refresh-Token gegen ein manage.microsoft.com-Zugriffstoken eingetauscht und als Authorization: Bearer in jeder SyncML-Anfrage gesendet. Intune liest den UPN aus diesem Token und legt ihn als primären Benutzer des Geräts fest, sodass benutzerbezogene Compliance-Richtlinien gebunden werden. Sie müssen dies nur einmal mit -r ausführen, damit ein Benutzer zugewiesen wird; alle nachfolgenden Checkins können ohne Refresh-Token durchgeführt werden.

Ohne -r hat das Gerät keinen primären Benutzer.

Nach diesem ersten Checkin, wenn Sie sich für einen längeren Zeitraum (normalerweise 5–7 Tage) nicht erneut anmelden, könnte das Gerät aufgrund der Standardrichtlinie für „Ist aktiv“ nicht mehr konform sein. Abhängig von der Konfiguration von Intune kann das Gerät in eine Schonfrist eintreten, bevor es als nicht konform markiert wird. In diesem Fall führen Sie mdm-checkin erneut aus. Wenn Sie zuvor ein Refresh-Token verwendet haben, um einen primären Benutzer zuzuweisen, muss dieses nicht erneut übermittelt werden, da der primäre Benutzer jetzt im Intune-Backend gespeichert ist.

Flags

FlagBeschreibung
--cert DATEIMDM-PFX-Datei – Gerätename wird automatisch aus dem Dateinamen abgeleitet
-r RTBenutzer-Refresh-Token – legt den primären Benutzer fest (nur einmal erforderlich)
-O VERZExtraktierte Artefakte in VERZ speichern (wifi/, vpn/, scripts/, certs/, add_values.json, policy_values.json)
--save-syncml VERZRohe SyncML-XML pro Runde in VERZ zur Offline-Wiederverarbeitung speichern
-o DATEIVollständige Konsolenausgabe in DATEI schreiben

Extraktierte nützliche Informationen

KategorieGespeichert inHinweise
WLAN-Profilewifi/<SSID>.xml + _psk.txtKlartext-PSK extrahiert, falls vorhanden
VPN-Profilevpn/<name>.xmlVollständiges ProfileXML
Zertifikat-Payloadscerts/cert_N.b64Verschlüsselte PFX-Blobs (roh, noch nicht entschlüsselt)
SCEP-HerausforderungenangezeigtCA-Modellname, Challenge-URL
Skriptescripts/<name>.ps1PowerShell-Skripte, die über OMA-DM übertragen wurden
MSI-Download-URLsangezeigtDirekte CDN-Links für LOB-Apps
ODJ-Blobodj_blob.b64 + odj_strings.txtOffline Domain Join – lesbare Zeichenketten extrahiert
Add-Werteadd_values.jsonAlle anderen Add-Befehle (Root-CA-Zertifikate, MDE-Onboarding, Richtlinienkonfiguration)
Replace-Wertepolicy_values.jsonVon Intune gesetzte Policy-CSP-Werte

Gespeicherte SyncML-Runden parsen

Rohe XML-Runden, die mit --save-syncml gespeichert wurden, ohne Live-Checkin erneut parsen.

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

Compliance-Status prüfen

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

Erstellt ein PRT aus dem Gerätezertifikat, tauscht es gegen ein IWService-Token ein und fragt IWService/Devices nach dem Compliance-Status des Geräts und etwaigen nicht konformen Regeln ab.

Verwenden Sie -r mit einem MFA-Sitzungs-Refresh-Token, wenn der Mandant CA für die Registrierungsressource MFA erfordert.


Apps und Skripte herunterladen

Ruft Win32-Apps und PowerShell-Skripte ab, die dem Gerät über die IME SideCarGateway zugewiesen sind. Verwendet nur das MDM-Clientzertifikat – kein Benutzertoken erforderlich.

python OutOfTune.py download-apps
python OutOfTune.py download-apps --cert CORP-LAPTOP-01_mdm.pfx
  • PowerShell-Skripte werden in scripts/<PolicyId>.ps1 gespeichert
  • Win32-Apps werden vom CDN heruntergeladen, entschlüsselt und in apps/<AppName>/ extrahiert

Remediation-Skripte herunterladen

Ruft proaktive Remediation-Skripte (Erkennungs- und Behebungspaare) ab, die dem Gerät zugewiesen sind.

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

Jede Richtlinie wird in remediations/<PolicyId>/ gespeichert, mit:

  • detection.ps1 – das Erkennungsskript
  • remediation.ps1 – das Behebungsskript
  • params.json – Richtlinien-ID und etwaige Skriptparameter

Bereinigen

Wenn das Entfernen des Geräts aus Intune fehlschlägt, löschen Sie es aus Entra. Es fällt dann in eine Schonfrist in Intune und wird zu einem späteren Zeitpunkt automatisch wieder verwaltet.

Gerät aus Intune entfernen:

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

Geräteobjekt aus Entra ID entfernen:

python OutOfTune.py entra-delete

Kettenfortschritt prüfen

python OutOfTune.py status

Geräteprofile

Tool herunterladen