
إطار عمل نصي لمحاكاة أكثر من 50 تقنية من تقنيات MITRE ATT&CK لاختبار قدرات الكشف للفريق الأزرق. يتضمن نصوص Python النصية وبرنامجًا ثنائيًا مُعدًا لحقن العمليات، ومحاكاة البيكن، ومحاكاة الحركة الجانبية.
يوفر RTA إطارًا من البرامج النصية المصممة للسماح للفرق الزرقاء باختبار قدرات الكشف الخاصة بهم ضد الممارسات الخبيثة، والمُصممة على غرار MITRE ATT&CK.
يتكون RTA من برامج نصية بلغة بايثون تُنتج أدلة على أكثر من 50 تكتيكًا مختلفًا من تكتيكات ATT&CK، بالإضافة إلى تطبيق ثنائي مُجمَّع يقوم بأنشطة مثل إيقاف ملفات الوقت، وحقن العمليات، ومحاكاة الإشارات حسب الحاجة.
حيثما أمكن، يحاول RTA تنفيذ النشاط الخبيث الفعلي الموصوف. في حالات أخرى، ستقوم RTAs بمحاكاة النشاط كليًا أو جزئيًا. على سبيل المثال، بعض الحركة الجانبية ستستهدف افتراضيًا المضيف المحلي (على الرغم من أن المعاملات تسمح عادةً بالاختبار على عدة مضيفين). في حالات أخرى، سيتم إعادة تسمية الملفات التنفيذية مثل cmd.exe أو python.exe لجعلها تبدو وكأنها ثنائي Windows يقوم بأنشطة غير قياسية.
تتطلب بعض RTAs أدوات خارجية لتعمل بشكل صحيح. يمكنك تشغيل العديد من RTAs بدون أدوات إضافية، ولكن للاستفادة من المجموعة الكاملة، سيتطلب البعض تنزيلات إضافية.
الجدول التالي يوفر معلومات التبعيات:
| التبعية | RTAs | المصدر |
|---|---|---|
| Sysinternals Suite | user_dir_escalation.py, sip_provider.py, system_restore_proc.py, trust_provider.py | Microsoft |
| MsXsl | msxsl_network.py | Microsoft |
قد يقوم Windows Defender أو منتجات مكافحة الفيروسات الأخرى بحظر أو التدخل في عمل RTAs أثناء تشغيلها. ضع في اعتبارك كيفية تكوين منتجات الأمان على مضيف الاختبار قبل تشغيل RTAs بناءً على أهداف اختباراتك.
من خلال تعديل common.py، يمكنك تخصيص كيفية عمل برامج RTA النصية في بيئتك. يمكنك حتى كتابة وظيفة جديدة بالكامل لاستخدامها في واحد أو أكثر من RTAs الجديدة.
لتشغيل RTA powershell_args.py، قم ببساطة بتشغيل:
python powershell_args.py
لتشغيل دليل كامل من RTAs، أسهل طريقة هي استخدام مشغل البرامج النصية المقدم "run_rta.py". هذا المشغل قادر على تشغيل كل برنامج نصي في المجلد الفرعي "red_ttp" وسيفعل ذلك افتراضيًا:
جميع أنظمة التشغيل:
python run_rta.py
بدلاً من ذلك، يمكنك استخدام حلقة:
ويندوز:
for %f in (*.py) do python %f
لينكس/ماك:
for i in (*.py); do python $i; done
لا تتطلب أي من القواعد وسائط، لكن بعضها يمكن أن يأخذ وسائط اختياريًا لمزيد من التخصيص للتقنية.
للمساعدة في حل المشكلات الشائعة، يرجى الرجوع إلى الأسئلة المتكررة التالية:
يمكن أن يحدث هذا إذا تم تثبيت Python 3.x بدلاً من 2.7. لاحظ أن المتطلبات الأساسية تحدد 2.7 على الرغم من أننا ندرس نهجًا طويل الأجل باستخدام 3.x.
لحل الأخطاء المتعلقة بتبعية مفقودة، يرجى التأكد من اتباع التعليمات لتنزيل الأدوات المساعدة الخارجية مثل مجموعة Sysinternals وأنك قمت باستخراج هذه الملفات التنفيذية إلى المجلد الفرعي "bin".
قد تحتوي بيئتك على جدران حماية تعتمد على المضيف تمنعك من التحرك جانبيًا. هذا أمر رائع لا يجب عليك تعطيله في الإنتاج! بدلاً من ذلك، لاحظ ما إذا كان يمكنك اكتشاف المحاولة الفاشلة.
عندما يكتشف Windows Defender أو منتجات مكافحة الفيروسات الأخرى نشاطًا خبيثًا، قد يقوم أحيانًا بقفل الملفات مما يؤدي إلى هذا الخطأ. راجع سجلات مكافحة الفيروسات لديك لمعرفة ما إذا كان هذا هو سبب الخطأ.
ستستمر Endgame في إصدار البرامج النصية في الأسابيع والأشهر القادمة والتي تتوافق مع تقنيات MITRE ATT&CK المختلفة. إذا كنت قد كتبت بالفعل نصًا برمجيًا، فإننا نقبل طلبات السحب وسنراجع ونُدمج الإضافات بكل سرور! المساهمة في هذا المستودع هي طريقة رائعة لتوسيع RTA للمجتمع بأكمله.