
Network recon tools part 2
يعد فحص الشبكة أحد أهم الخطوات التي يجب على المتخصصين في الأمن اتخاذها لتقييم الوضع الأمني للشبكة. سيكون هذا الدرس هو الثاني لتقييم الوضع الأمني للشبكة وكيفية التعامل مع الشبكة بشكل احترافي. إذا لم تتبع الدرس الأول، فعليك اتباع الدرس كمتخصص أمني. يجب عليك التحقق من جميع تفاصيل الشبكة والخدمات التي تعمل على الشبكة من أجل اكتشاف نقاط الضعف التي يمكن أن تضر بالمؤسسة. سنفعل ذلك باستخدام بعض الأدوات والاستراتيجيات.
network scanning with nmap
تعد nmap من اشهر ألأدوات لفحص الشبكة علي الإطلاق وذلك لان الأداة يمكن استخدامها لتطبيق بعض الاستراتيجيات علي الشبكة بشكل كامل يتم استخدام تلك الأداة من قبل المتخصصين في الامان داخل المؤسسات لتعزيز Security control ويتم استخدام nmap بشكل كبير وبأدق التفاصيل من قبل مهندس مختبر الاختراق وأيضا لغرض تعزيز security control داخل المؤسسة.
Nmap لديها بعض الوظائف الأساسية التي تميزها عن غيرها. يمكن لـ Nmap إجراء فحص شامل ودقيق على مستوى الشبكة بأكملها، بحيث يمكن استخراج الأجهزة التي تعمل على الشبكة ما نوع هذه الأجهزة, بإضافة إلى إصدارات أنظمة التشغيل التي تعمل على تلك الأجهزة, و استخراج أيضًا الخدمات التي تعمل على الشبكة بشكل عام هي في الواقع أداة عملاقة للغاية لا يمكن شرحها بالكامل في درس أو درسين.
هذه ألأداة لها دورات خاصة تتجاوز 30 ساعة. سنستخدم الآن Nmap في بعض الوظائف على الشبكة.تعمل الأداة على أنظمة تشغيل مختلفة مثل (Mac و Linux و windows) ويوجد نسخة رسومية من واجهة المستخدم الرسومية تسمى Zenmap، وهذا أبسط مثال على nmap.
$ nmap 192.168.1.3 Starting Nmap 7.92 ( https://nmap.org ) at 2022-08-08 08:48 EET Nmap scan report for 192.168.1.3 Host is up (0.00080s latency). Not shown: 977 closed tcp ports (conn-refused) PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 23/tcp open telnet 25/tcp open smtp 53/tcp open domain 80/tcp open http 111/tcp open rpcbind 139/tcp open netbios-ssn 445/tcp open microsoft-ds 512/tcp open exec 513/tcp open login 514/tcp open shell 1099/tcp open rmiregistry 1524/tcp open ingreslock 2049/tcp open nfs 2121/tcp open ccproxy-ftp 3306/tcp open mysql 5432/tcp open postgresql 5900/tcp open vnc 6000/tcp open X11 6667/tcp open irc 8009/tcp open ajp13 8180/tcp open unknown Nmap done: 1 IP address (1 host up) scanned in 13.48 seconds
هذا هو الفحص الافتراضي لـ nmap. نعطي المجال أو ip حتى يتمكن nmap من إجراء الفحص الافتراضي. في الواقع، يقوم nmap في هذا الوضع باختبار اتصال وإرسال TCP ACK على المنفذين 80 و 443 لتحديد ما إذا كان المضيف في قطاع الشبكة المحلية أم لا، وأيضًا يقوم nmap بإجراء فحص مستوى (Arp، Neighbor)، إذا تم اكتشاف المضيف.
يقوم nmap بمسح المنفذ مقابل ذلك المضيف وتحديد الخدمات التي تعمل على تلك المنافذ، وترى هذا في الإخراج الذي استخرجته الأداة، على سبيل المثال، المنفذ 23 الذي يعمل على telnet، إلخ.
Service Discovery and Nmap
بعد تحديد IPS النشط على الشبكة واكتساب فكرة عن هيكل الشبكة ، فإن الخطوة التالية هي تدليك الشبكة وهي تحديد أنظمة التشغيل المستخدمة في تلك الأجهزة وكذلك الخدمات التي تعمل على الأجهزة والبرامج قيد التشغيل على تلك الخدمات بغرض اكتشاف أي ثغرات أمنية في نظام التشغيل أو الخدمات أو البرامج التي تعمل على تلك الخدمات.
Service Discovery with Nmap
عندما تكمل Nmap فحص اكتشاف المضيف، فإنها ستبلغ عن حالة كل منفذ يتم مسحه ضوئيًا لكل عنوان IP في النطاق. في هذه المرحلة، يمكنك إجراء فحوصات اكتشاف خدمة إضافية مقابل واحد أو أكثر من عناوين IP النشطة. بعض الخيارات الرئيسية لمسح اكتشاف الخدمة هي:
TCP SYN (-sS): هذه تقنية سريعة يشار إليها أيضًا باسم المسح نصف المفتوح، حيث يطلب مضيف المسح الاتصال دون الاعتراف بذلك. استجابة الهدف لحزمة SYN للمسح تحدد حالة المنفذ, يسمي هذا المسح ايضا(Half-open scans),وهناك العديد من اسماء المسح المختلفة مثل:
1- TCP Null Scans (-sN) 2- TCP FIN Scans (-sF) 3- TCP Xmas Scans (-sX) 4- TCP Connect Scans (-sT) 5- UDP Scans (-sU)
UDP scans (-sU): مسح منافذ UDP. نظرًا لأن هؤلاء لا يستخدمون ACKs، تحتاج Nmap إلى انتظار استجابة أو مهلة لتحديد حالة المنفذ، لذلك قد يستغرق مسح UDP وقتًا طويلاً. يمكن دمج مسح UDP مع مسح TCP.
Port range (-p): بشكل افتراضي، تقوم Nmap بمسح 1000 منفذ شائع الاستخدام، كما هو وارد في ملف التكوين الخاص بها. ولكن ماذا لو أردنا مسح منافذ معينة أو نطاق كامل يمكننا استخدامه p- لتحديد منافذ معينة للمسح الضوئي أو مجموعة من المنافذ.
Service and Version Detection and OS Fingerprinting with Nmap
تستطيع Nmap عمل تحليل تفصيلي للخدمات التي تعمل علي الشبكة او في احد انظمة التشغيل بشكل عام هذا لأن كل نظام تشغيل أو برنامج تطبيقي يدعم خدمة الشبكة يستجيب للتحقيقات بطريقة فريدة. يسمح هذا لبرنامج المسح بتخمين اسم البرنامج والإصدار، دون الحصول على أي نوع من الوصول المميز إلى المضيف.
عند اكتشاف الخدمات، يمكنك استخدام Nmap باستخدام sV- أو A- لاستكشاف مضيف بشكل أكثر كثافة لاكتشاف المعلومات التالية:
- Protocol: يمكن لـ Nmap مسح البروتوكول الذي يعمل على الشبكة ومعرفة نوع البروتوكولات بالإضافة إلى تصنيفها كمثال (HTTP و DNS و SMTP وما إلى ذلك).
- Application name and version: يمكن لـ Nmap أيضًا معرفة اسم التطبيق الذي يعمل على المنفذ بالإضافة إلى الإصدار مثل بروتوكول HTTP الذي يعمل على منفذ 80 يعمل علىة خادم الويب Apache.
┌──(kali㉿kali)-[~] └─$ sudo nmap -sV 192.168.1.10 Starting Nmap 7.92 ( https://nmap.org ) at 2023-03-04 05:40 EST Nmap scan report for 192.168.1.10 Host is up (0.00018s latency). Not shown: 977 closed tcp ports (reset) PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 2.3.4 22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0) 23/tcp open telnet Linux telnetd 25/tcp open smtp Postfix smtpd 53/tcp open domain ISC BIND 9.4.2 80/tcp open http Apache httpd 2.2.8 ((Ubuntu) DAV/2) 111/tcp open rpcbind 2 (RPC #100000) 139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP) 445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP) 512/tcp open exec netkit-rsh rexecd 513/tcp open login 514/tcp open tcpwrapped 1099/tcp open java-rmi GNU Classpath grmiregistry 1524/tcp open bindshell Metasploitable root shell 2049/tcp open nfs 2-4 (RPC #100003) 2121/tcp open ftp ProFTPD 1.3.1 3306/tcp open mysql MySQL 5.0.51a-3ubuntu5 5432/tcp open postgresql PostgreSQL DB 8.3.0 - 8.3.7 5900/tcp open vnc VNC (protocol 3.3) 6000/tcp open X11 (access denied) 6667/tcp open irc UnrealIRCd 8009/tcp open ajp13 Apache Jserv (Protocol v1.3) 8180/tcp open http Apache Tomcat/Coyote JSP engine 1.1 MAC Address: 08:00:27:37:CF:47 (Oracle VirtualBox virtual NIC)
- OS type and version: يمكن أن تعرف Nmap أيضًا نوع نظام التشغيل سواء كان Linux أو windows بالإضافة إلى إصدار نظام التشغيل. هذا مفيد جدا. هناك بعض أنظمة التشغيل التي تعمل بإصدارات قديمة بها ثغرات امنية. يجب إجراء تحديثات لتلك الأنظمة بالإضافة إلى تغيير شكل استراتيجيات الهجوم وفقًا لنوع أنظمة التشغيل. يمكن معرفة هذا عن طريقة تمرير O) option–) لمعرفة نوع النظام.
┌──(kali㉿kali)-[~] └─$ sudo nmap -O 192.168.1.10 Starting Nmap 7.92 ( https://nmap.org ) at 2023-03-04 05:46 EST Nmap scan report for 192.168.1.10 Host is up (0.00058s latency). Not shown: 977 closed tcp ports (reset) PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 23/tcp open telnet 25/tcp open smtp 53/tcp open domain 80/tcp open http 111/tcp open rpcbind 139/tcp open netbios-ssn 445/tcp open microsoft-ds 512/tcp open exec 513/tcp open login 514/tcp open shell 1099/tcp open rmiregistry 1524/tcp open ingreslock 2049/tcp open nfs 2121/tcp open ccproxy-ftp 3306/tcp open mysql 5432/tcp open postgresql 5900/tcp open vnc 6000/tcp open X11 6667/tcp open irc 8009/tcp open ajp13 8180/tcp open unknown MAC Address: 08:00:27:37:CF:47 (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 2.6.X OS CPE: cpe:/o:linux:linux_kernel:2.6 OS details: Linux 2.6.9 - 2.6.33 Network Distance: 1 hop
- Device type: ليست كل الأجهزة التي تعمل على الشبكة هي أجهزة كمبيوتر يمكن لـ Nmap تحديد الأجهزة التي تعمل على الشبكة أو اجهزة التوجيه أو أنواع أخرى من الأجهزة على الشبكة مثل الطابعات وكاميرات الويب.