يهدف هذا الريبو إلى خدمة غرضين. أولاً، يوفر مجموعة رائعة من أوامر الوعي الظرفي الأساسية التي يتم تنفيذها في ملف كائن المنارة (BOF). يتيح لك هذا إجراء بعض الفحوصات على المضيف قبل البدء في تنفيذ الأوامر التي قد تكون أكثر تدخلاً.
هدفها الأكبر هو توفير مثال رمزي وسير عمل للآخرين للبدء في إنشاء المزيد من BOFs. إنها وثيقة مصاحبة لمنشور المدونة الموجود هنا: https://www.trustedsec.com/blog/a-developers-introduction-to-beacon-object-files/
إذا كنت تريد استخدام نفس سير العمل مثل هذا المستودع، فإن خطواتك الأساسية هي كما يلي:
ومن الناحية الواقعية، يمكن ضغط هذا في برنامج نصي مساعد، ولكن لم يتم اتخاذ هذه الخطوات في هذا الجهد.
الأوامر | الاستخدام | ملحوظات |
---|---|---|
adcs_enum | adcs_enum | قم بتعداد المراجع المصدقة والقوالب في الإعلان باستخدام وظائف Win32 |
adcs_enum_com | adcs_enum_com | تعداد المراجع المصدقة والقوالب في AD باستخدام كائن ICertConfig COM |
adcs_enum_com2 | adcs_enum_com2 | تعداد المراجع المصدقة والقوالب في الإعلان باستخدام كائن IX509PolicyServerListManager COM |
adv_audit_policies | adv_audit_policies | استرداد سياسات التدقيق الأمني المتقدمة |
arp | arp | قائمة جدول ARP |
com.cacls | كاكلس [مسار الملف] | قم بإدراج أذونات المستخدم للملف المحدد، مع دعم أحرف البدل |
دير | دير [الدليل] [/ ق] | قائمة الملفات في الدليل. يدعم أحرف البدل (مثل "C:WindowsS*") على عكس أمر CobaltStrike ls |
com.driversigs | com.driversigs | قم بتعداد الخدمات المثبتة Imagepaths للتحقق من شهادة التوقيع مقابل بائعي AV/EDR المعروفين |
enum_filter_driver | enum_filter_driver [اختيار: الكمبيوتر] | تعداد برامج تشغيل عامل التصفية |
enumLocalSessions | enumLocalSessions | تعداد جلسات المستخدم المرفقة حاليًا سواء على المستوى المحلي أو عبر RDP |
بيئة | بيئة | قائمة متغيرات بيئة العملية |
findLoadedModule | findLoadedModule [modulepart] [opt:procnamepart] | ابحث عن العمليات التي تم تحميل *modulepart* فيها، وابحث اختياريًا عن *procnamepart* فقط |
get_password_policy | get_password_policy [اسم المضيف] | احصل على سياسة كلمة المرور التي تم تكوينها للخادم الهدف أو المجال وعمليات التأمين |
ipconfig | ipconfig | قم بإدراج عنوان IPv4 واسم المضيف وخادم DNS |
ldapsearch | ldapsearch [استعلام] [اختيار: السمة] [اختيار: results_limit] [اختيار: اسم مضيف DC أو IP] [اختيار: الاسم المميز] | قم بتنفيذ عمليات بحث LDAP (ملاحظة: حدد *,ntsecuritydescriptor كمعلمة للسمة إذا كنت تريد جميع السمات + قائمة التحكم بالوصول (ACL) المشفرة بـ base64 للكائنات، ويمكن بعد ذلك حل ذلك باستخدام BOFHound. من المحتمل أن يؤدي ذلك إلى كسر ترقيم الصفحات، على الرغم من أن كل شيء بدا جيدًا أثناء الاختبار.) |
listdns | listdns | قائمة إدخالات ذاكرة التخزين المؤقت DNS. محاولة الاستعلام وحل كل منهما |
list_firewall_rules | list_firewall_rules | قم بإدراج قواعد جدار حماية Windows |
com.listmods | listmods [اختيار: معرف المنتج] | قائمة وحدات المعالجة (DLL). استهدف العملية الحالية إذا كان PID فارغًا. تكملة لـ driversigs لتحديد ما إذا كانت عمليتنا قد تم حقنها بواسطة AV/EDR |
com.listpipes | com.listpipes | قائمة الأنابيب المسماة |
لغة | لغة | قم بإدراج لغة النظام المحلية ومعرف اللغة المحلية والتاريخ والوقت والبلد |
netGroupList | netGroupList [اختيار: المجال] | سرد المجموعات من المجال الافتراضي أو المحدد |
netGroupListMembers | netGroupListMembers [اسم المجموعة] [اختيار: المجال] | قم بإدراج أعضاء المجموعة من المجال الافتراضي أو المحدد |
netLocalGroupList | netLocalGroupList [اختيار: الخادم] | قائمة المجموعات المحلية من الكمبيوتر المحلي أو المحدد |
netLocalGroupListMembers | netLocalGroupListMembers [اسم المجموعة] [اختيار: الخادم] | قائمة المجموعات المحلية من الكمبيوتر المحلي أو المحدد |
netLocalGroupListMembers2 | netLocalGroupListMembers2 [اختيار: اسم المجموعة] [اختيار: الخادم] | نسخة معدلة من netLocalGroupListMembers التي تدعم BOFHound |
تسجيل الدخول إلى الشبكة | تسجيل الدخول إلى الشبكة [اسم المضيف] | إرجاع المستخدمين الذين قاموا بتسجيل الدخول إلى الكمبيوتر المحلي أو البعيد |
تسجيل الدخول إلى الشبكة2 | netloggedon2 [اختيار: اسم المضيف] | نسخة معدلة من netloggedon تدعم BOFHound |
netsession | جلسة الشبكة [اختيار: الكمبيوتر] | تعداد جلسات العمل على الكمبيوتر المحلي أو المحدد |
netsession2 | netsession2 [اختيار: الكمبيوتر] [اختيار: طريقة الدقة] [اختيار: خادم نظام أسماء النطاقات] | نسخة معدلة من netsession تدعم BOFHound |
netshares | نتشاريس [اسم المضيف] | قائمة المشاركات على الكمبيوتر المحلي أو البعيد |
netstat | netstat | منافذ قائمة TCP وUDP IPv4 |
nettime | وقت الشبكة [اسم المضيف] | عرض الوقت على الكمبيوتر البعيد |
netuptime | وقت الشبكة [اسم المضيف] | قم بإرجاع معلومات حول وقت التمهيد على الكمبيوتر المحلي أو البعيد |
netuser | مستخدم الشبكة [اسم المستخدم] [اختيار: المجال] | الحصول على معلومات حول مستخدم معين. السحب من المجال إذا تم تحديد اسم المجال |
netuse_add | netuse_add [sharename] [opt:username] [opt:password] [opt:/DEVICE:devicename] [opt:/PERSIST] [opt:/REQUIREPRIVACY] | ربط اتصال جديد بجهاز كمبيوتر بعيد |
netuse_delete | netuse_delete [device||sharename] [opt:/PERSIST] [opt:/FORCE] | حذف الجهاز المنضم/اسم المشاركة] |
netuse_list | netuse_list [اختيار: الهدف] | قم بإدراج جميع موارد المشاركة المرتبطة أو المعلومات حول المورد المحلي المستهدف |
netview | netview | سرد أجهزة الكمبيوتر التي يمكن الوصول إليها في المجال الحالي |
nslookup | nslookup [اسم المضيف] [اختيار: خادم DNS] [اختيار: نوع السجل] | قم بإجراء استعلام DNS. خادم DNS هو الخادم الذي تريد الاستعلام عنه (لا تحدده أو 0 افتراضيًا) نوع السجل يشبه A أو AAAA أو ANY. بعض المواقف محدودة بسبب الأعطال الملحوظة |
التحقيق | مسبار [مضيف] [منفذ] | تحقق مما إذا كان منفذ معين مفتوحًا |
الانحدار | إعادة الجلسة [اختيار: اسم المضيف] | قم بإرجاع معرفات SID الخاصة بالمستخدم عن طريق تعداد HKEY_USERS. متوافق مع BOFHound |
reg_query | [اختيار: اسم المضيف] [الخلية] [المسار] [اختيار: القيمة المراد الاستعلام عنها] | الاستعلام عن قيمة التسجيل أو تعداد مفتاح واحد |
reg_query_recursive | [اختيار: اسم المضيف] [خلية] [مسار] | تعداد المفتاح بشكل متكرر بدءًا من المسار |
موارد | موارد | قم بإدراج استخدام الذاكرة ومساحة القرص المتوفرة على محرك الأقراص الثابتة الأساسي |
com.routeprint | com.routeprint | قم بإدراج مسارات IPv4 |
sc_enum | sc_enum [اختيار: الخادم] | قم بتعداد الخدمات الخاصة بمعلومات مراقبة الجودة والاستعلام وqfailure وqtriggers |
sc_qc | sc_qc [اسم الخدمة] [اختيار: الخادم] | تنفيذ مراقبة الجودة في BOF |
sc_qdescription | وصف sc_q [اسم الخدمة] [اختيار: الخادم] | تنفيذ sc qdescription في BOF |
sc_qfailure | sc_qfailure [اسم الخدمة] [اختيار: الخادم] | الاستعلام عن خدمة لظروف الفشل |
sc_qtriggerinfo | sc_qtriggerinfo [اسم الخدمة] [اختيار: الخادم] | الاستعلام عن خدمة لشروط التشغيل |
sc_query | sc_query [اختيار: اسم الخدمة] [اختيار: الخادم] | تنفيذ الاستعلام sc في BOF |
com.schtasksenum | schtasksenum [اختيار: الخادم] | تعداد المهام المجدولة على الكمبيوتر المحلي أو البعيد |
com.schtasskquery | schtasksquery [اختيار: الخادم] [taskpath] | الاستعلام عن المهمة المحددة على الكمبيوتر المحلي أو البعيد |
قائمة المهام | قائمة المهام [اختيار: الخادم] | قائمة العمليات الجارية بما في ذلك PID وPPID وComandLine (يستخدم wmi) |
وقت التشغيل | وقت التشغيل | قم بإدراج وقت تشغيل النظام ومدة تشغيله |
com.vssenum | vssenum [اسم المضيف] [اختيار: اسم المشاركة] | تعداد نسخ الظل على بعض خوادم Server 2012+ |
com.whoami | com.whoami | قائمة whoami / الكل |
windowlist | قائمة النوافذ [اختيار: الكل] | قم بإدراج النوافذ المرئية في جلسة المستخدم الحالية |
wmi_query | استعلام wmi_query [اختيار: الخادم] [اختيار: مساحة الاسم] | قم بتشغيل استعلام wmi وعرض النتائج بتنسيق CSV |
لاحظ سبب تضمين reg_query عندما يكون لدى CS أمر reg query(v) مضمن لأن هذا الأمر يمكنه استهداف أجهزة الكمبيوتر البعيدة ولديه القدرة على تعداد مفتاح كامل بشكل متكرر.
تم أخذ الكود الوظيفي لمعظم هذه الأوامر من مشروع Reactos أو أمثلة التعليمات البرمجية المستضافة على MSDN. تأتي قاعدة بيانات driversigs من https://Gist.github.com/jthuraisamy/4c4c751df09f83d3620013f5d370d3b9
شكرًا لجميع المساهمين المدرجين تحت قائمة المساهمين. لقد ساهم كل واحد منكم بشيء مفيد في هذا المستودع وتعامل معي ومع عمليات المراجعة الخاصة بي. إنني أقدر كل واحد منكم لتعليمي والمساعدة في جعل مستودع BOF هذا أفضل ما يمكن أن يكون!
يتم توفير BOF المترجمة مسبقًا في هذا المشروع ويتم تجميعها باستخدام إصدار حديث من Mingw-w64 يتم تثبيته عادةً من Brew.
تمت كتابة BOF هذه مع وضع دعم لنظام التشغيل Windows Vista+ في الاعتبار. تم إنشاء فرع جديد يسمى winxp_2003 إذا كنت بحاجة إلى استخدام المجموعة الرئيسية من BOF على تلك الأنظمة القديمة. سيبقى هذا الفرع في حالة أقل دعمًا. سيكون فعالاً، ولكن لن يتم تحديثه مع كل دفعة/ميزة جديدة قد نضيفها.