
A BOF that runs unmanaged PEs inline
هذا ملف كائن منارة (Beacon Object File - BOF) ينفّذ ملفات PE غير المُدارة (unmanaged PEs) داخل الذاكرة ويستعيد مخرجاتها دون تخصيص وحدة تحكم (أي دون استدعاء conhost.exe).

Summary: Run an unmanaged EXE/DLL inside Beacon's memory.
Usage: noconsolation [--local] [--inthread] [--link-to-peb] [--dont-unload] [--timeout 60] [-k] [--method funcname] [-w] [--no-output] [--alloc-console] [--close-handles] [--free-libraries wininet.dll,winhttp.dll] [--dont-save] [--list-pes] [--unload-pe pename] [--load-all-dependencies] [--load-all-dependencies-but advapi32.dll] [--load-dependencies wininet.dll] [--search-paths C:\Windows\Temp\] /path/to/binary.exe arg1 arg2
--local, -l اختياري. يجب تحميل الملف الثنائي من جهاز Windows الهدف
--inthread, -it اختياري. تشغيل PE بالخيط الرئيسي. قد يؤدي هذا إلى تعليق المنارة (beacon) الخاصة بك اعتمادًا على PE ووسائطه.
--link-to-peb, -ltp اختياري. تحميل PE إلى PEB
--dont-unload, -du اختياري. إذا تم الضبط، لن يتم إلغاء تحميل DLL.
--timeout NUM_SECONDS, -t NUM_SECONDS اختياري. عدد الثواني التي ترغب في انتظارها حتى يكتمل تشغيل PE. الافتراضي 60 ثانية. اضبطه على 0 لتعطيله
-k اختياري. استبدال ترويسات PE
--method EXPORT_NAME, -m EXPORT_NAME اختياري. الطريقة أو اسم الدالة المراد تنفيذها في حالة DLL. إذا لم يتم توفيرها، سيتم تنفيذ DllMain
-w اختياري. يتم تمرير سطر الأوامر إلى دالة DLL غير المُدارة بصيغة UNICODE. (الافتراضي هو ANSI)
--no-output, -no اختياري. لا تحاول الحصول على المخرجات
--alloc-console, -ac اختياري. تخصيص وحدة تحكم. سيؤدي هذا إلى إنشاء عملية جديدة
--close-handles, -ch اختياري. إغلاق مقابض الأنابيب (Pipe handles) عند الانتهاء. إذا تم تشغيل PowerShell مسبقًا، فسيؤدي هذا إلى كسر المخرجات الخاصة بـ PowerShell في المستقبل
--free-libraries, -fl DLL_A,DLL_B اختياري. قائمة DLLs (المحمّلة مسبقًا مع --dont-unload) المراد تفريغها
--dont-save, -ds اختياري. لا تحفظ هذا الملف الثنائي في الذاكرة
--list-pes, -lpe اختياري. سرد جميع ملفات PE التي تم تحميلها في الذاكرة
--unload-pe PE_NAME, -upe PE_NAME اختياري. إلغاء تحميل PE من الذاكرة
--load-all-dependencies, -lad اختياري. تحميل جميع تبعيات PE بشكل مخصص
--load-all-dependencies-but, -ladb DLL_A,DLL_B اختياري. تحميل جميع تبعيات PE بشكل مخصص باستثناء هذه
--load-dependencies, -ld DLL_A,DLL_B اختياري. تحميل تبعيات PE هذه بشكل مخصص
--search-paths, -sp PATH_A,PATH_B اختياري. البحث عن DLLs في هذه المسارات (system32 هو الافتراضي)
/path/to/binary.exe مطلوب. المسار الكامل لملف windows EXE/DLL الذي ترغب في تشغيله داخل Beacon. إذا كان محمّلًا بالفعل، يمكنك ببساطة تحديد اسم الملف الثنائي.
ARG1 ARG2 اختياري. معاملات PE. يجب توفيرها بعد المسار
Example: noconsolation --local C:\windows\system32\windowspowershell\v1.0\powershell.exe $ExecutionContext.SessionState.LanguageMode
Example: noconsolation /tmp/mimikatz.exe privilege::debug token::elevate exit
Example: noconsolation --local C:\windows\system32\cmd.exe /c ipconfig
Example: noconsolation --list-pes
Example: noconsolation LoadedBinary.exe args
يتم تشفير الملفات الثنائية تلقائيًا وتخزينها في الذاكرة بعد تشغيلها لأول مرة. هذا يعني أنك لست بحاجة إلى إرسال الملف الثنائي باستمرار عبر الشبكة.
لتنفيذ ملف ثنائي تم حفظه بالفعل في الذاكرة، ما عليك سوى تحديد اسمه بدلاً من مساره الكامل. لذا، بدلاً من تشغيل:
beacon> noconsolation --local C:\windows\system32\cmd.exe /c ipconfig
يمكنك تشغيل:
beacon> noconsolation cmd.exe /c ipconfig
لسرد جميع الملفات الثنائية المحمّلة في الذاكرة، قم بتشغيل --list-pes.
إذا انتهيت من استخدام ملف ثنائي معين وترغب في إلغاء تحميله، قم بتشغيل --unload-pe mimikatz.exe.
أخيرًا، إذا كنت تريد تشغيل ملف ثنائي دون تحميله تلقائيًا في الذاكرة، قم بتشغيله مع --dont-save.
يمكنك تجنب جميع أحداث تحميل الصور (image load events) عن طريق التحميل المخصص لجميع تبعيات PE:
beacon> noconsolation --load-dependencies --link-to-peb /tmp/malware.exe
بعد اكتمال التنفيذ، سيتم إلغاء تحميل PE وتبعياته تلقائيًا.
لا يتم دعم DLLs التي تستخدم التخزين المحلي للخيط (Thread Local Storage).