هل تريد أن تصبح هكر؟ ولماذا؟
من أين وكيف تبدأ؟ لماذا يجب أن تحترف استخدام نظام لينوكس؟
لماذا تعلّم البرمجة أمر ضروري؟ وكم هي المسافة المستعد لسيرها لتصبح “هاكر”؟
أولا: من هو الهكر؟
-الهاكر يعتبر اعلى مستوى في المجال المعلوماتي في وسائل الاعلام وعند مستخدمي الانترنت الهاكر هو الشخص الذي يخترق الأجهزة والمواقع,من يسرق المعلومات ويبرمج الفايروسات ويتم تصويره على أنه الشخص الشرير الذي يستمتع بايذاء الآخرين.
وهذا غير صحيح من يحمل هذا الصفات هو الكراكر Crackers
-دائماً أقول لقب هاكر ليس بسيط ليتم اطلاقه على أي شخص!
لتصبح مهندس شبكات يجب تعلم الشبكة ولتصبح مبرمج يكفي أن تتعلم لغة برمجة واحدة وتبدأ البرمجة بها,
لتصبح مدير سيرفرات يكفي أن تعلم كيف تتعامل مع سيرفر ويندوز أو لينوكس ,
أما لتصبح هاكر عليك أن تجيد جميع الأمور السابقة بنفس الوقت.
-قبل أن تصبح هاكر عليك أن تكون مستخدم محترف قادر على ايجاد طريقك وحل المشاكل التي تصادفك
فكيف ستتمكن من اختراق نظام ان لم تكن مستخدم محترف
كيف ستتمكن من اكتشاف ثغرة وبرمجة استغلال لها اذا لم تكن تعلم كيف تبرمج؟
لتكون هاكر عليك أن تكون أذكى من المبرمج الذي وقع بالخطأ.
-الأغلبيّة يظنوا أن معرفة استخدام بعض الأدوات واستغلال الثغرات الجاهزة تجعل من الشخص هاكر!
لكن هذا الأمر ليس صحيح فالهاكر هو من بنى خبرته على علم ومعرفة حقيقية
أما الأشخاص الذين يستخدمون بعض الأدوات ويدّعون أنهم هاكرز فيطلق عليهم لقب أطفال الهاكرز ,Script Kiddies أو Lamers
ثانيا-من أين وكيف تبدأ؟
لا يوجد خطوات محددةّ أو تسلسل يجب أن تسير عليه لتصبح هاكر لكن يجب أن تعلم أنه من الضروري أن تكون البداية صحيحة فهي التي ستحدد ماذا ستصبح لاحقاً
تعلّم مبادئ الشبكات واحتراف التعامل مع أنظمة التشغيل وتعلّم البرمجة أمر ضروري ليصبح الشخص هاكر لأنها الأساس.
-تعلم استخدام أنظمة الحماية لتعرف كيف تتخطاهم عند الحاجة
وهذا يتطلّب دراسة موسّعة وتعلّم الأمور المنخفضة المستوى وأدق التفاصيل عنها
مثلاً في الشبكات لتتعلّم كيف تستخدم نظام لحماية الشبكة أنت بحاجة لاجادة ادارة سيرفر لينوكس أو ويندوز مثلا ومعرفة بكيفية عمل الشبكات أولاً,
عندما تفكّر بتعلّم طرق لتخطي أنظمة الحماية أنت بحاجة لاحتراف هذا النظام ودراسة مبدأ عمله وقوانينة
ثم دراسة بروتوكول TCP/IP والأمور المنخفضة المستوى في تحليل الـ Packets وهكذا في كل أمر تريد احترافه والتوسّع به…ستحتاج لتعلّم العديد من الأمور بنفس الوقت لتحترف شيء واحد.
-لاحظ أنه عندما تبدأ في مجال الهاكر يجب أن تعلم أنه لا يوجد توقّف!
لأن عالم الحماية والاختراق يتطوّر بسرعة كبيرة ويجب عليك تحديث معلوماتك,
البرامج والأدوات المستخدمة بالاضافة للأساليب التي نستخدمها أولاً بأول والا بعد مرور أقل من سنة لن يكون هناك قيمة للأمور التي تعلمتها سابقاً.
-لماذا يجب أن أحترف استخدام نظام لينوكس؟
لأنه يشكّل بيئة العمل الأفضل للهاكرز فهو يحتوي على جميع البرامج والأدوات التي ستحتاجها في عملك
ايضاً بعض البرامج والأدوات لا تعمل الا على نظام لينوكس
وبشكل عام لغات البرمجة التفسيريّة مثل Python , Perl , Ruby تعمل بشكل أفضل على نظام لينوكس.
-لماذا تعلّم البرمجة أمر ضروري؟
لأنك ستحتاجها في العديد من الأمور الهاكر ليس قسم واحد بل هو بحر بحد ذاته ويوجد له تخصصات
فاذا أردت أن تكون Penetration Tester مثلا بهذه الحالة مهمتك ستكون اختبار امكانية اختراق النظام عن طريق استخدام نفس البرامج والأدوات التي يستخدمها الهاكرز
(تركيزك سيكون على الـ Vulnerability Assessment) وهنا كل ما تحتاجه من البرمجة معرفة بسيطة في حال احتجت لبرمجة استغلال ثغرة
أو تعديل استغلال مبرمج مسبقاً أو لبرمجة أداة تقوم بمهمة معيّنة تحددها أو لتقوم ببعض المهام بشكل أوتوماتيكي وهذا ضروري لاختصار الوقت طبعاً.
اما اذا أردت اكتشاف ثغرات تطبيقات الويب في سكريبتات PHP مثلاً بهذه الحالة
يجب عليك تتعلّم أساسيات هذه اللغة والتركيز على الجانب الأمني المتعلّق بكيفية تعامل السكريبت مع مدخلات المستخدم, فلترتها, ادخالها لقواعد البيانات وعرضها ثم ستتطوّر أكثر وتنتقل لثغرات Clinet Side-Attack
وبهذه الحالة سيصبح هدفك المستخدم وليس السكريبت بحد ذاته لذلك قد تضطّر لتعلم أساسيات لغة Javascript
وتعلم مبدأ عمل ثغرات XSS و CSRF
مثلاً ثم تنتقل لتعلم اكتشاف ثغرات المتصفّح والبرامج والخدمات بشكل عام وهذا هو الجزء الأصعب لأنك انتقلت لمرحلة مختلفة تماماً عن لغة php
هذه المرحلة تتطلّب منك معرفة قويّة باللغات المنخفضة المستوى مثل لغة C و Assembly
بالاضافة لاجادة الهندسة العكسية Reverse Engineering والتعامل مع برامج التنقيح (Debugging)وتتبع الأخطاء مثل GDB , DDD , OllyDBG , IDA Pro
عليك أن تعلم كيف يتعامل البرنامج والنظام مع الذاكرة, لماذا ومتى حدث Buffer Overflow مثلا
وهل نستطيع استغلال هذا الخطأ للتحكم بسير البرنامج وتشغيل Shellcode يمكننا من اختراق النظام
أم أنها ستؤدي لتوقفه عن العمل فقط, وهل يستخدم النظام تقنيات تمنعنا من استغلال الثغرات.وما هي التقنيات التي نستطيع استخدامها لتخطي الحماية وتطوير الاستغلال؟
كل هذا يدل على أن البرمجة ضرورية بل ضرورية جداً وكلما تطوّر مستواك في مجال الحماية والاختراق ستحتاج لاحتراف البرمجة أكثر لا أنصح بالبدء بلغة C/C++ أو Assembly أنصح تعلّم احدى اللغات Perl, Python, Ruby
ثالثا:هل يوجد مواقع محدّدة أنصح بها؟
كثير من الأشخاص يسألوني هذا السؤال ويعتقدون أني أملك مواقع سريّة لكن الواقع لا يوجد شيء من هذا!
أنا لا أعتمد على مواقع محددة بل أعتمد على Google في كل شيء تقريباً, عندما أقول لأحد استخدم جوجل هذا لا يعني أني لا أريد مساعدته لكنه الواقع.