مؤتمر DEFCON 18. لقد أنفقت كل هذه الأموال ، لكنهم استمروا في إنفاقك. الجزء 1أستخدم شيئًا مثيرًا للاهتمام بواسطة Gary O'Leary-Steele يُطلق عليه Unicod-fun ، وهو أمر جيد جدًا لفائدة مكتوبة باللغة Ruby. أنت تعلم أن أدواتي يجب أن تُكتب حصريًا في بيثون ، لذلك قمنا بترجمتها إلى بيثون. الآن يمكننا تطبيق تشفير مختلف للأدوات المصممة لمهاجمة تطبيقات الويب وهي جزء من إطار عمل WAF.

يشتمل إطار عمل WAF على WAF Fun و WAFWOOF ويعمل على أساس الترميز المتعدد والمعلومات الواردة من الوكيل ، ويمكن أن يعمل من خلال وكلاء Tor أو GLib أثناء القيام بكل هذه الأشياء المختلفة. إذاً هذا شيء مفيد حقًا للحصول على المعلومات التي تحتاجها.
تحدثنا عن مهاجمة المواقع من خلال Tor ؛ تحدثت عن ذلك بالتفصيل في العام الماضي. تعرض الشريحة التالية البرامج النصية لمثل هذا الهجوم:
alias hide='su -c "/home/j0e/dumbscripts/hide.sh"' $ cat /home/j0e/dumbscripts/hide.sh #!/bin/bash # Startup privoxy /usr/sbin/privoxy /etc/privoxy/config # Start Tor /usr/bin/tor $ hide
يجب أيضًا ذكر المكون الإضافي ، وهو مضمن كزر Tor في Firefox.
لا أعرف إذا كان أي منكم قد عمل مع DotNet Defender WAF المستخدمة من قبل هذه الشركات اللعينة. وجدنا أنه قادر على حماية الخادم من حقن SQL. على الشريحة ، ترى نتيجة إنشاء هجوم برمجي عبر المواقع - قام dotDefender بحظر طلبنا.

بعد ذلك ، ترى محاولة للتحايل على هذا النوع من الحماية باستخدام حقن SQL دون أي تشفير. و DotNet Defender لم تستطع فعل أي شيء حيال ذلك.

والحقيقة هي أنه يحظر فقط بعض حقن SQL ، والتي تحتوي بشكل أساسي على الكلمة select. هذه هي قمة تقنية الأمان - قم بحظر الكلمة المحددة. إذا كنت تقوم بالتشفير في Unicode ، فيمكنك أن تتخطى هذا المدافع ، لذلك قاموا بإصلاح هذه الثغرة الأمنية في العام الماضي ، لكنهم لم يفعلوا شيئًا ضد معايير الترميز الأخرى. لذلك ، إذا كنت تستخدم ترميزًا مختلفًا ، فيمكنك تجاوز DotNet Defender بسهولة. سمح لي هذا بإعادة تعيين كلمة مرور المسؤول دون أي ترميز.

آسف يا رفاق من DotNet Defender ، لكن عليك إصلاح الخراء.
لذلك ، فإن الشيء المهم الذي تمكنت من فعله هو اختراق شبكة LAN عبر الإنترنت. هذا صعب بما فيه الكفاية ، لكنه لا يزال ممكنا. لهذا استخدمت أداة بسيطة في بيرل ، كان علي أن أتحملها ، على الرغم من أنني من أتباع المتحمسين لبيثون. إنه يعمل بشكل جيد بالفعل ، وبفضله يمكنك تحميل واجهة شبكة netcat أو meterpreter shell عبر نفق DNS. هذا مشروع رائع حقًا وتم إصدار تحديث جديد له.

فيما يلي طريقة لحقن SQL باستخدام أداة خريطة SQL. تتيح لك هذه الأداة ، المكتوبة بلغة Python ، تنزيل os-shell أو meterpreter. كما أن لديها نظام التشغيل الخاص بها ، والذي يمكنك العبث به. وبالتالي ، يمكنك إدخال الأوامر اللازمة للتحكم في النظام ، أو تكوين netcat أو إدخال shell meterpre مباشرة ، لذلك أستخدم هذه الأداة كثيرًا.
والآن سننتقل إلى مواد أكثر أهمية. الاسم الرسمي لهذا الجزء من التقرير هو عدم السماح لنفسك بالوقوع! لا تكون النمر!

كل ما أفعله هو عدم الوقوع. من هو النمر؟ إنه فاسق ، فاسق فاسق ، من يتفق معي؟ إذا كنت أقدر بمليار دولار ، وكنت ناقتيًا ، فأنت تعلم أن لدي أشخاصًا على استعداد لقتلك إذا سمحت بذلك. هل تتفق معي
لذلك ، فإن أهم شيء لا ننشغل به هو تحديد مرشحات الاختراق. كثير من الناس تجربة خيارات مختلفة. الأول هو تصفية من جانب العميل. هذا سيء هذا سيء وخمس مرات أخرى - هذا سيء! لا تستخدم البرامج النصية JavaScript أو VB ، أو أي شيء من جانب العميل لمحاولة تصفية المدخلات القادمة إلى تطبيق مهم. أو إذا كنت تستخدم إطار عمل مثل J2EE يقوم بإنشاء JavaScripts ، فسوف يتعين عليك كتابة التعليمات البرمجية من جانب الخادم والتي تتحقق من أن كل شيء يأتي من العميل على ما يرام.

تحقق من شفرة المصدر لمعرفة أي معلمات تمر عبر الموقع يمكن تصفيتها باستخدام JavaScript أو VB script ، وحذفها. احفظ الصفحة محليًا وحذف البرامج النصية JavaScript أو VB المناسبة أو استخدم بروكسي محلي مثل Paros و Web Scarab و Burp Suite.
إذا كنت قد عقدت للتو هذه الصفقة اللطيفة مع شخص ما ، ضع في اعتبارك أن كل شيء سيء يحدث على جهاز العميل ، لذلك تحتاج إلى تعليم هذه الدروس الصغيرة للمطورين. أقول لهم: "حسنًا ، مطور ، أريدك أن تفكر في الأمر ، لأنك ستضع كل هذا الأمان في جهاز كمبيوتر محمول للقراصنة!" هل تعتقد أن هذا صحيح؟ لذلك ، يا شباب ، لا تستخدم التصفية على جانب العميل!
فيما يلي قيود القائمة السوداء. في كثير من الأحيان يحاول الناس تقييد استخدام الأحرف الخاصة. حسنًا ، دعنا نقول أنه لا يمكنك إرسال علامة مساوية ، علامات أقل ، وما شابه.

ولكن فيما يتعلق ببناء جملة SQL ، لا يتعين عليك الإشارة إلى أن 1 = 1. على سبيل المثال ، في طلب http: // [site] /page.asp؟id=2 أو 1 مثل 1 ، يمكنك عمومًا تجنب استخدام علامة المساواة و / أو المشغل عن طريق استبدالها في شريط العناوين بالكلمات "و" و " مثل "، على سبيل المثال ،" و 1 كـ 1 "،" و 1 كـ 2 "وهكذا:
http: // [site] /page.asp؟id=2 و 1 إعجاب 1
http: // [site] /page.asp؟id=2 و 1 إعجاب 2
في الواقع ، لا تستخدم حقن SQL في معظم الحالات أحرفًا خاصة.
بعد ذلك ، ضع في الاعتبار معرفات IDS المستندة إلى التوقيع. أخبرني ، أي منكم لديه مثل هذا الجدول على لوحة الماوس؟ إذا كان لديك جدول الرموز العشرية أكواد ASCII أو HEX ، فقم بتمزيقه باستخدام هذه السجادة.

ما تعلمته الليلة الماضية عندما كنت في حالة سكر في نعل هو أن ASCII يعمل حقا! لذلك ، عندما تتعامل مع IDS وتتلقى تنبيه TCP من أي IP ، من أي منفذ ، متجهًا إلى منفذ خادم الويب الخاص بنا ، ثم ابحث عن نوع بيانات خاص 1 = 1. دعونا نفكر ، كم عدد المتسللين الذين تمكنوا من اللحاق بهذا الشيء؟ دعونا نفكر في ذلك.

2 هو 2؟ أربعون أوقية تساوي أربعين أوقية؟ 1 = 1 ليس هو الطريقة الوحيدة لإنشاء طلب يمكنك من خلاله الحصول على استجابة من "صواب" ، يمكنك إرسال طلب من النوع "2 = 2" ، "1 <2" وما إلى ذلك. إذا كانت التواقيع سهلة للغاية ، فلماذا تحتاجها؟ الجواب هو للأدوات التلقائية والأطفال.
تعرض الشريحة التالية رؤيتي IDS القائمة على التوقيع - هذا هو حارس المرمى الذي سدد كرة واحدة بينما مرت 100 كرة عبر المرمى.

الأداة المساعدة pentester تسمى sqlmap تتجاوز هذه الحماية التي أظهرتها لك بشكل افتراضي ، كما أنها مكتوبة في بيثون!
يظهر شيء مشابه على الشريحة التالية. هنا ، للحصول على حل بديل ، استخدمت تقنية 2 أو 2 واخترت المستخدم.

في هذه الحالة ، قمت بتقديم التعبير بالكامل في التعليمات البرمجية السداسية عشرية ، ولكن يمكنك القيام بذلك في Unicode ، utf7 ، utf-8 ، utf-16 ، في أي تشفير ، لا يهم ، هذه الطريقة لا تزال تعمل وتسمح لك بتجاوز العديد من WAFs.
يوجد منتج آخر في مجال PHP - وهو PHP IDS ، وأعتقد أنه من اللطيف أن لديهم الآن عرضًا لقدراته على الموقع. إذا ذهبت إلى demo.phpids.net ، يمكنك تجربة اختبار الدخان. يتيح لك تطبيق Smoketest تجربة جميع عمليات حقن SQL أو البرمجة النصية عبر المواقع أو هجمات تطبيقات الويب ويظهر لك التوقيعات التي تكتشفها هذه الهجمات ، بحيث يمكنك الاستمرار في ممارسة تدريب الكونغ فو على الإنترنت.

على سبيل المثال ، يمكنك تطبيق بعض التأثيرات ، والحصول على توقيع ، وتجربة أخرى ، والحصول على مجموعة أخرى من التوقيعات ، وما إلى ذلك. تستمر فقط في العمل والعمل حتى يقول هذا الولد الشرير أن كل شيء على ما يرام ، لقد تحايلت على الدفاع ، ولا شيء آخر "يدخنك". لذلك صقلت مهاراتك في الكونغ فو حتى تجد شيئًا يمكنه التحايل على معظم القواعد.

الآن تعاونت Modsecurity مع PHP IDS ، ولديهم اختبار الدخان الخاص بهم. لم أقم بإضافته إلى الشرائح الخاصة بي بسبب حدوث صداع في الصباح ، لكنني أقول إنهم تمكنوا من دمج قاعدة Modsecurity مع قاعدة PHS IDS المعينة في واجهة ويب واحدة ، لذلك عليك ببساطة إدراج عمليات استغلالك هناك حتى تتخطى جميع القواعد. باختصار ، IDS المستندة إلى التوقيع هي مجرد مزحة غبية. على الأقل ، لم يكن لدي عملاء يعرفون هذه المنتجات ، لكنهم اشتروها على أي حال. لكن هذه قصة مختلفة قليلاً.
أنا أفهم تمامًا أولئك الذين يمثلون محللي IDS و WAF. أعلم أنني أتحدث كثيرًا ، ولكني أشعر بألمك لأنني اعتدت على القيام بعملك ، وليس هناك ما يكفي من الخمول في العالم لتحمل العمل الذي تقوم به.

لذلك ، فإن الغالبية العظمى من الأشياء التي أظهرت للتو أنك تتم من خلال الشبكة. كما قلت ، أنت تتفاعل مع IDS و IPS عن بعد ، وتحميل مختلف مآثر. كم منكم تعاملت مع JBoss ، خادم تطبيق مفتوح المصدر ، يعرف أن معظم الملفات يتم تنزيلها باستخدامه. حقن SQL ببساطة يشفر بعض المسارات التي يمكنني الوصول إليها ، والتي عادة ما تتيح لي الوصول إلى shell و DMZ ، وأحاول العمل من هناك.
بعد ذلك ، أفعل شيئًا لا يصدق وأرسل بريدًا إلكترونيًا إلى العميل لأنه يعمل. يبدو جانب العميل الخاص بك مع إطار عمل Metasploit رائعًا ، بحيث يمكنك اختيار كل ما يدعم أحدث متصفح ، PDF ، ActiveX أو استغلال الملف ، تأكد من أنه يعكس غلاف TCP ، وبعد ذلك يقوم Metasploit بتحويل هذه الرسالة إلى HTTPS. كل شيء رائع ، والشيء السيئ الوحيد هو أنه مكتوب في روبي. لكن أداة Python SET هي مستوى جديد تمامًا من الحفر.

هذه الأداة تسمح لك أن تفعل أشياء لا تصدق. تم إنشاء SET بواسطة David Kennedy من مجموعة ReLic ، فلنشيد به على هذا. هذا هو بالضبط ما نحتاجه من أجل توضيح جوهر ما يحدث. لم يعد المتسللون يفحصون منافذ شبكتك ، إذا كانوا لا يحاولون القيام بذلك ، فمن المحتمل أنهم لن يستولوا على أي حال. يحاول المتسللون تنزيل شيء ضار باستخدام البريد الإلكتروني أو شيء من هذا القبيل.
لذلك ، من الضروري أن يدرك العميل أنه من الضروري أن يختبر نظامه لمقاومة آثار المواقع الاحتيالية والتصيد وما شابه ذلك أثناء إجراء الاختبار. خاصةً إذا صادفت عميلًا كهذا ، فقد وقف قائلاً: "حسنًا ، جو ، لن أدفع لك مقابل النصيحة لتعليم موظفي الشركة كيفية استخدام الشبكة بشكل صحيح." لذلك عليك إعادة إنتاج كل التهديدات الحقيقية من جانب العميل حتى يفهم مدى خطورة ذلك.
لذلك ، فإن المرحلة التالية من pentesting هي Pivot Attack ، أو "تحول الهجوم" ، حيث يتم استخدام مضيف تم اختراقه لمهاجمة مضيفين آخرين. يعد "تشغيل الهجوم" على شبكة LAN جزءًا مهمًا من عملية تخريج العميل.

يدعم Metasploit Pivot ، وإذا لم يكن لدي القدرة على تنزيل أرشيف .cab مع جميع الملفات القابلة للتنفيذ التي تم تجميعها بشكل ثابت مسبقًا ، فلا داعي لتثبيت أي شيء. أستخدم هذا في ورشة العمل الخاصة بي لإنشاء تطبيق Pivot على شبكة محلية ، لذلك "أقفز" وأبدأ في الانتقال من هناك.
الشيء التالي الذي أفكر فيه هو حلول الأمان العامة لشبكة LAN. هذا النقص في DHCP ، أي عناوين IP الثابتة وعناوين DHCP MAC وأمن المنفذ وحلول NAC ، هي أشياء تجعلني غير قادر على الوصول إلى الشبكة. ماذا أفعل إذا لم أتمكن من الدخول على الشبكة؟
إذا كانت DHCP مفقودة وعناوين IP ثابتة ، فعندئذ أسرق عنوان IP صالحًا من المضيف. لقد علمني أطفالي هذا لأن عناوين IP الثابتة هي شيء غير فعال بشكل لا يصدق. آمل ألا يكون لديك عملاء يقولون إنهم سيوقفون المتسللين باستخدام عناوين IP الثابتة. أفعل نفس الشيء في وجود عناوين MAC MAC - أسرق عنوان MAC صالحًا. إذا كان لدينا منفذ آمن ، فأنا أسرق أيضًا عنوان IP أو MAC صالحًا. أخيرًا ، إذا كانت هناك حلول NAC ، فيمكنك فقط التقاط الكمبيوتر ، وإدارته وإلقاء نظرة على عنوان MAC الخاص به ، أو محاولة العثور على استثناءات بروتوكول 802.1x ، أي الأجهزة التي لا تدعم 802.1x ، مثل الطابعات والناسخات ورفوف الأقراص المضغوطة و VoIP الهواتف.
كل هذه الطرق تعمل من أجلي ، وأفضل أجهزة اختراق شبكات LAN هي هواتف VoIP. كان لدي العديد من العملاء الذين استخدموا التخويل التلقائي لهواتف VoIP في الشبكة الصوتية استنادًا إلى عنوان MAC وعلامة VLAN. حتى تتمكن من إنشاء "مربع" لنظام Linux يشبه هاتف VoIP والتحول إلى شبكة LAN صوتية افتراضية ، متجاوزًا حلول NAC.
كان من الضروري توصيل معظم هواتف عملائي مباشرةً بمركز برامج CallManager في منطقة DMZ الداخلية ، لأن جميع مراكز CallManager يجب أن تعمل مع خوادم أخرى ، لذلك كان استقبالي جيدًا للشبكة بالكامل.
يوجد شيء يسمى Voip Hopper يقوم بأتمتة عملية اختراق صوت VLAN. يمكنك تنزيل هذا الاستغلال من موقع voiphopper.sourceforge.net واستخدامه "للقفز" مباشرةً إلى شبكة محلية ظاهرية.
عندما أكون داخل الشبكة ، عادةً ما أجد من هو المسؤول عن المجال. على الشريحة ، ترى قائمة من الأوامر التي أستخدمها: قم بتعيين - لاكتشاف معلومات حول المجال والمستخدمين ، وعرض net - لمشاهدة أجهزة كمبيوتر الشبكة ومجالات المستخدم والمجالات الأخرى ، net localgroup - للعثور على مجموعات محلية من أجهزة الكمبيوتر وما إلى ذلك.

أفعل ذلك لمعرفة من وفي أي المجموعات تعمل على الشبكة لمحاولة مهاجمة أجهزة الكمبيوتر الخاصة بهم. والأفضل من ذلك ، إذا كان بإمكاني الحصول على مسؤول محلي أو نظام محلي ، فإن الأمر التالي الذي أفعله هو فحص الشبكة لتحديد هوية المستخدم المحدد لهذا الكمبيوتر.

يمكنك استخدام مجموعة متنوعة من البرامج النصية لفحص الشبكة لمعرفة أين يوجد "مربع" المسؤول على أي جهاز. إذا "قبضت" على مسؤول محلي أو نظام محلي ، فيمكنك "القفز" إلى "الصندوق" الخاص بهم واستخدام غلاف pcexec من هناك.

بعد القفز إلى "المربع" ، أبدأ بالبحث عن وسيلة لزيادة امتيازاتي. بناء الامتيازات أمر صعب حقًا. في نظام التشغيل Windows XP ، تعمل هذه الأشياء حتى مع حزمة الخدمة Sp3 ، والتي تستخدم واجهة سطر الأوامر cmd.exe الجميلة ، وهذا شيء رائع.
عندما اخترقت مصرفًا واحدًا ، اضطررت إلى "قتل" خدمة إطار عمل McAfee ، والتي تشير إلى نظام منع التطفل على نظام HIPS. لهذا ، استخدمت الأمر pskill.exe. لذلك ، لقد قمت بتعطيل McAfee ، وقم بتعطيل HIPS ، وقمت بتعطيل المعترض والألعاب النارية وجميع العمليات الأخرى التي أطلقها نظام منع الاختراق.

شيء آخر لم يكن لدي وقت لإظهاره على الشريحة هو أنه عندما تقوم بإيقاف تشغيل McAfee ، فأنت بحاجة أولاً إلى زيادة الامتيازات ، وهذا يعمل أيضًا فيما يتعلق بحماية Symantec لنقطة النهاية. الحقيقة هي أنه بعد "قتل" كل هذه العمليات ، بعد فترة من الوقت تبدأ من جديد. لذلك ، تحتاج إلى "إلغاء قفل" ملفات DLL الموجودة في الذاكرة لإيقاف تشغيل الحماية. لم أقم بنشر ذلك على الشرائح ، لكن إذا كنت تتذكر لاحقًا ، فسوف أعطيك صيغة لهذه الخدعة.
شيء آخر تعلمته للتو حول McAfee هو أن الملفات الموجودة في قائمة الاستبعاد تظهر باسم محدد ، وليس علامة تجزئة أو شيء مشابه. لذلك ، لا يتم حماية الملفات المضمّنة في قائمة استبعاد الحماية من الفيروسات McAfee من تجاوزات المخزن المؤقت ، وسأستخدم هذه الحقيقة لأغراضي الخاصة.
يظهر التالي "مقتل" الوركين كنظام مع Metasploit. الآن لديهم شيء يسمى getystem ، لذلك يمكنك ببساطة كتابة Metasploit أو استدعاء getystem وسوف يرميك مباشرة إلى النظام باستخدام إحدى الطرق الأربع التالية: إيقاف الحماية العامة من الفيروسات أو إيقاف HIPS أو "قتل" عمليات McAfee أو "القتل" الوركين العمليات.

آخر شيء أردت إظهاره هو التقاط المجال.

بمجرد الوصول إلى "مربع" المسؤول ، أستخدم جميع الرموز التي سرقتها وأبدأ في استخدام صلاحياته. انتحال شخصية مسؤول مجال ، أقوم بإنشاء مجموعة مستخدمين وأضيفهم إلى مجموعة المسؤولين. لأغراضي ، هذا يعمل بشكل رائع.

بالنسبة للحماية ، سيكون لديّ 1-2 صفحات من الوثائق حول الحماية من كل من الهجمات التي تحدثت عنها اليوم. تقول كيفية تنفيذ هجوم وكيفية الدفاع ضده. لذلك إذا كنت بحاجة إلى مثل هذه المعلومات ، اتصل بي ، فكل جهات الاتصال موجودة على الشريحة.
إذا لم يكن لدي أي أسئلة ، فسأنتهي هناك.
شكرا لك على البقاء معنا. هل تحب مقالاتنا؟ تريد أن ترى المزيد من المواد المثيرة للاهتمام؟ ادعمنا عن طريق تقديم طلب أو التوصية به لأصدقائك ،
خصم 30 ٪ لمستخدمي Habr على تناظرية فريدة من خوادم الدخول التي اخترعناها لك: الحقيقة الكاملة حول VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1 جيجابت في الثانية من 20 $ أو كيفية تقسيم الخادم؟ (تتوفر خيارات مع RAID1 و RAID10 ، ما يصل إلى 24 مركزًا وما يصل إلى 40 جيجابايت من ذاكرة DDR4).
VPS (KVM) E5-2650 v4 (6 مراكز) 10GB DDR4 240GB SSD 1 جيجابت في الثانية حتى يناير مجانًا عند الدفع لمدة ستة أشهر ، يمكنك طلب
هنا .
ديل R730xd 2 مرات أرخص؟ لدينا فقط
2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD بسرعة 1 جيجابت في الثانية 100 TV من 249 دولارًا في هولندا والولايات المتحدة الأمريكية! اقرأ عن
كيفية بناء البنية التحتية فئة باستخدام خوادم V4 R730xd E5-2650d تكلف 9000 يورو عن بنس واحد؟