قبل البدء بأي عملية اختبار اختراق لسيرفر ويب يجب عليك كمختبر اختراق أن تقوم بجمع أكبر كمية من المعلومات من خلال عملية استطلاع الهدف , والهدف الأساسي من مرحلة الاستطلاع هو جمع أكبر كمية من المعلومات عن الهدف من أجل تسهيل عملية الاستغلال.

يقسم الاستطلاع إلى نوعين:

  • استطلاع غير فعال (يتم من خلال جمع المعلومات من المصادر المتاحة دون أي تفاعل مع تطبيق الويب).
  • استطلاع فعال (يتم من خلال التفاعل المباشر مع تطبيق الويب الهدف).

الاستطلاع الفعال يعتمد على نتيجة الاستطلاع الغير فعال ويركز على استخدام الفحص والتحقق للتعرف على الهدف , الاستطلاع الفعال ينتج معلومات إضافية ومعلومات مفيدة عن الهدف.

عملية جمع المعلومات بشكل فعال تتم من خلال التفاعل مع الهدف وهذا التفاعل يمكن أن يتم تسجيله في سجلات نظام الهدف أو يمكن أن يثير ويشغل الإنذار في نظام الحماية كالجدران النارية أو أنظمة منع وكشف التطفل.

لزيادة فعالية البحث والاستطلاع الفعال لتأمين معلومات تفصيلية يجب التركيز على السرية من أجل منع الاكتشاف من قبل نظام الحماية.

اكتشاف المنافذ ونظام التشغيل والخدمات:

كالي يحوي على عدة أدوات مفيدة تستخدم للتعرف على المنافذ المفتوحة وللتعرف على نظام التشغيل والخدمات المنصبة على الأجهزة البعيدة ومعظم هذه المهام يمكن أن تتم باستخدام nmap.

فحص المنافذ:

هذه العملية تقوم بفحص بورتات الاتصال TCP and UDP ports لتحديد الخدمات والتطبيقات التي تعمل على الجهاز الهدف. البورتات في جهاز الكمبيوتر هي مثل الأبواب التي تسمح لك بالدخول للمنزل ولك خدمة معينة منفذ خاص بها مثلاً:

HTTP traffic يستخدم المنفذ 80 بينما HTTPS traffic يستخدم المنفذ 443

لذلك إذا وجدنا ان المنافذ 80 و 443 مفتوحة هذا يعني أن HTTP and HTTPS تعمل على الجهاز يوجد 65,535 ports بعض هذه البورتات معروفة ومخصصة لخدمات معينة مثل port 20 , 21 for FTP – file transfer protocol أول 1,024 ports هي بورتات معروفة ومعظمها مخصصة لخدمات معينة.

الهدف من عملية فحص البورتات هي الإجابة على ثلاثة اسئلة متعلقة بسيرفر الويب:

  1. ماهي البورتات المفتوحة.
  2. ماهي الخدمات التي تعمل على هذه البورتات.
  3.  ماهي إصدارات الخدمات التي تعمل.

إذا حصلنا على إجابات صحيحة لهذه الأسئلة فإننا نكون قد تقدمنا خطوة في عملية اختبار الاختراق.

البورت 80 يستخدم من أجل خدمة الويب ولكن هذه الخدمة يمكن أن يتم توجيهها باستخدام أي بورت أخر، هذه الخاصية تستخدم من أجل إخفاء خدمات معينة عن عيون المهاجمين ولكن إذا قام المهاجم بإجراء عملية فحص شاملة للبورتات فيمكنه كشف هذه الخدمات.

أداة Nmap :

الأداة الأكثر شهرة للقيام بعملية فحص المنافذ port scanning هي Nmap وهي موجودة تلقائياً في نظام كالي هناك العديد من أنواع الفحص التي تستطيع هذه الأداة القيام بها، حالياً نحن نعرف عنوان IP address لسيرفر الويب وبالتالي نستطيع تشغيل Nmap على سيرفر الويب DVWA الخاص بنا والذي له العنوان المحلي 127.0.0.1 نحن نستخدم تطبيق Damn Vulnerable Web Application (DVWA) كتطبيق ويب هدف ويمكن أن تقوم بالبحث عنه من صفحته على الانترنت DVWA هو تطبيق ويب PHP/MySQL ومصمم بشكل يحوي على ثغرات ليساعد محترفي الحماية لاختبار مهارتهم وأدواتهم في بيئة شرعية وآمنة وهو يساعد مطوري الويب على فهم عمليات الحماية في تطبيقات الويب.

فمثلاً دعونا نقوم بتجربة الأمر التالي :

Nmap -sV -O -p- 127.0.0.1

  • الخيار -sV لتحديد الإصدار version الخاص بالخدمات المكتشفة.
  • الخيار -O تعطي معلومات متعلقة بنظام التشغيل كنوع النظام و إصداره.
  • الخيار -p- للقيام بعملية فحص لكل المنافذ.
  • 127.0.0.1 عنوان IP address للهدف

وسوف تكون هذه هي النتيجة :

nmap_web_results web_results2

من هذه النتيجة نلاحظ أن هناك أربع خدمات تعمل على سيرفر الويب الهدف لدينا وهي :

  • Apache 2.2.14 web server يعمل على port 80.
  • 5.1.41 MySQL database تعمل على port 3306.
  • PostreSQL 8.4 database تعمل على port 7175.
  • Wep proxy (Burp Suite) يعمل على port 8080.

هناك نقاط إضافية مثل نسخة النواة وتفاصيل نظام التشغيل وعدد القفزات (صفر لأن عملية البحث تمت في جهاز محلي) معرفة الخدمات التي تعمل هو جزء كبير من عملية جمع المعلومات والخطوة التالية هي البحث عن الثغرات للقيام باستغلالها.

تشغيل Nmap ضد جهاز محلي localhost يمكن أن يعطي نتائج كاذبة أو مضللة

استراتيجيات البحث السري:

أكبر مخاطر الاستطلاع الفعال هو أن يقوم الهدف باكتشاف هذه العملية. باستخدام وقت الاختبار و data stamps وعنوان IP source وبعض المعلومات الإضافية يستطيع الهدف التعرف على مصدر الهجوم، لذلك يجب استخدام تقنيات التخفي للتقليل من احتمالية الكشف من قبل الهدف.

عند تطبيق السرية لدعم عملية الاستطلاع الفعال فإن مختبر الاختراق يقوم بالأمور التالية:

  • استخدام أدوات التمويه من أجل تجنب الاكتشاف وتشغيل أجهزة الإنذار.
  • إخفاء بيانات الهجوم داخل البيانات الشرعية.
  • تعديل الهجوم لإخفاء مصدر ونوع البيانات.
  • جعل الهجوم غير مرئي باستخدام أنواع بيانات غير معيارية أو باستخدام التشفير.

تقنيات البحث السري يمكن أن تحوي على بعض أو كل الأمور التالية:

  • تغيير عنوان source IP.
  • تغير بارامترات حزم البيانات باستخدام nmap.
  • استخدام بروكسي لشبكات مخفية (Tor network).

تغير عنوان source IP وتعديل الأدوات:

قبل القيام بعملية اختبار الاختراق أو الهجوم يجب التأكد من إيقاف كل الخدمات الغير ضرورية عن العمل مثلاً في كالي إذا كان local DHCP فعال وغير مطلوب فمن الممكن أن يقوم DHCP بالتفاعل مع النظام الهدف وهذا التفاعل يمكن أن يتم تسجيله في سجلات النظام الهدف.

بعض الأدوات التجارية أو المفتوحة المصدر (مثل Metasploit Framework) تقوم بإضافة حزمها في سلسة التعريف رغم أنه يمكن أن يكون مفيد في مرحلة بعد الاختبار لتحليل حالة سجلات النظام الهدف لمعرفة إذا تم تسجيل الأفعال التي قام بها مختبر الاختراق أو المهاجم داخل سجلات النظام الهدف، هذه الإضافات يمكن أن تثير أنظمة كشف التطفل.

يجب فحص الأداة المستخدمة في اختبار الاختراق لتحديد حزم البيانات التي تضيفها هذه الأداة. أسهل طريقة لتعريف الإضافات هي استخدام الأداة ضد نسخة تخيلية حديثة عن الموقع الهدف ورؤية سجلات النظام إذا احتوت على اسم الأداة أو لا.

بالإضافة إلى استخدام محلل البيانات wireshark لإلتقاط البيانات بين مختبر الاختراق أو المهاجم و الصورة التخيلية virtual machine للنظام الهدف ثم البحث في ملفات packet capture -pcap عن أي كلمات يمكن أن تنسب إلى الأداة المستخدمة في اختبار الاختراق (مثل اسم الأداة أو المُصنع أو رقم الرخصة أو أمور أخرى) يمكن تغير UserAgent in the Metasploit Framework من خلال تعديل خيار http_form_field باستخدام الأمر كما في الشكل التالي:

 

 

http_form_field

في هذا المثال قمنا بضبط UserAgent ليأخذ قيمة Google’s indexing spider Googelbot هو تطبيق اتوماتيكي شائع يقوم بزيارة وفهرست المواقع ونادراً ما يلفت انتباه مالك الموقع.

تعديل بارامترات حزم البيانات:

 

الاستطلاع الفعال يتم من خلال إرسال بيانات تعريف إلى الهدف ثم استخدام حزم البيانات المُعادة للحصول على المعلومات أشهر أداة مستخدمة لهذا الهدف هي Network Mapper -nmap لاستخدام nmap بفاعلية من الضروري العمل بصلاحيات الروت root-level privileges وكالي يعمل بهذه الصلاحية بشكل تلقائي.

هذا النوع من التطبيقات يقوم بتلاعب بحزم البيانات لمحاولة التقليل من احتمال الاكتشاف و يتم استخدام بعض تقنيات التسلل كالتالي:

  • تعريف هدف البحث قبل البدء بعملية الاختبار وارسال أقل عدد من الحزم، مثلاً إذا أردت التأكد من وجود أو حضور جهاز الويب أولاً أنت بحاجة لتحديد فيما إذا كان port 80 مفتوح (هذا البورت هو البورت الافتراضي لخدمات الويب الأساسية).
  • تجنب البحث الذي يتم من خلال الاتصال مع نظام الهدف، لا تقم بعملية ping على الهدف أو لا تستخدم synchronize (SYN) بل قم باستخدام طرق فحص غير اعتيادية مثل حزم acknowledge (ACK), finished (FIN), and reset (RST)
  • قم باختيار عناوين عشوائية أو حاكي عناوين Source IP, port address, and MAC address.
  • عدل التوقيت للتقليل من فترة وصول حزم البيانات لموقع الهدف.
  • غير حجم حزم البيانات من خلال تقسيم الحزم أو من خلال تقديم بيانات عشوائية للتشويش على أجهزة فحص الحزم.

مثلاً للقيام بعملية فحص بشكل متسلل لتقيل احتمال الاكتشاف يمكن استخدام التعليمة التالية :

web_nmap_command

الجدول التالي يشرح التعليمة السابقة:

 

 

 

 

 

 

التعليمة

الدلالة

–spoof-mac-Cisco

محاكات عنوان MAC يشابه عنوان لمنتج من شركة سيسكو، استبدال cisco بالرقم0 سوف يقوم بخلق عنوان ماك عشوائي

–data-length 24

إضافة 24 bytes لمعظم حزم البيانات المرسلة

-T paranoid

ضبط الوقت لإعدادات أبطئ

–max-hostgroup

لتحديد الأجهزة التي سوف يتم فحصها في نفس الوقت

–max-parallelism

لتحديد عدد الطلبات المعلقة التي يتم ارسالها

-PN

لكي لا يقوم بعملية ping

-f

تقسيم حزم البيانات

-D 10.1.20.5, RND:5,ME

خلق فحص مخادع يعمل بنفس الوقت مع لإخفاء الفحص الذي يقوم به مختبر الاختراق

-n

لا تقم بطلب ترجمة DNS داخلي أو خارجي لأن هذا النوع من الطلبات يتم تسجيله لذلك يجب منعه

-sS

القيام بعملية فحص TCP SYN سرية أو بشكل متسلل والتي لا تقوم بإكمال TCP handshake

-sV

تفعيل اظهار الإصدار version

-oA /desktop/pentest/nmap

اصدار النتائج بكل الصيغ

-p T:1-1024

تحديد البورتات التي سيقوم بفحصها

–random-hosts

فحص أجهزة الهدف بترتيب عشوائي

استخدام هذه الخيارات مع بعضها سوف يقوم بخلق عملية فحص بطيئة ومخفية وسرية جداً ولكن في بعض الحالات إذا كانت حزم البيانات غريبة أو قد تم تعديلها فإن ذلك يثير انتباه نظام الهدف لذلك فإن العديد من مختبري الاختراق والمهاجمين يستخدمون شبكات مخفية مثل شبكة تور Tor للتقليل من احتمالية الاكتشاف.