الـ Social Engineering والـ Phishing
إزاي المهاجم بيخدع الناس بدل ما يكسر الأجهزة: Phishing و Pretexting، وعلامات الإيميل المزيّف، وإزاي تقرا الـ link صح.
نص شرح المعلم والكود الذي كتبه ونتيجة تشغيله، بنفس ترتيب الدرس.
أهلاً بيك. الشركة ممكن تصرف ملايين على Firewalls وأجهزة حماية… وفي الآخر موَزَّف واحد يدوس على link في إيميل، والمهاجم يدخل. النهاردة هنتكلم عن أضعف حلقة في أي نزام… البني آدم.
الـ Social Engineering يعني إن المهاجم يخدع الناس بدل ما يكسر الأجهزة. وبيلعب على مشاعر معيّنة: الخوف، حسابك هيِتْقِفِل. الاستعجال، لازم ترد في ساعة. الطمع، كسبت جايزة. والسلطة، أنا المدير وعايز ده حالاً.
أشهر نوع: Phishing. إيميل شكله رسمي، من بنك أو شركة، فيه link لصفحة login مزيّفة. تكتب الـ password… يروح للمهاجم على طول. ولو الإيميل متفصّل على شخص معيّن باسمه وشغله، اسمه Spear Phishing. وفيه كمان Pretexting، يعني قصة مفبركة. حد يكلّمك ويقول: أنا من الـ IT، وعايزين الـ password علشان نصلّح مشكلة في حسابك. والقاعدة: الـ IT الحقيقي عمره ما هيطلب الـ password بتاعك.
طب إزاي تكشف الإيميل المزيّف؟ بص على إيميل الراسل كويس، مش الاسم بس. حط الماوس على الـ link من غير ما تدوس، وشوف رايح فين. خد بالك من الأخطاء الإملائية والاستعجال. ولو مش متأكد، كلّم الجهة بنفسك من رقمها الرسمي. وأشهر خدعة في الـ links: اسم الموقع الحقيقي يبقى في الأول، بس الـ domain الحقيقي في الآخر. paypal dot com dot secure login dot net… ده موقع secure login، مش PayPal خالص. نعمل function بسيطة تقرا الـ link صح: تاخد اسم الـ host، وتتأكد إنه paypal dot com، أو بينتهي بيه. نشغّل… الأول حقيقي، والتاني مزيّف.
def check_link(url):
trusted = "paypal.com"
host = url.split("//")[1].split("/")[0]
return host == trusted or host.endswith("." + trusted)
print(check_link("https://paypal.com/login"))
print(check_link("https://paypal.com.secure-login.net/login"))المخرجات
True False
وفي اختبار الاختراق، الشركة ممكن تطلب منك Phishing Campaign حقيقية، بإزن مكتوب. الهدف مش إنك تفضح حد… الهدف تعرف كام واحد داس، وتدرّبهم. دورك: جرّب الـ link ده: https colon slash slash login dot paypal dot com slash home. المفروض يطلع حقيقي، لأنه subdomain تبع PayPal.
ضيف print(check_link("https://login.paypal.com/home")).
الحل: نشغّل… True.
def check_link(url):
trusted = "paypal.com"
host = url.split("//")[1].split("/")[0]
return host == trusted or host.endswith("." + trusted)
print(check_link("https://paypal.com/login"))
print(check_link("https://paypal.com.secure-login.net/login"))
print(check_link("https://login.paypal.com/home"))المخرجات
True False True
الدرس الجاي: مين المهاجمين دول أصلاً؟ وإيه الفرق بينك وبينهم من ناحية القانون والأخلاق؟ يلا بينا.
03 / دروس المسار (23)
- 01أهلاً بيك — يعني إيه أمن سيبراني؟
- 02الكمبيوتر بيشتغل إزاي من جُوّه؟
- 03نظام التشغيل: المدير اللي بيدير كل حاجة
- 04الملفات والـ Users والصلاحيات
- 05صفر وواحد: Binary و Hex و Encoding
- 06الشبكات والـ IP Address
- 07الـ Ports والـ Protocols
- 08الـ DNS والـ HTTP: إزاي الموقع بيفتح؟
- 09تطبيق الويب: Client و Server و Database
- 10مفاهيم الحماية: CIA Triad
- 11Vulnerability و Threat و Risk
- 12Authentication و Authorization
- 13Least Privilege و Defense in Depth
- 14الـ Hashing: إزاي نحفَظ الباسورد صح
- 15الـ Encryption: Symmetric و Asymmetric و HTTPS
- 16تفكير المهاجم: الثقة والمدخلات
- 17الـ Attack Surface والـ Attack Vectors
- 18الـ Social Engineering والـ Phishingانت هنا
- 19أنواع المهاجمين، والأخلاق، والقانون
- 20أنواع الاختبار والـ Scope والـ Rules of Engagement
- 21مراحل اختبار الاختراق
- 22جهّز الـ Lab بتاعك
- 23مراجعة نهائية: سيناريو كامل، وإنت رايح فين