Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Shhhloader — Syscall Shellcode Loader (قيد التطوير) | Kitploit
أدوات/GitHubGitHub/icyguider/shhhloader
شيل كود
GitHubicyguider/shhhloader

Shhhloader

Syscall Shellcode Loader (قيد التطوير)

عرض المستودع
1.3k1987منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Shhhloader

Shhhloader عبارة عن أداة تحميل شيل كود قيد التطوير. تأخذ شيل كود خام كمدخل وتقوم بتجميع كود بدائي C++ يقوم بمجموعة من الأمور المختلفة لمحاولة تجاوز برامج مكافحة الفيروسات/منصة الكشف والاستجابة (AV/EDR). سيعمل الباني بايثون المضمن على أي نظام لينكس مثبت عليه Mingw-w64.

تعديل 1/25/24: يدعم Shhhloader الآن PoolParty النمط 7! تمت إضافة خيار أيضًا يمكنه دمج PoolParty مع Module Stomping لمنع بقاء الشيل كود المنفذ في الذاكرة غير المدعومة. انظر أدناه للحصول على فيديو يوضح طريقة الحقن الجديدة هذه ضد Defender ATP:

شاهد الفيديو
root@kitploit:~
┳┻|
┻┳|
┳┻|
┻┳|
┳┻| _
┻┳| •.•)  - شششش، قد يسمعنا برنامج مكافحة الفيروسات! 
┳┻|⊂ノ   
┻┳|
الاستخدام: Shhhloader.py [-h] [-p explorer.exe] [-m QueueUserAPC] [-u] [-w] [-nr] [-ns] [-l] [-v] [-sc GetSyscallStub] [-d] [-dp apphelp.dll] [-s domain]
                     [-sa testlab.local] [-o a.exe] [-pp explorer.exe] [-ppv] [-np] [-cp] [-td ntdll.dll] [-ef NtClose]
                     file

مُحَمِّل شيل كود استدعاءات النظام المخصص من ICYGUIDER

الوسائط الموضعية:
  file                  الملف الذي يحتوي على الشيل كود الخام

الخيارات:
  -h, --help            عرض رسالة المساعدة هذه والخروج
  -p explorer.exe, --process explorer.exe
                        العملية للحقن فيها (الافتراضي: explorer.exe)
  -m QueueUserAPC, --method QueueUserAPC
                        طريقة تنفيذ الشيل كود (الخيارات: PoolPartyModuleStomping, PoolParty, ThreadlessInject, ModuleStomping, QueueUserAPC,
                        ProcessHollow, EnumDisplayMonitors, RemoteThreadContext, RemoteThreadSuspended, CurrentThread) (الافتراضي: QueueUserAPC)
  -u, --unhook          فك ربط NTDLL في العملية الحالية
  -w, --word-encode     حفظ الشيل كود في الكود البدائي كمصفوفة من كلمات إنجليزية
  -nr, --no-randomize   تعطيل التوزيع العشوائي لأسماء استدعاءات النظام
  -ns, --no-sandbox     تعطيل فحوصات الصندوق الرملي
  -l, --llvm-obfuscator
                        استخدام Obfuscator-LLVM لتجميع الكود البدائي
  -v, --verbose         تمكين رسائل التصحيح عند التنفيذ
  -sc GetSyscallStub, --syscall GetSyscallStub
                        طريقة تنفيذ استدعاء النظام (الخيارات: SysWhispers2, SysWhispers3, GetSyscallStub, None) (الافتراضي: GetSyscallStub)
  -d, --dll             إنشاء DLL بدلاً من EXE
  -dp apphelp.dll, --dll-proxy apphelp.dll
                        إنشاء DLL وكيل باستخدام DLL شرعي مزود (يجب أن يكون الملف موجودًا في الدليل الحالي)
  -s domain, --sandbox domain
                        تقنية تجنب الصندوق الرملي (الخيارات: sleep, domain, hostname, username, dll) (الافتراضي: sleep)
  -sa testlab.local, --sandbox-arg testlab.local
                        وسيطة تقنية تجنب الصندوق الرملي (مثال: WIN10CO-DESKTOP, testlab.local)
  -o a.exe, --outfile a.exe
                        اسم الملف المترجم

انتحال PPID:
  -pp explorer.exe, --ppid explorer.exe
                        العملية الأم لاستخدامها في انتحال PPID (الافتراضي: explorer.exe)
  -ppv, --ppid-priv     تمكين الانتحال لعملية أم مميزة (معطل افتراضيًا)
  -np, --no-ppid-spoof  تعطيل انتحال PPID

ThreadlessInject:
  -cp, --create-process
                        إنشاء عملية بدلاً من الحقن في عملية موجودة
  -td ntdll.dll, --target-dll ntdll.dll
                        DLL الهدف الذي يحتوي على دالة التصدير المراد استبدالها
  -ef NtClose, --export-function NtClose
                        دالة التصدير المراد استبدالها

الميزات:

  • 10 طرق مختلفة لتنفيذ الشيل كود (PoolParty, PoolPartyModuleStomping, ThreadlessInject, ModuleStomping, QueueUserAPC, ProcessHollow, EnumDisplayMonitors, RemoteThreadContext, RemoteThreadSuspended, CurrentThread)
  • انتحال PPID
  • حظر DLLs الطرف الثالث
  • فك ربط NTDLL عبر KnownDLLs
  • SysWhispers2, SysWhispers3, & GetSyscallStub
  • تجزئة API لـ SW2 و SW3
  • تشفير السلاسل النصية في وقت التجميع
  • دعم Obfuscator-LLVM (OLLVM)
  • إنشاء وكيل DLL تلقائي
  • تكامل مع إطار Havoc C2
  • توزيع عشوائي لأسماء استدعاءات النظام
  • تخزين الشيل كود كمصفوفة كلمات إنجليزية
  • تشفير XOR مع توليد مفتاح ديناميكي
  • تجنب الصندوق الرملي عبر DLL المحمل، المجال، المستخدم، اسم المضيف، وتعداد النظام

انظر أدناه للحصول على فيديو إثبات المفهوم لطريقة ThreadlessInject المستخدمة لحقن Havoc beacon في IE دون إنشاء أي تنبيهات وحدث أدنى في Microsoft Defender for Endpoint (MDE) EDR (تم التسجيل في 4/3/2023):

شاهد الفيديو

انظر الفيديو أدناه الذي يوضح تقنية حقن Module Stomping المنفذة عبر DLL Proxying (تم التسجيل في 8/9/2022):

شاهد الفيديو

تم أيضًا دمج Shhhloader في إطار Havoc C2 عبر وحدة من @jakobfriedl. انظر أدناه للحصول على فيديو يوضح الوحدة:

شاهد الفيديو

المشكلات/الملاحظات المعروفة:

  • تم تكوين طرق حقن PoolParty حاليًا للحقن في عملية موجودة. لذلك، يجب استخدام علامة -p لتوفير اسم عملية تعرف أو تشك بأنها قيد التشغيل بالفعل على النظام المستهدف.
  • لن تعمل طرق حقن PoolParty مع ملفات شيل كود كبيرة مثل sliver (~11MB).
  • يجب أن تقوم طريقة تنفيذ الشيل كود ThreadlessInject حاليًا بالحقن في عملية غير معلقة. يتم ذلك تلقائيًا لك إذا تم توفير خيار "-cp". آمل أن أجد طريقة لجعلها تعمل مع العمليات المعلقة قريبًا.
  • تتوقف وحدة Havoc C2 حاليًا عند تحديد مستمع بدلاً من ملف شيل كود خام. سيتم إصلاح هذا قريبًا إن شاء الله.
  • سيكتشف Windows Defender معظم الملفات التي تم إنشاؤها بواسطة هذه الأداة، لذا يرجى عدم نشر مشكلة تقول "تم الكشف!!!". قم بتجربة الخيارات والميزات الجديدة حتى تحصل على شيء يعمل؛ لقد تمت إضافتها لسبب :). تنفيذ الملف المُنشأ في الذاكرة هو أيضًا طريقة جيدة لتجنب هذه الاكتشافات.
  • Obfuscator-LLVM (OLLVM) غير متوافق مع SW2 و SW3 بسبب الطريقة التي يعالج بها clang التجميع المضمن. لا توجد خطة حاليًا لجعلها متوافقة؛ تمت إضافة فحوصات لمنع المستخدم من محاولة استخدام هذه الميزات معًا.
  • هناك الكثير من الأخطاء في الكود الخاص بي. يرجى اختبار كل شيء مسبقًا قبل الاستخدام لأمر مهم، ويرجى تقديم أكبر قدر ممكن من المعلومات عند فتح مشكلة. (شكرًا!)

التحديثات المخطط لها:

  • خيار استدعاء نظام بنقطة توقف الأجهزة (HWBP)
  • إنشاء عمليات باستخدام استدعاء النظام بدلاً من دالة WinAPI القياسية
  • دمج ThreadlessInject مع تقنيات حقن الشيل كود الأخرى (مثال: ModuleStomping)
  • إعادة هيكلة الكود ليكون أكثر نمطية وقابلية للقراءة
  • إصلاح الأخطاء في وحدة Havoc C2
  • إصلاح عدد لا يحصى من الأخطاء من خلال تعلم البرمجة بشكل أفضل ;)

اختياري: لاستخدام علامة Obfuscator-LLVM، يجب أن يكون مثبتًا على نظامك إلى جانب wclang. لقد وجدت أن هذا صعب بعض الشيء ولكن يجب أن تكون قادرًا على القيام بذلك بقليل من المثابرة. فيما يلي خطوة بخطوة استخدمتها لتثبيت فرع llvm-13.x من OLLVM على نظام Kali Linux الخاص بي:

انظر التفاصيل
root@kitploit:~
# استنساخ وتشغيل CMake
git clone -b llvm-13.x https://github.com/heroims/obfuscator.git
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_NEW_PASS_MANAGER=OFF ../obfuscator/llvm/

# تكوين CMake وتجميع OLLVM
export clang_build_dir=$(cd ../; pwd)/obfuscator/clang
sed -i 's/LLVM_TOOL_CLANG_BUILD:BOOL=OFF/LLVM_TOOL_CLANG_BUILD:BOOL=ON/g' CMakeCache.txt
sed -i "s|LLVM_EXTERNAL_CLANG_SOURCE_DIR:PATH=|LLVM_EXTERNAL_CLANG_SOURCE_DIR:PATH=$clang_build_dir|g" CMakeCache.txt
make -j7

# بمجرد التجميع، قم بعمل نسخة احتياطية من ثنائيات CLANG الأصلية
mv /usr/bin/clang /usr/bin/clang13.0.1
mv /usr/bin/clang++ /usr/bin/clang++13.0.1

# ثم في دليل OLLVM build/bin، انسخ ثنائيات clang المُنشأة حديثًا
cp bin/clang /usr/bin/clang
cp bin/clang++ /usr/bin/clang++

# ثم ثبّت wclang
cd ..
git clone https://github.com/tpoechtrager/wclang.git
cd wclang/
cmake -DCMAKE_INSTALL_PREFIX=_prefix_ .
make
make install
export wclang_path=$(pwd)/_prefix_/bin
echo "export PATH=$wclang_path:$PATH" >> ~/.bashrc
export PATH=$wclang_path:$PATH

# ثم قم بعمل نسخة احتياطية من ملفات lib الأصلية
cp -R /lib/llvm-13/lib/clang/13.0.1/include/ /lib/llvm-13/lib/clang/13.0.1/include_backup/

# أخيرًا في دليل OLLVM build/bin/lib/clang/13.0.1/، انسخ مجلد include
cd ../build/lib/clang/13.0.1/
cp -R include/ /lib/llvm-13/lib/clang/13.0.1/

ربما توجد طريقة أفضل للقيام بذلك ولكن هذا ما نجح معي. إذا كانت لديك مشكلات، فما عليك سوى الاستمرار في المحاولة وتأكد من أنك تستطيع تشغيل x86_64-w64-mingw32-clang++ -v وأنه يحتوي على "Obfuscator-LLVM" أو "heroims" في الإخراج. لسوء الحظ، ليس لدي الوقت لمساعدة الأفراد الذين قد يحتاجون إلى مزيد من المساعدة، ولكن يمكنك محاولة قراءة هذه المشكلة على مستودع Nimcrypt2 الخاص بي حيث تمكن مستخدمان من معرفة كيفية القيام بذلك على أنظمتهم.

تحيات وتقدير:

  • @Jackson_T لمشروعه الرائع SysWhispers: https://github.com/jthuraisamy/SysWhispers
  • @FalconForceTeam لأداة توليد استدعاءات النظام التي تدعم SysWhispers2: https://github.com/FalconForceTeam/SysWhispers2BOF
  • @snovvcrash لمشروعه DInjector، الذي استخدمته كقالب للعديد من تقنيات الحقن المضمنة: https://github.com/snovvcrash/DInjector
  • @Cerbersec لمشروعه Ares، الذي استخدمت كوده لانتحال PPID، حظر DLLs الطرف الثالث وتجنب الصندوق الرملي: https://github.com/Cerbersec/Ares
  • @spotheplanet لمنشور مدونته حول استرداد كتل استدعاءات نظام ntdll من القرص في وقت التشغيل: https://www.ired.team/offensive-security/defense-evasion/retrieving-ntdll-syscall-stubs-at-run-time
  • @_RastaMouse لكوده ومقالته حول Module Stomping والتي قمت بترجمتها إلى C++: https://offensivedefence.co.uk/posts/module-stomping/
  • @s4ntiago_p لمشروعه NanoDump وخاصة نص randomize_sw2_seed.py: https://github.com/helpsystems/nanodump
  • @skadro-official لمشروعه skCrypter الذي تستخدمه هذه الأداة لتشفير السلاسل النصية في وقت التجميع: https://github.com/skadro-official/skCrypter
  • @_EthicalChaos_ لمشروعه ThreadlessInject: https://github.com/CCob/ThreadlessInject
  • 0xLegacyy لإصدار BOF من ThreadlessInject:
تنزيل الأداة
https://github.com/iilegacyyii/ThreadlessInject-BOF
  • @D1rkMtr لمشروعه مجموعة فك ربط ntdll: https://github.com/TheD1rkMtr/ntdlll-unhooking-collection
  • @KlezVirus لمشروعه SysWhispers3: https://github.com/klezVirus/SysWhispers3
  • @jakobfriedl لإنشاء وحدة Havoc C2 لـ Shhhloader
  • @_0xDeku لأبحاثه وكوده حول حقن العمليات باستخدام مجموعات الخيوط في Windows (PoolParty): https://github.com/SafeBreach-Labs/PoolParty
  • @0xEr3bus لإصدار BOF من PoolParty والذي تم استخدامه كمرجع: https://github.com/0xEr3bus/PoolPartyBof