در ادامه سری آموزش های 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
۲۱/tcp open ftp Pure-FTPd
۲۵/tcp open smtp Exim smtpd 4.93.0.4
۵۳/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
۸۰/tcp open http nginx
۱۱۰/tcp open pop3 Dovecot DirectAdmin pop3d
۱۴۳/tcp open imap Dovecot imapd
۴۴۳/tcp open ssl/http nginx
|_http-trane-info: Problem with XML parsing of /evox/about
۴۶۵/tcp open ssl/smtp Exim smtpd 4.93.0.4
۵۸۷/tcp open smtp Exim smtpd 4.93.0.4
۹۹۳/tcp open imaps?
۹۹۵/tcp open pop3s?
۲۲۲۲/tcp open ssl/http DirectAdmin httpd 1.61.4 (Registered to CSP)
|_http-server-header: DirectAdmin Daemon v1.61.4 Registered to CSP
۸۰۸۱/tcp closed blackice-icecap
۳۵۵۰۰/tcp closed unknown
Service Info: OS: Linux; CPE: cpe:/o:redhat:enterprise_linux:7
از نتایج کد بالا شناسه آسیبپذیری مانند CVE-2019-6470 نشان داده شده است. عدد روبروی شناسه، درجه آسیبپذیری یا 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
۸۰/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 – سری اول جهت کسب اطلاعات بیشتر مراجعه فرمایید.