






السمعة:
- إنضم17 يونيو 2023
- المشاركات 527
- الحلول 10
- مستوى التفاعل 1,124
- النقاط 93

Nmap
رح نركز على الخطوات اللي بعد الفحص الأول؛ اللي هو فحص البورتات؛ زي كيفية اكتشاف الخدمات المشغلة، واكتشاف نظام التشغيل بالإضافة لـ السكربتات في Nmap وكيفية حفظ نتائج الفحصرح نحكي عن المواضيع التاليه :
- اكتشاف إصدارات الخدمات اللي شغالة ( على كل البورتات المفتوحة )
- اكتشاف نظام التشغيل بناءً على أي مؤشرات تظهر من الهدف
- تشغيل traceroute في Nmap
- تشغيل سكربتات محددة في Nmap
- حفظ نتائج الفحص بصيغ مختلفة
الأسئلة من 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
ما هو الإصدار المكتشف للمنفذ 143 ؟
Dovecot imapd
ما الخدمة التي لم يتم اكتشاف إصدار بها باستخدام 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 بالمقال التالي:
[ WalkTh ] - الاستطلاع الـ Passive والـ Active و تطبيق عليهم ( Passive and Active Reconnaissance )
Passive and Active Reconnaissance في هذا الموضوع سوف نتحدث عن أمن الشبكات إن شاء الله ... الاستطلاع ( Reconnaissance ) يُعرف بأنه دراسة أولية لجمع المعلومات حول الهدف ويُقسم الاستطلاع إلى استطلاع سلبي ونشط 1. استطلاع السلبي ( Passive Reconnaissance ) : يعتمد على المعرفة المتاحة للجمهور ، بدون...

تشغيل سكربتات محددة في Nmap
الشرح عن Nmap Scripting Engine اللي هو عبارة عن محرك بستخدم لتنفيذ أشياء اسمها سكربتات في عمليات فحص الشبكاتالسكربت هاد عبارة عن قطعة من الكود اللي بتنفذها Nmap على طول بدون ما تحتاج تترجم أو يتحوّل للغة آلة السكربتات هاي بتقدم وظائف إضافية للبرنامج وهاد اللي بيخلي الـ Nmap تعمل أشياء مش متوفرة فيها من قبل.
مثلًا nmap بتدعم سكربتات مكتوبة بلغة اسمها Lua الـ Nmap Scripting Engine بكون مثبت فيه مترجم لغة Lua وبتيح لبرنامج Nmap ينفذ السكربتات هاي, الحلو أنك مش لازم تتعلم لغه Lua عشان تستخدم السكريبتات بـ Nmap الـ Nmap بتوفرلك ما يقرب 600 سكربت
ولو بتدور بمجلد تنصيب Nmap على جهازك بتشوف عدد كبير من الملفات المسماة بأسماء تبدأ بـ http مثلًا وهاد بدل على إنه في سكربتات كثير متوفرة لعملية فحص الـ HTTP
كود:
┌──(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
لازم تكون حذر لأن في سكربتات متطفلة وفي سكربتات ممكن تكون مخصصه لخادم معين وإذا تم اختيارها عشوائيًا بتضيع وقتك بدون فائدة
تأكد من أنك مخول لاستخدام هيك سكريبتات او هيك فحوصات لانها قد تعرضك للمسائله القانونيه
مثال:
نجرب سكريبت مثل http-date اللي بوفرلنا تاريخ ووقت الخادم HTTP وهو ما يتم تأكيده في وصفه :
يحصل على التاريخ من خدمات تشبه HTTP كما أنه يطبع كم يختلف التاريخ عن التوقيت المحلي...
عند تنفيذ الكود التالي ظهرلنا المطلوب
كود:
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
ولا تنسى " من الجيد عدم تشغيل سكربت من مؤلف لا تثق به "
يمكن إيجاده عن طريق الأمرما الذي يتحقق منه البرنامج النصي http-robots.txt ؟
disallowed entries
كود:
grep -rw '/path/to/search' -e 'MS15-034'
r تعني البحث بشكل متكرر
w يعني البحث كلمة كاملة
قم بتشغيل الـ Nmap باستخدام البرامج النصية الافتراضية sC- على 10.10.72.156 ستلاحظ وجود خدمة تستمع على المنفذ 53هل يمكنك معرفة اسم البرنامج النصي الذي يتحقق من وجود ثغرة أمنية في تنفيذ التعليمات البرمجية عن بعد MS15-034 (CVE2015-1635) ؟
http-vuln-cve2015-1635
واستنادًا إلى وصفه فإن البرنامج النصي ssh2-enum-algos يبلغ عن عدد الخوارزميات (للتشفير، والضغط، وما إلى ذلك) التي يقدمها خادم SSH2 المستهدفما قيمة نسختها الكاملة ؟
9.9.5-9+deb8u19-Debian
ما اسم خوارزميات تبادل المفاتيح (kex_algorithms) التي تعتمد على “sha1” والمدعومة بـ 10.10.72.156؟
diffie-hellman-group14-sha1
حفظ نتائج الفحص بصيغ مختلفة
لما تعمل فحص لأي جهاز إذا كنت حاب تحفظ النتائج بملف وأنك تختار اسم الملف اللي بدك تحفض النتائج فيه لأنه عدد الملفات يكبر بسرعة
ثلاث أنواع رئيسية لتنسيقات الملفات :
- تنسيق عادي Normal
- تنسيق يمكن البحث فيه Grepable
- تنسيق XML
- تنسيق 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
حاطين نهفه محبيتش اذكرها


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

لتنزيل تقارير Nmap بالتنسيقات العادية والقابلة للمعالجة
استخدم الأمر
كود:
scp [email protected]:/home/pentester/* .

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

ما هو عنوان 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 |
التعديل الأخير بواسطة المشرف: