9/02/2015
دخول عالم الإختراق الأخلاقي من بابه الواسع
هناك الكثير من الناس يسألون عن طريقة دخول عالم الاختراق الأخلاقي و من أين يبدأ مسيرته و يسألون أيضا عن المصادر التعليمية في الأنترنيت فتوجب علي كتابة هذا المقال محاولا ذكرا معلومات مركزة و أساسية و ذلك حسب معرفتي المتواضعة في هذا المجال و أنصح كل شخص بدأ المقال أن ينهيه..
من هو الهاكر؟
الهاكر وصف يطلق على الأشخاص المتمكنين من معظم علوم الحاسوب و يكون أغلبهم مبرمجين أو مدراء شبكات و قواعد البيانات عكس مايعتقد أغلب الناس و مستخدمي الأنترنيت حيث يلقبونهم بالمخربين الذين يقومون باختراق الأجهزة و المواقع للتخريب، فليس بالضرورة أن يكون أغلب الهاكرز مخربين (crackers).
تصنيف الهاكرز.
أخلاقيا، يتم تصنيف الهاكرز إلى ثلاثة أنواع:
+ الهاكرز ذو القبعة البيضاء: و يعرفون أيضا بالهاكرز الأخلاقيين أو مختبرو الاختراق، و هم الهاكرز الصالحين الذين يكتشفون الثغرات ليس بدافع التخريب، و لكن لتنبيه شركة (مثلا) على وجود ثغرة في نظامها لكي تعمل على اغلاقها و بالمقابل يتقاضى أجرا من المال حسب خطورة الثغرة.
+ الهاكرز ذو القبعة السوداء: يعرفون أيضا بالمخربين أو الكراكر، و هم الهاكرز الفاسدين الذين يخترقون بدافع اثبات الذات أو بدافع مادي أو لسرقة الأموال و لأسباب أخرى...
+ الهاكرز ذو القبعة الرمادية: و هو الهاكر المترنح بين الاصلاح و الخبث، أي يجمع بين النوع الأول و الثاني.
هذا هو تصنيف الهاكرز، أما الأشخاص الذين يدعون أنهم هاكرز فيطلق عليهم لقب "أطفال الهاكرز" حيث أنهم يستخدمون طرق و أدوات جاهزة تمت برمجتها من قبل الهاكرز الحقيقيين...
أنواع اختبار الاختراق.
+ اختبار اختراق تطبيقات الويب (أي المواقع).
+ اختبار اختراق تطبيقات سطح المكتب و الموبايل (أي برامج الحاسوب و تطبيقات الهاتف) .
+ اختبار اختراق الأجهزة الخاصة (كالحواسيب و الهواتف الشخصية).
+ اختبار اختراق الشبكات السلكية و اللاسلكية (كالشبكات المحلية و شبكات الواي فاي)
+ اختبار اختراق السيرفرات و قواعد البيانات.
+ الاختراق المادي و ينقسم بدوره إلى:
+ اختراق حماية الأقفال الميكانيكية.
+ اختراق نظم الوصول و البوابات الالكترونية.
+ تخطي عملية التوثيق لأنظمة التشغيل.
طبعا لتكون مختبر اختراق في مجال معين عليك دراسته بشكل دقيق. مثلا اذا أردت أن تصبح مختبر اختراق تطبيقات ويب عليك أن تكون أصلا مطور ويب.
دورة الاختراق.
دورة الاختراق هي المراحل التي يتم اتباعها ليتم اختراق نظام أو سكريبت معين و هي:
1+ الاستطلاع: هنا يقوم الهاكر بتحديد الهدف أو الضحية و يقوم بجمع معلومات عنه.
2+ الفحص: يقوم الهاكر بفحص النظام و اكتشاف الثغرات الموجودة به.
3+ الدخول إلى النظام: في هذه المرحلة يتم إستغلال الثغرة التي تم كشفها بغاية الاختراق و الدخول إلى النظام.
4+ تثبيت الاختراق: يقوم الهاكر في هذه المرحلة ببعض الأوامر لاجتناب الخروج من النظام لحظة اغلاق الثغرة من طرف مسؤولي الحماية.
5+ مسح الآثار: يقوم الهاكر بمسح آثاره لتجنب الوصول إليه و متابعته قضائيا.
ويندوز مقابل لينكس.
الهاكر عموما ليس مرتبطا بنظام تشغيل واحد: أي عليك عليك معرفة التعامل مع أكثر من نظام تشغيل و هنا نتكلم عن ويندوز و لينكس و يونكس.
لينكس يعتبر بيئة ملائمة للهاكرز حيث توجد فيه الأدوات التي يحتاجها الهاكر في عمله كما تعمل بشكل أفضل على لينكس و أغلب هذه الأدوات تجدها مبرمجة بالروبي و البايثون و اللينكس شيل.
أيضا يعتبر لينكس نظام تشغيل مفتوح المصدر أي يمكنك تطوير و تعديل الكود المصدري للنظام عكس ويندوز الذي يعتبر مغلوق المصدر اذ انه مملوك لشركة ميكروسوفت اضافة إلى أنه مكلف مقارنة ً بلينكس فهو مجاني.
لكن هذا لا يعني ان نتخلى كليا عن ويندوز حيث نسبة مستعمليه تقارب 91 في المئة من مستعملي الحواسيب، كما أنه لويندوز مجموعة من الاستعمالات الأخرى التي يمتاز بها عن لينكس.
بعض توزيعات لينكس التي ينصح بها:
Debian, Mint, Ubuntu, Fedora…
التوزيعات المتوفرة على مجموعة من الأدوات لإختبار الاختراق:
Kali, Backtrack, blackarch, Deft, backbox…
لماذا تعلم لغات البرمجة؟ و بأي لغة برمجة ينصح بها كمبتدئ؟
لغات البرمجة أمر ضروري إذا كنت تريد دخول عالم الاختراق و التطوير عموماً، فلا يمكن أبدا الاستغناء عنها...
إلى حد الآن، هناك عدد لا يحصى من لغات البرمجة، لذا فاختيار الأنسب قد يكون أمرا محيراً.
أغلب المحترفين في المجال ينصحون بتعلم لغات كالروبي و البايثون لكونها لغات تفسيرية و تعمل على أغلب أنظمة التشغيل مع كثرة المصادر التعليمية و وجود مجتمع كبير لهته اللغتين كما تستخدم لمجموعة من الاستخدامات ...
مراحل تعلم لغة برمجة (البايثون مثلا).
المستوى الأول:
في هذا المستوى يكون المتعلم لا يفقه أي شيئ في هذه اللغة، حيث يقوم بتعلم أساسيات اللغة و هي التعريف بالمتغيرات و الثوابت و دوال الشرط و التكرار و المصفوفات و وحدات الإدخال و الاخراج.
المستوى الثاني:
في هذه المرحلة تبرمج برامج صغيرة تقوم بوظيفة معينة كمقارنة الأرقام المدخلة أو القيام بعمليات حسابية عليها... هنا يمكنك أيضا تعلم دوال جديدة و استخدامها في برامجك...
المستوى الثالث:
هنا ستجد مجموعة من الأبواب تفتح أمامك:
+ تطوير المواقع بالبايثون باستخدام اطار العمل bottle.
+ تطوير تطبيقات الديسكتوب بالواجهات الرسومية عن طريق مكتبة gtk.
+ تطوير تطبيقات الأندرويد عن طريق أداة sl4a.
+ الخ...
في الأخير...
اذا كنت تريد ايجاد المصادر التعليمية لما ذكر أعلاه، يمكنك فقط البحث في جوجل أو يوتوب عن دورة معينة و ستجد ما يرضيك. اذا كان لديك سؤال يمكنك وضعه في التعليق.