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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/twistlock/whoc
أمن الحاوياتالاستغلالتسريب البياناتأمن السحابة
GitHubtwistlock/whoc

whoc

صورة حاوية تقوم بتسريب وقت تشغيل الحاوية الأساسية إلى خادم بعيد.

عرض المستودع
13511منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

whoc

صورة حاوية تستخرج بيئة تشغيل الحاوية الأساسية وترسلها إلى خادم بعيد. اختبر بيئة تشغيل الحاوية الأساسية لمنصة الحاويات المفضلة لديك من موفري الخدمات السحابية!

  • WhoC في Defcon 29 Cloud Village
  • Azurescape - البحث المدعوم من whoc، أول استيلاء على الحاويات عبر الحسابات في السحابة العامة (مكافأة 70,000 دولار)

كيف يعمل؟

كما هو موضح من قبل runc CVE-2019-5736، تقوم بيئات تشغيل الحاويات Linux التقليدية بتعريض نفسها للحاويات التي تشغلها من خلال /proc/self/exe. يستخدم whoc هذا الرابط لقراءة بيئة تشغيل الحاوية التي تنفذه.

الوضع الديناميكي

هذا هو الوضع الافتراضي لـ whoc الذي يعمل ضد بيئات تشغيل الحاويات المرتبطة ديناميكيًا.

  1. تم تعيين نقطة الدخول لصورة whoc إلى /proc/self/exe، وتم استبدال الموصل الديناميكي للصورة (ld.so) بـ upload_runtime.
  2. عند تشغيل الصورة، تقوم بيئة تشغيل الحاوية بإعادة تنفيذ نفسها داخل الحاوية.
  3. نظرًا لأن بيئة التشغيل مرتبطة ديناميكيًا، يقوم النواة بتحميل الموصل الديناميكي المزيف (upload_runtime) إلى عملية بيئة التشغيل ويمرر التنفيذ إليها.
  4. يقرأ upload_runtime ثنائي بيئة التشغيل من خلال /proc/self/exe ويرسله إلى الخادم البعيد المُكوّن.

alt text

وضع الانتظار للتنفيذ

بالنسبة لبيئات تشغيل الحاويات المرتبطة بشكل ثابت، يأتي whoc بنسخة أخرى: whoc:waitforexec.

  1. upload_runtime هو نقطة الدخول للصورة، ويعمل كـ PID 1 لحاوية whoc.
  2. من المتوقع أن يقوم المستخدم بتنفيذ exec داخل حاوية whoc واستدعاء ملف يشير إلى /proc/self/exe (مثال: docker exec whoc_ctr /proc/self/exe).
  3. عند حدوث exec، تقوم بيئة تشغيل الحاوية بإعادة تنفيذ نفسها داخل الحاوية.
  4. يقرأ upload_runtime ثنائي بيئة التشغيل من خلال /proc/$runtime-pid/exe ويرسله إلى الخادم البعيد المُكوّن.

alt text

جرب محليًا

ستحتاج إلى تثبيت docker و python3. استنسخ المستودع:

root@kitploit:~
git clone [email protected]:twistlock/whoc.git && cd whoc

قم بإعداد خادم ملفات لاستقبال بيئة تشغيل الحاوية المستخرجة:

root@kitploit:~
mkdir -p stash && cd stash
ln -s ../util/fileserver.py fileserver 
./fileserver

من شل آخر، قم بتشغيل صورة whoc في بيئة الحاوية التي تختارها، على سبيل المثال Docker:

root@kitploit:~
cd whoc
docker build -f Dockerfile_dynamic -t whoc:latest src  # or ./util/build.sh
docker run --rm -it --net=host whoc:latest 127.0.0.1  # or ./util/run_local.sh

لاحظ أن خادم الملفات استقبل بيئة تشغيل الحاوية. إذا قمت بتشغيل whoc تحت Docker العادي، يجب أن تكون بيئة التشغيل المستلمة runc.

يستخدم --net=host فقط في الاختبارات المحلية حتى تتمكن حاوية whoc من الوصول بسهولة إلى خادم الملفات على المضيف عبر 127.0.0.1.

المنصات الأخرى

افتراضيًا، يتم بناء whoc لـ linux/amd64، ولكنه يدعم أيضًا معماريات CPU أخرى. يمكن بناء وضع الانتظار للتنفيذ كالمعتاد. لبناء whoc في الوضع الديناميكي لمعماريات CPU أخرى، يجب ملء وسيط البناء PLATFORM_LD_PATH_ARG بمسار الموصل الديناميكي على المعمارية المستهدفة.

نص بناء مثال لـ arm64 متاح في util/build_arm64.sh.

المساعدة

مساعدة للثنائي الرئيسي لـ whoc، upload_runtime:

root@kitploit:~
Usage: upload_runtime [options] <server_ip>

Options:
 -p, --port                 Port of remote server, defaults to 8080
 -e, --exec                 Wait-for-exec mode for static container runtimes, waits until an exec to the container occurred
 -b, --exec-bin             In exec mode, overrides the default binary created for the exec, default is /bin/enter
 -a, --exec-extra-argument  In exec mode, pass an additional argument to the runtime so it won't exit quickly
 -r, --exec-readdir-proc    In exec mode, instead of guessing the runtime pid (which gives whoc one shot of catching the runtime),
                            find the runtime by searching for new processes under '/proc'
تنزيل الأداة