مقال : لماذا البرمجة مهمة في إختبار الإختراق
من أكثر الأسئلة التي تطرح هي إن كان تعلم البرمجة أمر مهم لمختبر الإختراق أم لا. الإجابة على هذا السؤال ستختلف من شخص لآخر خصوصاً أن مجال إختبار الإختراق أقرب للشبكات من البرمجة. فلو كان التخصص إكتشاف وتحليل ثغرات فالجواب نعم طبعاً أما إختبار إختراق فالبعض أصبح يشكك بالموضوع.
لأقرب الصورة أكثر هل من الضروري أن يستخدم الطباخ وصفات خاصة به ليجيد الطهي؟ الجواب لا! لكن مالفرق بين هذا الطباخ وآخر يستخدم وصفاته الخاصة ويصنع وجبات لن تجدها عند غيره؟ الأمر متشابه جداً في مجال إختبار الإختراق خصوصاً مع التطور الكبير الحاصل في الأدوات من حيث الأتمتة الكاملة وسهولة الإستخدام ولك مشروع ميتاسبلويت أو CoreImpact كمثال فباستخدام هذه الأدوات الإختراق أصبح مثل الأفلام ولم يعد تنفيذ إختبار الإختراق أمر صعب أو يتطلب خبرة كبيرة!
الأمر الآخر هو أن الشهادات التي تعطى لمختبري الإختراق لا تختبرهم برمجياً بل بإعطائهم بعض السيناريوهات التي يفترض أنها تحاكي الواقع وعلى الشخص إستخدام أدوات جاهزة لانهاء المطلوب منه. حسناً أين المشكلة في ذلك؟ ببساطة الواقع مختلف خصوصاً عند التكلم عن الإختراق! فغالباً أنت ستحصل على حالات وسيواجهك مشاكل لم تصادفها من قبل. بمعنى آخر الإختراق ليس 1 2 3 تم الإختراق! كلما إزدادت ممارستك ومعرفتك ستزداد فرصتك بتخطي هذه المشاكل والعقبات التي ستواجهها وإن كنت تجيد البرمجة ففرصتك بالنجاح ستتضاعف.
لأطرح مثال بسيط. تخيل معي مختبر إختراق يستخدم مشروع ميتاسبلويت لتجربة إحدى الثغرات. أثناء التنفيذ إستغلال الثغرة بدء بالعمل لكنه لم ينجح! بهذه الحالة مختبر الإختراق لا يستطيع أن يكتب بتقريره بوجود ثغرة Remote Code Execution طالما لم يتمكن من إثبات وجودها أو إستغلالها لكن لو كان هذا الشخص مبرمج سيحاول تعديل كود الثغرة أو الإستغلال وفرصة نجاحه ستكون أكبر بكثير!
مثال آخر. مختبر إختراق في مرحلة إكتشف ثغرة SQL Injection. لم يتمكن من الوصول للإستغلال النهائي وجميع محاولاته فشلت. بهذه الحالة سيضطّر هذا الشخص لإعتبار الأمر على أنه خطأ بإستعلام SQL Injection يؤدي لكشف بعض المعلومات عن قاعدة البيانات ومستوى خطورته متوسط مثلا كون الإستغلال لم ينجح معه! لكن لو كان هذا الشخص يجيد البرمجة ويستطيع الإطلاع على الكود المصدري سيعرف سبب عدم نجاح إستغلاله وكيف يعمل الفلتر المستخدم مثلاً وهنا فرصته بالوصول لإستغلال ناجح أيضاً ستكون أكبر بكثير!
البرامج والأدوات لا تستطيع التفكير والتحليل وهي جيدة لإكتشاف الثغرات المنتشرة لكنها بكل تأكيد ليست كافية.
سنة 2010 إنتهت تقريباً وركزنا خلالها على برمجة المشاريع والأدوات. شخصياً أعتبرها ناجحة حتى إن لم ننهي جميع المشاريع التي بدأناها. في 2011 سنحاول التركيز على المحتوى أكثر خصوصاً البرمجة وبإذن الله سأبدء أنا والأخ زيد القريشي بنشر سلسلة شروحات فيديو عن لغة Ruby و Python سوياً (كونهم الخيار الأفضل لمختبري الإختراق). الشروحات ستكون موجهة لإستخدام هذه اللغات في إختبار الإختراق حيث سنمر على الأساسيات بشكل سريع ثم ننتقل مباشرة لبرمجة أدوات وسكريبتات مختلفة لتكون مدخل للجميع للبرمجة وتمكن المهتمين من برمجة وكتابة أدواتهم بأنفسهم وقد يتضمن الأمر بعض المسابقات أيضاً 😉
عن الكاتب:
عبدالمهيمن الآغا, مؤسس موقع iSecur1ty. مختص بالحماية وأساليب إختبار الإختراق. أملك خبرة في إدارة الشبكات والسيرفرات, تطوير المواقع والبرمجة بلغة Ruby التي برمجت بها عدّة مشاريع وأدوات مفتوحة المصدر.
بارك الله فيك اخوي عبدالمهيمن واخوي زيد والقائمين على الموقع …
مالفرق بين اللغتين ؟؟؟ … بانتظار الشروحات
سأكون من المتابعين ان شاء الله
لكن لو تكرمتم نريد ان نركز أيضآ على مواضيع متقدمه فى الفايروول والبروكسى
السلام عليكم..
في أول مشاركة لي أحب أحييكم جميعاً, و أهنئكم على هذا المجتمع الهادف.
بالنسبه للموضوع, في إعتقادي أن الإجابه دائماً نعم, بشرط أن يمتلك المختبر خلفيه جيدة وواسعه في أشياء أخرى أهم. كأن يمتلك معلومات جيده عن إستغلال ثغرات مختلفه, معرفه الأدوات المناسبه, الشبكات, أنظمة التشغيل, تطبيقات الويب .. و هكذا.
إتقان البرمجة بلغة أو أكثر بالتأكيد ستساعد المختبر في أموراً كثيرة, فكما ذكر الأخ عبدالمهيمن, من الممكن أن تساعد في إستكمال ثغرة ما, أو حتى كتابه برنامج خاص له لإستغلال معين و إختصار الوقت.
القصه مختلفه مع تخصص إكتشاف و تحليل الثغرات, فالبرمجة تطغى هنا.
موضوع رائع
شكراً
بارك الله فيك اخي بس عندي … انا كنت سابقاً لا أدري من أيداء لغة البرمجه
وماهي الأفضل هذا السؤال الذي نرفزني كثيراً وحتى الآن لم اجد له أجابه 🙂
انا مستعد ل2011
تعلمت الكثير من الموقع في 2010
انتظر الجديد منكم
شكرا لك اخي عبدو على التحليل الاكتر من رائع متل عادتك يا اخي
ولكن عندي سؤال بخصوص المبتدأ بالبرمجة قرات العديد من الكتب وحتى مقالاتك لكن كنت أنتظر بعد الشروحات والدروس من عندكم لانني ومن غير مجاملة أرى نفسي أستفيد من بيتنا هدا اكتر من أي مكان أخر وهدا بفضل جهدكم الواضح =)
لكي لا نبتعد عن سؤالي هل هذه الدروس والشروحات ستشمل أيضا الاشخاص المبتدإين في مجال البرمجة أم ماذا ؟
وسنة طيبة على الجميع =)
أشكرك أستاذى الفاضل على المقال الذى أوافقكم الرأى به، وطالما يريد الإنسان الناجح ألا يكون مُجرد شخص يستخدم بضع أدوات فقط، وإنما يود أن يُطور ويُبرمج أدواته الخاصة إلى جانب الأدوات التى تمت برمجتها مُسبقًا، ولكن لماذ أفضل لغتين فى برمجة أدوات الإختراق والإسكربتات وماشابه هما بايثون وروبى، ولم تذكر الجافا والبى اتش بى؟
وشكرًا لكم
نحن في الانتظار
الله يقويكو
اختلف معك فى هذه النقطة فالاساس هنا هو الشبكات و لها الاولويه قبل البرمجه فالان معظم الشهادات كما ذكرت مثل ceh و شهادات san لا تركز على البرمجه بشكل اساسى بل تعطيك الكثير و الكثير من الادوات تسطيع استخدامهم عند الحاجه , و برامج اختبار الاختراق الان اصبحت اكثر تعقيدا مما كانت عليه من قبل فهناك تقرير من شركة سيسيكو كانت تتكلم عن تطور هذه البرامج فى السبع سنوات الاخيرة ,و استخدام هذه البرامج يختلف من شخص الى اخر كل حسب مهارته و خبراته مع الاداه او البرنامح فلو ركزت فى تعلم اسرار و خفايا اى من الادوات الموجوده و تعلم ادق تفاصيلها و التطبيق لهجمات منظمة سواء كانت حقيقية او عن طريق اجهزة وهميه ستتختلف كثيرا عن اى مستخدم عادى للاداه
و اتقانك لكثير من البرامج و الادوات و توفر المهاره اللازمة لتحديد ماذا تستخدم حسب الحاله التى امامك سيكون افضل بكثير من التعلم البرمجه نفسها , حتى بتعلم البرمجه وعدم التعمق بها لن تستطيع ان تقوم بشىء احترافى
البرمجة ماهي الا عبارة عن خطوات لحل المشكلة او بناء شي معين
ومختبر الاختراق يقوم بخطوات معينة اذا نجحت كان بها ما نجحت جرب غيرها
الامرين مشتركين في المنطق ويختلفون في الية التنفيذ فقط
وشي طبيعي ان يكون المخترق مبرمج ,, لان المبرمج هو في الاساس عنده منطق البرمجة
فشي سهل عليه انه يختبر الاختراق
اما الشخص الذي لا يفهم منطق البرمجة صعب يختبر الاختراق
^_^
مشكور اخي على المقال الرائع
فانا من محبي البرمجة وكنت انتظر شروحاتكم في هذا المجال بما انها مفيدة في مجال اختبار الاختراق
ووفقك الله اخي عبد المهيمن واخي زيد في ماتقدمانه
فكل التقدير والشكر
ما اللذي يجعل الـ Black Hats (الحقيقيين) متقدمين دائما؟
احترافهم للبرمجة. اما اذا كان الشخص معتمد على الأدوات
فقدراته محدودة بقدرة الأداة.
السلام عليكم أخي
في البداية اشكرك على المقال الجميل أخي
نعم أشاطرك الرأي اخي من ناحية أن البرمجة سوف تضاعف فرص النجاح و أنا اختبار الاختراق اقرب للشبكات .
وننتضر أخي دروسكم حول الروبي و البايتون بفارغ الصبر
و اضافتكم في الشريط الاعلى للبرمجة يدل على أنكم تريدون 2011 عام برمجي
تحياتي لكم يا أساتدتنا
بالتوفيق و نحن ننتضر الدروس
شكرا لك على المقال التحليلي الرائع عن اهمية البرمجة وفي رأيي الشخصي ان البرمجة ضرورية جدا حتى انها دخلت في مجال مدراء الانظمة وسياتي علينا الوقت وهو (التطور اوالموت) ولذلك البرمجة شئ ضروري للغاية لانك عندما تتعلم البرمجة تكون اخذت التحكم المطلق في جهازك ولا يوجد حدود لما يمكنك فعله.
والان ايضا تتجه الشركات الى حركة DevOPS والتي بدورها تنادي على البرمجة والاوتوماتيكية في التعامل مع الانظمة ويعتبر ضروري في مهنة تكنولوجيا المعلومات.
أنتظر على فارغ الصبر شروحاتك انت واخي زيد ووفقكم الله
تحياتي واحترامي 🙂
بسم الله الرحمن الرحيم
شكرا كثير اخي مقال فوق الرائع,ان شاء الله سوف تكون دروس رائعة ان شاء الله
ولاكن اي من اللغات سوف يتم التركيز عليها اكثير,اقصد اي سوف يتم ادراجها هنا في
isecur1ty حتى يتم التركيز عليها اكثير (:
أخي على ما اعتقد أنه الاخ عبدالمهيمن سوف يركز على Ruby
و الاخ زيد القريشي على البايتون
و الله اعلم
شكرا اخي Hit-Man على تعليقك,الان نشوف رد الاخ عبدالمهيمن الآغا
كلامك صحيح أخي.. أنا سأشرح عن روبي وزيد عن بايثون إن شاء الله ويمكن للمستخدم إختيار إحدى اللغتين وبدء البرمجة بهم.
بالنسبة للرابط فحصل خطء في ظهور قسم البرمجة في القائمة الرئيسية عوضاً عن قائمة المقالات.. تم تصحيحه الآن.
أخ أحمد وفتحي.. أسعدني مروركم =)
السلام عليكم
يسعدني شكركم على ما تقدمونة من مشاريع و دروس في مجال الحماية و أختبار الاختراق
سوف اكون من متابعينكمـ
كل سنة وانتم طيبين
بداية موفقه ؛ واثراء للحماس مع بداية السنة الجديدة
بالتوفيق وهذا ما نسميه H4x0r . البرمجة بشكل عام هية الطريق الذي يسلكه الاشخاص المهتمين في تطوير قدراتهم وامكانياتهم في كلا المجالين الحماية والهاكينج .
وعدم الوقوف عند ماهو مطروح بل برمجة الادوات والتولز الخاصة به بصناعة يده .
جميل جدا وجزيت خيرا
عليكم السلام ورحمه الله وبركاته
جميل جدا اخي ونحن ننتظر واتمنى ان نحترف اللغتين اللتي ذكرتهما وانا سوف ابدا بالبايثون معكم وسوف احترفها
بالبرمجه مهما في عالمنا الخفي وجميل ان يتعلم الشخص لغه برمجيه تفيده قبل ان تفيد غيره
فلذا سجلت الان وشاركت لأول مره لأحييك على الفكره لانها بالفعل مفيده وشيء جميل
واتمنى ان نخرج جميعا من هذه اعلدورات محترفين بايثون و روبي
لذا كل الأمل بالقائمين على الدورتين ان يخرجوها على اكمل وجه وان يعلمونا هذه اللغلتين
ننتظر …
نحن في انتظار شروحات ال Ruby و python بفارغ الصبر ^^
البرمجة مهمة جدا في الاختراق وخصوصا لشخص يطمح لتطوير قدراته
وانا كنت قد بدأت مع البايثون منذ أيام وبمقالتك هذه وبذكرك لغة البايثون لقد طمئنتني
هذا وبارك الله فيك
دى اول مرة اشاارك فبها واحيك على ادائك
انتا اتكلمت فى موضوع مهم انتظار فى انتظار شروحاتكم
اتمنى لا تتاخر علينا بالدروس
لكم الشكر على هذا المجهود الجبار في زيادة الوعي بالمعنى السليم للهكر واهمية
يسرني ان اكون عضو معكم هنا في Isecur1ty.org
على الرغم من اني في السنه الفائته اردت ان اكون عضوا هنا
لكن حآل بيننا الظرووف …. وها انا اعود من جديد وان شاء الله نكون ضمن الفريق الذي يسعى إلى رقي الموقع والمجتمع العربي …..
سنبدأ بتعلم لغة البايثون معكم …. دمتم بود
شكراً لكم جداً . لقد كنت انتظر هذه الفرصة منذ زمن .
فلغة Ruby ليس لها مصادر تعليم عربية كثيرة .
و أنا منذ مدة أحاول تعلمها .
و لكن تعلمت بعض أساسياتها .
و إن شاء الله أكمل معكم مسيرة تعليم هذه اللغة الرائعة .
و أيضاً لا بأس بمتابعة دروس Python . فبالتأكيد ستكون لغة رائعة .
في انتظاركم .
السلام عليكم ورحمة الله وبركاته
اسف على طرح سؤالي هنا حيث اانني لم اعرف اين اضعه او بالاحرى كيف اضعه
ارجو ان تعذروني
سؤالي هو
انني مركب نظام اوبنتو 10.10 بجهازي
واني ادخل االانترنت من مودم انترنت سبيد تتش
ويوجد عندي صديقي لديه ايفون ويقول لي ان لديه برنامج يستطيع اضهار الايبيهات اللتي متصله بالمودم مثل طريقة برنامج net cut او tux net ثمن يستطيع الدخول على جهازي ونقل الصور والملفات !!!!
سؤالي لكم اخواني هل يوجد برنامج للايفون يفعل ذالك ؟؟؟
وهل ذالك ممكن ؟؟؟
واذا كان هالشي ممكن كيف امنع حدوثه ؟
اسف مرة اخرى على الاطاله
تحياتي لكم
ارجوا الرد اخواني ؟؟؟؟؟
من تعليقك رأيت انك تجهل عدة مواقع رائعة لتعلم هذه اللغة
تفضل تابع الدورات الموجودة هنا http://programming-fr34ks.net/smf
وسوف تجد مرادك بحيث يوجد عدة دورات رائعة ومنها دورة لغة الروبي
بالتوفيق
احسنت اخي فالبرمجة تعنى قدرتك على التطوير حتى لو كنت مبرمج للغة معينة والثغرة او البرنامج مكتوب بلغة اخري
فمفهوم البرمجة ومنطقها واحد
لذلك يستطيع المبرمج اقلمة نفسه وان يكون مدرك لكل متغير يمرره للبرنامج
الصراحه من زمان وانا افكر في تعليم لغات البرمجه !!
لاكن الشروحات بسيطه ؟ لم تفيدني حتى اني لم اعرف ماهي لغات البرمجه ؟ هل هي برنامج
او ملفات txt تحتوي علي ملاين الاكواد او او برنامج مثل الفيجوال بيسك , حتى اني لم
اعرف ان لغات البرمجه تفيد في اختبار اختراق المواقع او اختبار اختراق الاجهزه ؟
ننتظركم في شروحات جديده
انصحني من اين ابدا في اي لغة في البرمجة اعطني ال PATH