الفرق الحمراء — الهجومخبير85mL33

Network Protocol Attacks — البروتوكولات لما بتغدر بيك

BGP Hijacking و DNS Rebinding و NTP و ARP — وMITM

#BGP#DNS#ARP#MITM

بروتوكولات الإنترنت بُنيت على الثقة

إنت بتستخدم الإنترنت كل يوم. شفت BGP؟ DNS؟ ARP؟

طبعاً لأ. شغّالة في الخلفية. والـ TLS فوقها بيخلّيك مطمن.

- طب ما هو TLS بيقفل الموضوع كله، صح يا حضرتك؟

كنت مستنيك تسأل يا مستجد. متوقّع. لو الـ BGP اللي تحت اتخطف، الـ TLS بيتعمله MITM. الـ DNS بيوجّهك للسيرفر الغلط. والـ certificate حتى ممكن يطلع صح، لأن الـ attacker بياخد domain validation عن طريق الـ traffic المخطوف.

تشبيه — شرح مبسط
الإنترنت اتبنى سنة 1969 على فرضية: «كل اللي على الشبكة دي موثوقين». BGP، DNS، ARP، NTP — كلهم اتصمموا قبل ما المهاجمين يكونوا موجودين أصلاً. النهارده إحنا بنركّب طبقات ثقة (TLS, BGPsec, DNSSEC, RPKI) فوق الأساس الهش ده. الدرس ده بيكشفلك الطبقة اللي تحت.
حادثة 2018: BGP hijack بـ 150 ألف دولار
في إبريل 2018، attacker (يُعتقد روسي) خطف BGP route لـ Amazon Route 53. المستخدمين اللي راحوا لـ MyEtherWallet.com اتوجّهوا لسيرفر تاني. الـ certificate طلع self-signed — وأغلب الناس دوسوا "Continue" زي ما هما بيعملوا كل يوم. اللي بيحصل فعلياً: 150 ألف دولار Ethereum سُرقوا في ساعتين. المسروقات مالحقتش 1% من اللي ممكن يحصل لو الهجوم اتعمل على بنك.
مخاطر عالية
الهجمات دي بتأثّر على بنية تحتية مشتركة. أي اختبار برّه معمل معزول ممكن يضر أطراف تالتة بشكل جدّي، ويتحسب جريمة قانونياً. تركيزنا هنا: إزاي تكتشفها وتتحصّن ضدها كجهة حكومية.

BGP Hijacking — اختطاف الإنترنت

BGP هو «نظام المرور» على الإنترنت. كل ASN بيعلن الـ IP ranges اللي يملكها، والـ routers بتختار أقصر سكة. حد أعلن كذب إنه صاحب range مش بتاعه؟ الترافيك هيمشي عنده.

أنواع الهجوم

  • Prefix Hijack — أعلن /24 بتاع Google. الـ ASNs القريبة منك هتوجّه الترافيك ليك.
  • Sub-prefix hijack — /25 أكتر تحديداً بيكسب على الـ /24 الأصلي (BGP بيفضّل الأطول).
  • Route Leak — مزود بينشر مسارات customer لـ peers بالغلط (Pakistan Telecom / YouTube 2008).
  • BGP for DDoS amplification.

حوادث مشهورة

  • 2008 Pakistan → YouTube — YouTube غاب عن العالم ساعتين.
  • 2017 Rostelecom — خطف ترافيك Google, Apple, Facebook لدقائق.
  • 2018 Amazon Route 53 — استهدف MyEtherWallet، سرقوا $150K.
  • 2022 KlaySwap — BGP hijack جاب $1.9M.
الحماية
  1. RPKI (Resource Public Key Infrastructure) — توقيع تشفيري للملكية. الـ ASNs بترفض الإعلانات غير الموقّعة.
  2. BGPsec — توقيع المسار كله مش الملكية بس.
  3. مبادرة MANRS — أحسن الممارسات.
  4. اشترك في خدمة مراقبة (BGPStream, ThousandEyes, Kentik) عشان تيجيلك تنبيهات على طول.
  5. راقب إعلانات الـ prefix بتاعك من RIPE RIS, RouteViews.
  6. اطلب من upstream ISPs يطبّقوا strict prefix filtering.

DNS Attacks

1) DNS Cache Poisoning (Kaminsky)

الردود على DNS بتيجي بـ ID طوله 16-bit بس. المهاجم لو خمّن الـ ID قبل ما الرد الأصلي يوصل، رده المزيف بيدخل الـ cache.

سنة 2008 ثغرة Kaminsky خلّت الهجوم ده يحصل في ثواني. الحل: port randomization + DNSSEC.

2) DNS Tunneling

payload
# قنوات سرية عبر DNS — يصعب حجبها
iodine, dnscat2, DNSStager
# بيانات السرقة في NULL/TXT records
# C2 كامل عبر DNS فقط

3) DNS Rebinding

المهاجم متحكّم في DNS server. أول lookup بيرجّع IP عام، التاني بيرجّع 127.0.0.1. وأنت كده وقعت من غير ما تحس.

attack flow
1. الضحية يفتح evil.com (في المتصفح)
2. evil.com يرجع 1.2.3.4 → JS يحمّل
3. JS ينام دقيقة، DNS TTL = 0
4. JS يطلب evil.com مرة أخرى → الآن يرجع 192.168.1.1
5. JS الآن يصل router الضحية، router admin panel، أي شيء داخلي
   كل ذلك بنفس الـ origin، فلا CORS يمنعه
الحماية
  • Host header validation على كل خدمة داخلية، حتى لو افتكرت إنها مش متشافة.
  • اطلب authentication دايماً. «هي شبكة داخلية» مش مبرّر.
  • في المتصفح: التطبيقات المهمة تستخدم WebAuthn / origin-bound tokens.
  • حدّد min DNS TTL في الـ resolver للـ private IPs.

4) DNSSEC وحالة المعركة

  • DNSSEC بيوقّع كل records — يقفل الـ poisoning بشكل نهائي.
  • التطبيق محدود (~30% عالمياً)، يعني المعركة لسه شغّالة.
  • هجمات NSEC walking بتكشفلك كل subdomain موجود في الـ zone.

ARP Spoofing — ملك الشبكات المحلية

ARP مفيهوش authentication. أي جهاز على الشبكة يقدر يقول «أنا 192.168.1.1» والكل بيصدّق.

bash
# inside a lab network only
sudo arpspoof -i eth0 -t VICTIM_IP GATEWAY_IP
sudo arpspoof -i eth0 -t GATEWAY_IP VICTIM_IP
echo 1 > /proc/sys/net/ipv4/ip_forward

# أو أداة شاملة
ettercap -T -M arp:remote /VICTIM// /GATEWAY//
bettercap -iface eth0

تأثيرات

  • MITM على كل ترافيك الضحية.
  • SSL stripping لو الموقع مش مفعّل HSTS.
  • حقن JavaScript في الـ HTTP responses.
  • DNS spoofing داخل الـ session نفسها.
الحماية
  • DAI (Dynamic ARP Inspection) على الـ switches.
  • DHCP snooping + IP source guard.
  • 802.1X — يمنع أي جهاز مش متصرّح يدخل الشبكة من الأول.
  • HSTS preload + certificate pinning بيقفلوا SSL stripping.
  • راقب جدول ARP لأي تغيير مفاجئ (arpwatch).

DHCP Attacks

  • DHCP Starvation — تستهلك كل الـ pool بطلبات وهمية.
  • Rogue DHCP — ترد على الطلبات أسرع من السيرفر الأصلي → DNS بتاعك، gateway بتاعك.
  • DHCPv6 + mitm6 — هجوم شائع جداً على Active Directory (شفناه في درس Advanced AD).

الحماية: DHCP Snooping على الـ switches، وحدّد trusted ports بس.

NTP — الزمن سلاح

  • NTP Amplification: طلب monlist بيرجّع رد ~200x — استُخدم في DDoS بـ 400 Gbps.
  • NTP Time Manipulation: تحرّك ساعة الضحية = تكسر شهادات TLS وKerberos وTOTP.
  • الحماية: NTS (Network Time Security)، وchrony بدل ntpd القديم.

DDoS — تحت المجهر

طبقات الهجوم

L3/L4 — Volumetric
SYN flood, UDP flood, NTP/DNS/Memcached amplification. بتقاس بـ Gbps أو Mpps.
L7 — Application
HTTP flood, Slowloris, slow POST. بيستهدف الموارد مش الخط نفسه. أصعب واحد في الكشف.
Protocol
Smurf, Ping of Death (تاريخي)، TCP state exhaustion.
Reflection / Amplification
طلب صغير → رد ضخم → بـ IP مزوّر للضحية. NTP, DNS, Memcached, CLDAP, SNMP.

الحماية الحقيقي

  1. مزود scrubbing: Cloudflare, Akamai Prolexic, AWS Shield Advanced, Imperva.
  2. Anycast يوزّع الحمل جغرافياً.
  3. قلّل سطح UDP (متفتحش خدمات قابلة للـ amplification علناً).
  4. BCP38 (anti-spoofing) عند الـ ISP.
  5. تخطيط سعة + اتفاقيات DDoS-protection جاهزة قبل ما الكارثة تيجي.
  6. على مستوى التطبيق: rate limit + caching + CAPTCHA + bot management.

TLS Attacks الكلاسيكية

  • SSL Strip — يخفض الاتصال لـ HTTP — يقفله HSTS + preload.
  • Heartbleed (CVE-2014-0160) — يسرّب 64KB من ذاكرة OpenSSL لكل طلب.
  • POODLE, BEAST, CRIME, BREACH, DROWN, ROBOT — كلها على إصدارات/ciphers قديمة.
  • TLS 1.3 بيقضي على أغلب الكلام ده.
  • Lucky 13 — timing على CBC-MAC.
  • SNI spoofing لتعدية الـ filtering.

ICMP و IPv6 — أبواب منسية

  • ICMP redirect — إعادة توجيه ترافيك (نادر النهارده، بس لسه شغّال على شبكات قديمة).
  • SLAAC attack — تعلن عن نفسك كـ IPv6 router افتراضي على شبكة ما عندهاش IPv6 — كل الترافيك بيعدّي عليك.
  • RA Guard bypass.
  • الحماية: RA Guard, DHCPv6 guard, ND inspection على الـ switches.

مراقبة الشبكة كجهة حكومية

  1. Full PCAP retention على المحيط (zeek + arkime).
  2. NetFlow/sFlow على كل aggregation switches.
  3. JA3/JA4 fingerprinting عشان تصطاد الأدوات المعروفة.
  4. Threat intel feeds مدمجة في الـ NDR (Spamhaus, Shadowserver, CERT الوطني).
  5. BGP route monitoring + DNS DDoS monitoring.
  6. تدريبات هجوم/دفاع كل ربع سنة، فيها سيناريوهات شبكية.

غلطات الـ junior في الشبكة

اللي بيحصل
  • "الـ TLS بيحمي كل حاجة" — TLS بيحمي الـ payload. مش بيحمي الـ routing. ولا الـ DNS resolution. ولا الـ certificate validation لو الـ MITM ماكر.
  • ما بيراقبش BGP — أول مرة هتعرف إن الـ traffic بتاعك متخطف، هي لما الزباين يبلّغوا. وقتها فات الميعاد.
  • DNS resolver واحد — لما يقع، الشركة كلها بتقع. خلّي 2 على الأقل، من vendors مختلفين.
  • NTP من غير authentication — Kerberos بيعتمد على الوقت. attacker بيغيّر وقتك بـ 5 دقايق، بيكسر authentication كله.
  • VLAN segmentation بدل true segmentation — VLAN hopping اتعمل من 1999. لو بنكك معتمد على VLAN عشان يفصل DMZ عن corp، إنت في خطر.
  • Internal traffic بدون encryption — "احنا جوّه الـ firewall، آمنين". أول insider أو compromise = الـ traffic كله plain text.

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

الشبكة اللي بتشغّل العالم اتصممت لما الإنترنت كان 4 universities بيثقوا في بعض.

كل layer أمان فوقها (TLS, DNSSEC, RPKI, BGPsec) عبارة عن patch.

لو ما بتراقبش الطبقات دي، الـ attacker اللي عنده موارد دولة ممكن يخطف ترافيكك من غير ما تحس.

اكتبها على الحيطة اللي قصاد مكتبك:

المراقبة مش luxury. هي الفرق بين "اتعرّضنا" و"اتعرّضنا ومحدش عرف".

اوعى تفتكر إن "الـ TLS بيحمي كل حاجة". اوعى.