الأساسياتأساسي60mL00
أساسيات Linux لمختصي الأمن
نظام الملفات، الصلاحيات، العمليات، أوامر يومية
#Linux#Bash#Permissions#Beginner
لماذا Linux أولاً
كل أداة هجومية ودفاعية مهمة تعمل على Linux. Kali، Parrot، خوادم الإنترنت، الكثير من ICS، الحاويات، Android تحت كل شيء. لا يمكنك أن تكون مختصاً في الأمن دون إتقان Linux command line.
الهدف
بعد هذا الدرس ستفهم: نظام الملفات، الصلاحيات، العمليات، الشبكة، والأوامر التي تستخدمها يومياً في الـ pentest.
نظام الملفات — الخريطة
text
/ ← الجذر
├── bin/ ← أوامر أساسية للجميع (ls, cp, mv)
├── sbin/ ← أوامر للـ root (fdisk, iptables)
├── etc/ ← ملفات الإعدادات (passwd, shadow, hosts)
├── home/ ← مجلدات المستخدمين
├── root/ ← مجلد المستخدم root
├── var/ ← متغير: logs, mail, web (/var/www)
├── tmp/ ← مؤقت — يُمسح عند إعادة التشغيل
├── usr/ ← برامج المستخدم (usr/local/bin)
├── proc/ ← افتراضي — معلومات العمليات والنواة
├── sys/ ← افتراضي — أجهزة وkernel
└── opt/ ← برامج طرف ثالثالمهم في الأمن: /etc/passwd, /etc/shadow, /etc/sudoers, /var/log/, /home/*/.ssh/, /proc/*/environ.
أوامر التنقل والملفات
$ pwd # المسار الحالي
$ ls -la # كل الملفات (حتى المخفية) مع التفاصيل
$ cd /var/log # ذهاب
$ find / -name 'config*' 2>/dev/null # ابحث في كامل النظام
$ grep -r 'password' /etc/ 2>/dev/null # ابحث عن نص
$ cat /etc/passwd # اعرض ملف
$ less /var/log/syslog # تصفّح ملف كبير (q للخروج)
$ head -20 file # أول 20 سطر
$ tail -f /var/log/auth.log # تابع ملف لحظياً
الصلاحيات — أهم مفهوم
كل ملف له ثلاث مجموعات صلاحيات: المالك، المجموعة، الجميع. ولكل مجموعة ثلاث أحرف: r قراءة، w كتابة، x تنفيذ.
text
-rwxr-xr-- 1 alice staff 120 Apr 30 10:15 script.sh
│└┬┘└┬┘└┬┘
│ │ │ └── الجميع: قراءة فقط
│ │ └───── المجموعة: قراءة + تنفيذ
│ └──────── المالك: كل شيء
└────────── - = ملف عادي ('d' = مجلد، 'l' = symlink)$ chmod 755 file # rwxr-xr-x — الأكثر شيوعاً للسكربتات
$ chmod +x script.sh # أضف تنفيذ
$ chown alice:staff f # غيّر المالك والمجموعة
$ # في الأمن: ابحث عن SUID — ملفات تعمل بصلاحيات مالكها:
$ find / -perm -4000 -type f 2>/dev/null
$ # هذه قائمة هامة جداً لـ privilege escalation — راجع GTFOBins
المستخدمون والـ root
- /etc/passwd — قائمة المستخدمين (مقروء للجميع).
- /etc/shadow — كلمات السر مهشّمة (root فقط).
- /etc/sudoers — من يحق له sudo.
$ id # هويتي و مجموعاتي
$ whoami # اسم المستخدم
$ sudo -l # أوامر مسموحة لي بـ sudo (مهم للـ priv esc)
$ su - # تحول لـ root
$ passwd # غيّر كلمة سرك
العمليات
$ ps aux # كل العمليات
$ ps -ef --forest # عرض شجري
$ top # حي + متفاعل (q للخروج)
$ htop # أجمل من top
$ kill -9 1234 # اقتل عملية بـ PID 1234
$ pgrep nginx # ابحث عن PID لاسم
$ # ابحث عن أوامر مشبوهة في الذاكرة:
$ ps aux | grep -E 'nc|wget|curl|python -c'
الشبكة — أوامر يومية
$ ip a # كل الواجهات و IPs
$ ip r # جدول التوجيه (gateway افتراضي)
$ ss -tulpn # كل المنافذ المفتوحة + العملية المالكة (بديل netstat)
$ curl -I https://example.com # رؤوس HTTP فقط
$ dig example.com # استعلام DNS
$ nslookup example.com
$ tcpdump -i eth0 -nn port 80 # التقط حزم port 80
$ traceroute 8.8.8.8 # مسار الحزم
إعادة التوجيه والـ pipes
$ command > out.txt # أعد STDOUT إلى ملف (يكتب فوقه)
$ command >> out.txt # أضف للملف
$ command 2> err.txt # STDERR منفصل
$ command > out.txt 2>&1 # كل شيء لملف واحد
$ command1 | command2 # اربط — مخرج الأول يصبح مدخل الثاني
$ # مثال أمني — ابحث عن IPs غير ناجحة في log:
$ grep 'Failed password' /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -rn | head
أوامر مفيدة جداً للأمن
bash
# تجميع info كامل عن مستخدم:
id alice && groups alice && lastlog -u alice
# اعرض كل cron jobs على النظام:
for u in $(cut -f1 -d: /etc/passwd); do crontab -u $u -l 2>/dev/null; done
# ابحث عن ملفات حديثة التعديل (ربما تركها مهاجم):
find /tmp /var/tmp /dev/shm -type f -mmin -60 2>/dev/null
# اعرض حزم منصبة (للبحث عن أداة قديمة بثغرة):
dpkg -l | grep -i openssh # Debian/Ubuntu
rpm -qa | grep -i openssh # RHEL/CentOS
# تشيك تكامل ملف:
sha256sum important.bin
# تشفير سريع:
echo "hello" | base64
echo "aGVsbG8K" | base64 -dأهم ملفات تنظر إليها كمدافع/مهاجم
ملفات اعتماد ومفاتيح
~/.ssh/, ~/.aws/credentials, ~/.docker/config.json, /var/lib/jenkins/secrets/
سجلات
/var/log/auth.log, /var/log/syslog, /var/log/audit/audit.log, ~/.bash_history
إعدادات حساسة
/etc/sudoers, /etc/ssh/sshd_config, /etc/passwd, /etc/shadow, /etc/cron.d/
البقاء (Persistence)
~/.bashrc, ~/.profile, /etc/rc.local, systemd units, cron, at jobs
ممارسة
- ادخل لـ Kali VM، نفّذ كل أوامر هذا الدرس.
- أنشئ مستخدمين، اضبط صلاحيات ملفات، اقرأ /etc/shadow كـ root و كـ مستخدم عادي — افهم الفرق.
- ابحث عن SUID binaries على Kali، قارن بـ gtfobins.github.io.
- اقرأ man bash — لو مرة واحدة.