مضى على الشبكة و يوم من العطاء.

[ WalkTh ] شرح أداة Nmap الجزء الثالث - Nmap part 3

3b0-0d3b0-0d is verified member.

{ || مشرف قسم CTF || }
.:: طاقم المشرفين ::.

السمعة:

netsecmodule.png

Nmap

رح نركز على الخطوات اللي بعد الفحص الأول؛ اللي هو فحص البورتات؛ زي كيفية اكتشاف الخدمات المشغلة، واكتشاف نظام التشغيل بالإضافة لـ السكربتات في Nmap وكيفية حفظ نتائج الفحص


رح نحكي عن المواضيع التاليه :
  1. اكتشاف إصدارات الخدمات اللي شغالة ( على كل البورتات المفتوحة )
  2. اكتشاف نظام التشغيل بناءً على أي مؤشرات تظهر من الهدف
  3. تشغيل traceroute في Nmap
  4. تشغيل سكربتات محددة في Nmap
  5. حفظ نتائج الفحص بصيغ مختلفة


الأسئلة من TryHackMe | Nmap Post Port Scans


اكتشاف إصدارات الخدمات اللي شغالة ( على كل البورتات المفتوحة )


بنتيجة فحص Nmap للبورتات المفتوحة بتقدر تجرب البورتات المتاحة عشان تكتشف الخدمات اللي شغالة عليها , البحث الأدق في البورتات المفتوحة هي معلومة أساسية لمختبر الاختراق عشان يقدر يستفيد منها ويعرف إذا كان فيها أي ثغرات معروفة في الخدمة

راح نشرح بالدروس القادمة كيف نبحث عن الثغرات الضعيفة إن شاء الله في روم Vulnerabilities 101

الأمر sV- مع Nmap بجمع معلومات عن الخدمة والإصدار للبورتات المفتوحة تحتاج إلى مستخدم privileged
بتقدر تتحكم في درجة الدقة بالخيار version-intensity LEVEL-- حيث إن المستوى يتراوح بين 0 الأخف و 9 الأكثر اكتمالًا
sV --version-light- فيها درجة دقة 2
sV --version-all-
فيها درجة دقة 9

ملاحظه: استخدام sV- بجبر Nmap تعمل 3-way handshake tcp وينشئ الإتصال إنشاء الإتصال ضروري هون لا مو الـ nmap ما بتقدر تكتشف الإصدار من غير ما تنشئ إتصال كامل وتتواصل مع الخدمة المستمعة
بمعنى آخر المسح الاستطلاعي اللي سبق وحكينا عنو بال SYN -sS غير ممكن عند اختيار الخيار
sV-

كود:
pentester@TryHackMe$ sudo nmap -sV 10.10.101.38

Starting Nmap 7.60 ( https://nmap.org ) at 2021-09-10 05:03 BST
Nmap scan report for 10.10.101.38
Host is up (0.0040s latency).
Not shown: 995 closed ports
PORT    STATE SERVICE VERSION
22/tcp  open  ssh     OpenSSH 6.7p1 Debian 5+deb8u8 (protocol 2.0)
25/tcp  open  smtp    Postfix smtpd
80/tcp  open  http    nginx 1.6.2
110/tcp open  pop3    Dovecot pop3d
111/tcp open  rpcbind 2-4 (RPC #100000)
MAC Address: 02:A0:E7:B5:B6:C5 (Unknown)
Service Info: Host:  debra2.thm.local; OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 8.40 seconds

الناتج فوق ببين فحص Nmap البسيط بالـ SYN بالخيار sV-
لما نضيف الخيار sV- بظهر عمود جديد بالناتج بعرض الإصدار لكل خدمة تم اكتشافها
قم بتشغيل nmap -sV --version-light 10.10.101.38

1708671458113.png

ما هو الإصدار المكتشف للمنفذ 143 ؟
Dovecot imapd

1708671605647.png

ما الخدمة التي لم يتم اكتشاف إصدار بها باستخدام version-light-- ؟
rpcbind


اكتشاف نظام التشغيل بناءً على أي مؤشرات تظهر من الهدف


بتقدر تعرف نوع النظام اللي على جهاز معين بناءً على طريقة تصرفه وردود الفعل اللي بتيجينا منه , يعني Nmap بتقدر تخمن نوع النظام بناءً على الأشياء اللي بتعرفها عن الجهاز لو استخدمنا أمر O- مع Nmap بتعمل كشف لنظام التشغيل

في المثال التالي استخدمنا أمر nmap -sS -O 10.10.101.38 وظهرلنا إن نظام التشغيل الخاص فيه Linux 3.X الـ 3.X معناها إنها عرفت النظام هو Linux وإن الإصدار بكون 3.X


كود:
pentester@TryHackMe$ sudo nmap -sS -O 10.10.101.38

Starting Nmap 7.60 ( https://nmap.org ) at 2021-09-10 05:04 BST
Nmap scan report for 10.10.101.38
Host is up (0.00099s latency).
Not shown: 994 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
25/tcp  open  smtp
80/tcp  open  http
110/tcp open  pop3
111/tcp open  rpcbind
143/tcp open  imap
MAC Address: 02:A0:E7:B5:B6:C5 (Unknown)
Device type: general purpose
Running: Linux 3.X
OS CPE: cpe:/o:linux:linux_kernel:3.13
OS details: Linux 3.13
Network Distance: 1 hop

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 3.91 seconds

في شيء ثاني اسمه تتبع المسار الـ Nmap بتقدر تعرفلك مسار البيانات بين جهازك وجهاز ثاني على الشبكة وبتقدملك فكرة عن الأجهزة اللي بمر عليها البيانات وبتتوقعلك الوقت اللي بتوخذه

في المثال اللي فوق بالإضافة لكشف نوع النظام لقينا إن الجهاز عنده بورتات مفتوحة بأرقام مختلفة زي الـ 22 و 25 و 80 و 110 و 111 و 143 وعلى القائمة إنه بستخدم نظام Fedora Linux بإصدار kernel 5.13.14 لكن Nmap توقعه بأنه Linux 2.6.X في الحالة هاي الـ Nmap تعرفت على نوع النظام بصورة صحيحة لكن إصدار الـ kernel كان غلط.
بالأخير لازم نفهم إن دقة تحديد نوع النظام ممكن تتأثر بعوامل كتيرة زي وجود بورتات مفتوحة ومغلقة على الجهاز وكمان ممكن تتأثر بتقنيات زي الـ virtualization هاد يعني إن دقة الـ Nmap قد تختل في بعض الأحيان.

توجد مشكله بالمشين لكن الجواب كالآتي:

قم بتشغيل nmap مع خيار O- على 10.10.101.38. ما هو نظام التشغيل الذي اكتشفه Nmap ؟
linux


تشغيل traceroute في Nmap


الـ Traceroute هاد بخلي الـ Nmap تبحث عن الراوترات اللي بينك وبين الهدف اللي بتفحصه , لو بدك تستخدم الـ Traceroute بس اكتب traceroute-- في الأمر.
في المثال التالي لاستخدام الـ Traceroute الـ Traceroute مختلف عن اللي بالـ nmap ببدأ بباكت ب TTL عالي وبيقلله لحد ما يوصل للهدف


كود:
pentester@TryHackMe$ sudo nmap -sS --traceroute 10.10.101.38

Starting Nmap 7.60 ( https://nmap.org ) at 2021-09-10 05:05 BST
Nmap scan report for 10.10.101.38
Host is up (0.0015s latency).
Not shown: 994 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
25/tcp  open  smtp
80/tcp  open  http
110/tcp open  pop3
111/tcp open  rpcbind
143/tcp open  imap
MAC Address: 02:A0:E7:B5:B6:C5 (Unknown)

TRACEROUTE
HOP RTT     ADDRESS
1   1.48 ms MACHINE_IP

Nmap done: 1 IP address (1 host up) scanned in 1.59 seconds

ظهرلنا إنه ما في روترات/خطوات بين الأثنين لأنهم متصلين مباشرة وكمان ظهرلنا أن البورتات زي 22 (SSH) و 80 (HTTP) و 25 (SMTP) مفتوحة وكمان ظهر عنوان ال MAC
في كتير من الراوترات ممكن تكون مضبوطة على إنها ما ترسل ICMP Time-to-Live exceeded اللي بمنعنا من اكتشاف عناوين الـ IP الخاصة فيها عشان تفهم أكثر اقرأ عن الـ Active Reconnaissance بالمقال التالي:



تشغيل سكربتات محددة في Nmap

الشرح عن Nmap Scripting Engine اللي هو عبارة عن محرك بستخدم لتنفيذ أشياء اسمها سكربتات في عمليات فحص الشبكات
السكربت هاد عبارة عن قطعة من الكود اللي بتنفذها Nmap على طول بدون ما تحتاج تترجم أو يتحوّل للغة آلة السكربتات هاي بتقدم وظائف إضافية للبرنامج وهاد اللي بيخلي الـ Nmap تعمل أشياء مش متوفرة فيها من قبل.

مثلًا nmap بتدعم سكربتات مكتوبة بلغة اسمها Lua الـ Nmap Scripting Engine بكون مثبت فيه مترجم لغة Lua وبتيح لبرنامج Nmap ينفذ السكربتات هاي, الحلو أنك مش لازم تتعلم لغه Lua عشان تستخدم السكريبتات بـ Nmap الـ Nmap بتوفرلك ما يقرب 600 سكربت

ولو بتدور بمجلد تنصيب Nmap على جهازك بتشوف عدد كبير من الملفات المسماة بأسماء تبدأ بـ http مثلًا وهاد بدل على إنه في سكربتات كثير متوفرة لعملية فحص الـ
HTTP

1708674894660.png


كود:
┌──(root㉿kali)-[/usr/share/nmap/scripts]
└─# ls  
acarsd-info.nse                       dns-random-srcport.nse              http-huawei-hg5xx-vuln.nse              ip-geolocation-map-google.nse  omp2-brute.nse                  smtp-ntlm-info.nse
address-info.nse                      dns-random-txid.nse                 http-icloud-findmyiphone.nse            ip-geolocation-map-kml.nse     omp2-enum-targets.nse           smtp-open-relay.nse
afp-brute.nse                         dns-recursion.nse                   http-icloud-sendmsg.nse                 ip-geolocation-maxmind.nse     omron-info.nse                  smtp-strangeport.nse
afp-ls.nse                            dns-service-discovery.nse           http-iis-short-name-brute.nse           ip-https-discover.nse          openflow-info.nse               smtp-vuln-cve2010-4344.nse
afp-path-vuln.nse                     dns-srv-enum.nse                    http-iis-webdav-vuln.nse                ipidseq.nse                    openlookup-info.nse             smtp-vuln-cve2011-1720.nse
afp-serverinfo.nse                    dns-update.nse                      http-internal-ip-disclosure.nse         ipmi-brute.nse                 openvas-otp-brute.nse           smtp-vuln-cve2011-1764.nse
afp-showmount.nse                     dns-zeustracker.nse                 http-joomla-brute.nse                   ipmi-cipher-zero.nse           openwebnet-discovery.nse        sniffer-detect.nse
ajp-auth.nse                          dns-zone-transfer.nse               http-jsonp-detection.nse                ipmi-version.nse               oracle-brute.nse                snmp-brute.nse
ajp-brute.nse                         docker-version.nse                  http-litespeed-sourcecode-download.nse  ipv6-multicast-mld-list.nse    oracle-brute-stealth.nse        snmp-hh3c-logins.nse
ajp-headers.nse                       domcon-brute.nse                    http-ls.nse                             ipv6-node-info.nse             oracle-enum-users.nse           snmp-info.nse
ajp-methods.nse                       domcon-cmd.nse                      http-majordomo2-dir-traversal.nse       ipv6-ra-flood.nse              oracle-sid-brute.nse            snmp-interfaces.nse
ajp-request.nse                       domino-enum-users.nse               http-malware-host.nse                   irc-botnet-channels.nse        oracle-tns-version.nse          snmp-ios-config.nse
allseeingeye-info.nse                 dpap-brute.nse                      http-mcmp.nse                           irc-brute.nse                  ovs-agent-version.nse           snmp-netstat.nse
amqp-info.nse                         drda-brute.nse                      http-methods.nse                        irc-info.nse                   p2p-conficker.nse               snmp-processes.nse
asn-query.nse                         drda-info.nse                       http-method-tamper.nse                  irc-sasl-brute.nse             path-mtu.nse                    snmp-sysdescr.nse
a.txt                                 duplicates.nse                      http-mobileversion-checker.nse          irc-unrealircd-backdoor.nse    pcanywhere-brute.nse            snmp-win32-services.nse
auth-owners.nse                       eap-info.nse                        http-ntlm-info.nse                      iscsi-brute.nse                pcworx-info.nse                 snmp-win32-shares.nse
auth-spoof.nse                        enip-info.nse                       http-open-proxy.nse                     iscsi-info.nse                 pgsql-brute.nse                 snmp-win32-software.nse
backorifice-brute.nse                 epmd-info.nse                       http-open-redirect.nse                  isns-info.nse                  pjl-ready-message.nse           snmp-win32-users.nse
backorifice-info.nse                  eppc-enum-processes.nse             http-passwd.nse                         jdwp-exec.nse                  pop3-brute.nse                  socks-auth-info.nse
bacnet-info.nse                       fcrdns.nse                          http-phpmyadmin-dir-traversal.nse       jdwp-info.nse                  pop3-capabilities.nse           socks-brute.nse
banner.nse                            finger.nse                          http-phpself-xss.nse                    jdwp-inject.nse                pop3-ntlm-info.nse              socks-open-proxy.nse
bitcoin-getaddr.nse                   fingerprint-strings.nse             http-php-version.nse                    jdwp-version.nse               port-states.nse                 ssh2-enum-algos.nse
bitcoin-info.nse                      firewalk.nse                        http-proxy-brute.nse                    knx-gateway-discover.nse       pptp-version.nse                ssh-auth-methods.nse
bitcoinrpc-info.nse                   firewall-bypass.nse                 http-put.nse                            knx-gateway-info.nse           puppet-naivesigning.nse         ssh-brute.nse
bittorrent-discovery.nse              flume-master-info.nse               http-qnap-nas-info.nse                  krb5-enum-users.nse            qconn-exec.nse                  ssh-hostkey.nse
bjnp-discover.nse                     fox-info.nse                        http-referer-checker.nse                ldap-brute.nse                 qscan.nse                       ssh-publickey-acceptance.nse
broadcast-ataoe-discover.nse          freelancer-info.nse                 http-rfi-spider.nse                     ldap-novell-getpass.nse        quake1-info.nse                 ssh-run.nse
broadcast-avahi-dos.nse               ftp-anon.nse                        http-robots.txt.nse                     ldap-rootdse.nse               quake3-info.nse                 sshv1.nse
broadcast-bjnp-discover.nse           ftp-bounce.nse                      http-robtex-reverse-ip.nse              ldap-search.nse                quake3-master-getservers.nse    ssl-ccs-injection.nse
broadcast-db2-discover.nse            ftp-brute.nse                       http-robtex-shared-ns.nse               lexmark-config.nse             rdp-enum-encryption.nse         ssl-cert-intaddr.nse
broadcast-dhcp6-discover.nse          ftp-libopie.nse                     http-sap-netweaver-leak.nse             llmnr-resolve.nse              rdp-ntlm-info.nse               ssl-cert.nse
broadcast-dhcp-discover.nse           ftp-proftpd-backdoor.nse            http-security-headers.nse               lltd-discovery.nse             rdp-vuln-ms12-020.nse           ssl-date.nse
broadcast-dns-service-discovery.nse   ftp-syst.nse                        http-server-header.nse                  lu-enum.nse                    realvnc-auth-bypass.nse         ssl-dh-params.nse
broadcast-dropbox-listener.nse        ftp-vsftpd-backdoor.nse             http-shellshock.nse                     maxdb-info.nse                 redis-brute.nse                 ssl-enum-ciphers.nse
broadcast-eigrp-discovery.nse         ftp-vuln-cve2010-4221.nse           http-sitemap-generator.nse              mcafee-epo-agent.nse           redis-info.nse                  ssl-heartbleed.nse
broadcast-hid-discoveryd.nse          ganglia-info.nse                    http-slowloris-check.nse                membase-brute.nse              resolveall.nse                  ssl-known-key.nse
broadcast-igmp-discovery.nse          giop-info.nse                       http-slowloris.nse                      membase-http-info.nse          reverse-index.nse               ssl-poodle.nse
broadcast-jenkins-discover.nse        gkrellm-info.nse                    http-sql-injection.nse                  memcached-info.nse             rexec-brute.nse                 sslv2-drown.nse
broadcast-listener.nse                gopher-ls.nse                       https-redirect.nse                      metasploit-info.nse            rfc868-time.nse                 sslv2.nse
broadcast-ms-sql-discover.nse         gpsd-info.nse                       http-stored-xss.nse                     metasploit-msgrpc-brute.nse    riak-http-info.nse              sstp-discover.nse
broadcast-netbios-master-browser.nse  hadoop-datanode-info.nse            http-svn-enum.nse                       metasploit-xmlrpc-brute.nse    rlogin-brute.nse                stun-info.nse
broadcast-networker-discover.nse      hadoop-jobtracker-info.nse          http-svn-info.nse                       mikrotik-routeros-brute.nse    rmi-dumpregistry.nse            stun-version.nse
broadcast-novell-locate.nse           hadoop-namenode-info.nse            http-title.nse                          mmouse-brute.nse               rmi-vuln-classloader.nse        stuxnet-detect.nse
broadcast-ospf2-discover.nse          hadoop-secondary-namenode-info.nse  http-tplink-dir-traversal.nse           mmouse-exec.nse                rpcap-brute.nse                 supermicro-ipmi-conf.nse
broadcast-pc-anywhere.nse             hadoop-tasktracker-info.nse         http-trace.nse                          modbus-discover.nse            rpcap-info.nse                  svn-brute.nse
broadcast-pc-duo.nse                  hbase-master-info.nse               http-traceroute.nse                     mongodb-brute.nse              rpc-grind.nse                   targets-asn.nse
broadcast-pim-discovery.nse           hbase-region-info.nse               http-trane-info.nse                     mongodb-databases.nse          rpcinfo.nse                     targets-ipv6-map4to6.nse
broadcast-ping.nse                    hddtemp-info.nse                    http-unsafe-output-escaping.nse         mongodb-info.nse               rsa-vuln-roca.nse               targets-ipv6-multicast-echo.nse
broadcast-pppoe-discover.nse          hnap-info.nse                       http-useragent-tester.nse               mqtt-subscribe.nse             rsync-brute.nse                 targets-ipv6-multicast-invalid-dst.nse
broadcast-rip-discover.nse            hostmap-bfk.nse                     http-userdir-enum.nse                   mrinfo.nse                     rsync-list-modules.nse          targets-ipv6-multicast-mld.nse
broadcast-ripng-discover.nse          hostmap-crtsh.nse                   http-vhosts.nse                         msrpc-enum.nse                 rtsp-methods.nse                targets-ipv6-multicast-slaac.nse
broadcast-sonicwall-discover.nse      hostmap-robtex.nse                  http-virustotal.nse                     ms-sql-brute.nse               rtsp-url-brute.nse              targets-ipv6-wordlist.nse
broadcast-sybase-asa-discover.nse     http-adobe-coldfusion-apsa1301.nse  http-vlcstreamer-ls.nse                 ms-sql-config.nse              rusers.nse                      targets-sniffer.nse
broadcast-tellstick-discover.nse      http-affiliate-id.nse               http-vmware-path-vuln.nse               ms-sql-dac.nse                 s7-info.nse                     targets-traceroute.nse
broadcast-upnp-info.nse               http-apache-negotiation.nse         http-vuln-cve2006-3392.nse              ms-sql-dump-hashes.nse         samba-vuln-cve-2012-1182.nse    targets-xml.nse
broadcast-versant-locate.nse          http-apache-server-status.nse       http-vuln-cve2009-3960.nse              ms-sql-empty-password.nse      script.db                       teamspeak2-version.nse
broadcast-wake-on-lan.nse             http-aspnet-debug.nse               http-vuln-cve2010-0738.nse              ms-sql-hasdbaccess.nse         servicetags.nse                 telnet-brute.nse
broadcast-wpad-discover.nse           http-auth-finder.nse                http-vuln-cve2010-2861.nse              ms-sql-info.nse                shodan-api.nse                  telnet-encryption.nse
broadcast-wsdd-discover.nse           http-auth.nse                       http-vuln-cve2011-3192.nse              ms-sql-ntlm-info.nse           sip-brute.nse                   telnet-ntlm-info.nse
broadcast-xdmcp-discover.nse          http-avaya-ipoffice-users.nse       http-vuln-cve2011-3368.nse              ms-sql-query.nse               sip-call-spoof.nse              tftp-enum.nse
cassandra-brute.nse                   http-awstatstotals-exec.nse         http-vuln-cve2012-1823.nse              ms-sql-tables.nse              sip-enum-users.nse              tftp-version.nse
cassandra-info.nse                    http-axis2-dir-traversal.nse        http-vuln-cve2013-0156.nse              ms-sql-xp-cmdshell.nse         sip-methods.nse                 tls-alpn.nse
cccam-version.nse                     http-backup-finder.nse              http-vuln-cve2013-6786.nse              mtrace.nse                     skypev2-version.nse             tls-nextprotoneg.nse
cics-enum.nse                         http-barracuda-dir-traversal.nse    http-vuln-cve2013-7091.nse              murmur-version.nse             smb2-capabilities.nse           tls-ticketbleed.nse
cics-info.nse                         http-bigip-cookie.nse               http-vuln-cve2014-2126.nse              mysql-audit.nse                smb2-security-mode.nse          tn3270-screen.nse
cics-user-brute.nse                   http-brute.nse                      http-vuln-cve2014-2127.nse              mysql-brute.nse                smb2-time.nse                   tor-consensus-checker.nse
cics-user-enum.nse                    http-cakephp-version.nse            http-vuln-cve2014-2128.nse              mysql-databases.nse            smb2-vuln-uptime.nse            traceroute-geolocation.nse
citrix-brute-xml.nse                  http-chrono.nse                     http-vuln-cve2014-2129.nse              mysql-dump-hashes.nse          smb-brute.nse                   tso-brute.nse
citrix-enum-apps.nse                  http-cisco-anyconnect.nse           http-vuln-cve2014-3704.nse              mysql-empty-password.nse       smb-double-pulsar-backdoor.nse  tso-enum.nse
citrix-enum-apps-xml.nse              http-coldfusion-subzero.nse         http-vuln-cve2014-8877.nse              mysql-enum.nse                 smb-enum-domains.nse            ubiquiti-discovery.nse
citrix-enum-servers.nse               http-comments-displayer.nse         http-vuln-cve2015-1427.nse              mysql-info.nse                 smb-enum-groups.nse             unittest.nse
citrix-enum-servers-xml.nse           http-config-backup.nse              http-vuln-cve2015-1635.nse              mysql-query.nse                smb-enum-processes.nse          unusual-port.nse
clamav-exec.nse                       http-cookie-flags.nse               http-vuln-cve2017-1001000.nse           mysql-users.nse                smb-enum-services.nse           upnp-info.nse
clock-skew.nse                        http-cors.nse                       http-vuln-cve2017-5638.nse              mysql-variables.nse            smb-enum-sessions.nse           uptime-agent-info.nse
coap-resources.nse                    http-cross-domain-policy.nse        http-vuln-cve2017-5689.nse              mysql-vuln-cve2012-2122.nse    smb-enum-shares.nse             url-snarf.nse
couchdb-databases.nse                 http-csrf.nse                       http-vuln-cve2017-8917.nse              nat-pmp-info.nse               smb-enum-users.nse              ventrilo-info.nse
couchdb-stats.nse                     http-date.nse                       http-vuln-misfortune-cookie.nse         nat-pmp-mapport.nse            smb-flood.nse                   versant-info.nse
creds-summary.nse                     http-default-accounts.nse           http-vuln-wnr1000-creds.nse             nbd-info.nse                   smb-ls.nse                      vmauthd-brute.nse
cups-info.nse                         http-devframework.nse               http-waf-detect.nse                     nbns-interfaces.nse            smb-mbenum.nse                  vmware-version.nse
cups-queue-info.nse                   http-dlink-backdoor.nse             http-waf-fingerprint.nse                nbstat.nse                     smb-os-discovery.nse            vnc-brute.nse
cvs-brute.nse                         http-dombased-xss.nse               http-webdav-scan.nse                    ncp-enum-users.nse             smb-print-text.nse              vnc-info.nse
cvs-brute-repository.nse              http-domino-enum-passwords.nse      http-wordpress-brute.nse                ncp-serverinfo.nse             smb-protocols.nse               vnc-title.nse
daap-get-library.nse                  http-drupal-enum.nse                http-wordpress-enum.nse                 ndmp-fs-info.nse               smb-psexec.nse                  voldemort-info.nse
daytime.nse                           http-drupal-enum-users.nse          http-wordpress-users.nse                ndmp-version.nse               smb-security-mode.nse           vtam-enum.nse
db2-das-info.nse                      http-enum.nse                       http-xssed.nse                          nessus-brute.nse               smb-server-stats.nse            vulners.nse
deluge-rpc-brute.nse                  http-errors.nse                     iax2-brute.nse                          nessus-xmlrpc-brute.nse        smb-system-info.nse             vuze-dht-info.nse
dhcp-discover.nse                     http-exif-spider.nse                iax2-version.nse                        netbus-auth-bypass.nse         smb-vuln-conficker.nse          wdb-version.nse
dicom-brute.nse                       http-favicon.nse                    icap-info.nse                           netbus-brute.nse               smb-vuln-cve2009-3103.nse       weblogic-t3-info.nse
dicom-ping.nse                        http-feed.nse                       iec-identify.nse                        netbus-info.nse                smb-vuln-cve-2017-7494.nse      whois-domain.nse
dict-info.nse                         http-fetch.nse                      ike-version.nse                         netbus-version.nse             smb-vuln-ms06-025.nse           whois-ip.nse
distcc-cve2004-2687.nse               http-fileupload-exploiter.nse       imap-brute.nse                          nexpose-brute.nse              smb-vuln-ms07-029.nse           wsdd-discover.nse
dns-blacklist.nse                     http-form-brute.nse                 imap-capabilities.nse                   nfs-ls.nse                     smb-vuln-ms08-067.nse           x11-access.nse
dns-brute.nse                         http-form-fuzzer.nse                imap-ntlm-info.nse                      nfs-showmount.nse              smb-vuln-ms10-054.nse           xdmcp-discover.nse
dns-cache-snoop.nse                   http-frontpage-login.nse            impress-remote-discover.nse             nfs-statfs.nse                 smb-vuln-ms10-061.nse           xmlrpc-methods.nse
dns-check-zone.nse                    http-generator.nse                  informix-brute.nse                      nje-node-brute.nse             smb-vuln-ms17-010.nse           xmpp-brute.nse
dns-client-subnet-scan.nse            http-git.nse                        informix-query.nse                      nje-pass-brute.nse             smb-vuln-regsvc-dos.nse         xmpp-info.nse
dns-fuzz.nse                          http-gitweb-projects-enum.nse       informix-tables.nse                     nntp-ntlm-info.nse             smb-vuln-webexec.nse
dns-ip6-arpa-scan.nse                 http-google-malware.nse             ip-forwarding.nse                       nping-brute.nse                smb-webexec-exploit.nse
dns-nsec3-enum.nse                    http-grep.nse                       ip-geolocation-geoplugin.nse            nrpe-enum.nse                  smtp-brute.nse
dns-nsec-enum.nse                     http-headers.nse                    ip-geolocation-ipinfodb.nse             ntp-info.nse                   smtp-commands.nse
dns-nsid.nse                          http-hp-ilo-info.nse                ip-geolocation-map-bing.nse             ntp-monlist.nse                smtp-enum-users.nse

وبتقدر تثبت سكربتات من النت وتستخدمها في عمليات الفحص بس لازم تكون حذر لأن في سكربتات ممكن تكون خطيرة وممكن تسبب مشاكل
عشان نبدأ الفحص باستخدام السكربتات الافتراضية باستخدام الأمر script=default-- أو ببساطة إضافة sC-

فيما يلي جدول يوضح الفئات المتاحة للسكربتات ووصف لكل فئة ومثال عليهم:

فئة السكربتالوصف
أمثلة
المصادقة ( auth )سكربتات ذات صلة بالمصادقة
http-auth.nse​
البث ( broadcast )اكتشاف الأجهزة عن طريق إرسال رسائل بث
broadcast-ping.nse​
الاختراق ( brute )القيام بتدقيق كلمات المرور بالقوة الغاشمة ضد تسجيل الدخول
ftp-brute.nse​
الافتراضي ( default )السكربتات الافتراضية، نفس sC-
default.nse​
اكتشاف ( discovery )استرجاع المعلومات المتاحة، مثل جداول قواعد البيانات وأسماء DNS
http-title.nse​
DoS ( dos )اكتشاف الخوادم الضعيفة أمام هجمات إنكار الخدمة (DoS)
http-slowloris.nse​
استغلال ( exploit )محاولات استغلال خدمات معرضة للثغرات المتنوعة
http-vuln-cve2013-0156.nse​
خارجي ( external )التحقق باستخدام خدمة من جهة ثالثة، مثل Geoplugin و Virustotal
http-google-malware.nse​
الضجيج ( fuzzer )بدء هجمات الضجيج
http-flood.nse​
الاختراق ( intrusive )سكربتات متطفلة مثل هجمات القوة الغاشمة واستغلال الثغرات
mysql-brute.nse​
البرامج الضارة ( malware )مسح عن أبواب خلفية
http-backdoor.nse​
الآمن ( safe )السكربتات الآمنة التي لن تتسبب في تعطل الهدف
http-robots.txt.nse​
الإصدار ( version )استرجاع إصدارات الخدمات
http-server-header.nse​
الثغرات ( vuln )فحص الثغرات أو استغلال الخدمات الضعيفة
http-vuln-cve2017-1001000.nse​

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

كود:
pentester@TryHackMe$ sudo nmap -sS -sC 10.10.72.156

Starting Nmap 7.60 ( https://nmap.org ) at 2021-09-10 05:08 BST
Nmap scan report for ip-10-10-161-170.eu-west-1.compute.internal (10.10.161.170)
Host is up (0.0011s latency).
Not shown: 994 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
| ssh-hostkey:
|   1024 d5:80:97:a3:a8:3b:57:78:2f:0a:78:ae:ad:34:24:f4 (DSA)
|   2048 aa:66:7a:45:eb:d1:8c:00:e3:12:31:d8:76:8e:ed:3a (RSA)
|   256 3d:82:72:a3:07:49:2e:cb:d9:87:db:08:c6:90:56:65 (ECDSA)
|_  256 dc:f0:0c:89:70:87:65:ba:52:b1:e9:59:f7:5d:d2:6a (EdDSA)
25/tcp  open  smtp
|_smtp-commands: debra2.thm.local, PIPELINING, SIZE 10240000, VRFY, ETRN, STARTTLS, ENHANCEDSTATUSCODES, 8BITMIME, DSN,
| ssl-cert: Subject: commonName=debra2.thm.local
| Not valid before: 2021-08-10T12:10:58
|_Not valid after:  2031-08-08T12:10:58
|_ssl-date: TLS randomness does not represent time
80/tcp  open  http
|_http-title: Welcome to nginx on Debian!
110/tcp open  pop3
|_pop3-capabilities: RESP-CODES CAPA TOP SASL UIDL PIPELINING AUTH-RESP-CODE
111/tcp open  rpcbind
| rpcinfo:
|   program version   port/proto  service
|   100000  2,3,4        111/tcp  rpcbind
|   100000  2,3,4        111/udp  rpcbind
|   100024  1          38099/tcp  status
|_  100024  1          54067/udp  status
143/tcp open  imap
|_imap-capabilities: LITERAL+ capabilities IMAP4rev1 OK Pre-login ENABLE have LOGINDISABLEDA0001 listed SASL-IR ID more post-login LOGIN-REFERRALS IDLE
MAC Address: 02:A0:E7:B5:B6:C5 (Unknown)

Nmap done: 1 IP address (1 host up) scanned in 2.21 seconds

لما نجرب الأمر nmap -sS -sC 10.10.72.156 ظهرلنا :
خدمة SSH على البورت 22 حيث استعاد Nmap جميع المفاتيح العامة الأربع المتعلقة بالخادم الجاري
خدمة HTTP على البورت 80 حيث استرجع Nmap عنوان الصفحة الافتراضي يمكننا أن نرى أن الصفحة تم تركها كما هي افتراضيًا

يمكنك أيضًا تحديد السكربت بالاسم باستخدام script-- أو نمط مثل "*script "ftp-- الذي سيتضمن ftp-brute
إذا كنت غير متأكد من وظيفة السكربت بتفتح ملف السكريبت باستخدام قارئ نصوص مثل less أو محرر نصوص في حالة ftp-brute يُظهر :
يقوم بتدقيق كلمات المرور بالقوة الغاشمة ضد خوادم
FTP

1708676960143.png

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

تأكد من أنك مخول لاستخدام هيك سكريبتات او هيك فحوصات لانها قد تعرضك للمسائله القانونيه


مثال:
نجرب سكريبت مثل http-date اللي بوفرلنا تاريخ ووقت الخادم HTTP وهو ما يتم تأكيده في وصفه :
يحصل على التاريخ من خدمات تشبه HTTP كما أنه يطبع كم يختلف التاريخ عن التوقيت المحلي...


1708677260917.png

عند تنفيذ الكود التالي ظهرلنا المطلوب

كود:
pentester@TryHackMe$ sudo nmap -sS -n --script "http-date" 10.10.72.156

Starting Nmap 7.60 ( https://nmap.org ) at 2021-09-10 08:04 BST
Nmap scan report for 10.10.72.156
Host is up (0.0011s latency).
Not shown: 994 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
25/tcp  open  smtp
80/tcp  open  http
|_http-date: Fri, 10 Sep 2021 07:04:26 GMT; 0s from local time.
110/tcp open  pop3
111/tcp open  rpcbind
143/tcp open  imap
MAC Address: 02:44:87:82:AC:83 (Unknown)

Nmap done: 1 IP address (1 host up) scanned in 1.78 seconds

ولا تنسى " من الجيد عدم تشغيل سكربت من مؤلف لا تثق به "

1708677556916.png

ما الذي يتحقق منه البرنامج النصي http-robots.txt ؟
disallowed entries
يمكن إيجاده عن طريق الأمر

1708678023852.png

كود:
grep -rw '/path/to/search' -e 'MS15-034'
حيث أن الـ
r تعني البحث بشكل متكرر
w يعني البحث كلمة كاملة

هل يمكنك معرفة اسم البرنامج النصي الذي يتحقق من وجود ثغرة أمنية في تنفيذ التعليمات البرمجية عن بعد MS15-034 (CVE2015-1635) ؟
http-vuln-cve2015-1635
قم بتشغيل الـ Nmap باستخدام البرامج النصية الافتراضية sC- على 10.10.72.156 ستلاحظ وجود خدمة تستمع على المنفذ 53

1708678290364.png

ما قيمة نسختها الكاملة ؟
9.9.5-9+deb8u19-Debian
واستنادًا إلى وصفه فإن البرنامج النصي ssh2-enum-algos يبلغ عن عدد الخوارزميات (للتشفير، والضغط، وما إلى ذلك) التي يقدمها خادم SSH2 المستهدف

1708678680801.png

ما اسم خوارزميات تبادل المفاتيح (kex_algorithms) التي تعتمد على “sha1” والمدعومة بـ 10.10.72.156؟
diffie-hellman-group14-sha1


حفظ نتائج الفحص بصيغ مختلفة


لما تعمل فحص لأي جهاز إذا كنت حاب تحفظ النتائج بملف وأنك تختار اسم الملف اللي بدك تحفض النتائج فيه لأنه عدد الملفات يكبر بسرعة

ثلاث أنواع رئيسية لتنسيقات الملفات :

  1. تنسيق عادي Normal
  2. تنسيق يمكن البحث فيه Grepable
  3. تنسيق XML
وفي رابعة غير مُوصى به
  1. تنسيق Script Kiddie
تنسيق عادي Normal

التنسيق العادي هو نفس النتيجة اللي بتظهرلك على الشاشة وقت ما بتعمل فحص بتقدر تحفظ الفحص بتنسيق عادي باستخدام oN- بعدها اسم الملف الـ N بتعني Normal
كود:
pentester@TryHackMe$ cat 10.10.120.133_scan.nmap
# Nmap 7.60 scan initiated Fri Sep 10 05:14:19 2021 as: nmap -sS -sV -O -oN 10.10.120.133_scan MACHINE_IP
Nmap scan report for 10.10.120.133
Host is up (0.00086s latency).
Not shown: 994 closed ports
PORT    STATE SERVICE VERSION
22/tcp  open  ssh     OpenSSH 6.7p1 Debian 5+deb8u8 (protocol 2.0)
25/tcp  open  smtp    Postfix smtpd
80/tcp  open  http    nginx 1.6.2
110/tcp open  pop3    Dovecot pop3d
111/tcp open  rpcbind 2-4 (RPC #100000)
143/tcp open  imap    Dovecot imapd
MAC Address: 02:A0:E7:B5:B6:C5 (Unknown)
Device type: general purpose
Running: Linux 3.X
OS CPE: cpe:/o:linux:linux_kernel:3.13
OS details: Linux 3.13
Network Distance: 1 hop
Service Info: Host:  debra2.thm.local; OS: Linux; CPE: cpe:/o:linux:linux_kernel

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Fri Sep 10 05:14:28 2021 -- 1 IP address (1 host up) scanned in 9.99 seconds

تنسيق يمكن البحث فيه Grepable

الـ Grepable والاسم جاي من الأمر اللي اسمه grep في لينكس وهو اختصار لـ Global Regular Expression Printer وهو بسهل عليك تصفي ( تفلتر ) الناتج اللي بطلع من الفحص لكلمات معينة أو مصطلحات يعني بتقدر تحفظ الناتج من الفحص بتنسيق Grepable بإستخدام الأمر oG- بعدها اسم الملف
الناتج من الفحص اللي موجود فوق بتنسيق عادي كان فيه 21 سطر بس الناتج بتنسيق Grepable بكون فيه 4 سطور بس


كود:
pentester@TryHackMe$ cat 10.10.120.133_scan.gnmap
# Nmap 7.60 scan initiated Fri Sep 10 05:14:19 2021 as: nmap -sS -sV -O -oG 10.10.120.133_scan MACHINE_IP
Host: 10.10.120.133    Status: Up
Host: MACHINE_IP    Ports: 22/open/tcp//ssh//OpenSSH 6.7p1 Debian 5+deb8u8 (protocol 2.0)/, 25/open/tcp//smtp//Postfix smtpd/, 80/open/tcp//http//nginx 1.6.2/, 110/open/tcp//pop3//Dovecot pop3d/, 111/open/tcp//rpcbind//2-4 (RPC #100000)/, 143/open/tcp//imap//Dovecot imapd/    Ignored State: closed (994)    OS: Linux 3.13    Seq Index: 257    IP ID Seq: All zeros
# Nmap done at Fri Sep 10 05:14:28 2021 -- 1 IP address (1 host up) scanned in 9.99 seconds

السبب الرئيسي للفرق هاد إن Nmap بتخلي كل سطر يكون معناه كامل ومفهوم لما المستخدم يستخدم الـ grep فـ الناتج بتنسيق Grepable بكون فيه سطور طويلة جدًا ومش مناسبة للقراءة مقارنة بالناتج العادي
يعني
عند استخدام خيار oN- تنتج Nmap مخرجات بتنسيق نصي قياسي بتكون سهلة القراءة والفهم مباشرةً من خلالها
عند استخدام خيار oG- تنتج Nmap مخرجات في تنسيق Grepable واللي ممكن تكون بشكل غير ملائم للقراءة البشرية مباشرةً ولكنها بتكون مفيدة بما نبحث عن طريق grep عن البيانات

مثال عند استخدام الأثنين:


كود:
pentester@TryHackMe$ grep http 10.10.120.133_scan.nmap
80/tcp  open  http    nginx 1.6.2
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .


كود:
pentester@TryHackMe$ grep http 10.10.120.133_scan.gnmap
Host: 10.10.120.133    Ports: 22/open/tcp//ssh//OpenSSH 6.7p1 Debian 5+deb8u8 (protocol 2.0)/, 25/open/tcp//smtp//Postfix smtpd/, 80/open/tcp//http//nginx 1.6.2/, 110/open/tcp//pop3//Dovecot pop3d/, 111/open/tcp//rpcbind//2-4 (RPC #100000)/, 143/open/tcp//imap//Dovecot imapd/    Ignored State: closed (994)    OS: Linux 3.13    Seq Index: 257    IP ID Seq: All zeros



تنسيق XML

هو نوع من أنواع التنسيقات اللي بتستخدم لتخزين المعلومات بشكل منظم زي لما تخلي المعلومات مرتبة في جدول مثلًا
في مجال تمثيل نتائج الفحص الـ XML هو تنسيق مفيد لأنه بسمحلك تحلل المعلومات بشكل أفضل باستخدام برامج أخرى مثلًا لو عندك برنامج بحتاج يقرأ نتائج الفحص من Nmap فإن استخدام الـ XML هو الطريقة الأكثر ملائمة يمكنك استخدام خيار oX- مع Nmap لحفظ نتائج المسح بتنسيق XML


تنسيق Script Kiddie

النمط هاد ما بفيد إذا بدك تدور على أي كلمات مهمة في الناتج أو تخزن النتائج عشان ترجعلها بس تقدر تستخدمه عشان تخزن نتيجة الفحص بنفس الشكل هاد
كود:
pentester@TryHackMe$ cat 10.10.120.133_scan.kiddie

$tart!ng nMaP 7.60 ( httpz://nMap.0rG ) at 2021-09-10 05:17 B$T
Nmap scan rEp0rt f0r |p-10-10-161-170.EU-w3$t-1.C0mputE.intErnaL (10.10.161.170)
HOSt !s uP (0.00095s LatEncy).
N0T $H0wn: 994 closed pOrtS
PoRT    st4Te SeRViC3 VERS1on
22/tcp  Open  ssH     Op3n$$H 6.7p1 Deb|an 5+dEb8u8 (pr0t0COl 2.0)
25/tCp  Op3n  SmTp    P0$Tf!x Smtpd
80/tcp  0p3n  http    Ng1nx 1.6.2
110/tCP 0pen  pOP3    d0v3coT P0p3D
111/TcP op3n  RpcbInd 2-4 (RPC #100000)
143/Tcp opEn  Imap    Dovecot 1mApd
mAC 4Ddr3sz: 02:40:e7:B5:B6:c5 (Unknown)
Netw0rk d!stanc3: 1 h0p
$3rv1c3 InFO: Ho$t:  dEBra2.thM.lOcal; 0s: Linux; cPe: cP3:/0:linux:l|nux_k3rnel

0S and servIc3 D3tEcti0n pErf0rm3d. Plea$e r3p0rt any !nc0RrecT rE$ultz at hTtpz://nmap.0rg/$ubmit/ .
Nmap d0nE: 1 |P addr3SS (1 hoSt up) $CaNnEd !n 21.80 s3c0Ndz

حاطين نهفه محبيتش اذكرها 😅:ROFLMAO:
خلص عشانكم
الفحص هاد عشان تعرض اسم الملف اللي أنشأته وتتفاخر فيه أمام صحابك اللي مش عارفين يتعاملوا مع التكنولوجيا :)
لتنزيل تقارير Nmap بالتنسيقات العادية والقابلة للمعالجة
استخدم الأمر

كود:
scp [email protected]:/home/pentester/* .

1*8MYpj9F0Rer54T0EyZGdBg.png
لاحظ أن اسم المستخدم penester لديه كلمة المرور THM17577

تحقق من سجلات Nmap المرفقة كم عدد الأنظمة التي تستمع على منفذ HTTPS ؟
3

1*8rmWvuGcun54j0MPPUbuaA.png

ما هو عنوان IP الخاص بالنظام الذي يستمع على المنفذ 8089 ؟
172.17.20.147



ملخص

الخيارالمعنى
sV-تحديد معلومات الخدمة/الإصدار على المنافذ المفتوحة
sV --version-light-محاولة الاستفسارات الأكثر احتمالاً (2)
sV --version-all-محاولة جميع الاستفسارات المتاحة (9)
O-اكتشاف نظام التشغيل
traceroute--تشغيل تتبع المسار إلى الهدف
script=SCRIPTS--سكريبتات Nmap للتشغيل
sC- أو script=default--تشغيل السكريبتات الافتراضية
A-ما يعادل sV -O -sC --traceroute-
oN-حفظ الناتج بتنسيق عادي
oG-حفظ الناتج بتنسيق Grepable
oX-حفظ الناتج بتنسيق XML
oA-حفظ الناتج بتنسيق عادي، XML و Grepable
 
التعديل الأخير بواسطة المشرف:

آخر المشاركات

عودة
أعلى