
महान TokenTactics का एक fork जिसमें CAE और token endpoint v2 के लिए समर्थन है
______ __ __ __ _ ___
/_ __/___ / /_____ ____ / /_____ ______/ /_(_)_________ _ __ |__ \
/ / / __ \/ //_/ _ \/ __ \ / __/ __ `/ ___/ __/ / ___/ ___/ | | / / __/ /
/ / / /_/ / ,< / __/ / / / / /_/ /_/ / /__/ /_/ / /__(__ ) | |/ / / __/
/_/ \____/_/|_|\___/_/ /_/ \__/\__,_/\___/\__/_/\___/____/ |___(_)____/
यह TokenTactics का अद्यतन संस्करण है, जिसे मूल रूप से Stephan Borosh @rvrsh3ll और Bobby Cooke @0xBoku द्वारा लिखा गया था।
Azure एक्सेस टोकन आपको डिवाइस कोड से साइन इन करने वाले उपयोगकर्ता के रूप में कुछ एंडपॉइंट्स पर प्रमाणित करने की अनुमति देते हैं। यदि आपके पास FOCI (Family of Client IDs) समर्थित रिफ्रेश टोकन है, तो आप इसका उपयोग सभी ज्ञात FOCI समर्थित एंडपॉइंट्स के लिए एक्सेस टोकन प्राप्त करने के लिए कर सकते हैं। चूँकि रिफ्रेश टोकन में यह जानकारी भी होती है कि उपयोगकर्ता ने बहु-कारक प्रमाणीकरण किया है या नहीं, आप इसका उपयोग कर सकते हैं। एक बार आपके पास उपयोगकर्ता का एक्सेस टोकन आ जाने पर, Outlook, SharePoint, OneDrive, MSTeams और अन्य जैसे कुछ ऐप्स तक पहुँच संभव हो सकती है।
उदाहरण के लिए, यदि आपके पास Graph या MSGraph रिफ्रेश टोकन है, तो आप Azure से कनेक्ट होकर उपयोगकर्ताओं, समूहों आदि को डंप कर सकते हैं। फिर, सशर्त पहुँच नीतियों के आधार पर, आप Azure Core Management टोकन पर स्विच कर सकते हैं और AzureHound चला सकते हैं। उसके बाद, Outlook एक्सेस टोकन प्राप्त करके ईमेल पढ़/भेज सकते हैं या MS Teams टोकन प्राप्त करके टीम संदेश पढ़/भेज सकते हैं!
Azure टोकन प्रकारों के बारे में अधिक जानकारी के लिए Microsoft identity platform access tokens देखें।
resources फ़ोल्डर में एंडपॉइंट्स के लिए कुछ उदाहरण अनुरोध दिए गए हैं। साथ ही, डिवाइस कोड फ़िशिंग के लिए एक उदाहरण फ़िशिंग टेम्पलेट भी है।
आप इन टोकन का उपयोग AAD Internals के साथ भी कर सकते हैं। हम दृढ़ता से अनुशंसा करते हैं कि आप इस अद्भुत टूल को देखें।
Import-Module .\TokenTactics.psd1
Get-Help Get-EntraIDToken
Invoke-RefreshToSubstrateToken -Domain "myclient.org"
परीक्षण सूट के लिए PowerShell 7 और Pester 5.7.1 की आवश्यकता होती है। यह मॉक की गई HTTP प्रतिक्रियाओं का उपयोग करता है और इसके लिए Entra ID क्रेडेंशियल या नेटवर्क एक्सेस की आवश्यकता नहीं होती है।
Install-Module Pester -RequiredVersion 5.7.1 -Scope CurrentUser
pwsh ./tests/Invoke-Tests.ps1
यही सूट हर पुल रिक्वेस्ट के लिए Linux, macOS और Windows पर चलता है।
Get-EntraIDToken -Client MSGraph
उपयोगकर्ता के लॉग इन करने के बाद, आपको JWT प्रस्तुत किया जाएगा और यह $response वेरिएबल में सहेजा जाएगा। एक्सेस टोकन प्रदर्शित करने के लिए अपनी PowerShell विंडो में $response.access_token का उपयोग करें। आप रिफ्रेश टोकन को $response.refresh_token के साथ भी प्रदर्शित कर सकते हैं। संकेत: आप नए टोकन प्राप्त करते रहने के लिए रिफ्रेश टोकन चाहेंगे!
Get-EntraIDToken -Client DODMSGraph
[!IMPORTANT] यह सुविधा v0.2.20 में पेश की गई थी और इसके लिए PowerShell 7.0 की आवश्यकता थी।
यदि आपने KeePassXC, Bitwarden, 1Password या इसी तरह के किसी तृतीय-पक्ष प्रदाता में पासकी बनाई है, तो आप निजी कुंजी सामग्री निर्यात कर सकते हैं।
[!CAUTION] अपनी निजी कुंजी सामग्री निर्यात करना अत्यंत खतरनाक है। आगे बढ़ने से पहले सुनिश्चित करें कि आप जोखिम समझते हैं।
KeePassXC पासकी फ़ाइल प्रारूप मूल रूप से समर्थित है और आप cmdlet को सीधे फ़ाइल की ओर इंगित कर सकते हैं। प्रारंभिक साइन-इन प्रक्रिया केवल आवश्यक ESTSAUTH कुकी प्राप्त करेगी और इस कुकी को बियरर टोकन (access token, refresh token, और id token) में बदलने के लिए आपको Get-EntraIDTokenFromESTSCookie का उपयोग करना होगा।
# Retrieve the ESTSAUTH cookie value
Invoke-EntraIDPasskeyLogin -Verbose -KeyFilePath "C:\Users\Fabian\Microsoft.passkey"
# Exchange the ESTSAUTH cookie for bearer tokens
Get-EntraIDTokenFromESTSCookie -CookieValue $Global:ESTSAUTH
यदि आपके पास असमर्थित फ़ाइल प्रारूप है, तो आप आवश्यक मान मैन्युअल रूप से निर्दिष्ट करके समान लक्ष्य प्राप्त कर सकते हैं।
Invoke-EntraIDPasskeyLogin -Verbose -UserPrincipalName "[email protected]" -UserHandle "XYZ" -CredentialId "9e9c8297-0cde-4726-8852-16c141e15bd3" -PrivateKey $PrivateKey
Get-EntraIDTokenFromESTSCookie -CookieValue $Global:ESTSAUTH
यदि आपने security.microsoft.com पर एक प्रमाणित सत्र से sccauth कुकी प्राप्त की है (जैसे Evilginx या ब्राउज़र DevTools के माध्यम से), तो आप Microsoft Defender XDR पोर्टल के माध्यम से संसाधनों के व्यापक सेट के लिए Entra ID एक्सेस टोकन प्राप्त करने हेतु इसका उपयोग कर सकते हैं।
# Retrieve a Microsoft Graph token using the sccauth cookie
Get-EntraIDTokenFromSCCAUTHCookie -SCCAuth "your_sccauth_value" -ResourceName MicrosoftGraph
# Provide an XSRF token explicitly to skip the bootstrapping request
Get-EntraIDTokenFromSCCAUTHCookie -SCCAuth "your_sccauth_value" -XSRF "your_xsrf_value" -ResourceName Azure
# Use a custom resource URL
Get-EntraIDTokenFromSCCAUTHCookie -SCCAuth "your_sccauth_value" -Resource "https://management.core.windows.net/"
समर्थित -ResourceName मान: Azure, LogAnalytics, MATP, MCAS, MicrosoftGraph, MicrosoftOffice, Purview, PurviewACC, ThreatIntelligencePortal।
Get-EntraIDTokenFromESTSCookie -ESTSAuthCookie "0.AbcApTk..."
यह मॉड्यूल ESTSAuth (या ESTSAuthPersistent) कुकी का उपयोग करके एक्सेस टोकन और रिफ्रेश टोकन प्राप्त करने के लिए ऑथराइज़ेशन कोड फ्लो का उपयोग करता है। यह उपयोगी है यदि आपने Evilginx के माध्यम से किसी सत्र को फ़िश किया है या अन्यथा यह कुकी प्राप्त की है।
सही कुकी का उपयोग करना सुनिश्चित करें! ESTSAuthPersistent केवल तभी उपयोगी है जब CA नीति वास्तव में एक स्थायी सत्र प्रदान करती है। अन्यथा, आपको ESTSAuth का उपयोग करना चाहिए। आप आमतौर पर लंबाई के आधार पर बता सकते हैं कि किसका उपयोग करना है, लंबी कुकी वही है जिसका आप उपयोग करना चाहते हैं :)
नोट: यह सभी मामलों में काम नहीं कर सकता क्योंकि इसमें उपयोगकर्ता की सहभागिता की आवश्यकता हो सकती है। यदि ऐसा है, तो ऊपर दिए गए डिवाइस कोड फ्लो का उपयोग करें, या roadtx interactiveauth --estscookie आज़माएं।
यह सुविधा मूल रिपॉजिटरी में rotarydrone द्वारा पुल रिक्वेस्ट से बैकपोर्ट की गई थी।
इस oauth2 फ्लो के सबसे प्रमुख उदाहरणों में से एक (कम से कम 2025 की शुरुआत में) Intune Company Portal है, जो कुछ संसाधनों के लिए डिवाइस अनुपालन आवश्यकताओं को बायपास करने की अनुमति देता है।
यह इंटेल पहले @dirkjan द्वारा प्रकाशित किया गया था और फिर @TEMP43487580 द्वारा Black Hat Europe में व्यापक दर्शकों के लिए जारी किया गया।
JumpsecLabs ने कुछ ही समय बाद एक ब्लॉग लेख और TokenSmith के रूप में एक POC प्रकाशित किया।
अब यही क्षमताएँ TokenTacticsV2 में उपलब्ध हैं।
Get-AzureAuthorizationCode एक URL बनाएगा जिसका उपयोग आप प्रमाणीकरण के लिए कर सकते हैं।