تم إعداد ترجمة المقال خاصة لطلاب البنتستي. ممارسة اختبار الاختراق " .
هل أنت مهتم بتطوير طرق القرصنة وترغب في مشاركة اكتشافاتك مع مجتمع أمن المعلومات؟ في هذه المقالة ، سأقدم بعض التوصيات لأولئك الذين يريدون أن يصبحوا محللًا في مجال أمان الويب ، بالإضافة إلى الحديث عن الفرص والفخاخ التي قابلها بنفسه ذات مرة في طريقه.
من هو محلل أمن الشبكة؟
يعد محللو أمن الشبكات أشخاصًا يتجاوزون استخدام تقنيات القرصنة المعروفة مثل SQLi و
XSS ويجدون تهديدات جديدة لمواقع الويب. يمكن أن تكون هذه حلولًا مبتكرة تؤدي إلى تعقيد الطرق الحالية ، مثل النهج المتمثل في استغلال نقاط الضعف
XXE المحلية + أو فئات جديدة كاملة من التهديدات ، مثل
Web Cache Deception (تخزين مؤقت للتسمم بتطبيقات الويب).
من الصعب جدًا حماية مواقع الويب من أساليب الهجوم غير المعروفة ، لذلك يمكن استخدامها غالبًا لتشغيل عدد كبير من مواقع الويب الآمنة الأخرى. هذا يعني أن نشر اكتشافاتك في هذا المجال يمكن أن يساعد مواقع الويب في إزالة الثغرات الأمنية ، وبالتالي زيادة المستوى العام للأمن للنظام البيئي بأكمله.
كسر للحياة
تنطوي معظم الأبحاث على استخدام الأساليب الحالية ، والتي تقدمت قليلاً ، لذا سيكون من الجيد في البداية التعرف على الوضع الحالي. أسرع طريقة للقيام بذلك هي العثور على وظيفة حيث ستستخدم أي تقنيات القرصنة لمعظم وقتك. لقد قدم العديد من
الأشخاص الطيبين بالفعل
نصائح حول كيفية الوصول إلى صناعة أمن المعلومات ، لذلك سأكون مختصراً.
أوصي باتباع نهج عملي المنحى ، بدءًا من
أكاديمية أمان الشبكات لدينا ، والانتقال إلى المزيد من المهام المفتوحة ، مثل
hackxor.net ، للمضي قدمًا من خلال المهام البسيطة بمكافأة بسيطة على الجهود المبذولة في
HackerOne و
BugCrowd ، ثم أخيرًا قم بالتبديل إلى برامج الثغرات العامة الجيدة والمدفوعة جيدًا والمثبتة جيدًا. بعد العثور على العديد من نقاط الضعف وتحليلها ، يصبح من السهل أن تصبح مستشارًا لأمن المعلومات وتجري عمليات اختراق على مواقع وتطبيقات ويب جديدة كل يوم.
هناك العديد من الموارد المجانية عبر الإنترنت التي ستخدمك جيدًا على طول الطريق ، بما في ذلك منهجية Burp و HackerOne
Hacker 101 ودليل اختبار
OWASP . بالنسبة للكتب ، أوصي بقراءة دليل
WebApp Hacker و
The Tangled Web . تم تصميم
أكاديمية أمن الشبكات المذكورة أعلاه بشكل تفاعلي كبديل لكتيب WebApp Hacker ، لكن الأمر سيستغرق منا بعض الوقت لتغطية جميع المواضيع الضرورية ، لذلك أوصي الآن باستخدام كلا المصدرين.
تجاوز الطرق المعروفة
بمجرد أن تبدأ العمل وستشارك في اختراق كل يوم العمل الخاص بك ، ستفهم مستوى عبء العمل ، وبعد مرور بعض الوقت ستكون تجربتك واسعة وستكون المعرفة الجديدة صعبة. في هذه المرحلة ، أهم خطوة هي عدم السماح لنفسك بالراحة على أمجادنا ومواصلة التعلم والممارسة. بهذه الطريقة فقط ستصبح متخصصًا حقيقيًا.
البحث عن المعرفة المنسية
يدرك الجميع أنك بحاجة إلى مواكبة التطورات الجديدة ومراقبة
خبراء الصناعة ومجمعات الأخبار وحضور المؤتمرات الأمنية. ومع ذلك ، فإن متابعة التطورات الجديدة على وجه الحصر يعني عدم ملاحظة المعرفة والبحث الثمين الذي تم منذ فترة طويلة ونسي.
في كل مرة تجد مقالًا جيدًا عن المدونة ، لا تبخل في الوقت المحدد - اقرأ الأرشيف بالكامل. غالبًا ما يتم إخفاء أجزاء المعلومات التي لا تقدر بثمن والمنسية. على سبيل المثال ، خذ
مقالة RSnake هذه حول إعادة ربط نظام أسماء النطاقات ، المكتوبة في عام 2009. يؤدي إعادة ربط DNS إلى تجاوز عناصر التحكم في الوصول القائمة على بروتوكول الإنترنت / جدار الحماية على مواقع الويب ، والطريقة الفعالة الوحيدة لتجنب ذلك هي إدراج التطبيق الخاص بك في رأس مضيف HTTP HTTP. قرر الأشخاص بسرعة أن المتصفحات يمكنها القيام بذلك ، وبعد مرور تسع سنوات ، مع سلسلة جديدة من عمليات
الاستغلال ، أصبح من الواضح أن هذه الثغرة الأمنية أعيد استخدامها.
سيساعدك تصفح المحفوظات أيضًا على عدم إعادة اختراع العجلة التي اخترعها شخص آخر بالفعل ، على سبيل المثال ، كما كان الحال مع
إعادة اختراع هجمات CSS بعد عشر سنوات. ومع ذلك ، يصعب العثور على بعض الدراسات ، لذلك لا مفر من التكرار العرضي. بمجرد أن نشرت دراسة واكتشفت أن kuza55 كان يفعل الشيء نفسه بالفعل قبل خمس سنوات. لذلك ، افعل كل ما هو ممكن لتجنب تكرار البحث ، ولكن إذا حدث هذا ، فلا داعي للذعر ، فهذا يحدث للجميع.
جمع الندرة
لربط المواضيع وتحديد الفرص التي يفوتها الآخرون ، من المهم للغاية جمع المعلومات من مصادر مختلفة. بالنسبة للمبتدئين ، لا تقتصر على قراءة محتوى أمان المعلومات ؛ ستجد بسرعة
الوثائق التي ستوجهك خلال عملية الاستغلال. مرة أخرى ، قد تكون المعلومات التالية واضحة جدًا ، ولكن قبل تصفحك لـ Google أو محاولة صياغة
سؤال على Twitter / Reddit / StackOverflow ، تأكد من سؤال زملائك. يحدث غالبًا أن المعرفة الضرورية موجودة في مكان ما ، لكن بعض الأشخاص لا يشاركونها بشكل عام.
بالإضافة إلى ذلك ، حاول الحفاظ على التنوع في تجربتك.
يجب أن يوفر لك اختبار اختراق الصندوق الأسود لإجراء مشاورات حول أمن المعلومات مجموعة واسعة من تطبيقات الويب الخارجية والداخلية التي قد لا تقابلها أبدًا في برنامج مكافأة الأخطاء. ومع ذلك ، فإن الحد الزمني سيمنعك من الخوض في مستوى فهم التطبيق الذي يأتي في أشهر من مكافأة الأخطاء لغرض واحد. على الرغم من أن هذه عملية بطيئة ومحدودة ، إلا أن مراجعة الكود المصدري للـ white-box قد تقدم منظوراً بديلاً للهجوم لم يكن فاحص الصندوق الأسود يفكر فيه. لتطوير كمحلل ، تحتاج إلى الجمع بين أساليب العمل الثلاثة. الميزات الإضافية مثل ألعاب CTF وكتابة تطبيقات الويب ستعمل أيضًا على توسيع وجهة نظرك.
لا توجد أفكار غبية جدا
واحدة من أسوأ المآزق التي يمكن أن تقع فيها هي التخلي عن فكرة رائعة ، على افتراض أن ذلك لن ينجح بالتأكيد ، ولا يجربها لأن "شخصًا آخر قد لاحظها" أو "إنه غبي جدًا للعمل ". لقد عانيت كثيراً من قبل ، لدرجة أن جزءًا من الدراسة ظهر بعد عامين مما كان يجب أن يحدث. لا فرق بين ما إذا كان هذا يتجاوز
المصادقة عن طريق إعادة إدخال نفس كلمة المرور ، أو
اختراق صفحة إدارة Google من هاتفك ، بدلاً من جهاز كمبيوتر محمول ، لأن الاستغلال الكبير التالي يمكن أن يأتي من فكرة غبية حقًا.
التخلي عن الراحة
إذا تم اعتبار بعض التقنيات معقدة أو غير مريحة أو خطرة - فمن الواضح أن هذا موضوع يحتاج إلى البحث. بعد تجارب متكررة من اختراقات حقيقية بعد تناول موضوعات تتجاوز بكثير منطقة الراحة الخاصة بي ، قررت أن أسرع طريقة لاكتشافات جديدة هي البحث بنشاط عن مواضيع تجعلني أشعر بعدم الارتياح. على الأرجح ، يتجنب المتسللون الآخرون هذه الموضوعات ، مما يتيح لهم إمكانية بحث جادة. بالنسبة لي ، هذا هو التفسير الوحيد المعقول للسبب الذي جعلني أتمكن من أخذ المعدات ، تم توثيقه لأول مرة في عام 2005 ، وتم تقديمه مرة أخرى في معرض DEF CON في عام 2016 ، واستخدمه لكسب 70 ألف دولار على مكافأة الأخطاء في عام 2019.
كرر ، اختراع ، حصة
كرر
تتمثل أسهل طريقة لبدء العمل في البحث عن شخص محتمل آخر ، وبناء شيء خاص بك بناءً عليه ، وخلط بعض الأساليب ، ثم محاولة تطبيق منهجك الجديد في هذا المجال ومعرفة ما إذا كان هناك شيء مثير للاهتمام يحدث.
على سبيل المثال ، أشارت هذه
المقالة عن سوء تكوين CORS إلى سلوك مثير للاهتمام وقالت إن هذا السلوك شائع للغاية ، لكن المؤلف توقف هناك ولم يدرس التأثير على المواقع الفردية.
أخذت المفهوم المقترح كأساس وقمت بتطبيقه على خلل مواقع المكافآت ، والتي يمكنني أن أجربها قانونيًا وتجربة يدي لتجنب كل الطرق الممكنة لحمايتها. على طول الطريق ، قمت بتحسين شيء من خلال استخدام تقنيات استغلال إعادة التوجيه المفتوحة المعروفة واكتشفت أخيرًا أصل "لاغٍ" من خلال قراءة وثائق CORS واستكشفت إمكانيات التسمم في ذاكرة التخزين المؤقت.
لم يكن هناك في هذه العملية ما يتطلب الحدس المذهل أو المعرفة التقنية المتميزة ، ومع ذلك ، فقد تم الحصول على النتيجة النهائية بسهولة - تشغيل أخطاء CORS الخاطئة من أجل عملات البيتكوين والمكافآت.
اخترع
يعد تكرار عمل الآخرين أمرًا رائعًا ، ولكن أروع الأبحاث لا تأتي من أي مكان ، سواء كانت إعادة كتابة
المسار النسبي أو تسمم ذاكرة التخزين المؤقت
لتطبيق الويب . أعتقد أن هذه الاكتشافات ناتجة عن تجارب شخصية تضيف إلى الأدلة. أنا أسميهم "تجارب رائدة" أو "فتات الخبز" ، لأنها أحيانًا غامضة ويمكن أن تأخذ الكثيرين ليوصلك إلى اكتشاف مفيد.
على سبيل المثال ، في عام 2011 ، حاولت كسر حماية
CSRF المستخدمة بواسطة
addons.mozilla.org
. لقد تحايلت على التحقق من الرمز المميز ، لكنهم تحققوا أيضًا من أن المضيف في رأس الصفحة المرجعية يتطابق مع الموقع الحالي. التفتت إلى منتدى
sla.ckers
للحصول على المساعدة ، وقال
'barbarianbob'
إن Django يحدد مضيف الموقع الحالي من خلال النظر في قيمة حقل المضيف في رؤوس HTTP ، ويمكن تجاوزه بواسطة رأس X-Forwarded-Host. يمكن الجمع بين هذه الفكرة وفكرة قابلية إدخال الرؤوس في Flash للتحايل على فحص CSRF ، ولكن ما كان أكثر أهمية هو أول سلسلة تنقل. كانت هي التي قادت فكرة أن التطبيقات يمكن أن تعتمد على رأس المضيف لتحديد موقعها الحالي.
في وقت لاحق ، نظرت إلى الكود المصدري لوظيفة إعادة تعيين كلمة مرور Piwik ، ووجدت خطًا يشبه هذا الشكل:
$passwordResetLink = getCurrentUrlWithoutQueryString() + $secretToken
نعم ، لقد فكرت. يستخدم Piwik PHP ، الذي لديه الكثير من المرح في التعامل مع المسار ، حتى أتمكن من طلب إعادة تعيين كلمة المرور على
piwik.com/reset.php/foo؛http : //evil.com ، ونتيجة لذلك أتلقى بريدًا إلكترونيًا به رابطان ، ويتم إرسال الرمز المميز السري على
evil.com
. نجحت هذه الفكرة ، وجلبت لي فوائد ووضع الأساس لعمليات البحث اللاحقة.
الفتنة الثالثة والأخيرة كانت كيف حاول Piwik إصلاح هذه الثغرة الأمنية. قاموا باستبدال
getCurrentUrlWithoutQueryString()
بـ
getCurrentUrlWithoutFileName()
. هذا يعني أنه لم يعد بإمكاني استخدام طريقتي للاستغلال. نظرًا لحقيقة أنني كنت معتادًا على Django ، فقد قررت الخوض في الكود ومعرفة كيفية تحديد Piwik لاسم المضيف الحالي. لقد وجدت أنه ، مثل Django ، استخدموا رأس المضيف ، مما يعني أنه يمكنني بسهولة إنشاء رسائل بريد إلكتروني مرسلة لإعادة تعيين كلمة المرور. كما اتضح فيما بعد ، عملت هذه الخدعة على
addons.mozilla.org
و Gallery و Symfony و Drupal وعدد من المواقع الأخرى. ونتيجة لذلك ، أدى ذلك إلى ممارسة الهجمات باستبدال رأس HTTP
Host .
لوصف ظهور الاكتشافات بشكل مطول للغاية ، آمل أن أتمكن من تبديد اللغز حول عملية البحث وإظهاره على عكس فكرة عفوية من أي مكان. من وجهة النظر هذه ، يبدو أن المهارة الرئيسية (بالإضافة إلى المعرفة والخبرة الحالية) تتمثل في التعرف على هذه الخطوات الأساسية ومتابعة المسار الذي يشيرون إليه. لا يمكنني صياغة كيفية القيام بذلك بطريقة يسهل الوصول إليها ، لكنني أعرف كيفية التفكير في تلك الأشياء التي تجعلك تقول "لا معنى له" مرارًا وتكرارًا.
سهم
من المهم مشاركة أبحاثك مع المجتمع. سيساعد ذلك على زيادة محفظتك وربما يشجع صاحب العمل على منحك المزيد من وقت العمل للبحث. بالإضافة إلى ذلك ، سيساعدك هذا على تجنب إضاعة الوقت وتحفيز المزيد من البحث. إن انتقاد عملك والتعليق عليه يمكن أن يساعدك على رؤية ما لم تلاحظه من قبل. لا يوجد شيء أكثر فائدة من رؤية كيف يطور محلل آخر تقنياته بناءً على أساليبك.
يرجى عدم التفكير في أنه لا ينبغي مشاركة التكنولوجيا أو الفكرة لمجرد أنها غير مبتكرة. اثنين من الشعارات والعرض التقديمي - نشر كل ما لديك (من الناحية المثالية ، على بلوق ، وليس على أي منصة مغلقة سيئة الفهرسة مثل تويتر).
عندما تقوم بمشاركة البحث الخاص بك ، يكون من المفيد دائمًا إظهار مثال على تطبيق طريقتك على تطبيق ويب حقيقي. بدون هذا ، سيجد الناس حتماً صعوبة في فهمه ، وقد يشكون في قيمته العملية.
أخيرًا ، تعد العروض التقديمية رائعة للوصول إلى جمهور أوسع ، ولكن لا
تقع في حلقة مفرغة أو تضيع وقتك في تكرار العروض السابقة إلى ما لا نهاية.
استنتاج
لا يزال لدي الكثير لأتعلمه عن أمان الشبكة ، لذا سأعود إلى هذا الموضوع بعد بضع سنوات بنظرة جديدة وأفكار جديدة. بالإضافة إلى ذلك ، أعرف أن المحللين الآخرين قد يكون لديهم وجهات نظر مختلفة ، وأتطلع إلى الأفكار التي يمكنهم مشاركتها.
ملخص لنصائحي حول أن أصبح محللاً لأمن الشبكات:- ابحث عن المعرفة المنسية وقراءة السجلات الأرشيفية ؛
- الحصول على معلومات من أكبر عدد ممكن من المصادر المختلفة ؛
- تعمق في المواضيع المعقدة و "المخيفة" ؛
- كرر ، اختراع ، حصة.
- لا توجد أفكار غبية جدا.
لذلك ، إذا كنت تتطلع للبدء ، فيمكنني تقديم النصح لك حول اختيارنا السنوي لأفضل عشر
تقنيات اختراق للويب . بالإضافة إلى ذلك ، لقد أنشأت قائمة بالعديد من
المدونات التي ألهمتني لسنوات عديدة. نتمنى لك التوفيق في البحث والمتعة!