
قائمة منسقة من موارد الاختبار بالتشويش (كتب، دورات تدريبية - مجانية ومدفوعة، فيديوهات، أدوات، دروس تعليمية وتطبيقات ضعيفة للتدرب عليها) لتعلم الاختبار بالتشويش والمراحل الأولية من تطوير الاستغلال مثل تحليل السبب الجذري.
قائمة منسقة لموارد اختبار التصيّد (Fuzzing) (كتب، دورات - مجانية ومدفوعة، فيديوهات، أدوات، دروس تعليمية، وتطبيقات ضعيفة للتدرب عليها) لتعلم التصيّد والمراحل الأولية من تطوير الاستغلال (Exploit Development) مثل تحليل السبب الجذري (Root Cause Analysis).
كتب عن التصيّد
Fuzzing: Brute Force Vulnerability Discovery من تأليف Michael Sutton وAdam Greene وPedram Amini.
Fuzzing for Software Security Testing and Quality Assurance من تأليف Ari Takanen وCharles Miller وJared D Demott وAtte Kettunen.
Open Source Fuzzing Tools من تأليف Gadi Evron وNoam Rathaus.
Gray Hat Python من تأليف Justin Seitz.
The Fuzzing Book من تأليف Andreas Zeller وRahul Gopinath وMarcel Böhme وGordon Fraser وChristian Holler.
ملاحظة: الفصول التالية في الكتب أدناه مخصصة للتصيّد.
- The Shellcoder's Handbook: Discovering and Exploiting Security Holes ( الفصل 15 ) من تأليف Chris Anley وDave Aitel وDavid Litchfield وآخرين.
- iOS Hacker's Handbook - الفصل 1 من تأليف Charles Miller وDino DaiZovi وDion Blazakis وRalf-Philip Weinmann وStefan Esser.
دورات / فيديوهات تدريبية حول التصيّد
NYU Poly ( انظر الفيديوهات للمزيد ) - متاحة مجانًا من Dan Guido.
Samclass.info ( تحقق من قسم المشاريع والفصل 17 ) - من Sam.
Modern Binary Exploitation ( RPISEC ) - الفصل 15 - من RPISEC.
Offensive Computer Security - الأسبوع 6 - من W. Owen Redwood وProf. Xiuwen Liu.
Offensive Security, Cracking The Perimeter ( CTP ) و Advanced Windows Exploitation ( AWE )
SANS 660/760 Advanced Exploit Development for Penetration Testers
Exodus Intelligence - دورة تطوير الثغرات المتقدمة
Ada Logics - تطبيق التصيّد على المصادر المفتوحة
FuzzingLabs Academy (تصيّد C/C++ و Rust و Go)
Signal Labs - البحث عن الثغرات والتصيّد
فيديوهات تتحدث عن تقنيات التصيّد وأدواته وأفضل الممارسات
Fuzzing 101 (الجزء 1) - من Mike Zusman.
Fuzzing 101 (الجزء 2) - من Mike Zusman.
Fuzzing 101 (2009) - من Mike Zusman.
Fuzzing - دورة أمن البرمجيات على Coursera - من جامعة ميريلاند.
Attacking Antivirus Software's Kernel Driver
Fuzzing the Windows Kernel - OffensiveCon 2020
قائمة تشغيل يوتيوب لمحاضرات وعروض تصيّد متنوعة - الكثير من المحتوى الجيد في هذه الفيديوهات.
صيد أخطاء المتصفح - مذكرات آخر رجل صامد - من Atte Kettunen
Coverage-based Greybox Fuzzing as Markov Chain
DerbyCon 2016: أساسيات التصيّد...أو كيفية كسر البرمجيات
Fuzz Theory - من Brandon Falk
دروس ومدونات تشرح المنهجية والتقنيات وأفضل ممارسات التصيّد
ARMored CoreSight: نحو تصيّد ثنائي فعال
تصيّد عميل RDP من Microsoft باستخدام القنوات الافتراضية: نظرة عامة ومنهجية
تصيّد تحليل الصور في Windows، الجزء الأول: ملفات الألوان
تصيّد تحليل الصور في Windows، الجزء الثاني: الذاكرة غير المهيأة
تصيّد تحليل الصور في Windows، الجزء الثالث: RAW و HEIF
Effective File Format Fuzzing - Mateusz “j00ru” Jurczyk @ Black Hat Europe 2016, لندن
عام من تصيّد خطوط نواة Windows الجزء 1 - النتائج - مقالة مذهلة من Google's Project Zero، تصف ما يلزم للقيام بالتصيّد وإنشاء أدوات التصيّد.
عام من تصيّد خطوط نواة Windows الجزء 2 - التقنيات - مقالة مذهلة من Google's Project Zero، تصف ما يلزم للقيام بالتصيّد وإنشاء أدوات التصيّد.
الأخطاء والموارد المثيرة للاهتمام في مشروع التصيّد - من fuzzing-project.org.
سير عمل التصيّد؛ وظيفة تصيّد من البداية إلى النهاية - من @BrandonPrry.
مقدمة لطيفة لتصيّد كود C++ باستخدام AFL و libFuzzer - من Jeff Trull.
مقدمة مدتها 15 دقيقة للتصيّد - من فريق MWR Security.
ملاحظة: قام فريق fuzzing.info بعمل رائع في جمع بعض الروابط الرائعة، لن أكرر عملهم. سأضيف الأوراق التي فاتتهم ومن عام 2015 و2016. أوراق بحثية عن التصيّد - من fuzzing.info
مدونات وكتب عن التصيّد - من fuzzing.info
تحليل السبب الجذري للانهيار أثناء التصيّد - من فريق Corelan.
تحليل السبب الجذري لتدفق الأعداد الصحيحة - من فريق Corelan.
إنشاء ناشرين مخصصين لـ Peach Fuzzer - من Open Security Research
7 أشياء يجب مراعاتها قبل تصيّد مشروع مفتوح المصدر كبير - من Emily Ratliff.
من التصيّد إلى الثغرة من نوع 0-day - من Harold Rodriguez(@superkojiman).
من الانهيار إلى الاستغلال - من فريق Corelan.
التصيّد باستخدام Peach الجزء 1 - من Jason Kratzer من فريق corelan
التصيّد باستخدام Peach الجزء 2 - من Jason Kratzer من فريق corelan.
التوليد التلقائي لملفات و أدوات Peach pit - من Frédéric Guihéry وGeorges Bossert.
إنشاء أداة تصيّد لوظيفة ConvertToPDF في FoxitReader 9.7
50 ثغرة في 50 يومًا: تصيّد Adobe Reader
تصيّد المقابس (sockets)، الجزء 1: خوادم FTP
تصيّد البرمجيات: التحديات الشائعة والحلول المحتملة (الجزء 1)
تصيّد البرمجيات: حيل متقدمة (الجزء 2)
سير عمل التصيّد؛ وظيفة تصيّد من البداية إلى النهاية - من @BrandonPrry.
تصيّد capstone باستخدام الوضع المستمر لـ AFL - من @toasted_flakes
الأقراص الافتراضية RAM وحماية SSD من تصيّد AFL
صيد الأخطاء باستخدام American Fuzzy Lop
الاستخدام المتقدم لـ American Fuzzy Lop مع أمثلة من العالم الواقعي
تعطيل Python باستخدام afl-fuzz
التصيّد مع AFL-Fuzz، مثال عملي ( AFL ضد Binutils )
كيف كان يمكن اكتشاف Heartbleed
تصيّد أنظمة الملفات باستخدام American Fuzzy lop
تصيّد وحدات Perl/XS باستخدام AFL
كيفية تصيّد خادم باستخدام American Fuzzy Lop - من Jonathan Foote
ورشة عمل التصيّد باستخدام AFL - مجموعة من التحديات على ثغرات حقيقية
صيد الأخطاء في VirtualBox (المرة الأولى)
ورشة عمل libFuzzer: "التصيّد الحديث لمشاريع C/C++"
ثغرة Double-Free RCE في VLC. دليل honggfuzz
التصيّد باستخدام Spike للعثور على تجاوزات المخزن المؤقت
التصيّد باستخدام Spike - من samclass.info
التصيّد باستخدام FOE - من Samclass.info
Z3 - دليل - البدء مع Z3: دليل
بناء أداة تصيّد تغذية راجعة - من @fady_othman
أدوات تساعد في تصيّد التطبيقات
أدوات تصيّد تساعد في التصيّد في البيئات السحابية.
Cloudfuzzer - إطار عمل للتصيّد السحابي يسمح بتشغيل اختبارات التصيّد الآلية بسهولة في البيئات السحابية.
ClusterFuzzer - ClusterFuzzer، بنية تحتية قابلة للتوسع ومفتوحة المصدر للتصيّد. تستخدمها Google لتصيّد متصفح Chrome.
Fuzzit - Fuzzit، منصة تصيّد مستمر كخدمة. مجانية للمشاريع مفتوحة المصدر. تُستخدم من قبل مشاريع مفتوحة ومغلقة المصدر (systemd, radare2). للانضمام لبرنامج المصادر المفتوحة، أرسل بريدًا إلى [email protected]
أدوات تصيّد تساعد في تصيّد تنسيقات الملفات مثل pdf و mp3 و swf وغيرها.
pe-afl يجمع بين التنقيح الثنائي الثابت على ملفات PE و WinAFL
MiniFuzz - رابط Wayback Machine - أداة تصيّد أساسية لتنسيقات الملفات من Microsoft (لم تعد متوفرة على موقع Microsoft).
BFF من CERT - إطار عمل أساسي للتصيّد لتنسيقات الملفات.
AFL Fuzzer (لينكس فقط) - American Fuzzy Lop Fuzzer من Michal Zalewski المعروف بـ lcamtuf
Win AFL - فرع من AFL لتصيّد التطبيقات على Windows
Shellphish Fuzzer - واجهة Python لـ AFL، تسمح بإدخال حالات الاختبار بسهولة ووظائف أخرى.
TriforceAFL - نسخة معدلة من AFL تدعم تصيّد التطبيقات التي لا يتوفر كودها المصدر.
AFLGo - تصيّد الصندوق الرمادي الموجه مع AFL، لتصيّد مواقع محددة في البرنامج.
Peach Fuzzer - إطار عمل يساعد في إنشاء أدوات تصيّد ذكية وغبية مخصصة.
MozPeach - فرع من peach 2.7 من Mozilla Security.
Failure Observation Engine (FOE) - أداة اختبار تصيّد طفري قائمة على الملفات لتطبيقات Windows.
rmadair - أداة تصيّد ملفات طفرية تستخدم PyDBG لمراقبة الإشارات المهمة.
honggfuzz - أداة تصيّد متعددة الأغراض وسهلة الاستخدام مع خيارات تحليل مثيرة للاهتمام. تدعم التصيّد المعتمد على التغذية الراجعة بناءً على تغطية الكود. تدعم GNU/Linux و FreeBSD و Mac OSX و Android.
zzuf - أداة تصيّد شفافة لمدخلات التطبيقات. تعمل عن طريق اعتراض عمليات الملفات وتغيير وحدات البت العشوائية في مدخلات البرنامج.
radamsa - أداة تصيّد عامة ومولد لحالات الاختبار.
binspector - أداة تحليل تنسيقات ثنائية وتصيّد.
grammarinator - أداة تصيّد لتنسيقات الملفات تعتمد على قواعد ANTLR v4 (العديد من القواعد متاحة بالفعل من مشروع ANTLR).
Sloth - Sloth 🦥 هو إطار عمل تصيّد موجه بالتغطية لتصيّد المكتبات الأصلية في Android، يستخدم libFuzzer ومحاكاة QEMU في وضع المستخدم.
ManuFuzzer - أداة تصيّد ثنائية تعتمد على تغطية الكود لنظام macOS، مبنية على libFuzzer و LLVM.
أدوات تصيّد تساعد في تصيّد التطبيقات التي تستخدم بروتوكولات شبكة مثل HTTP و SSH و SMTP وغيرها.
Peach Fuzzer - إطار عمل يساعد في إنشاء أدوات تصيّد ذكية وغبية مخصصة.
Sulley - إطار عمل لتطوير أدوات التصيّد واختبار التصيّد يتكون من عدة مكونات قابلة للتوسع من Pedram Amini.
boofuzz - فرع وخليفة إطار Sulley.
Spike - إطار عمل لتطوير أدوات التصيّد مثل sulley، سابق لـ sulley.
Metasploit Framework - إطار عمل يحتوي على بعض إمكانيات التصيّد عبر الوحدات المساعدة (Auxiliary modules).
Nightmare - مجموعة اختبار تصيّد موزعة مع إدارة ويب، تدعم التصيّد باستخدام بروتوكولات الشبكة.
rage_fuzzer - أداة تصيّد حزم غبية غير واعية بالبروتوكول لإعادة التشغيل.
Fuzzotron - أداة تصيّد شبكة بسيطة تدعم TCP و UDP وتعدد الخيوط.
Mutiny - إطار عمل Mutiny للتصيّد هو أداة تصيّد شبكة تعمل عن طريق إعادة تشغيل PCAPs من خلال أداة تصيّد طفرية.
Fuzzing For Worms - إطار عمل للتصيّد لخوادم الشبكة.
AFL (مع تصحيح الشبكات) - نسخة غير رسمية من American Fuzzy Lop قادرة على تصيّد الشبكات.
AFLNet - أداة تصيّد الصندوق الرمادي لبروتوكولات الشبكة (امتداد لـ AFL).
Pulsar - تعلم البروتوكول والمحاكاة وأداة تصيّد حالية.
BFuzz - إطار عمل لتصيّد المتصفحات مبني على المدخلات. Fuzzinator - إطار عمل اختبار عشوائي. Grizzly - إطار عمل لتصيّد المتصفحات عبر المنصات.
أدوات تصيّد بارزة أخرى مثل أدوات تصيّد النواة وأدوات عامة.
Choronzon - أداة تصيّد تطورية قائمة على المعرفة.
QuickFuzz - أداة مكتوبة بلغة Haskell مصممة لاختبار المدخلات غير المتوقعة لتنسيقات الملفات الشائعة على برامج الطرف الثالث، مستفيدة من أدوات تصيّد معروفة.
gramfuzz - أداة تصيّد قائمة على القواعد تتيح تعريف قواعد معقدة لنمذجة تنسيقات البيانات النصية والثنائية.KernelFuzzer - إطار عمل اختبار اختراق النواة عبر المنصات.
honggfuzz - أداة اختبار اختراق عامة وسهلة الاستخدام مع خيارات تحليل مثيرة للاهتمام.
Hodor Fuzzer - أداة اختبار اختراق عامة أخرى.
libFuzzer - محرك اختبار اختراق تطوري موجه بالتغطية داخل العملية للأهداف المكتوبة بلغة C/C++.
syzkaller - أداة اختبار اختراق موزعة وغير خاضعة للإشراف وموجهة بالتغطية لنداءات نظام لينكس.
ansvif - إطار عمل متقدم لاختبار الاختراق عبر المنصات مصمم لاكتشاف الثغرات في كود C/C++.
Tribble - إطار عمل لاختبار اختراق JVM موجه بالتغطية وسهل الاستخدام.
go-fuzz - اختبار موجه بالتغطية لحزم لغة Go.
FExM - إطار عمل لاختبار الاختراق الآلي على نطاق واسع.
Jazzer - أداة اختبار اختراق موجهة بالتغطية داخل العملية للآلة الافتراضية جافا (JVM) مبنية على libFuzzer.
cifuzz - أداة سطر أوامر لتنفيذ اختبارات اختراق موجهة بالتغطية بلغات وأهداف متعددة.
WebGL Fuzzer - أداة اختبار اختراق WebGL.
fast-check - أداة اختبار اختراق مكتوبة بلغة TypeScript ومصممة لتشغيل مدخلات غير متوقعة ضد كود JavaScript.
كيف يؤثر إدخال المستخدم على التنفيذ
PANDA (منصة تحليل ديناميكي محايد للهندسة المعمارية)
QIRA (محلل تفاعلي أثناء التشغيل لـ QEMU)
kfetch-toolkit - أداة لإجراء تسجيل متقدم للمراجع الذاكرة التي تقوم بها نوى أنظمة التشغيل.
moflow - إطار أمان برمجي يحتوي على أدوات لاكتشاف الثغرات وتحليلها وتصنيفها.
Z3 - مبرهنة من مايكروسوفت ريسيرش.
SMT-LIB - مبادرة دولية تهدف إلى تسهيل البحث والتطوير في نماذج الإشباع (SMT).
التنفيذ الرمزي باستخدام KLEE: من التثبيت والمقدمة إلى اكتشاف الأخطاء في البرامج مفتوحة المصدر - مجموعة من أربع فيديوهات تعليمية تقدم KLEE، بدءًا من كيفية البدء مع KLEE وتنتهي بعرض توضيحي يكتشف أخطاء فساد الذاكرة في كود حقيقي.
لم أقم بتضمين بعض الأساطير مثل AxMan، يرجى الرجوع إلى الرابط التالي لمزيد من المعلومات. https://www.ee.oulu.fi/research/ouspg/Fuzzers
أدوات المهنة لمطوري الاستغلال ومهندسي الهندسة العكسية
Windbg - المصحح المفضل لدى كتاب الاستغلال.
Immunity Debugger - مصحح Immunity من شركة Immunity Sec.
OllyDbg - المصحح المفضل لمهندسي الهندسة العكسية وكتاب الاستغلال على حد سواء.
Mona.py (إضافة لـ Windbg و Immunity dbg) - أدوات رائعة تسهل الحياة لمطوري الاستغلال.
x64dbg - مصحح مفتوح المصدر x64/x32 لنظام ويندوز.
مصحح إيفان (EDB) - واجهة أمامية لـ gdb.
GDB - مصحح Gnu - مصحح لينكس المفضل.
PEDA - مساعدة تطوير الاستغلال بلغة بايثون لـ GDB.
Radare2 - إطار عمل للهندسة العكسية وتحليل الثنائيات.
مفككات التجميع، أطر فك التجميع، إلخ.
IDA Pro - أفضل مفكك تجميع.
binnavi - بيئة تطوير متكاملة لتحليل الثنائيات، تشرح رسوم تدفق التحكم ورسوم استدعاءات الكود المفكك.
Capstone - إطار فك تجميع خفيف متعدد المنصات ومتعدد الهياكل.
ltrace - يعترض استدعاءات المكتبات.
strace - يعترض استدعاءات النظام.
Exploit-DB - https://www.exploit-db.com (ابحث واختر الاستغلالات التي تحتوي على تطبيقاتها المتاحة للتحميل، وأعد إنتاج الاستغلال باستخدام أداة الاختراق التي تختارها)
PacketStorm - https://packetstormsecurity.com/files/tags/exploit/
Fuzzgoat - برنامج C معرض للخطر لاختبار أدوات الاختراق.
vulnserver - خادم معرض للخطر لاختبار أدوات الاختراق.
https://files.fuzzing-project.org/
مجموعة اختبار أدوات الاختراق - مجموعة من الاختبارات لمحركات الاختراق. تتضمن أخطاء مشهورة مختلفة مثل Heartbleed وخلل c-ares بقيمة 100 ألف دولار وغيرها.
مجموعة نماذج للاختراق - مجموعة نماذج، بما في ذلك تنسيقات ملفات متنوعة لاختراق أهداف متعددة في أدبيات الاختراق.
مقدمة إلى مناهضة الاختراق: أداة دفاع عميق
Fuzzification: تقنيات مناهضة الاختراق
AntiFuzz: إعاقة تدقيقات الاختراق للثنائيات القابلة للتنفيذ
Awesome Directed Fuzzing: قائمة منسقة من أوراق بحثية رائعة حول الاختراق الموجه.
يرجى الرجوع إلى الإرشادات في ملف Contributing.md للحصول على التفاصيل.
شكرًا للأشخاص التاليين الذين ساهموا في هذا المشروع.