WiFi Pentesting
هاد الملف مخصص فقط لاختبارات الشبكات اللي عندك عليها تصريح مكتوب.
This is the العربية version of a note written primarily in English. Read the English version →
Authorized Wireless Security Testing Guide
From Beginner to Advanced Research-Level Attacks
Legal and Safety Notice#
هاد الملف مخصص فقط لاختبارات الشبكات اللي عندك عليها تصريح مكتوب.
ما تجرب حتى هجمة على شبكة عامة أو شبكة ماشي داخلة في النطاق المتفق عليه.
في الاختبارات اللي ممكن تسبب انقطاع أو تغيير في المصادقة، استعمل دائماً أجهزة وحسابات ونقط وصول مخصصة للتجربة.
Test SSID
Test Access Point
Test Client
Test Account
RF-Isolated Lab
Attack Roadmap#
الترتيب التالي تقريبي من الأسهل في الاختبار العملي إلى الأكثر تعقيداً وبحثاً.
- Deauthentication Attack
- WPS Attack
- WPA/WPA2 Dictionary Attack
- WEP IVs Attack
- PMKID Attack
- Evil Twin
- WPA2-Enterprise Attacks
- WPA3 Transition Mode Attacks
- KRACK
- SSID Confusion
- AirSnitch
- FragAttacks
- Dragonblood
- Fragile Frames
- SAECRED
- Dragondoom
1. Deauthentication Attack#
Difficulty
Beginner
Definition#
هاد الهجوم كيركز على إطارات إدارة الشبكة اللي كتستعمل لقطع ارتباط جهاز من نقطة الوصول.
Management Frames
Deauthentication Frames
في الشبكات القديمة أو الشبكات اللي ما فيهاش حماية مناسبة، يمكن تزوير هاد الإطارات وإرسالها للجهاز.
Pentest Objective#
الهدف هو تعرف واش الجهاز التجريبي كيتقبل إطارات قطع الاتصال المزورة.
الهدف ماشي هو إسقاط شبكة الشركة كاملة.
Requirements#
Kali Linux
Monitor-Mode Wi-Fi Adapter
Aircrack-ng
Test Access Point
Test Client
Step 1#
فعل وضع المراقبة على البطاقة اللاسلكية.
sudo airmon-ng start wlan0Step 2#
راقب الشبكات وحدد نقطة الوصول التجريبية والجهاز التجريبي فقط.
sudo airodump-ng wlan0monسجل المعلومات التالية.
BSSID
Channel
Test Client MAC Address
Step 3#
أرسل محاولة واحدة فقط للجهاز التجريبي.
sudo aireplay-ng --deauth 1 -a <TEST_AP_BSSID> -c <TEST_CLIENT_MAC> wlan0monStep 4#
راقب واش الجهاز فقد الاتصال.
Step 5#
عاود نفس الاختبار بعد تفعيل حماية إطارات الإدارة.
Protected Management Frames
PMF
Vulnerable Result#
الجهاز التجريبي كيتقطع بسهولة بسبب إطار مزور.
Recommended Mitigation#
PMF
802.11w
استعمل إعدادات حديثة وفرض الحماية على الشبكات اللي كتسمح بذلك.
Official Reference#
https://www.aircrack-ng.org/doku.php?id=deauthentication (opens in a new tab)
2. WPS Attack#
Difficulty
Beginner
Definition#
هاد الهجوم كيستهدف آلية التسجيل السريع الموجودة في بعض أجهزة الراوتر.
Wi-Fi Protected Setup
WPS
المشكل التاريخي المعروف مرتبط خصوصاً بطريقة استعمال الرقم السري.
WPS PIN
بدل مهاجمة التشفير مباشرة، الاختبار كيشوف واش إعداد التسجيل قابل لتخمين الرقم واسترجاع إعدادات الاتصال.
Pentest Objective#
التأكد واش نقطة الوصول ما زالت مفعلة فيها الآلية الضعيفة أو كتسمح بعدد كبير من محاولات التسجيل.
Requirements#
Reaver
Wash
Monitor-Mode Wi-Fi Adapter
Dedicated Test Access Point
Step 1#
فعل وضع المراقبة.
sudo airmon-ng start wlan0Step 2#
شوف نقط الوصول اللي كتعرض الخدمة.
sudo wash -i wlan0monStep 3#
اختار فقط نقطة الوصول التجريبية الموجودة داخل النطاق.
سجل المعلومات التالية.
BSSID
Channel
Step 4#
على نقطة وصول تجريبية فقط، يمكن استعمال الأداة الرسمية للتحقق من مقاومة التسجيل للتخمين.
sudo reaver -i wlan0mon -b <TEST_AP_BSSID> -c <CHANNEL> -vvما تشغلش اختبار طويل على نقطة الوصول الإنتاجية.
Vulnerable Result#
نقطة الوصول كتسمح بمحاولات كثيرة بدون إيقاف مناسب أو كتسمح باسترجاع الرقم التجريبي.
Recommended Mitigation#
عطل الخدمة إلا ما محتاجهاش.
WPS
استعمل برنامجاً داخلياً حديثاً وفعّل آليات الإيقاف بعد المحاولات المتكررة.
Official PoC#
https://github.com/t6x/reaver-wps-fork-t6x (opens in a new tab)
3. WPA/WPA2 Dictionary Attack#
Difficulty
Beginner
Definition#
هاد الهجوم ما كيكسرش خوارزمية التشفير مباشرة.
كيجمع مادة مرتبطة بعملية المصادقة ومن بعد كيجرب كلمات سر محتملة محلياً.
4-Way Handshake
Wordlist
Offline Password Guessing
Pentest Objective#
قياس قوة كلمة السر المشتركة باستعمال قاموس صغير ومتفق عليه مسبقاً.
Requirements#
Aircrack-ng
أو:
Hashcat
استعمل شبكة تجريبية وكلمة سر معروفة مسبقاً.
Step 1#
ابدأ الالتقاط على قناة الشبكة التجريبية.
sudo airodump-ng --bssid <TEST_AP_BSSID> --channel <CHANNEL> --write capture wlan0monStep 2#
خلي الجهاز التجريبي يتصل بالشبكة بشكل عادي.
ما تحتاجش تقطع موظفين حقيقيين.
Step 3#
من بعد الحصول على مادة المصادقة، صايب قاموساً صغيراً فيه كلمة السر التجريبية.
Company-Test-2026!
WrongPassword
Another-Test-PasswordStep 4#
اختبر القاموس محلياً.
aircrack-ng -w test-wordlist.txt -b <TEST_AP_BSSID> capture-01.capVulnerable Result#
كلمة السر التجريبية كتوجد بسرعة داخل قاموس بسيط.
Recommended Mitigation#
استعمل كلمة سر طويلة وعشوائية.
تجنب كلمات السر المبنية على اسم الشركة أو السنة أو أرقام سهلة.
Official Reference#
https://www.aircrack-ng.org/doku.php?id=aircrack-ng (opens in a new tab)
Hashcat Reference#
https://hashcat.net/wiki/doku.php?id=cracking_wpawpa2 (opens in a new tab)
4. WEP IVs Attack#
Difficulty
Beginner to Intermediate
Definition#
هاد الهجوم خاص بالشبكات القديمة جداً.
WEP
كيعتمد على جمع عدد كبير من قيم التهيئة الموجودة في الإطارات.
Initialization Vectors
IVs
بسبب ضعف التصميم وطريقة استعمال الخوارزمية القديمة، يمكن استعمال التحليل الإحصائي لاسترجاع المفتاح.
Pentest Objective#
التأكد من عدم وجود أي شبكة قديمة ما زالت كتستعمل الحماية المنتهية.
WEP
Requirements#
Aircrack-ng
Airodump-ng
Legacy Test Access Point
Step 1#
تأكد أن الاختبار كيتدار على نقطة وصول تجريبية قديمة فقط.
Step 2#
ابدأ جمع الإطارات.
sudo airodump-ng --bssid <TEST_AP_BSSID> --channel <CHANNEL> --write wep-test wlan0monStep 3#
راقب ارتفاع عدد البيانات الملتقطة.
Data Packets
IVs
Step 4#
اختبر الالتقاط محلياً.
aircrack-ng wep-test-01.capVulnerable Result#
إمكانية استرجاع المفتاح من كمية كافية من البيانات.
Recommended Mitigation#
احذف الحماية القديمة نهائياً.
WEP
استعمل على الأقل إعدادات حديثة ومصححة من الجيل الثاني أو الثالث.
WPA2
WPA3
Official Reference#
https://www.aircrack-ng.org/doku.php?id=aircrack-ng (opens in a new tab)
Capture Reference#
https://www.aircrack-ng.org/doku.php?id=airodump-ng (opens in a new tab)
5. PMKID Attack#
Difficulty
Intermediate
Definition#
في بعض الإعدادات يمكن جمع مادة مصادقة مرتبطة بنقطة الوصول واستعمالها في اختبار كلمة السر خارج الشبكة.
PMKID
Offline Password Guessing
هاد التقنية ما كتساويش كسر التشفير.
المشكل الحقيقي كيكون ملي كلمة السر المشتركة ضعيفة.
Pentest Objective#
التحقق من قوة كلمة السر باستعمال كلمة تجريبية معروفة مسبقاً.
Requirements#
hcxdumptool
hcxtools
Hashcat
Step 1#
استعمل شبكة تجريبية داخل النطاق.
Step 2#
جمع الالتقاط بصيغة مناسبة باستعمال الأداة ووفق التوثيق الحالي للمشروع.
PCAPNG
Step 3#
حول الالتقاط للصيغة الحديثة.
hcxpcapngtool -o test.22000 capture.pcapngStep 4#
صايب قاموساً صغيراً بكلمات الاختبار فقط.
Company-Test-2026!
Another-Test
Wrong-PasswordStep 5#
اختبره محلياً.
hashcat -m 22000 test.22000 test-wordlist.txtVulnerable Result#
استرجاع كلمة السر التجريبية بسرعة من قاموس بسيط.
Recommended Mitigation#
استعمل كلمة سر طويلة وعشوائية.
فضل الوضع الحديث عند توفر الدعم الكامل.
WPA3-SAE
Official Tools#
https://github.com/ZerBea/hcxdumptool (opens in a new tab)
https://github.com/ZerBea/hcxtools (opens in a new tab)
Hashcat Reference#
https://hashcat.net/wiki/doku.php?id=cracking_wpawpa2 (opens in a new tab)
6. Evil Twin#
Difficulty
Intermediate
Definition#
هاد السيناريو كيعتمد على إنشاء نقطة وصول تجريبية كتقلد اسم شبكة موثوقة.
Evil Twin
Rogue Access Point
الهدف في اختبار الشركة هو التحقق واش الأجهزة كتتصل تلقائياً بنقطة مشابهة أو كتظهر تحذيراً للمستخدم.
Pentest Objective#
اختبار سلوك جهاز تجريبي أمام نقطة وصول تحمل نفس الاسم داخل مختبر معزول.
Requirements#
hostapd
أو:
Airbase-ng
Test Client
RF-Isolated Lab
Step 1#
صايب شبكة تجريبية.
COMPANY-WIFI-TESTStep 2#
خزن الشبكة على الجهاز التجريبي.
Step 3#
طفي نقطة الوصول التجريبية الأصلية.
Step 4#
أنشئ نقطة وصول ثانية داخل المختبر بنفس الاسم.
مثال إعداد أساسي:
interface=wlan0
driver=nl80211
ssid=COMPANY-WIFI-TEST
channel=6Step 5#
راقب الجهاز التجريبي.
شوف واش كيتصل تلقائياً أو كيحتاج تدخل المستخدم.
Vulnerable Result#
الجهاز كيتصل أوتوماتيكياً بنقطة غير موثوقة بطريقة كتفتح سيناريوهات أخرى للهجوم.
Recommended Mitigation#
استعمل تحقق قوي من الشبكة.
في شبكات الشركات، فرض التحقق من الشهادات مهم جداً.
Certificate Validation
Official Reference#
https://www.aircrack-ng.org/doku.php?id=airbase-ng (opens in a new tab)
7. WPA2-Enterprise Attacks#
Difficulty
Intermediate
Definition#
شبكات الشركات غالباً كتستعمل مصادقة مركزية بدل كلمة سر مشتركة بين الجميع.
WPA2-Enterprise
802.1X
RADIUS
أحد أهم اختبارات الأمان هو التأكد واش الجهاز كيتحقق فعلاً من شهادة خادم المصادقة قبل إرسال بيانات الحساب.
Pentest Objective#
اختبار جهاز وحساب مخصصين لمعرفة واش إعدادات المؤسسة كتفرض التحقق الصحيح من الشهادة.
Requirements#
Test Account
Test Endpoint
hostapd-wpe
أو:
EAPHammer
Step 1#
صايب حساباً خاصاً بالاختبار.
wifi-pentest-testStep 2#
استعمل جهازاً تجريبياً بنفس سياسات أجهزة الموظفين.
Step 3#
داخل المختبر، شغل نقطة وصول تجريبية مع خادم مصادقة يقدم شهادة غير موثوقة.
Step 4#
خلي الحساب التجريبي فقط يحاول الاتصال.
ما تجمعش بيانات دخول موظفين حقيقيين.
Step 5#
راقب واش الجهاز يرفض الشهادة أو كيقبلها بدون تحقق صحيح.
Secure Result#
الجهاز يرفض الاتصال أو يعطي تحذيراً واضحاً ويمنع المصادقة غير الموثوقة.
Vulnerable Result#
الجهاز يرسل استجابة المصادقة للحساب التجريبي رغم أن شهادة الخادم غير موثوقة.
Recommended Mitigation#
فرض التحقق من الجهة المصدرة للشهادة.
Trusted CA
فرض اسم خادم المصادقة الصحيح.
RADIUS Server Name
فرض التحقق الكامل من الشهادة.
Certificate Validation
Official PoC#
https://github.com/OpenSecurityResearch/hostapd-wpe (opens in a new tab)
Alternative Framework#
https://github.com/s0lst1c3/eaphammer (opens in a new tab)
8. WPA3 Transition Mode Attacks#
Difficulty
Intermediate
Definition#
هاد الوضع كيخلي نفس الشبكة تقبل الأجهزة القديمة والجديدة.
WPA3 Transition Mode
كتقدر الشبكة تقبل:
WPA2-PSK
وكذلك:
WPA3-SAE
المشكل هو أن التوافق مع الأجهزة القديمة كيخلي مسار أضعف متوفر في بعض السيناريوهات.
Pentest Objective#
التحقق واش جهاز حديث يمكن يرجع للطريقة القديمة داخل سيناريو اختبار مضبوط.
Requirements#
WPA3-Capable Test Client
Test Access Point
Wireshark
Step 1#
التقط معلومات الإعلان الخاصة بالشبكة التجريبية.
ركز على:
RSN Information Element
AKM Suites
Step 2#
شوف واش نقطة الوصول كتعلن على الطريقتين.
PSK
SAE
Step 3#
خلي الجهاز الحديث يتصل بالشبكة التجريبية.
تأكد أنه استعمل:
SAE
Step 4#
داخل المختبر فقط، طفي نقطة الوصول الأصلية.
Step 5#
صايب نقطة وصول تجريبية ثانية بنفس اسم وكلمة سر الاختبار ولكن بالطريقة القديمة فقط.
WPA2-PSK Only
Step 6#
راقب واش الجهاز التجريبي كيرجع تلقائياً للطريقة القديمة.
Vulnerable or Risky Result#
الجهاز يقبل الرجوع للمسار القديم رغم أن المطلوب أمنياً هو استعمال الجيل الثالث فقط.
Recommended Mitigation#
استعمل الوضع الحديث فقط في البيئات اللي ما محتاجاش التوافق القديم.
WPA3-Only
استعمل شبكات منفصلة للأجهزة القديمة عند الحاجة.
Research Reference#
https://wpa3.mathyvanhoef.com/ (opens in a new tab)
9. KRACK#
Difficulty
Intermediate to Advanced
Definition#
هاد الهجوم كيستهدف طريقة معالجة إعادة إرسال بعض رسائل المصادقة.
Key Reinstallation Attack
KRACK
في التطبيقات المتأثرة، الجهاز يمكن يعاود يثبت مفتاح سبق استعماله ويعيد بعض الحالات الداخلية المرتبطة بالتشفير.
Pentest Objective#
التحقق واش جهاز أو نقطة وصول تجريبية ما زالت متأثرة بالتنفيذ القديم.
Requirements#
Kali Linux
KRACK Test Scripts
Valid Test Network Credentials
Step 1#
استعمل جهازاً تجريبياً من نفس النوع والإصدار الموجود في المؤسسة.
Step 2#
استنسخ المشروع.
git clone https://github.com/vanhoefm/krackattacks-scripts.git
cd krackattacks-scripts/krackattackStep 3#
جهز بيئة المشروع حسب الملف الرسمي.
./build.sh
./pysetup.shStep 4#
في الأجهزة اللي تحتاج ذلك، عطل التسريع الداخلي للتشفير أثناء الاختبار حسب تعليمات المشروع.
sudo ./disable-hwcrypto.shStep 5#
شغل اختبارات التحقق الرسمية باستعمال بيانات الشبكة التجريبية.
المشروع نفسه مصمم كأداة تحقق وليس كأداة لاختراق شبكة مجهولة.
Vulnerable Result#
أداة الاختبار تؤكد إعادة تثبيت المفتاح على التطبيق المختبر.
Recommended Mitigation#
حدث نظام الجهاز والبرنامج الداخلي لنقطة الوصول.
تأكد من وجود التصحيحات الخاصة بإعادة تثبيت المفاتيح.
Official Test Suite#
https://github.com/vanhoefm/krackattacks-scripts (opens in a new tab)
Research Website#
https://www.krackattacks.com/ (opens in a new tab)
10. SSID Confusion#
Difficulty
Advanced
Definition#
هاد الهجوم كيدرس سيناريو يمكن فيه جعل جهاز يربط عملية المصادقة بشبكة مختلفة عن الاسم اللي كيتوقعه المستخدم.
SSID Confusion
الخطر كيكون مهماً خصوصاً عندما كتستعمل نفس بيانات المصادقة في أكثر من شبكة.
Pentest Objective#
اختبار جهاز تجريبي بواسطة النسخة المعدلة الرسمية من البرنامج لمعرفة واش كيتأثر بالسيناريو.
Requirements#
Modified hostapd
Wi-Fi Adapter
Test Client
Step 1#
استنسخ المشروع الرسمي.
git clone https://github.com/vanhoefm/ssid-confusion-hostap.git
cd ssid-confusion-hostapStep 2#
صايب ملف إعداد تجريبي.
interface=wlan0
ctrl_interface=wpaspy_ctrl
channel=1
ssid=connectssid
wpa_ptk_rekey=10Step 3#
شغل نقطة الوصول المعدلة.
./hostapd hostapd_test.confStep 4#
قبل اتصال الجهاز التجريبي، استعمل الأمر الخاص بالمشروع لتغيير الاسم اللي تتم محاكاته.
./hostapd_cli -p wpaspy_ctrl raw "FAKESSID changedssid"Step 5#
خلي الجهاز التجريبي يحاول الاتصال.
Vulnerable Result#
الجهاز يقبل الاتصال في السيناريو اللي فيه اسم الشبكة المعدل بطريقة غير متوقعة.
Recommended Mitigation#
حدث الأجهزة ونقط الوصول.
تجنب إعادة استعمال نفس بيانات المصادقة بين شبكات ذات مستويات ثقة مختلفة.
Official PoC#
https://github.com/vanhoefm/ssid-confusion-hostap (opens in a new tab)
Research Paper#
https://papers.mathyvanhoef.com/wisec2024.pdf (opens in a new tab)
11. AirSnitch#
Difficulty
Advanced
Definition#
هاد الهجوم كيركز على تجاوز عزل الأجهزة في بعض الشبكات اللاسلكية.
Client Isolation
المفروض أن جهازين في شبكة ضيوف معزولة ما يقدروش يتواصلو مباشرة.
البحث بين أن بعض التطبيقات كتسمح بتجاوز العزل في سيناريوهات معينة.
Pentest Objective#
التحقق واش جهازان تجريبيان يقدرو يتواصلو رغم أن العزل مفروض يكون مفعلاً.
Requirements#
Two Test Clients
Compatible Wi-Fi Adapters
AirSnitch
Guest Network
Step 1#
استنسخ المشروع.
git clone https://github.com/vanhoefm/airsnitch.git
cd airsnitchStep 2#
شغل الإعداد الرسمي.
sudo ./setup.shStep 3#
جهز معلومات الأجهزة التجريبية حسب ملف المشروع.
client.conf
Step 4#
اختبر أولاً واش المفتاح الجماعي مشترك بالطريقة اللي كيتحقق منها المشروع.
./airsnitch.py wlan2 --check-gtk-shared wlan3 --no-ssid-checkStep 5#
اختبر تجاوز العزل بين جهازين تجريبيين.
./airsnitch.py wlan2 --c2c-ip wlan3 --no-ssid-checkStep 6#
تحقق واش الجهاز الأول قدر يوصل للثاني رغم وجود العزل.
Vulnerable Result#
إمكانية التواصل بين العملاء رغم أن السياسة كتفرض العزل.
Recommended Mitigation#
حدث نقاط الوصول ووحدات التحكم.
راجع إعدادات العزل على مستوى نقطة الوصول والشبكة.
اختبر العزل بين الشبكات الافتراضية المختلفة كذلك.
VLAN Isolation
Official PoC#
https://github.com/vanhoefm/airsnitch (opens in a new tab)
12. FragAttacks#
Difficulty
Advanced
Definition#
هاد الاسم كيجمع مجموعة من المشاكل المرتبطة بطريقة تقسيم وتجميع الإطارات في الشبكات اللاسلكية.
Fragmentation
Aggregation
كاينين مشاكل مرتبطة بالتصميم وأخرى مرتبطة بالتنفيذ.
Pentest Objective#
اختبار جهاز أو نقطة وصول تجريبية باستعمال إطار الاختبار الرسمي.
Requirements#
Compatible Wi-Fi Adapter
FragAttacks Tool
Test Client
أو:
Test Access Point
Step 1#
استنسخ المشروع.
git clone https://github.com/vanhoefm/fragattacks.git
cd fragattacksStep 2#
راجع لائحة البطاقات المدعومة وتعليمات التعريفات قبل الاختبار.
استعمال بطاقة غير مناسبة يمكن يعطي نتيجة خاطئة.
Step 3#
جهز الجهاز التجريبي حسب توثيق المشروع.
Step 4#
ابدأ باختبار بسيط للتأكد من البيئة.
الصيغة العامة:
./fragattack.py wlan0 pingStep 5#
عند اختبار نقطة وصول تجريبية، استعمل نمط الاختبار الخاص بنقطة الوصول حسب توثيق المشروع.
Step 6#
اختبر كل حالة بشكل منفصل بدل تشغيل كل الاختبارات دفعة واحدة على بيئة إنتاجية.
Vulnerable Result#
أداة الاختبار كتأكد قبول معالجة غير آمنة للإطارات في الجهاز المختبر.
Recommended Mitigation#
حدث البرنامج الداخلي ونظام التشغيل والتعريفات.
راجع التنبيهات الأمنية الخاصة بمصنع الجهاز.
Official PoC#
https://github.com/vanhoefm/fragattacks (opens in a new tab)
Research Website#
https://www.fragattacks.com/ (opens in a new tab)
13. Dragonblood#
Difficulty
Advanced
Definition#
هاد الاسم كيشير لمجموعة من المشاكل اللي اكتشفت في تطبيقات المصادقة الحديثة.
SAE
وكذلك:
EAP-pwd
المشاكل البحثية شملت أنواعاً مختلفة.
Downgrade Attacks
Side-Channel Attacks
Denial of Service
Pentest Objective#
اختبار تطبيق تجريبي للجيل الثالث بواسطة الأداة البحثية الرسمية.
Requirements#
Dragonslayer
WPA3 Test Access Point
Kali Linux
Step 1#
استنسخ المشروع.
git clone https://github.com/vanhoefm/dragonslayer.git
cd dragonslayerStep 2#
ثبت المتطلبات المذكورة في التوثيق الرسمي.
من بينها مكتبات الشبكات والتشفير المطلوبة للبناء.
Step 3#
بني المشروع.
./build.shStep 4#
شغل فقط الاختبار المناسب للتطبيق التجريبي.
مثال من إطار المشروع لاختبار حالة مرتبطة بالمصادقة الحديثة:
sudo ./dragonslayer-client.sh -i wlan0 -a 3Step 5#
قارن النتيجة مع إصدار البرنامج الداخلي والتصحيحات الخاصة بالمصنع.
Vulnerable Result#
الأداة تؤكد أن التطبيق التجريبي يقبل حالة مصادقة غير سليمة أو متأثرة بأحد الاختبارات المعروفة.
Recommended Mitigation#
حدث تطبيقات المصادقة.
hostapd
wpa_supplicant
حدث البرنامج الداخلي لنقطة الوصول.
Official PoC#
https://github.com/vanhoefm/dragonslayer (opens in a new tab)
Research Website#
https://wpa3.mathyvanhoef.com/ (opens in a new tab)
14. Fragile Frames#
Difficulty
Advanced Research
Definition#
هاد البحث جا من بعد المشاكل السابقة باش يشوف واش الدفاعات والتحديثات اللي طبقت فعلاً كافية.
Fragile Frames
البحث كيركز على مقاومة الأجهزة والشبكات الحديثة لبعض مشاكل الإطارات والتصحيحات غير المكتملة.
Pentest Objective#
البدء بالمحاكاة ثم اختبار جهاز تجريبي فقط بعد التأكد من إعداد البيئة.
Requirements#
Linux
Python Virtual Environment
Compatible Wi-Fi Hardware
Simulation Environment
Step 1#
استنسخ المشروع.
git clone https://github.com/vanhoefm/fragattacks-survey-public.git
cd fragattacks-survey-publicStep 2#
جهز البيئة الافتراضية.
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtStep 3#
ابدأ بالمحاكاة المتوفرة في المشروع قبل اختبار الأجهزة الحقيقية.
راجع ملفات المشروع الخاصة ببيئة المحاكاة.
hwsim
Step 4#
حدد البطاقات والعناوين الخاصة بأجهزة الاختبار فقط.
Step 5#
شغل التجارب واحداً واحداً وسجل النتائج.
Vulnerable Result#
السلوك العملي يبين أن الجهاز ما زال يقبل حالة من الحالات اللي كان المفروض التصحيح يمنعها.
Recommended Mitigation#
تحديث البرامج الداخلية والتعريفات.
إعادة الاختبار بعد كل تحديث مهم لنظام الشبكة.
Official Research Artifact#
https://github.com/vanhoefm/fragattacks-survey-public (opens in a new tab)
15. SAECRED#
Difficulty
Research Level
Definition#
هاد المشروع كيدرس الحالات الداخلية للمصادقة الحديثة باستعمال توليد واختبار تسلسلات غير متوقعة.
SAE
Protocol State Machine
Fuzzing
الفكرة هي البحث عن حالات ممكن تسبب سلوكاً غير متوقع في التطبيق.
Pentest Objective#
تشغيل الاختبار على نسخة مختبرية من نفس نقطة الوصول أو نفس التطبيق المستعمل في المؤسسة.
ما يتنصحش تبدأ به على نقطة الوصول الإنتاجية.
Requirements#
OCaml
Dune
cvc5
SAECRED
Dedicated WPA3 Lab
Step 1#
استنسخ المشروع.
git clone https://github.com/izdar/SAECRED.git
cd SAECREDStep 2#
ثبت الحزم المطلوبة.
opam install menhir alcotest ppx_bitstring yojson ocamlgraph lwt lwt_ppxStep 3#
ثبت المتطلب الرياضي المذكور في المشروع.
cvc5
Step 4#
راجع المسارات الثابتة داخل المشروع وعدلها حسب البيئة.
المستودع نفسه ينبه لوجود مسارات تحتاج التعديل اليدوي.
Step 5#
بني المشروع.
dune buildStep 6#
شغل الإطار.
dune exec sbfلإظهار معلومات إضافية:
dune exec sbf -- --debugStep 7#
راقب النظام التجريبي.
ركز على السلوكيات التالية.
Crash
Unexpected Authentication State
Persistent Failure
Denial of Service
Recommended Mitigation#
حدث تطبيق المصادقة والبرنامج الداخلي.
اختبر النسخة المصححة بنفس تسلسل الاختبار.
Official PoC#
https://github.com/izdar/SAECRED (opens in a new tab)
16. Dragondoom#
Difficulty
Expert Research Level
Definition#
هاد الموضوع مختلف على الاختبارات اللاسلكية التقليدية.
Dragondoom
كيبحث في هجمات جانبية ضد بعض العمليات الرياضية المستعملة في المصادقة.
Side-Channel Attacks
أحد نماذج إثبات المفهوم كيراقب سلوك الذاكرة المخبئية أثناء عملية حساسة.
Cache Attack
OpenSSL
hostapd
هادشي ماشي اختبار بسيط كيتدار ببطاقة لاسلكية فقط.
Pentest Objective#
التحقق في مختبر من أن نسخة التطبيق والمكتبة المستعملة ما كتطابقش البيئة الضعيفة المدروسة في البحث.
Requirements#
Dedicated Linux Lab
hostapd
OpenSSL
Research Artifact
Controlled Hardware
Step 1#
حدد الإصدار المستعمل في البنية.
hostapd Version
OpenSSL Version
Step 2#
صايب نسخة مختبرية مطابقة قدر الإمكان للبيئة.
Step 3#
استنسخ الأداة البحثية داخل المختبر.
git clone https://gitlab.inria.fr/ddealmei/artifact_dragondoom.git
cd artifact_dragondoomStep 4#
اتبع تعليمات البناء الخاصة بالمستودع لأن التجربة مرتبطة بالبيئة والمعالج والمكتبات.
Step 5#
شغل إثبات المفهوم على التطبيق المحلي فقط.
ما تديرش هاد النوع من القياسات على خدمة إنتاجية.
Step 6#
قارن السلوك مع إصدار مصحح أو تنفيذ مقاوم للهجمات الجانبية.
Defensive Reference#
Dragonstar
https://github.com/ddealmei/dragonstar (opens in a new tab)
Official Research Artifact#
https://gitlab.inria.fr/ddealmei/artifact_dragondoom (opens in a new tab)
Recommended Company Pentest Workflow#
قبل ما تبدأ بأي هجمة، دير جرد للشبكات والإعدادات بدون تغيير أي شيء.
Phase 1#
Wireless Recon
حدد:
SSID
BSSID
Channel
Security Mode
Cipher
AKM
PMF
Phase 2#
ابدأ بالاختبارات الأقل تأثيراً.
Passive Capture
Configuration Review
WPS Review
Password Policy Validation
Phase 3#
استعمل أجهزة مخصصة للاختبارات النشطة.
Test Client
Test AP
اختبر:
Deauthentication Resistance
Evil Twin Behavior
Enterprise Certificate Validation
Transition Mode
Phase 4#
دير الاختبارات المتقدمة في نافذة متفق عليها.
KRACK
SSID Confusion
AirSnitch
FragAttacks
Phase 5#
الاختبارات البحثية خاصها مختبر منفصل قدر الإمكان.
Dragonblood
Fragile Frames
SAECRED
Dragondoom
Evidence to Collect#
لكل اختبار سجل المعلومات التالية.
Date and Time
Test SSID
Test BSSID
Test Client
Access Point Model
Firmware Version
Security Mode
PMF Status
Tool Version
Packet Capture
Screenshot
Observed Result
Expected Result
Impact
Recommended Fix
Suggested Finding Template#
Title:
Affected SSID:
Affected AP:
Affected Client:
Attack/Test:
Severity:
Description:
Evidence:
Impact:
Reproduction Summary:
Recommended Mitigation:
Retest Result:Final Notes#
ماشي ضروري تشغل جميع الهجمات على بيئة الإنتاج.
الاختبار الاحترافي كيعتمد على اختيار الطريقة الأقل تأثيراً اللي كتثبت المشكل بشكل كافي.
الهجمات المتقدمة والبحثية من الأفضل تجربتها على نسخة من نفس الجهاز أو البرنامج داخل المختبر.
خلي دائماً الإثبات محدوداً للهدف التقني المطلوب وما تجمعش بيانات مستخدمين حقيقيين إلا كان هادشي مكتوب بوضوح في نطاق الاختبار.
Main References#
Aircrack-ng
https://www.aircrack-ng.org/ (opens in a new tab)
Reaver
https://github.com/t6x/reaver-wps-fork-t6x (opens in a new tab)
hcxdumptool
https://github.com/ZerBea/hcxdumptool (opens in a new tab)
hcxtools
https://github.com/ZerBea/hcxtools (opens in a new tab)
Hashcat WPA/WPA2
https://hashcat.net/wiki/doku.php?id=cracking_wpawpa2 (opens in a new tab)
KRACK
https://github.com/vanhoefm/krackattacks-scripts (opens in a new tab)
SSID Confusion
https://github.com/vanhoefm/ssid-confusion-hostap (opens in a new tab)
AirSnitch
https://github.com/vanhoefm/airsnitch (opens in a new tab)
FragAttacks
https://github.com/vanhoefm/fragattacks (opens in a new tab)
Fragile Frames
https://github.com/vanhoefm/fragattacks-survey-public (opens in a new tab)
Dragonblood
https://github.com/vanhoefm/dragonslayer (opens in a new tab)
SAECRED
https://github.com/izdar/SAECRED (opens in a new tab)
Dragondoom
https://gitlab.inria.fr/ddealmei/artifact_dragondoom (opens in a new tab)
WPA2-Enterprise
https://github.com/OpenSecurityResearch/hostapd-wpe (opens in a new tab)