در ادامه سری آموزش های nmap، در این پست به روش پیدا کردن آسیبپذیری توسط nmap پرداخته میشود. در بخش اول، nmap نسخههای نرمافزارهای آسیبپذیر روی هاست را بررسی میکند و در بخش دوم، nmap به بررسی آسیبپذیری SQL injection در URL میپردازد.
جستجوی CVE در nmap:
باگدشت در این صفحه برای شما عزیزان آموزش nmap را قرار داده است ، امیدواریم لذت ببرید.
برای استفاده از خاصیت جستجو آسیبپذیری توسط nmap، پکیج nmap-vulners را با دستور زیر در بخش فایلهای اسکریپت nmap دانلود میکنیم:
$cd /usr/share/nmap/scripts
$git clone https://github.com/vulnersCom/nmap-vulners
بعد از دانلود از کد دستوری زیر برای اجرای تابع استفاده شود:
nmap --script nmap-vulners -sV website.com
نتایج کد بالا مشابه زیر است:
Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-05 04:06 EDT
Nmap scan report for website.com (192.168.0.1)
Host is up (0.033s latency).
rDNS record for 192.168.0.1: pro18.domainname.host
Not shown: 986 filtered ports
PORT STATE SERVICE VERSION
21/tcp open ftp Pure-FTPd
25/tcp open smtp Exim smtpd 4.93.0.4
53/tcp open domain ISC BIND 9.11.4-P2 (RedHat Enterprise Linux 7)
| vulners:
| cpe:/a:isc:bind:9.11.4-p2:
| CVE-2019-6470 5.0 https://vulners.com/cve/CVE-2019-6470
| CVE-2017-3139 5.0 https://vulners.com/cve/CVE-2017-3139
|_ CVE-2020-8619 4.0 https://vulners.com/cve/CVE-2020-8619
80/tcp open http nginx
110/tcp open pop3 Dovecot DirectAdmin pop3d
143/tcp open imap Dovecot imapd
443/tcp open ssl/http nginx
|_http-trane-info: Problem with XML parsing of /evox/about
465/tcp open ssl/smtp Exim smtpd 4.93.0.4
587/tcp open smtp Exim smtpd 4.93.0.4
993/tcp open imaps?
995/tcp open pop3s?
2222/tcp open ssl/http DirectAdmin httpd 1.61.4 (Registered to CSP)
|_http-server-header: DirectAdmin Daemon v1.61.4 Registered to CSP
8081/tcp closed blackice-icecap
35500/tcp closed unknown
Service Info: OS: Linux; CPE: cpe:/o:redhat:enterprise_linux:7
از نتایج کد بالا شناسه آسیبپذیری مانند CVE-۲۰۱۹-۶۴۷۰ نشان داده شده است. عدد روبروی شناسه، درجه آسیبپذیری یا Base Score باگ پیدا شده را نشان میدهد و برابر ۵ است و این آسیبپذیری در نسخه اینترپرایز لینوکس RedHat وجود دارد.
آسیبپذیری SQL injection:
در این قسمت به بررسی جستجوی آسیبپذیری SQL-injection میپردازیم. این ابزار با بررسی URL queries به جستجوی تزریق SQL میپردازد. همچنین در فیلدهای فرومها، امکان تزریق SQL را بررسی میکند. بعد از بررسی امکان تزریق SQL دستورات دلخواه SQL توسط nmap بررسی میشود و تمام خطاها و آسیبپذیریهای ممکن در سرور را پیدا میکند. این ابزار آسیبپذیریهای رایج SQL را مورد بررسی قرار میدهد و برای خطاهای پیچیده SQL نیازمند ابزارهای دقیقتری است. دستورات اسکریپت SQL injection به شکل زیر است.
http-sql-injection.withinhost
تنها URLهای داخل هاست را بررسی میکند.
http-sql-injection.errorstrings
این دستور آدرسهای فایلهایی که دارای خطاهای رشتهای است را بررسی میکند.
http-sql-injection.url
شروع بررسی url با استفاده از spidering.
http-sql-injection.maxpagecount
حداکثر تعداد صفحات را برای بررسی تعیین میکند. مقدا منفی محدودیت تعداد را حذف میکند.(در حالت پیشفرض مقدار حداکثر عدد ۲۰ است.)
برای مثال دستور زیر برای بررسی آسیبپذیری سایت هدف به SQL injection بررسی میشود:
nmap -sV --script=http-sql-injection <target>
خروجی به شکل زیر است:
PORT STATE SERVICE
80/tcp open http syn-ack
| http-sql-injection:
| Possible sqli for queries:
| https://foo.pl/forms/page.php?param=13'%20OR%20sqlspider
| Possible sqli for forms:
| Form at path: /forms/f1.html, form's action: a1/check1.php. Fields that might be vulnerable:
| f1text
| Form at path: /forms/a1/../f2.html, form's action: a1/check2.php. Fields that might be vulnerable:
|_ f2text
شما همچنین می توانید به آموزش nmap – سری اول جهت کسب اطلاعات بیشتر مراجعه فرمایید.