Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
tgt-monitor-bof — أداة BOF غير متزامنة لاستخراج أو تجديد رموز Kerberos TGTs تلقائياً على نظام مستهدف. | Kitploit
أدوات/GitHubGitHub/jakobfriedl/tgt-monitor-bof
الحركة الجانبيةما بعد الاستغلالاختبار الاختراقالمصادقةالفريق الأحمرتطوير الحمولات
GitHubjakobfriedl/tgt-monitor-bof

tgt-monitor-bof

أداة BOF غير متزامنة لاستخراج أو تجديد رموز Kerberos TGTs تلقائياً على نظام مستهدف.

عرض المستودع
1341022منذ 3 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

مراقبة Kerberos TGT والتجديد التلقائي

يحتوي هذا المستودع على ملفي كائنات Beacon غير متزامنين (BOF). الأول، tgt-monitor، يراقب النظام بحثًا عن أحداث تسجيل الدخول إلى Kerberos ويوقظ الوكيل كلما تم التقاط TGT جديد لـ Kerberos. على غرار أمر monitor الخاص بـ Rubeus، يعمل هذا BOF بشكل غير محدود ويتحقق دوريًا من ذاكرة التخزين المؤقت لتذاكر LSA على النظام. عند اكتشاف TGT جديد، يقوم بطباعة بيانات التذكرة وإخراج blob مشفر بـ base64 بصيغة kirbi يمكن استخدامه للحركة الجانبية عبر هجمات تمرير التذكرة. الثاني، tgt-renew، يقوم تلقائيًا بتجديد TGTs على النظام إذا كان عمرها المتبقي أقل من حد محدد (مثل 15 دقيقة).

[!Important] تتطلب BOFs في هذا المستودع قدرات تحميل ملفات الكائنات غير المتزامنة. يتم توفير هذه الوظيفة بواسطة إطار عمل Conquest.

  • مراقبة Kerberos TGT والتجديد التلقائي
    • كيف يعمل
      • مراقبة التذاكر
      • تجديد التذاكر
    • الاستخدام
      • tgt-monitor
      • tgt-renew
    • التثبيت
    • شكر وتقدير

كيف يعمل

يتطلب تشغيل كلا الملفين BOF من سياق NT AUTHORITY\SYSTEM. يتم التحقق من الامتيازات بنفس المنطق.

  1. يتحقق BOF من رمز العملية الحالي للوصول إلى SYSTEM.
  2. إذا لم يكن رمز العملية هو SYSTEM، يقوم BOF بمسح جميع الخيوط في العملية الحالية بحثًا عن رمز انتحال مع امتيازات SYSTEM ويقوم بنسخه. يتيح ذلك الاستخدام من عملية وكيل منخفضة النزاهة قامت بسرقة رمز SYSTEM (مثل عبر SeImpersonatePrivilege). ينتهي BOF إذا لم يؤدي ذلك أيضًا إلى الوصول على مستوى SYSTEM.
  3. يتم استرداد مقابض حزمة مصادقة LSA و Kerberos.

يتم تكرار الخطوات أدناه في حلقة حتى يتم إلغاء BOF عبر حدث الإيقاف. يحدد فاصل زمني محدد من قبل المستخدم التأخير بين الاستطلاعات.

مراقبة التذاكر

  1. يتم تعداد جميع جلسات تسجيل الدخول النشطة. لكل جلسة، يتم الاستعلام عن ذاكرة التخزين المؤقت لتذاكر Kerberos وتصفيتها للحصول على TGTs. إذا تم تقديم وسيطة --user، يتم النظر فقط في الجلسات المطابقة لاسم المستخدم ذلك.
  2. يتم مقارنة ذاكرة التخزين المؤقت الحالية للتذاكر مع اللقطة السابقة. تؤدي TGTs الجديدة إلى طباعة البيانات الوصفية وإخراج kirbi المشفر بـ base64، يليه استدعاء BeaconWakeup() لإجبار الوكيل على تسجيل الوصول وإرجاع المخرجات.

سير عمل مراقب TGT

تجديد التذاكر

  1. يتم تعداد جميع جلسات تسجيل الدخول النشطة. لكل جلسة، يتم الاستعلام عن ذاكرة التخزين المؤقت لتذاكر Kerberos وتصفيتها للحصول على TGTs. إذا تم تقديم وسيطة --user، يتم النظر فقط في الجلسات المطابقة لاسم المستخدم ذلك.
  2. يتم فحص كل TGT مقابل شرطين:
    • إذا كانت التذكرة قد تجاوزت وقت RenewUntil، يتم وضع علامة عليها كمنتهية الصلاحية ويتطلب إعادة المصادقة.
    • إذا كان العمر المتبقي للتذكرة ضمن الحد المحدد من قبل المستخدم، يتم تجديد TGT واستيراده. عند النجاح، يتم طباعة بيانات التذكرة المحدثة وإخراج kirbi المشفر بـ base64، يليه استدعاء BeaconWakeup().

سير عمل تجديد TGT

تتضمن عملية تجديد التذاكر الخطوات التالية:

  1. استخراج TGT Kerberos المشفر بـ ASN.1 عبر ExtractTicket() باستخدام LUID و SPN من بنية PTICKET_ENTRY.
  2. فك تشفير ASN.1 للتذكرة واسترداد بيانات اعتماد Kerberos.
  3. إنشاء حزمة TGS-REQ لطلب تجديد التذكرة باستخدام التذكرة المنتهية الصلاحية للمصادقة المسبقة.
  4. إرسال بايتات TGS-REQ إلى وحدة تحكم المجال على المنفذ 88.
  5. استرداد وفك تشفير ASN.1 وتحليل استجابة TGS-REP.
  6. بناء التذكرة المجددة، ومسح التذكرة القديمة من الذاكرة المؤقتة، واستيراد التذكرة المجددة باستخدام تمرير التذكرة (Pass-the-Ticket).
  7. تحديث startTime، endTime، renewUntil، ticketFlags، و encryptionType على بنية PTICKET_ENTRY، طباعة معلومات التذكرة و base64.

الاستخدام

يحتوي هذا المستودع على وحدة Conquest تنفذ الأمرين التاليين.

tgt-monitor

يقوم BOF tgt-monitor بالتنبيه عند التقاط TGTs جديدة وإرجاعها كـ blob مشفر بـ Base64. يجب تمرير الوسيطات التالية إلى ملف الكائن:

الاسمالنوعالوصف
intervalintالمهلة بين الفحوصات بالثواني.
targetUsersstringقائمة غير حساسة لحالة الأحرف بأسماء المستخدمين المستهدفين مفصولة بفواصل. عند تعيين هذا الحقل، يتم استرداد TGTs فقط للمستخدمين المحددين. وإلا، يتم جمع TGTs لجميع المستخدمين. لاحظ أن حسابات الكمبيوتر يجب أن تنتهي بـ $.
Usage: tgt-monitor [--interval interval] [--user user]
Example: tgt-monitor --interval 5 --user DC01$

Optional arguments:
  --interval interval       INT        Polling interval in seconds (default: 60).
  --user user               STRING     Comma-separated list of target usernames (default: all users).

مراقب TGT

يمكن استخدام التذكرة المشفرة مباشرة مع Rubeus.exe ptt /ticket:<base64> أو impacket-ticketConverter لمزيد من الحركة الجانبية، كما هو موضح في لقطة الشاشة أدناه. في Conquest، من الممكن استخدام الأمر ptt لحقن التذكرة مباشرة في جلسة تسجيل الدخول الحالية لانتحال شخصية المستخدم المستهدف.

سرقة التذاكر باستخدام مراقب TGT

tgt-renew

يقوم BOF tgt-renew تلقائيًا بتجديد التذاكر التي ستنتهي صلاحيتها قريبًا حتى لا يمكن تجديدها بعد ذلك. يجب تمرير الوسيطات التالية إلى ملف الكائن:

الاسمالنوعالوصف
intervalintالمهلة بين الفحوصات بالثواني.
thresholdintحد التجديد بالدقائق. يتم تجديد التذكرة عندما يكون الوقت المتبقي إلى EndTime أقل من هذا الحد.
targetUsersstringقائمة غير حساسة لحالة الأحرف بأسماء المستخدمين المستهدفين مفصولة بفواصل. عند تعيين هذا الحقل، يتم تجديد TGTs فقط للمستخدمين المحددين. وإلا، يتم تجديد TGTs لجميع المستخدمين. لاحظ أن حسابات الكمبيوتر يجب أن تنتهي بـ $.
targetLuidsstringقائمة غير حساسة لحالة الأحرف بـ LUIDs المستهدفة مفصولة بفواصل. عند تعيين هذا الحقل، يتم تجديد TGTs فقط لـ LUIDs المحددة.
Usage: tgt-renew [--interval seconds] [--threshold minutes] [--user user] [--luid luid]
Example: tgt-renew --luid 0x3e4 --interval 300 --threshold 30

Optional arguments:
  --interval seconds        INT        Polling interval in seconds (default: 60).
  --threshold minutes       INT        Ticket renewal threshold in minutes (default: 15).
  --user user               STRING     Comma-separated list of target usernames (default: all users).
  --luid luid               STRING     Comma-separated list of target LUIDs (default: all LUIDs).

العلامتان --user و --luid متبادلتان (لا يمكن استخدامهما معًا).

تجديد TGT

التثبيت

git clone https://github.com/jakobfriedl/tgt-monitor-bof
cd tgt-monitor-bof
make

من هناك، استخدم مدير البرامج النصية لـ Conquest لتحميل الوحدة dist/tgt-monitor.py.

شكر وتقدير

يعتمد تنفيذ ملف كائن Beacon هذا على المشاريع التالية:

  • https://github.com/Ghostpack/Rubeus
  • https://github.com/RalfHacker/Kerbeus-BOF
    • تنفيذ الترميز وفك الترميز ASN.1
  • https://github.com/wavvs/nanorobeus
تنزيل الأداة