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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
yellow — غلاف ثنائي بسيط لـ DNS canarytokens. | Kitploit
أدوات/GitHubGitHub/singe/yellow
أدوات دفاعيةأمن الشبكاتكشف التسلل
GitHubsinge/yellow

yellow

غلاف ثنائي بسيط لـ DNS canarytokens.

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

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
root@kitploit:~
            _ _               
 _   _  ___| | | _____      __
| | | |/ _ \ | |/ _ \ \ /\ / /
| |_| |  __/ | | (_) \ V  V / 
 \__, |\___|_|_|\___/ \_/\_/  
 |___/               
 - Just add blue.

yellow - فقط أضف الأزرق

تعديلات بسيطة على الملفات الثنائية تؤدي إلى تفعيل canarytoken عند تنفيذ ملف ثنائي.

مثالية لتفخيخ أنظمة الإنتاج ضد المهاجمين.

توجد حالياً أربع طرق:

  • yellow هو نهج موجّه يستخدم ملفاً ثنائياً يقوم بتفعيل التوكن ثم تنفيذ الملف الثنائي الحقيقي بناءً على امتداد ملف من اختيارك.
  • spe هو تنويعة على ما سبق تستخدم نهجاً مشابهاً لتوكن "تنفيذ العمليات الحساسة" الذي أضافته Thinkst مؤخراً لنظام Windows.
  • libyellow هو إشعار عبر الأنظمة ويقوم بتفعيل canarytoken بشفافية لأي اسم ملف ثنائي تحدده عند حقنه عبر LD_PRELOAD
  • ldsoyellow هو رابط glibc (ld.so) كامل الوظائف يقوم بتفعيل canarytoken لأي ملف ثنائي يستخدمه

العمل التحضيري

سجّل توكن canary من نوع DNS خاصاً بك على canarytokens. يمكنك قراءة المزيد حول طريقة عمله في الوثائق.

سيبدو شيئاً كهذا: pz21qtyfsidipvrsuzs9n2udi.canarytokens.com

ضعه في متغير البيئة TOKEN باستخدام: export TOKEN="c28y9l4dw0drj62un0cm4rwz6.canarytokens.com"

تحتوي ملفات Dockerfiles على توكن مثال صالح، ويمكنك الاطلاع على سجل نشاطه هنا. لكن يُنصح بشدة باستخدام توكن خاص بك.

البناء

تتوفر ملفات Dockerfiles تنفّذ كل طريقة من طرق البناء هذه.

إذا كان لديك بيئة بناء افتراضية مناسبة (مثل build-essential على الأنظمة المبنية على دبيان أو build-base على الأنظمة المبنية على Alpine)، يمكنك ترجمة libyellow أو yellow ببساطة شديدة. أما ldsoyellow فهو أكثر تعقيداً.

يمكنك رؤية مثال بسيط متكامل لبناء وتثبيت yellow في Dockerfiles.

yellow

gcc -o yellow yellow.c canary32.c

انظر Dockerfile.yellow

spe

لا يتطلب أي بناء.

libyellow

تأكد من تحديث قائمة الملفات الثنائية التي تريد التنبيه عليها في مصفوفة alert_list.

gcc -shared -fPIC libyellow.c canary32.c -o libyellow.so

انظر Dockerfile.libyellow أو Dockerfile.libyellow.debian لإصدارات Alpine وDebian.

ldsoyellow

اطّلع على Dockerfile.ldsoyellow للحصول على مثال عملي. ستحتاج إلى مصادر glibc (أنصح باستخدام إصدار الحزمة الرسمي لتكون أقرب ما يمكن إلى الرابط الحقيقي).

apt-get source libc6

طبّق التصحيح rtld.c.patch

cd /glibc-* patch < rtld.c.patch

قم بتهيئة glibc مع تعطيل فحوصات السلامة وجعله يشير إلى مجلد libdir الصحيح (بافتراض نظام 64 بت)

mkdir glibcbuild && cd glibcbuild /glibc-*/configure --disable-sanity-checks --libdir=$(dirname $(find / -name "libc.so.6"|grep 64))

قم بالبناء كالمعتاد

make

التثبيت

تستخدم جميع النسخ متغير البيئة TOKEN لتحديد عنوان URL الخاص بتوكن canary. يمكن تغيير اسم متغير البيئة أو حتى ترميزه بشكل ثابت إذا فضّلت ذلك. ومرة أخرى، توجد ملفات Dockerfiles لكل من هذه النسخ.

yellow

صُمم yellow للتفعيل على ملفات ثنائية محددة تقوم بإعادة تسميتها وإنشاء اسم مستعار لها، تماماً مثل طريقة استخدام busybox. ستحتاج إلى إعادة تسمية الملف الثنائي لاستخدام الامتداد ".canary"، ثم إنشاء رابط رمزي (أو نسخة) من yellow بالاسم الأصلي للملف الثنائي. على سبيل المثال:

root@kitploit:~
cp yellow /usr/bin
mv /usr/bin/id /usr/bin/id.canary
ln -s /usr/bin/yellow /usr/bin/id

بعد ذلك، أي تنفيذ لـ id سيؤدي إلى تفعيل توكن canary الخاص بك.

انظر Dockerfile.yellow

spe

تستخدم طريقة تنفيذ العمليات الحساسة نفس التقنية المذكورة أعلاه، إلا أنها تُفعَّل عبر سكربت شل بدلاً من ملف ثنائي، وتأتي مع مثبّت. شغّل spe_install.sh مع تمرير توكن DNS واسم الملف الثنائي الذي تريد التفعيل عليه. لا يلزم أن يكون الملف الثنائي موجوداً.

على سبيل المثال: ./spe_install.sh "c28y9l4dw0drj62un0cm4rwz6.canarytokens.com" /bin/id

سيُنشئ تنبيهاً في أي وقت يتم فيه تشغيل id.

هذه نسخة من طريقة توكن Windows الموضحة هنا

libyellow

صُمم libyellow للتفعيل على أي ملف ثنائي يُستخدم عند حقنه عبر LD_PRELOAD، لكنه ينبّه فقط على الملفات التي تحددها في الكود. يمكن القيام بذلك لكل جلسة عن طريق تعيين متغير البيئة LD_PRELOAD للإشارة إليه، أو على مستوى النظام بأكمله بإضافته إلى ملف /etc/ld.so.preload. الطريقة الأخيرة قد تعطّل نظامك إذا كانت المكتبة لا تعمل عليه، لذلك يُنصح باختباره باستخدام LD_PRELOAD أولاً.

تذكّر وضع التوكن الخاص بك في متغير البيئة TOKEN كما هو موضح في قسم "العمل التحضيري" أعلاه.

مثال على LD_PRELOAD:

root@kitploit:~
cp libyellow.so /usr/lib/
export LD_PRELOAD=/usr/lib/libyellow.so

ثم شغّل ملفاً ثنائياً مستهدفاً، وتأكد من أنه يتصرف كما هو متوقع، وستحصل على تنبيه canary.

بمجرد التأكد من أن كل شيء يعمل، يمكنك إضافته على مستوى النظام باستخدام (لن يعمل هذا على الأنظمة المبنية على musl مثل Alpine، حيث تُستخدم طريقة LD_PRELOAD بدلاً من ذلك):

root@kitploit:~
cp libyellow.so /usr/lib
echo /usr/lib/libyellow.so >> /etc/ld.so.preload

انظر Dockerfile.libyellow أو Dockerfile.libyellow.debian لإصدارات Alpine وDebian.

ldsoyellow

صُمم ldsoyellow للتفعيل على ملفات ثنائية محددة يتم تعديلها لاستخدامه بدلاً من الرابط الافتراضي. يمكنك استبدال الرابط الافتراضي به للحصول على تأثير على مستوى النظام بأكمله، ولكن ذلك سيكون على الأرجح مزعجاً للغاية.

يتضمن مثال Dockerfile.ldsoyellow القيام بذلك على /bin/cat. أولاً، يتم نسخ الرابط المفخَّخ بجوار الرابط الشرعي:

cp <arm'd linker> /lib64/ld-linux-x86-64.so.3

ثم يتم تعديل الملف الثنائي لاستخدامه بدلاً من الرابط الشرعي:

sed -i "s/\/lib64\/ld-linux-x86-64.so.2/\/lib64\/ld-linux-x86-64.so.3/" /bin/cat

انظر Dockerfile.ldsoyellow.

مثال على Docker داخل Docker

إذا أردت تشغيل Docker داخل Docker، على سبيل المثال، في بيئة بناء يكون لديك فيها تحكم محدود بتوجيهات البناء، وتريد أن يتم تنبيهك إذا اخترق أحدهم البيئة، يمكنك القيام بشيء مشابه للمثال الموجود في Dockerfile.dind-rootless. يستخدم هذا المثال yellow لكنه قد يستخدم أي نسخة أخرى أو جميعها.

يقوم بتفخيخ الملفات الثنائية الموجودة على المضيف والتي لا ينبغي أن تكون قابلة للوصول من داخل حاوية.

تنزيل الأداة