Network Protocol Attacks — البروتوكولات لما بتغدر بيك
BGP Hijacking و DNS Rebinding و NTP و ARP — وMITM
بروتوكولات الإنترنت بُنيت على الثقة
إنت بتستخدم الإنترنت كل يوم. شفت BGP؟ DNS؟ ARP؟
طبعاً لأ. شغّالة في الخلفية. والـ TLS فوقها بيخلّيك مطمن.
- طب ما هو TLS بيقفل الموضوع كله، صح يا حضرتك؟
كنت مستنيك تسأل يا مستجد. متوقّع. لو الـ BGP اللي تحت اتخطف، الـ TLS بيتعمله MITM. الـ DNS بيوجّهك للسيرفر الغلط. والـ certificate حتى ممكن يطلع صح، لأن الـ attacker بياخد domain validation عن طريق الـ traffic المخطوف.
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.
- RPKI (Resource Public Key Infrastructure) — توقيع تشفيري للملكية. الـ ASNs بترفض الإعلانات غير الموقّعة.
- BGPsec — توقيع المسار كله مش الملكية بس.
- مبادرة MANRS — أحسن الممارسات.
- اشترك في خدمة مراقبة (BGPStream, ThousandEyes, Kentik) عشان تيجيلك تنبيهات على طول.
- راقب إعلانات الـ prefix بتاعك من RIPE RIS, RouteViews.
- اطلب من 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
# قنوات سرية عبر DNS — يصعب حجبها
iodine, dnscat2, DNSStager
# بيانات السرقة في NULL/TXT records
# C2 كامل عبر DNS فقط3) DNS Rebinding
المهاجم متحكّم في DNS server. أول lookup بيرجّع IP عام، التاني بيرجّع 127.0.0.1. وأنت كده وقعت من غير ما تحس.
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» والكل بيصدّق.
# 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 — تحت المجهر
طبقات الهجوم
الحماية الحقيقي
- مزود scrubbing: Cloudflare, Akamai Prolexic, AWS Shield Advanced, Imperva.
- Anycast يوزّع الحمل جغرافياً.
- قلّل سطح UDP (متفتحش خدمات قابلة للـ amplification علناً).
- BCP38 (anti-spoofing) عند الـ ISP.
- تخطيط سعة + اتفاقيات DDoS-protection جاهزة قبل ما الكارثة تيجي.
- على مستوى التطبيق: 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.
مراقبة الشبكة كجهة حكومية
- Full PCAP retention على المحيط (zeek + arkime).
- NetFlow/sFlow على كل aggregation switches.
- JA3/JA4 fingerprinting عشان تصطاد الأدوات المعروفة.
- Threat intel feeds مدمجة في الـ NDR (Spamhaus, Shadowserver, CERT الوطني).
- BGP route monitoring + DNS DDoS monitoring.
- تدريبات هجوم/دفاع كل ربع سنة، فيها سيناريوهات شبكية.
غلطات الـ 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 بيحمي كل حاجة". اوعى.