
Certighost POC
यह CVE-2026-54121 जिसे Certighost भी कहा जाता है, को प्रदर्शित करने के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट टूल है। विस्तृत विश्लेषण के लिए यहाँ पढ़ें https://gist.github.com/H0j3n/a5ef2609b5f2944ac2390a191a534c26
यह प्रूफ ऑफ कॉन्सेप्ट एक स्व-निहित पायथन स्क्रिप्ट है। इसके लिए impacket, cryptography, pyasn1, asn1crypto, और dnspython की आवश्यकता होती है।
sudo pip install --break-system-packages git+https://github.com/fortra/impacket.git cryptography pyasn1 asn1crypto pycryptodome dnspython
रूट के रूप में चलाएँ क्योंकि नकली LDAP और SMB सेवाएँ उच्च-विशेषाधिकार वाले पोर्ट 389 और 445 पर सुनती हैं।
sudo python3 certighost.py -d playground.local -u lowpriv -p 'Password1234' --dc-ip 192.168.1.10
सफल निष्पादन लक्ष्य प्रमाणपत्र (.pfx) और केर्बरोस कैश (.ccache) को वर्तमान निर्देशिका में लिखता है।
GHOSTABCDEFGH$) या --computer-name के माध्यम से पास किया गया खाता पुनः उपयोग करें।cdc विशेषता (जो नियंत्रित IP की ओर इशारा करती है, --listener के माध्यम से; वैकल्पिक, छोड़े जाने पर स्वतः पता चल जाता है) और साथ ही लक्ष्य DC का DNS नाम रखने वाली एक rmd विशेषता एम्बेड की गई हो।STATUS_NOLOGON_SERVER_TRUST_ACCOUNT समस्या को ठीक करने वाले PR के लिए @GregDurys को श्रेय। certighost अब नकली SMB NetLogon पथ का एक उचित इन-स्क्रिप्ट हॉटपैच शामिल करता है (ParameterControl में K बिट 0x800 के साथ E बिट 0x20 सेट करना, MS-NRPC 2.2.1.4.15 के अनुसार), ताकि एक्सप्लॉइट डोमेन कंट्रोलर पर होस्ट किए गए CA के विरुद्ध काम करे, बिना किसी भिन्न / फोर्क किए गए Impacket संस्करण को स्थापित करने की चिंता किए।EDITF_ATTRIBUTESUBJECTALTNAME2 / ESC6), प्रमाणपत्र अनुरोध अब SAN:dns पहचान को नकली कंप्यूटर के बजाय लक्ष्य DC के DNS नाम (rmd_value) पर सेट करता है, जिससे PKINIT चरण में KDC_ERR_CLIENT_NAME_MISMATCH से बचा जा सके। AD-से-निर्मित टेम्पलेट्स पर अनुरोध SAN को अनदेखा किया जाता है, इसलिए यह परिवर्तन एक सुरक्षित no-op है।