Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
OutOfTune — Entra ID और Intune MDM के लिए अनधिकृत डिवाइस एनरोलमेंट टूल। डिवाइस जॉइन, टोकन अधिग्रहण, MDM एनरोलमेंट और OMA-DM चेकइन को स्वचालित करता है ताकि कंडीशनल एक्सेस को बायपास करते हुए पॉलिसियाँ, वाई-फाई क्रेडेंशियल्स, स्क्रिप्ट्स और ऐप्स निकाल सके। | Kitploit
उपकरण/GitHubGitHub/stra-x/outoftune
प्रमाणीकरण और प्राधिकरणविशेषाधिकार वृद्धिभेद्यता विश्लेषणपार्श्व आंदोलनकॉन्फ़िगरेशन ऑडिटिंगजानकारी एकत्र करनापोस्ट-शोषणपेनिट्रेशन टेस्टिंगक्लाउड सुरक्षामोबाइल सुरक्षापहचान और एक्सेस प्रबंधन (IAM)रेड टीमिंग
3134 महीने पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
GitHubstra-x/outoftune

OutOfTune

Entra ID और Intune MDM के लिए अनधिकृत डिवाइस एनरोलमेंट टूल। डिवाइस जॉइन, टोकन अधिग्रहण, MDM एनरोलमेंट और OMA-DM चेकइन को स्वचालित करता है ताकि कंडीशनल एक्सेस को बायपास करते हुए पॉलिसियाँ, वाई-फाई क्रेडेंशियल्स, स्क्रिप्ट्स और ऐप्स निकाल सके।

रिपॉजिटरी देखें
साझा करें

OutOfTune

मूल Pytune से प्रेरित होकर, OutOfTune Entra ID में एक दुष्ट उपकरण पंजीकृत करता है, इसे Intune MDM में शामिल करता है, और परिणामी अनुपालन स्थिति की जाँच करता है।

केवल Windows उपकरणों का समर्थन करता है क्योंकि यह मेरा मुख्य लक्ष्य था, भविष्य में अतिरिक्त उपकरण जोड़े जा सकते हैं।

संगत ब्लॉग:

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

आवश्यकताएँ

root@kitploit:~
pip install -r requirements.txt

यह कैसे काम करता है

श्रृंखला चरणों में चलती है, प्रत्येक chain_state.json में सहेजी गई स्थिति पर निर्माण करता है।

root@kitploit:~
drs-token  ->  device-join  ->  device-token  ->  mdm-enroll  ->  mdm-checkin
  1. drs-token - DRS एक्सेस टोकन प्राप्त करें (ROPC या पूर्व-फिश किया हुआ)
  2. device-join - Entra ID में एक नया उपकरण ऑब्जेक्ट पंजीकृत करें, एक उपकरण प्रमाणपत्र प्राप्त करें
  3. device-token - उपकरण प्रिंसिपल के रूप में प्रमाणित करें, एक Intune नामांकन टोकन प्राप्त करें
  4. mdm-enroll - SOAP डिस्कवरी + WS-Trust नामांकन, एक MDM क्लाइंट प्रमाणपत्र प्राप्त करें
  5. mdm-checkin - OMA-DM SyncML चेक-इन, नीतियाँ खींचें, वैकल्पिक रूप से एक प्राथमिक उपयोगकर्ता सेट करें

उपयोग

1. DRS टोकन प्राप्त करें

ROPC (क्रेडेंशियल ज्ञात हैं):

root@kitploit:~
python OutOfTune.py drs-token -u [email protected] -p Password1!

पूर्व-प्राप्त टोकन:

root@kitploit:~
python OutOfTune.py drs-token -u [email protected] -t <drs_access_token>

2. एक उपकरण को Entra ID में शामिल करें

root@kitploit:~
python OutOfTune.py device-join
python OutOfTune.py device-join -n CORP-LAPTOP-01

आउटपुट <DEVICENAME>.pfx - उपकरण प्रमाणपत्र। पासवर्ड password है।


3. एक उपकरण प्रिंसिपल टोकन प्राप्त करें

root@kitploit:~
python OutOfTune.py device-token
python OutOfTune.py device-token --cert CORP-LAPTOP-01.pfx

AAD में उपकरण ऑब्जेक्ट के रूप में प्रमाणित करता है (उपयोगकर्ता के रूप में नहीं)। उपयोगकर्ता-स्कोप वाली CA नीतियों को बायपास करता है।


4. Intune MDM में नामांकन करें

root@kitploit:~
python OutOfTune.py mdm-enroll
python OutOfTune.py mdm-enroll --profile profiles/dell_win11_ent.json

MDM एंडपॉइंट के विरुद्ध SOAP डिस्कवरी चलाता है, फिर WS-Trust PKCS10 नामांकन अनुरोध सबमिट करता है। आउटपुट <DEVICENAME>_mdm.pfx।

Intune को भेजे गए उपकरण हार्डवेयर/OS विशेषताओं को स्पूफ करने के लिए --profile का उपयोग करें (देखें Device Profiles).


5. OMA-DM चेक-इन

root@kitploit:~
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

r.manage.microsoft.com के विरुद्ध OMA-DM SyncML लूप चलाता है। Intune उपकरण को लक्षित करने वाली कॉन्फ़िगरेशन प्रोफ़ाइल, ऐप असाइनमेंट और अन्य नीतियों को पुश करेगा। लूप पूरा होने के बाद, खुफिया जानकारी स्वचालित रूप से निकाली और प्रदर्शित की जाती है।

यदि -r प्रदान किया गया है, तो रिफ्रेश टोकन को manage.microsoft.com एक्सेस टोकन के लिए आदान-प्रदान किया जाता है और प्रत्येक SyncML अनुरोध में Authorization: Bearer के रूप में भेजा जाता है। Intune इस टोकन से UPN पढ़ता है और इसे उपकरण के प्राथमिक उपयोगकर्ता के रूप में सेट करता है, जिससे उपयोगकर्ता-स्कोप वाली अनुपालन नीतियाँ बंध जाती हैं। आपको केवल एक बार -r के साथ चलाने की आवश्यकता है ताकि एक उपयोगकर्ता असाइन हो, बाद के सभी चेक-इन रिफ्रेश टोकन के बिना चलाए जा सकते हैं।

-r के बिना उपकरण का कोई प्राथमिक उपयोगकर्ता नहीं होगा।

इस प्रारंभिक चेक-इन के बाद, यदि आप विस्तारित अवधि (आमतौर पर 5-7 दिन) के लिए फिर से चेक-इन नहीं करते हैं, तो "Is Active" के लिए डिफ़ॉल्ट नीति के कारण उपकरण अनुपालन से बाहर हो सकता है। Intune के कॉन्फ़िगरेशन के आधार पर, उपकरण गैर-अनुपालक के रूप में चिह्नित होने से पहले एक अनुग्रह अवधि में प्रवेश कर सकता है। यदि ऐसा होता है, तो mdm-checkin को फिर से चलाएँ। यदि आपने पहले किसी प्राथमिक उपयोगकर्ता को असाइन करने के लिए रिफ्रेश टोकन का उपयोग किया है, तो इसे फिर से सबमिट करने की आवश्यकता नहीं है क्योंकि प्राथमिक उपयोगकर्ता अब Intune बैकएंड में संग्रहीत है।

फ़्लैग

निकाली गई उपयोगी जानकारी


सहेजे गए SyncML राउंड पार्स करें

--save-syncml के साथ सहेजे गए कच्चे XML राउंड को लाइव चेक-इन चलाए बिना पुनः पार्स करें।

root@kitploit:~
python OutOfTune.py parse-checkin --dir ./output/raw -O ./output2
python OutOfTune.py parse-checkin --file ./output/raw/round_001.xml -O ./output2

अनुपालन स्थिति जाँचें

root@kitploit:~
python OutOfTune.py check -u [email protected] -r <refresh_token>
python OutOfTune.py check -u [email protected] -p Password1!

डिवाइस प्रमाणपत्र से PRT मिंट करता है, इसे IWService टोकन के लिए आदान-प्रदान करता है, और डिवाइस की अनुपालन स्थिति और किसी भी गैर-अनुपालक नियमों के लिए IWService/Devices से क्वेरी करता है।

यदि टेनेंट CA को नामांकन संसाधन के लिए MFA की आवश्यकता है, तो MFA-सत्र रिफ्रेश टोकन के साथ -r का उपयोग करें।


ऐप्स और स्क्रिप्ट डाउनलोड करें

IME SideCarGateway के माध्यम से डिवाइस को असाइन किए गए Win32 ऐप्स और PowerShell स्क्रिप्ट लाता है। केवल MDM क्लाइंट प्रमाणपत्र का उपयोग करता है — कोई उपयोगकर्ता टोकन आवश्यक नहीं।

root@kitploit:~
python OutOfTune.py download-apps
python OutOfTune.py download-apps --cert CORP-LAPTOP-01_mdm.pfx
  • PowerShell स्क्रिप्ट scripts/<PolicyId>.ps1 में सहेजी जाती हैं
  • Win32 ऐप्स CDN से डाउनलोड किए जाते हैं, डिक्रिप्ट किए जाते हैं, और apps/<AppName>/ में निकाले जाते हैं

सुधार स्क्रिप्ट डाउनलोड करें

डिवाइस को असाइन की गई सक्रिय सुधार स्क्रिप्ट (डिटेक्शन + सुधार जोड़े) लाता है।

root@kitploit:~
python OutOfTune.py get-remediations
python OutOfTune.py get-remediations --cert CORP-LAPTOP-01_mdm.pfx

प्रत्येक नीति remediations/<PolicyId>/ में सहेजी जाती है जिसमें शामिल हैं:

  • detection.ps1 — डिटेक्शन स्क्रिप्ट
  • remediation.ps1 — सुधार स्क्रिप्ट
  • params.json — नीति ID और कोई स्क्रिप्ट पैरामीटर

सफ़ाई

यदि Intune से डिवाइस को हटाना विफल होता है, तो इसे Entra से हटा दें। यह तब Intune के भीतर एक अनुग्रह अवधि में आ जाएगा और बाद में स्वचालित रूप से बना रहेगा।

Intune से डिवाइस हटाएँ:

root@kitploit:~
python OutOfTune.py retire-intune -u [email protected] -r <refresh_token>

Entra ID से डिवाइस ऑब्जेक्ट हटाएँ:

root@kitploit:~
python OutOfTune.py entra-delete

श्रृंखला प्रगति जाँचें

root@kitploit:~
python OutOfTune.py status

डिवाइस प्रोफ़ाइल

नामांकन और चेक-इन के दौरान Intune को भेजे गए डिवाइस गुण JSON प्रोफ़ाइल के माध्यम से पूरी तरह से स्पूफ करने योग्य हैं। इसमें हार्डवेयर पहचानकर्ता, OS संस्करण, निर्माता, और सभी स्व-रिपोर्ट किए गए अनुपालन CSP मान (BitLocker, Firewall, Defender, TPM, Secure Boot) शामिल हैं।

root@kitploit:~
python OutOfTune.py mdm-enroll --profile profiles/dell_win11_ent.json
python OutOfTune.py mdm-checkin   # प्रोफ़ाइल स्थिति में सहेजी जाती है और स्वचालित रूप से पुन: उपयोग की जाती है

शामिल प्रोफ़ाइल

फ़ाइलडिवाइस
profiles/default.jsonडिफ़ॉल्ट मान (VMware / Win10 Enterprise)
profiles/dell_win11_ent.jsonDell Latitude 5540 / Windows 11 Enterprise 23H2

प्रोफ़ाइल फ़ील्ड

सभी DeviceStatus CSP मान स्वयं-रिपोर्ट किए जाते हैं और Intune द्वारा स्वतंत्र सत्यापन के बिना विश्वसनीय होते हैं। HAS-प्रमाणित अनुपालन जाँच (BitLockerEnabled, SecureBootEnabled via HealthAttestation CSP) के लिए एक वास्तविक TPM की आवश्यकता होती है और इसे इस तरह से स्पूफ नहीं किया जा सकता है।


वैश्विक फ़्लैग

root@kitploit:~
--debug          विस्तृत HTTP + टोकन लॉगिंग
--proxy <url>    ट्रैफ़िक को प्रॉक्सी के माध्यम से रूट करें (जैसे http://127.0.0.1:8080)

ये कमांड से पहले जाते हैं:

root@kitploit:~
python OutOfTune.py --debug device-token
python OutOfTune.py --proxy http://127.0.0.1:8080 mdm-checkin

प्रमाणपत्र ओवरराइड

यदि आपके पास पिछले रन से प्रमाणपत्र हैं या विशिष्ट PFX फ़ाइलों का उपयोग करना चाहते हैं:

root@kitploit:~
python OutOfTune.py device-token      --cert path/to/device.pfx
python OutOfTune.py mdm-enroll        --cert path/to/device.pfx
python OutOfTune.py mdm-checkin       --cert path/to/mdm.pfx
python OutOfTune.py check             --cert path/to/device.pfx
python OutOfTune.py download-apps     --cert path/to/mdm.pfx
python OutOfTune.py get-remediations  --cert path/to/mdm.pfx

स्थिति फ़ाइल

सभी चरण आउटपुट कार्यशील निर्देशिका में chain_state.json में सहेजे जाते हैं। नए सिरे से शुरू करने के लिए इसे हटाएँ। कुछ भी चलाए बिना वर्तमान स्थिति का निरीक्षण करने के लिए status का उपयोग करें। यदि आप कई उपकरणों से निपट रहे हैं, तो सुनिश्चित करें कि उनमें से प्रत्येक की अपनी स्थिति फ़ाइल हो। डिफ़ॉल्ट स्थिति फ़ाइल को स्क्रिप्ट की शुरुआत में बदला जा सकता है जिससे भी उपकरण से आप छेड़छाड़ कर रहे हैं। प्रमाणपत्र ओवरराइड विकल्पों से सावधान रहें, वे मुख्य रूप से डीबगिंग उद्देश्यों के लिए हैं।

क्रेडिट

@temp43487580 को भारी श्रेय जाता है जिन्होंने मूल Pytune बनाया और जिनके मूल शोध ने इसे संभव बनाया

  • https://i.blackhat.com/EU-24/Presentations/EU-24-Chudo-Unveiling-the-Power-of-Intune-Leveraging-Intune-for-Breaking-Into-Your-Cloud-and-On-Premise.pdf
  • https://temp43487580.github.io/intune/bypass-enrollment-restictions-to-break-byod-barriers-in-intune/
  • https://github.com/secureworks/pytune
टूल डाउनलोड करें
फ़्लैगविवरण
--cert FILEउपयोग करने के लिए MDM PFX — फ़ाइल नाम से उपकरण नाम स्वचालित रूप से प्राप्त होता है
-r RTउपयोगकर्ता रिफ्रेश टोकन — प्राथमिक उपयोगकर्ता सेट करता है (केवल एक बार आवश्यक)
-O DIRनिकाली गई कलाकृतियों को DIR में सहेजें (wifi/, vpn/, scripts/, certs/, add_values.json, policy_values.json)
--save-syncml DIRऑफ़लाइन पुनः-पार्स करने के लिए प्रति राउंड कच्चा SyncML XML DIR में सहेजें
-o FILEपूर्ण कंसोल आउटपुट FILE में लिखें
श्रेणीसहेजा गयाटिप्पणियाँ
वाई-फ़ाई प्रोफ़ाइलwifi/<SSID>.xml + _psk.txtयदि मौजूद हो तो सादा-पाठ PSK निकाला गया
VPN प्रोफ़ाइलvpn/<name>.xmlपूर्ण ProfileXML
प्रमाणपत्र पेलोडcerts/cert_N.b64एन्क्रिप्टेड PFX ब्लॉब (कच्चा, अभी तक डिक्रिप्ट नहीं किया गया)
SCEP चुनौतियाँप्रदर्शितCA मॉडल नाम, चुनौती URL
स्क्रिप्टscripts/<name>.ps1OMA-DM के माध्यम से पुश की गई PowerShell स्क्रिप्ट
MSI डाउनलोड URLप्रदर्शितLOB ऐप्स के लिए सीधे CDN लिंक
ODJ ब्लॉबodj_blob.b64 + odj_strings.txtऑफ़लाइन डोमेन जॉइन — पढ़ने योग्य स्ट्रिंग्स निकाली गईं
Add मानadd_values.jsonअन्य सभी Add कमांड (रूट CA प्रमाणपत्र, MDE ऑनबोर्डिंग, नीति कॉन्फ़िग)
Replace मानpolicy_values.jsonIntune द्वारा सेट की गई नीति CSP मान
फ़ील्डCSPटिप्पणियाँ
os_versionDevDetail/SwVन्यूनतम/अधिकतम OS संस्करण अनुपालन जाँच
os_edition_syncmlWindowsLicensing/Edition4 = Enterprise, 48 = Pro
manufacturerDevInfo/Manकुछ नीतियाँ निर्माताओं को व्हाइटलिस्ट करती हैं
mac_addressSOAP AdditionalContext/MACसभी-शून्य एक स्पष्ट संकेतक है
hw_dev_id_enrollSOAP AdditionalContext/HWDevID64 हेक्स वर्ण
bitlocker_statusBitLocker/Status/DeviceEncryptionStatus2 = एन्क्रिप्टेड (स्वयं-रिपोर्ट)
encryption_complianceDeviceStatus/Compliance/EncryptionCompliance1 = अनुपालक (स्वयं-रिपोर्ट)
firewall_statusDeviceStatus/Firewall/Status0 = चालू (स्वयं-रिपोर्ट)
secure_boot_stateDeviceStatus/SecureBootState1 = सक्षम (स्वयं-रिपोर्ट, HAS-प्रमाणित नहीं)
tpm_versionDeviceStatus/TPM/SpecificationVersionकोई क्रिप्टोग्राफ़िक प्रमाण नहीं
defender_enabledDefender/Health/DefenderEnabledtrue = चल रहा है
defender_versionDefender/Health/DefenderVersionकुछ नीतियाँ न्यूनतम संस्करण लागू करती हैं