
لينكس للهاكرز #2: قراءة الشبكات كخريطة مفتوحة، وإدارة البرامج كالمحترفين
Murtaja
🧭 قبل أن نبدأ
في الحلقة السابقة وضعنا حجر الأساس: التنقل داخل نظام الملفات والتعامل مع النصوص. اليوم ننتقل خطوة للأمام مع الفصل الثالث: تحليل وإدارة الشبكات، والفصل الرابع: إضافة وإزالة البرامج من كتاب Linux Basics for Hackers. هذان الفصلان يمنحانك مهارتين لا غنى عنهما: أن "ترى" الشبكة التي يعيش فيها جهازك، وأن تتحكم بما يدخل وما يخرج من برامج على نظامك.
🌐 الفصل الثالث: تحليل وإدارة الشبكات (Analyzing and Managing Networks)
يبدأ الكاتب بجملة تضع الإطار العام لأهمية هذا الفصل:
"Understanding networking is crucial for any aspiring hacker. In many situations, you'll be hacking something over a network, and a good hacker needs to know how to connect to and interact with that network." — "فهم الشبكات أمر بالغ الأهمية لأي هاكر طموح. في كثير من الحالات ستكون تخترق شيئًا عبر شبكة، والهاكر الجيد يحتاج أن يعرف كيف يتصل بتلك الشبكة ويتفاعل معها."
🔍 ifconfig: عيناك على واجهات الشبكة
أول أداة يقدمها الفصل هي ifconfig، وهي بمثابة "لوحة تحكم" سريعة تعرض كل واجهات الشبكة النشطة على جهازك. عندما تكتب:
kali > ifconfig
سترى عادة ثلاث واجهات مهمة:
eth0: أول واجهة سلكية (لينكس يبدأ العد من صفر لا من واحد)، وتعرض عنوان MAC (العنوان الفريد عالميًا المطبوع على كرت الشبكة نفسه)، وعنوان IP الحالي، وعنوان البث (Broadcast) المستخدم لإرسال بيانات لكل الأجهزة على نفس الشبكة الفرعية، بالإضافة إلى قناع الشبكة (Netmask).lo: اختصار لـ loopback أو "المضيف المحلي" (localhost)، عنوانه الثابت هو127.0.0.1، ويُستخدم لاختبار خدمة تعمل على جهازك أنت فقط (مثل خادم ويب محلي).wlan0: واجهة الشبكة اللاسلكية إن وُجدت.
ولمزيد من التفاصيل عن الشبكات اللاسلكية تحديدًا، هناك أمر iwconfig الذي يكشف معايير الاتصال اللاسلكي (مثل b/g/n)، ووضع التشغيل الحالي (Managed مقابل وضع Monitor الذي سنحتاجه لاحقًا في الفصل 14 لاختراق كلمات مرور الشبكات اللاسلكية)، وقوة الإشارة.
🎭 تغيير هويتك الشبكية: IP وMAC
هذا الجزء من أهم أجزاء الفصل من منظور أمني. يشرح الكاتب كيف تُغيّر:
عنوان IP الخاص بواجهة معينة:
kali > ifconfig eth0 192.168.181.115
قناع الشبكة وعنوان البث معًا:
kali > ifconfig eth0 192.168.181.115 netmask 255.255.0.0 broadcast 192.168.1.255
وانتحال عنوان MAC (MAC Spoofing)، وهي تقنية شائعة لتجاوز أنظمة التحكم بالوصول للشبكة:
kali > ifconfig eth0 down
kali > ifconfig eth0 hw ether 00:11:22:33:44:55
kali > ifconfig eth0 up
يشرح الكاتب سبب أهمية هذه التقنية بوضوح:
"The MAC address is globally unique and is often used as a security measure to keep hackers out of networks—or to trace them. Changing your MAC address... neutralizes those security measures." — "عنوان MAC فريد عالميًا وغالبًا ما يُستخدم كإجراء أمني لإبعاد الهاكرز عن الشبكات أو لتتبعهم. تغييره... يُبطل تلك الإجراءات الأمنية."
وبعد الانتهاء من أي تعديلات يدوية، يمكنك استرجاع عنوان IP تلقائيًا عبر خادم DHCP بأمر واحد:
kali > dhclient eth0
🕵️ استخراج المعلومات عبر DNS: أول خطوة في الاستطلاع
يخصص الكاتب جزءًا مهمًا لأداة dig، والتي يصفها بأنها "كنز دفين من المعلومات" عن أي هدف. مثال عملي:
kali > dig hackers-arise.com ns
هذا الأمر يكشف خوادم الأسماء (Name Servers) الخاصة بالنطاق، وهي غالبًا أول خطوة في مرحلة الاستطلاع (Reconnaissance) قبل أي عملية اختراق. أما إضافة الخيار mx فتكشف خوادم البريد الإلكتروني المرتبطة بالنطاق — معلومة حيوية إن كان هدفك هجومًا يستهدف البريد الإلكتروني.
🗂️ التحكم في ملفي resolv.conf وhosts
يشرح الفصل ملفين نصيين بسيطين لكنهما قويان جدًا:
/etc/resolv.conf: يحدد أي خادم DNS يستخدمه نظامك. يمكنك ببساطة كتابة:
kali > echo "nameserver 8.8.8.8" > /etc/resolv.conf
لتوجيه جهازك لاستخدام خادم DNS العام من Google.
/etc/hosts: ملف يتيح لك ربط أي اسم نطاق بأي عنوان IP تختاره أنت، متجاوزًا DNS تمامًا. يعطي الكاتب مثالًا يوضح الخطورة الكامنة هنا:
"You could map www.bankofamerica.com to your local website, at 192.168.181.131... you'll be able to use the hosts file to direct any traffic on your LAN that visits www.bankofamerica.com to your web server." — "يمكنك ربط www.bankofamerica.com بموقعك المحلي... ستتمكن من توجيه أي حركة بيانات على شبكتك المحلية تزور ذلك الموقع إلى خادمك الخاص."
هذا المثال بالذات يوضح كيف أن أداة بسيطة جدًا (تعديل ملف نصي واحد) يمكن أن تكون أساسًا لهجمات خطيرة مثل تصيّد بيانات الدخول (Phishing) عبر انتحال المواقع — وهو تحديدًا سبب وجود هذا التنويه:
⚠️ استخدام هذه التقنية خارج بيئة اختبار مصرَّح بها هو عمل غير قانوني وضار. الهدف من فهمها هنا هو معرفة كيف يُحتمل استغلالها، لكي تحمي أنظمتك وشبكتك منها.
📦 الفصل الرابع: إضافة وإزالة البرامج (Adding and Removing Software)
بعد أن أصبحنا نتنقل ونتحدث مع الشبكة، الفصل الرابع يعلّمنا كيف "نغذّي" نظامنا بالأدوات التي نحتاجها. يشرح الكاتب ثلاث طرق رئيسية لتثبيت البرامج على لينكس.
🛠️ الطريقة الأولى: مدير الحزم apt
في التوزيعات المبنية على Debian (مثل Kali وUbuntu)، الأداة الافتراضية هي apt (Advanced Packaging Tool). دورة حياة استخدامها بسيطة ومنطقية:
- البحث عن حزمة في المستودع (Repository):
kali > apt-cache search snort
- تثبيت الحزمة:
kali > apt-get install snort
- إزالة البرنامج (مع الإبقاء على ملفات الإعدادات، لتتمكن من إعادة التثبيت لاحقًا دون إعادة الضبط):
kali > apt-get remove snort
- أو إزالة كاملة تشمل ملفات الإعدادات:
kali > apt-get purge snort
- تنظيف التبعيات غير المستخدمة بعد الإزالة:
kali > apt autoremove snort
نقطة مهمة يوضحها الكاتب وغالبًا ما تُلخّط بين المبتدئين: التحديث (update) ليس كالترقية (upgrade):
"Updating isn't the same as upgrading: updating simply updates the list of packages available for download from the repository, whereas upgrading will upgrade the package to the latest version." — "التحديث ليس كالترقية: التحديث يُحدّث فقط قائمة الحزم المتاحة في المستودع، بينما الترقية ترقّي الحزمة فعليًا لأحدث إصدار."
بمعنى آخر: apt-get update يُحدّث "الفهرس" فقط، بينما apt-get upgrade هو من يُنزّل ويُثبّت الإصدارات الجديدة فعليًا. من الشائع تنفيذهما بالتتابع.
📚 المستودعات (Repositories) وملف sources.list
المستودعات هي الخوادم التي تخزّن البرامج المتاحة لتوزيعتك. يمكنك إضافة مستودعات إضافية (مثل مستودعات Ubuntu) في ملف /etc/apt/sources.list إن لم تجد برنامجًا معينًا في مستودع Kali الافتراضي — لكن الكاتب يحذّر:
"I don't recommend using testing, experimental, or unstable repositories in your sources.list because they can download problematic software to your system." — "لا أنصح باستخدام مستودعات testing أو experimental أو unstable في ملفك، لأنها قد تُنزّل برامج مشكلة على نظامك."
نصيحة تنطبق تمامًا على أي بيئة إنتاج (Production) في عملك كمهندس IT — الاستقرار أولًا.
🖱️ الطريقة الثانية: المثبّتات الرسومية
لمن يفضّل الواجهة الرسومية، هناك أدوات مثل Synaptic أو Gdebi، والتي يمكن تثبيتها هي نفسها عبر apt:
kali > apt-get install synaptic
🐙 الطريقة الثالثة: git clone لبرامج ليست في أي مستودع
أحيانًا يكون البرنامج الذي تريده جديدًا جدًا أو متخصصًا بحيث لا يوجد في أي مستودع رسمي، لكنه موجود على GitHub. هنا يأتي دور:
kali > git clone https://www.github.com/balle/bluediving.git
هذا الأمر ينسخ المشروع بالكامل (الكود المصدري وكل الملفات) إلى جهازك في مجلد جديد بنفس اسم المشروع. هذه الطريقة أساسية جدًا لأي هاكر أو مطوّر، لأن معظم أدوات القرصنة والاختبار الحديثة والمشاريع مفتوحة المصدر تُنشر أولًا على GitHub قبل أن تصل — إن وصلت أصلًا — إلى مستودعات رسمية.
💎 اقتباسات هذا الجزء تستحق التوقف عندها
- "الهاكر الجيد يحتاج أن يعرف كيف يتصل بالشبكة ويتفاعل معها." — لا يوجد اختراق حقيقي دون فهم عميق للشبكة.
- "تغيير عنوان MAC يُبطل إجراءات أمنية بُنيت على افتراض أن العنوان ثابت." — درس مهم في أن أي إجراء أمني يعتمد على معطى يمكن انتحاله هو إجراء ضعيف.
- "يمكنك توجيه أي حركة بيانات على شبكتك المحلية إلى خادمك الخاص." — مثال حي على كيف تتحول أداة بسيطة (ملف hosts) إلى سلاح إن أُسيء استخدامها.
- "التحديث ليس كالترقية." — فارق تقني بسيط لكنه يوفر عليك ارتباكًا كبيرًا في إدارة الأنظمة.
🎯 خلاصة الجزء
في هذين الفصلين تعلمنا كيف "نقرأ" شبكتنا وننتحل هويتنا عليها متى احتجنا لذلك (ifconfig, iwconfig, dig, ملفا resolv.conf وhosts)، وكيف نُدير البرامج على نظامنا بثلاث طرق مختلفة (apt, الواجهات الرسومية، وgit clone). هذه المهارات ستكون حجر الأساس عندما نصل لاحقًا إلى فصول أكثر تقدمًا مثل استخدام الخدمات (الفصل 12) وفحص الشبكات اللاسلكية (الفصل 14).
في الحلقة القادمة ننتقل إلى الفصل الخامس: التحكم في صلاحيات الملفات والمجلدات، والفصل السادس: إدارة العمليات — حيث نبدأ بفهم كيف يحمي لينكس نفسه، وكيف تتحايل عليه (أو تحميه) كهاكر. 🚀