الفرق الحمراء — الهجومخبير100mL54

USB Attacks — السلاح اللي بيتحط في الجيب

BadUSB و air-gap jumps و MITM — Stuxnet علّمنا الدرس

#BadUSB#Stuxnet#Air-Gap#MITM#Lateral

ليه الـ USB لسه السلاح الأخطر في 2026؟

طب لو الشبكة معزولة عن الإنترنت تماماً (air gap)، الـ adversary هيدخل إزاي؟ الجواب الوحيد عمره 16 سنة: USB. من Stuxnet في 2010 لـ Volt Typhoon في 2024، الـ USB هو ناقل العدوى رقم 1 للأهداف اللي "مفصولة عن العالم". اللي معزول مش معناه آمن. معناه إن الناقل لازم يكون فيزيائي.

تشبيه — شرح مبسط
الـ air gap حيطة القلعة. الإنترنت بوابة عليها حراسة. الـ USB؟ ده ظرف بريد بيحطّه موظف في جيبه ويعدّي الحيطة من غير ما حد يفتّشه. أي adversary جاد بيستثمر في سؤال واحد بس: "إزاي ندخل عن طريق جيب موظف؟"

طب ليه لسه في 2026؟ معندناش technology أحدث؟ عندنا. بس الفجوة البشرية لسه موجودة، والـ trust في الـ HID class لسه موجود في كل OS، والفضول البشري لسه ثغرة مفتوحة.

قبل ما تكمّل — قانون مش بيهزر
توصيل USB بنظام مش بتاعك — حتى محطة شحن في مطار — ممكن يتعدّ "unauthorized access" تحت CFAA §1030. الدرس ده ينفع في: (1) lab بتاعك، (2) red team engagement عنده عقد، (3) تقييم حكومي بتفويض كتابي. خرجت عن ده = جريمة. مفيش "بس كنت بتعلّم".

عائلات هجمات USB — اعرف الفرق

1) USB كقرص ملوث
ملف خبيث + autorun.inf أو اسم مغري زي (salaries.xlsx.lnk). بيعتمد على إن المستخدم يضغط. أبسط شكل في اللعبة — ولسه شغال على البيئات اللي وعيها ضعيف.
2) BadUSB — انتحال فئة الجهاز
الـ firmware في شريحة الـ USB قابل لإعادة البرمجة. الجهاز بيقول "أنا HID (كيبورد)" وبيكتب أوامر بسرعة 1000 wpm. مش محتاج autorun — الـ OS بيثق في أي كيبورد على طول.
3) Rubber Ducky / Bash Bunny
منتجات تجارية من Hak5 بتنفذ BadUSB بلغة سكربت. DuckyScript بيحوّل سلسلة ضربات الكيبورد لملف .bin، تنزله على "USB" وهو بيكتب نفسه على الهدف في ثواني.
4) USB كمحوّل شبكي (LAN Turtle)
الجهاز بيقدم نفسه كـ USB Ethernet adapter. Windows بيفضّله تلقائياً على الـ LAN/WiFi → كل DNS وHTTP بيعدي من خلاله → MITM فوري ومن غير ضجة.
5) USB لاسلكي (O.MG cable)
شكله كبل شحن iPhone عادي. جواه شريحة WiFi + microcontroller. المهاجم بيتصل بيه من 100 متر، بينفّذ أوامر، بيسرّب. الضحية معرفش إن "الكبل" بقى قناة C2.
6) USBKill / تخريب فيزيائي
مكثفات بتتشحن من خط الـ 5V وبعدين بتطلق ~200V على خطوط الـ USB. بتحرق الـ motherboard في نص ثانية. مش "اختراق" بالمعنى المفهوم لكنه جزء من طيف الـ USB في عمليات التخريب.

كيف يُنشر USB ملوث في العالم الحقيقي

01
الإسقاط — Drop Attack

دراسة جامعة إلينوي 2016 الكلاسيكية: 297 USB اترموا في حرم الجامعة. 98% اتاخدوا، 45% اتوصّلوا بكمبيوتر. النسبة بترتفع لو الـ USB عليه ملصق ("سري"، "رواتب 2026"، شعار الجامعة). في العمليات الحقيقية على بيئات حكومية، المكان مش عشوائي — مواقف السيارات، الأسانسيرات (المصاعد)، الكافيتريا. الفضول البشري ثغرة مفتوحة دايماً.

02
الهدية المؤتمر / الترويج

فلاشات "مجانية" بتتوزّع في مؤتمر صناعي. حصلت في 2018 في مؤتمر شركة طاقة أمريكية كبيرة — العدوى انتشرت في 14 مرفق طاقة قبل ما الحملة تتكشف. الموزّع نفسه ممكن يكون بريء — شركة طباعة الكروت اخترقت في سلسلة الإمداد.

03
الموظف الداخلي / المُتعاقد

المسار اللي اتاستخدم في Stuxnet (2010). إيران كانت معزولة عن الإنترنت في منشأة نطنز. التحليلات بتقول إن مقاول (روسي على الأرجح) دخّل USB ملوث على محطة هندسية. الباقي تاريخ معروف.

04
محطات الشحن العامة (Juice Jacking)

محطة شحن في مطار أو فندق معدّلة. اللحظة اللي بتوصل فيها التليفون بالـ USB، الجهاز بيتفاوض على وضع البيانات، بيقرا الصور، بيدفع تطبيق. FBI Denver طلع تحذير رسمي بيها سنة 2023.

05
سلسلة الإمداد

دي الأخطر بكتير. الـ USB بيوصل ملوّث من المصنع نفسه. حصل على شحنات مسجلات أمنية صينية في 2022، وعلى motherboards من Asus (LiveUpdate) في 2019. صعب جداً تكتشفه طول ما الـ digital signature سليم. اللعبة هنا في غاية الخطورة.

كيف يعدي USB الـ "Air-Gap" — قصة Stuxnet مختصرة

Stuxnet هو الـ benchmark. أي عملية USB جت بعده اتعلمت منه. شوف خطواته بالظبط:

  1. الإسقاط الأولي — USB ملوث وصل إلى حواسيب مقاولين متصلين بالإنترنت أولاً.
  2. الانتشار — كل USB يوصل بحاسوب مصاب يُنسخ إليه الحمولة. ينتشر تلقائياً.
  3. عبور الفجوة — مهندس وصل USB ملوث بمحطة عمل داخل نطنز.
  4. الانتقال داخلياً — استخدم 4 ثغرات 0-day في Windows + ثغرة في WinCC SCADA.
  5. الحمولة النهائية — برنامج PLC مُعدّل، يخرّب طرّادات اليورانيوم بأنماط دوّار، بينما يُظهر للمشغّلين قراءات طبيعية.
  6. التغطية — توقيع رقمي مسروق من Realtek وJMicron جعل Windows يثق بالـ drivers.
اللي بيحصل فعلياً
نظام معزول != نظام آمن. معناه إن ناقل العدوى لازم يكون فيزيائي. وده قيد بشري مش تقني. - يعني إيه يا حضرتك؟؟ يعني القيود التقنية بتتحسب بـ "كم عشان نكسرها؟". القيود البشرية بتتحسب بـ "كم عشان نقنع شخص؟". التقني أصعب. البشري بـ 50 دولار وUSB في موقف العربيات.

BadUSB من الداخل — كيف يكتب أوامر دون نقر

هو بيشتغل ليه أصلاً؟ بسيطة: بروتوكول الـ USB بيسمح لأي جهاز إنه يقول "أنا فئة كذا". الـ firmware بيتعدّل ليقول "أنا كيبورد Logitech". النظام بيضيفه على طول من غير ما يسأل المستخدم. ثقة عمياء.

DuckyScript
REM === تعليمي بحت — تنفيذه على نظام بدون إذن جريمة ===
DELAY 1000
GUI r              REM فتح Run في Windows
DELAY 200
STRING powershell -w hidden -nop
ENTER
DELAY 1500
REM هنا في عملية حقيقية يُكتب one-liner C2،
REM لكن العرض التعليمي يتوقف عند Run فقط
STRING Write-Host "Educational PoC - red team training"
ENTER

الزمن من إن الـ USB يدخل لحد ما الأمر يتنفّذ: 3-7 ثواني. أسرع من أي تنبيه EDR تقليدي. مفيش وقت للسؤال.

الحماية
  • USB device control: سياسة GPO تمنع HID جديد إلا بعد موافقة (Windows: Device Installation Restrictions).
  • USBGuard على Linux: whitelist بـ vendor/product/serial. أي keyboard جديد يُحظر افتراضياً.
  • Port physical lockdown في بيئات OT/ICS — أغطية USB مقفلة، مفاتيح مادية للتفعيل.
  • اكتشاف "keyboard يكتب 1000 wpm": EDR متقدم يربط ضربات المفاتيح بمعدل بشري معقول.

الـ USB يصبح شبكة — LAN Turtle و O.MG كأمثلة

هنا الجواب على سؤال "إزاي الفيروس بيدخل الشبكة من USB؟". الفكرة بسيطة: الـ USB مش بيحقن "فيروس" في الشبكة مباشرة. هو بيحوّل الجهاز المضيف نفسه لنقطة دخول للمهاجم على الشبكة. الـ USB هو الباب، الشبكة هي البيت، المهاجم هو الضيف.

السيناريو 1 — USB Ethernet Adapter خبيث
LAN Turtle يعرّف نفسه كـ network adapter. Windows/Mac يضيفه تلقائياً ويفضّل route عبره أحياناً. النتيجة: كل DNS, HTTP, SMB يمر بالجهاز. ينفذ المهاجم: DNS spoofing, NTLM relay, captive portal مزيف، أو استخراج hash الـ NetNTLMv2 خلال ثوان.
السيناريو 2 — كبل O.MG كـ implant مستقل
الكبل يحتوي WiFi access point. المهاجم يتصل به من سيارته في الموقف، ينفّذ أوامر، يستخرج. الجهاز نفسه لا يحتاج اتصال إنترنت — الكبل هو القناة.
السيناريو 3 — USB يفتح reverse shell ثم يبدأ الـ pivot
BadUSB ينفّذ payload صغير → اتصال خارجي بـ C2 → المهاجم يصل إلى الجهاز → يبدأ من هناك يستكشف الشبكة الداخلية بأدوات native (لا تتطلب رفع شيء).
السيناريو 4 — ARP poisoning من المضيف المخترَق
بعد دخول جهاز، المهاجم يستخدمه ليسمم ARP cache على الـ subnet. كل traffic بين الأجهزة المجاورة والـ gateway يمر به. يصبح man-in-the-middle لـ subnet كامل.
$ # هذه أوامر تشخيصية لمختبر تملكه — تفهم ما يحدث، لا تشغّلها على شبكة غريبة
$ # 1) رؤية كل الأجهزة في subnet 192.168.1.0/24:
$ nmap -sn 192.168.1.0/24
Nmap scan report for 192.168.1.10 MAC Address: 00:0C:29:AB:CD:EF (VMware) Nmap scan report for 192.168.1.42 MAC Address: B8:27:EB:11:22:33 (Raspberry Pi)
$ # 2) معرفة منافذ مفتوحة على هدف داخل المختبر:
$ nmap -sV -p 1-1000 192.168.1.42
$ # 3) الأجهزة في ARP table المحلية (من سرّى لمن):
$ ip neigh show

بعد الاتصال بالشبكة — كيف يصل المهاجم إلى الأجهزة الأخرى

دلوقتي السؤال المهم: "طب لو اتصلت بالشبكة، أوصل لباقي الأجهزة إزاي؟". الإجابة بتيجي على مراحل منهجية، مش بالعشوائية:

01
رسم خريطة الشبكة

قبل أي حاجة، اعرف اللي قدامك. أدوات مش محتاج ترفعها — كلها موجودة على النظام: nmap, arp, netstat, ip route, nslookup. هدفك: تعرف الـ subnets والـ gateway والـ DHCP والـ DNS والـ servers (DC, DB, Print, File).

$ # خريطة سريعة للشبكة المباشرة:
$ ip route # gateways و subnets المعروفة
$ arp -a # كل من تكلمت معه مؤخراً
$ nmap -sn 10.0.0.0/24 # أجهزة حية
$ nmap -sV --top-ports 100 10.0.0.5 # خدمات على هدف
02
جمع المعلومات السلبي — listen قبل أن تتكلم

كل subnet مليان broadcasts بتطفح: ARP, mDNS, LLMNR, NBT-NS, DHCP, SSDP, NetBIOS. Responder وWireshark هيقولوا لك أسماء الأجهزة، المستخدمين، وأحياناً hashes كاملة قبل ما تبعت ولا packet واحد.

الخطوة دي مهمة ليه؟ لأن السلبي = صعب يتكشف. ساعة سماع بتكشفلك أكتر من ساعة فحص نشط، ومش بتطلّع IDS. بصمتك = ضعفك للمدافع.

03
LLMNR/NBT-NS Poisoning — أول طريق سهل لـ hashes

لما جهاز Windows بيدور على اسم مش موجود في الـ DNS، بيصرخ على الـ LAN: "مين اسمه X؟". الـ Responder بيرد "أنا!"، فالضحية بيبعت NTLMv2 hash. تكسره offline أو ترحّله (relay) لخدمة تانية.

bash
# في مختبر تملكه:
sudo responder -I eth0 -wd
# انتظر hashes → cracking offline بـ hashcat:
hashcat -m 5600 hashes.txt rockyou.txt
04
NTLM Relay — لا تكسر، استخدم

أقوى من الـ cracking بكتير. بدل ما تكسر الـ hash، ارمي بيه على خدمة تانية بتثق في نفس الـ domain (LDAP, SMB, MSSQL, ADCS). أداة impacket-ntlmrelayx. الشرط الوحيد: SMB signing مش مفعّل على الهدف — وده افتراضياً معطّل في معظم البيئات. هدية مجانية.

05
استغلال SMB / RCE معروفة

على أي شبكة مؤسسية مش محدّثة، هتلاقي دايماً جهاز واحد على الأقل ضعيف قدام EternalBlue (CVE-2017-0144)، PrintNightmare (CVE-2021-34527)، PetitPotam، أو ZeroLogon (CVE-2020-1472). كلها بتتحول لـ RCE/Domain Admin بأدوات عامة. مفيش شطارة.

06
الحركة الجانبية — Lateral Movement

بعد ما تجيب باسورد أو hash واحد، تنقّل بين الأجهزة بـ:

  • PsExec / wmiexec / smbexec (impacket) — تنفيذ أوامر remote عن طريق SMB.
  • WinRM (HTTPS port 5986) — أكتر شرعية في الشكل، بيبان إداري عادي.
  • Pass-the-Hash / Pass-the-Ticket — مش محتاج تعرف الباسورد النصي أصلاً.
  • RDP — مباشر لو مفتوح. صوته عالي شوية بس مفيد على الـ workstations.
07
الوصول للـ Domain Controller — "crown jewel"

الـ Active Directory هو الهدف في 95% من الشبكات المؤسسية. لما تطلع Domain Admin مرة واحدة: DCSync بيسحبلك كل hashes الـ domain، تعمل golden tickets، والوصول بقى دايم مهما غيّروا باسوردات.

بُص بقى — نقطة مهنية مهمة جداً
الخطوات دي مش الفلاشة بتعملها automatically، يا مستجد. دي خطوات يدوية الـ operator بينفّذها بعد ما الـ USB بيفتح shell على جهاز داخلي. الـ malware مش بياخد مكان المهاجم — بيقعّده على الكرسي بس. الباقي شغل بشري. وده اللي بيخلّي الـ APT مكلف. الـ malware ببلاش، الـ operator هو الفلوس.

الحماية الكامل — كيف تُغلق هذه السلسلة

ضد USB
  • سياسة device control صارمة — Windows GPO أو CrowdStrike/SentinelOne تمنع أي جهاز USB غير مسجل.
  • USB data diodes في بيئات OT — قراءة فقط، لا كتابة.
  • محطات تنظيف USB (Olea Kiosk, OPSWAT) — كل USB يدخل المنشأة يمر بفحص محايد أولاً.
  • تعطيل autorun منذ 2010 (افتراضي على Windows الحديث) — لكن تأكد بـ GPO.
  • USBGuard / udev rules على Linux تحدّد بدقة ما يُقبل.
  • تدريب المستخدمين — "USB وجدته" = "سلّمه للأمن، لا تُوصله". Drop tests منتظمة.
ضد التحرك الجانبي
  • تعطيل LLMNR و NBT-NS عبر GPO — يقتل أرخص هجمات Responder.
  • تشغيل SMB signing إلزامياً — يقتل NTLM relay.
  • عزل الشبكة (segmentation) — workstation لا تتكلم مع workstation. حركة الـ east-west تمر عبر firewall.
  • Tier 0/1/2 model لـ Active Directory — حسابات admin النطاق لا تُسجل أبداً على workstations.
  • LAPS — كلمة سر admin محلية فريدة لكل جهاز، تُدوّر تلقائياً.
  • EDR متقدم يصطاد سلوك impacket: PsExec service creation, suspicious WMI, lsass access.
  • Honeypots داخلية: SMB share "Finance_Backups" يبدو مغرياً، أي وصول له = تنبيه فوري.
  • Network access control (NAC): 802.1X — أي جهاز جديد على المنفذ يجب أن يصادق قبل وصوله للشبكة.
MITRE ATT&CK
T1091 (Replication Through Removable Media), T1200 (Hardware Additions), T1557 (AiTM), T1110.001 (Brute Force), T1557.001 (LLMNR/NBT-NS Poisoning), T1021 (Remote Services), T1003.006 (DCSync), T1550.002 (Pass-the-Hash), T1078 (Valid Accounts).

حالات دراسية موثّقة

  • Stuxnet (2010) — USB → Windows 0-days → WinCC → PLCs نطنز. أول عملية USB cyber-physical موثّقة.
  • Agent.btz (2008) — USB في موقف سيارات قاعدة عسكرية أمريكية في الشرق الأوسط، أصاب SIPRNet. أدى لإنشاء USCYBERCOM.
  • Raspberry Robin (2021–) — دودة تنتشر عبر USB، تقود إلى ransomware. آلاف المؤسسات.
  • USB Ninja Cable (2019) — كبل شحن مزور بمتحكم BLE، شُوهد في عمليات تجسس صناعي.
  • FIN7 BadUSB campaign (2022) — USB يُرسل بريدياً مع رسائل تبدو من HHS أو Amazon. FBI أصدر تحذيراً رسمياً.
غلطات الـ junior
  • بيشتري Rubber Ducky بـ 50 دولار وبيفتكر إنه بقى APT. الـ tool أداة. الـ tradecraft هو الشغل.
  • بيكتب DuckyScript بـ delays قصيرة جداً. الـ OS بيـ buffer الكيبورد، فالـ commands بتتلخبط في بعض. delay لازم يكون reasonable.
  • بيـ drop USB في موقف الشركة من غير ما يحط VID/PID صح — الـ device control هيمنعه قبل ما يشتغل.
  • بيستخدم O.MG cable في bid engagement من غير ما يقول للعميل. لو كاميرات الـ CCTV شافت "كبل غريب"، الـ engagement بتنتهي قبل ما تبتدي.

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

الـ USB attacks مش حاجة قديمة. لسه شغّالة لأن الـ USB protocol بيـ trust أي device بيقول "أنا keyboard". ولأن الـ humans فضوليين. ولأن الـ blue team عادةً مش بيراقب الـ HID events.

لو شغّال على critical infrastructure: USB lockdown سياسة + فيزيائياً. data diodes للـ ingress. kiosks للتنظيف.

اوعى تقول "endpoint بتاعنا حماه EDR".

الـ EDR بياخد ساعة عشان يعمل alert.

الـ DuckyScript بياخد 4 ثواني.

اكتبها على ظهر إيدك:

الفرق بين 4 ثواني وساعة = الفرق بين Stuxnet ومش Stuxnet.

مراجع للتعمق

  • "Countdown to Zero Day" — Kim Zetter — تشريح Stuxnet كاملاً
  • CISA Defending Against Software Supply Chain Attacks
  • NIST SP 800-114 r1 — guidelines for personal storage devices
  • Hak5 documentation — لفهم Bash Bunny / O.MG كأدوات تعليمية
  • SANS ICS515 — defending industrial control systems
  • FBI PSA on Juice Jacking (2023)