في عالم الأمن السيبراني، التعامل مع النظام يتطلب منك تكون تعرف توصل بسرعة للمعلومة: تلقى الملفات، تستخرج النصوص المهمة من اللوجات، وتستعمل النتائج كمدخلات لعمليات أخرى. لينُكس يعطيك أدوات بسيطة لكن قوية بزاف في هاد المجال. ومن غير هاد الشي، أي واحد يخدم في اختبار الاختراق ولا حتى في الإدارة لازم يكون يعرفهم.
هاد المقال يغطي ثلاث أساسيات: أوامر البحث، التصفية باستعمال الـ pipe، وإعادة التوجيه. لو تفهم هادو، رح تربح وقت بزاف وتولي خدمتك منظمة أكثر.
أول حاجة نحتاجوها كمبتدئين في اختبار الاختراق أو تحليل النظام هي كيفاش نلقاو الملفات ولا الكلمات داخل الملفات. عندنا بزاف أوامر مشهورة: locate
, whereis
, which
, find
, و grep
.
أمر locate
يعتمد على قاعدة بيانات محدثة للنظام (تتجدد عادة بالأمر updatedb
). السرعة تاعو كبيرة بزاف لأنه يبحث في قاعدة بيانات جاهزة، مشي مباشرة في النظام.
locate passwd
يعطيك معلومات شاملة على الملف التنفيذي (binary)، دليل المساعدة (man pages)، والكود المصدري لو متوفر. مفيد جدا باش تفهم مصدر أي أداة في نظامك.
whereis bash
الأمر which
يوريك أي نسخة من البرنامج رح تتنفذ كي تكتب الأمر. هاد شي مهم بزاف إذا كان عندك إصدارات متعددة لنفس البرنامج (مثلا Python 2 و Python 3).
which python
أمر find
هو الأكثر مرونة: يقدر يلقالك الملفات حسب الاسم، النوع (-type
)، الحجم (-size
)، الصلاحيات (-perm
)، وحتى حسب وقت التعديل. يستعمل بزاف عند البحث في logs أو ملفات النظام.
find / -name "shadow"
find /var/log -type f -size +10M
grep "root" /etc/passwd
grep -rin "password" /var/log/
الرمز |
يسمح بتمرير ناتج أمر كمدخل لأمر آخر. هادي قوة لينُكس: تبني سلسلة أوامر صغيرة تخرجلك نتيجة كبيرة.
ls -l | grep ".txt"
يعرض كل الملفات في المجلد الحالي (ls -l
) لكن يمرر النتيجة لـ grep
ليصفّي فقط الملفات اللي تنتهي بـ .txt
.
cat access.log | grep "404" | wc -l
هنا: نقرأ log، نفلتر الأسطر اللي فيها “404”، ثم نعدّهم بـ wc -l
. النتيجة = عدد الطلبات الفاشلة (404).
ls > files.txt
يكتب ناتج ls
في ملف files.txt
. إذا الملف موجود، رح يستبدلو.
grep "error" syslog >> errors.txt
يبحث عن كلمة “error” ويضيف النتائج إلى ملف errors.txt
بدون مسح المحتوى القديم.
sort < names.txt
يستعمل محتوى names.txt
كمدخل ويرتبه أبجديا.
ls /root 2> errors.txt
يحاول عرض محتوى مجلد /root. بما أنو ما عندناش صلاحيات، الأخطاء رح تتحول وتتخزن في errors.txt
.
باش نطبق هاد المفاهيم: نفرض نحب نعرف كم كلمة “doctor” موجودة في ملف wordlist ونخزن النتيجة في ملف:
cat /usr/share/wordlists/rockyou.txt | grep -i "doctor" | wc -l > ~/Desktop/passwords.txt
اليوم تعلمنا أوامر البحث (locate, whereis, which, find, grep)، كيفاش نستعمل الـ pipe لربط الأوامر مع بعض، وكيفاش نتحكم في النتائج باستعمال إعادة التوجيه. هادو مشي غير أوامر بسيطة، بل أدوات أساسية تخدم بيها يوميا كمهتم بالأمن السيبراني أو كـ sysadmin.