NIKTO.PL(1) اسکنر آسیب‌پذیری NIKTO.PL(1)

nikto.pl - اسکن سرور وب برای آسیب‌پذیری‌های شناخته‌شده

nikto.pl [options...]

نیکتو (Nikto) یک اسکنر متن‌باز وب‌سرور است که آزمون‌های جامعی را در برابر وب‌سرورها برای موارد متعددی که عموماً خطرناک محسوب می‌شوند انجام می‌دهد. این ابزار موارد زیر را بررسی می‌کند:

•پیکربندی‌های نادرست سرور و نرم‌افزار
•فایل‌ها و برنامه‌های پیش‌فرض
•فایل‌ها و برنامه‌های ناامن
•سرورها و برنامه‌های منسوخ و قدیمی
•فایل‌های خطرناک
•سایر مشکلات

نیکتو بر روی LibWhisker2 (LW2) توسعه یافته است و می‌تواند بر روی هر پلتفرمی که دارای محیط پرل (Perl) باشد اجرا شود. این ابزار از SSL، پراکسی‌ها، احراز هویت میزبان، انکودینگ حملات و موارد دیگر پشتیبانی می‌کند. این برنامه می‌تواند به طور خودکار از طریق خط فرمان به‌روزرسانی شود و از ارسال اختیاری داده‌های نسخه به‌روزشده به توسعه‌دهندگان نیز پشتیبانی می‌کند.

-ask yes|no|auto

آیا درباره ارسال به‌روزرسانی‌ها سؤال شود یا خیر. گزینه‌ها: yes (سؤال در مورد هر مورد)، no (سؤال نشود، ارسال نشود)، auto (سؤال نشود، مستقیماً ارسال شود).

-Add-header header:value

افزودن هدرهای HTTP (می‌تواند چندین بار استفاده شود، برای هر جفت هدر یک بار).

-check6

بررسی فعال بودن IPv6 (اتصال به ipv6.google.com یا مقداری که در nikto.conf تنظیم شده است).

-Cgidirs dirs

اسکن این دایرکتوری‌های CGI. کلمات ویژه "none" یا "all" می‌توانند استفاده شوند. یک مقدار دقیق برای یک دایرکتوری CGI مانند "/cgi-test/" می‌تواند مشخص شود (باید شامل اسلش پایانی باشد).

-config file

استفاده از این فایل پیکربندی به جای فایل پیش‌فرض nikto.conf.

-dbcheck

بررسی پایگاه‌داده و سایر فایل‌های کلیدی از نظر خطاهای نحوی (syntax).

-Display options

روشن/خاموش کردن خروجی‌های نمایشی: 1 (نمایش ریدایرکت‌ها)، 2 (نمایش کوکی‌های دریافت شده)، 3 (نمایش تمامی پاسخ‌های 200/OK)، 4 (نمایش URLهایی که نیازمند احراز هویت هستند)، D (خروجی اشکال‌زدایی)، E (نمایش تمامی خطاهای HTTP)، P (چاپ میزان پیشرفت در STDOUT)، S (پاکسازی خروجی از IPها و نام میزبان‌ها)، V (خروجی با جزئیات کامل).

-evasion technique

تکنیک‌های کدگذاری (دور زدن IDS): 1 (کدگذاری تصادفی URI)، 2 (ارجاع به خود دایرکتوری)، 3 (پایان زودهنگام URL)، 4 (افزودن رشته تصادفی طولانی به ابتدا)، 5 (پارامتر ساختگی)، 6 (استفاده از TAB به عنوان فاصله‌ساز درخواست)، 7 (تغییر بزرگی و کوچکی حروف URL)، 8 (استفاده از جداکننده دایرکتوری ویندوز)، A (استفاده از carriage return به عنوان فاصله‌ساز درخواست)، B (استفاده از مقدار باینری 0x0b به عنوان فاصله‌ساز درخواست).

-followredirects

دنبال کردن ریدایرکت‌های 3xx به مکان جدید.

-Format format

فرمت ذخیره فایل: csv (مقادیر جداشده با کاما)، json (فرمت JSON)، htm (فرمت HTML)، sql (فرمت SQL عمومی، برای ساختار جداول به مستندات رجوع کنید)، sqld (SQL مستقیم، درج مستقیم در پایگاه‌داده MySQL/PostgreSQL)، txt (متن ساده)، xml (فرمت XML). فرمت‌های متعدد را می‌توان به صورت فهرستی جداشده با کاما مشخص کرد. در صورت عدم تعیین، فرمت از پسوند فایل داده‌شده به -output گرفته خواهد شد. نکته: فرمت sqld به متغیرهای DB_TYPE، DB_HOST، DB_PORT، DB_NAME در nikto.conf و متغیرهای محیطی NIKTO_DB_USER، NIKTO_DB_PASS نیاز دارد.

-Help

نمایش اطلاعات راهنمای گسترش‌یافته.

-host target

میزبان(های) هدف. می‌تواند یک آدرس IP، نام میزبان یا فایل متنی از میزبان‌ها باشد. یک خط تیره منفرد (-) ممکن است برای stdout استفاده شود. همچنین می‌تواند خروجی به سبک nmap -oG را تجزیه کند.

-id id:pass[:realm]

شناسه کاربری و گذرواژه برای استفاده در احراز هویت پایه‌ای (Basic) میزبان. فرمت به صورت "id:password" یا "id:password:realm" است.

-ipv4

صرفاً IPv4.

-ipv6

صرفاً IPv6.

-key file

فایل کلید گواهی کلاینت.

-list-plugins

فهرست کردن تمامی افزونه‌های موجود، بدون انجام آزمون.

-maxtime time

حداکثر زمان آزمون به ازای هر میزبان (مانند 1h، 60m، 3600s).

-mutate options

حدس زدن نام فایل‌های اضافی: 1 (آزمون تمامی فایل‌ها با تمامی دایرکتوری‌های ریشه)، 2 (حدس نام فایل‌های گذرواژه)، 3 (شمارش نام‌های کاربری از طریق آپاچی)، 4 (شمارش نام‌های کاربری از طریق cgiwrap)، 6 (تلاش برای حدس نام‌های دایرکتوری از فایل فرهنگ لغت).

-mutate-options options

ارائه اطلاعات و گزینه‌ها برای جهش‌ها (mutates).

-no404

غیرفعال کردن تلاش نیکتو برای حدس صفحه 404.

-nocookies

عدم استفاده از کوکی‌های دریافتی از پاسخ‌ها در درخواست‌های بعدی.

-nointeractive

غیرفعال کردن قابلیت‌های تعاملی.

-nolookup

عدم انجام جستجوی نام (name lookup) بر روی آدرس‌های IP.

-noslash

حذف اسلش پایانی از URL (به عنوان مثال تبدیل '/admin/' به '/admin').

-nossl

عدم استفاده از SSL برای اتصال به سرور.

-Option name=value

بازنویسی یک گزینه در nikto.conf؛ می‌تواند چندین بار صادر شود.

-output file

نوشتن خروجی در فایل مشخص‌شده ('.' برای نام‌گذاری خودکار). فرمت مورد استفاده از پسوند فایل گرفته خواهد شد. این مورد می‌تواند با استفاده از گزینه -Format بازنویسی شود.

-Pause seconds

مدت زمان مکث (عدد صحیح یا اعشاری) به ثانیه میان هر آزمون.

-Platform platform

پلتفرم هدف: nix (یونیکس/لینوکس)، win (ویندوز)، یا all (هر دو).

-Plugins list

فهرست افزونه‌ها برای اجرا (پیش‌فرض: ALL).

-port ports

پورت(های) TCP هدف. برای آزمایش بیش از یک پورت در همان میزبان، فهرست پورت‌ها را مشخص کنید. پورت‌ها می‌توانند به صورت یک محدوده (مانند 80-90) یا به صورت فهرستی جداشده با کاما (مانند 80,88,90) مشخص شوند. در صورت عدم تعیین، پورت 80 استفاده می‌شود.

-RSAcert file

فایل گواهی کلاینت.

-root path

افزودن مقدار ریشه به ابتدای تمام درخواست‌ها، فرمت به صورت /directory است.

-Save directory

ذخیره پاسخ‌های مثبت در این دایرکتوری ('.' برای نام‌گذاری خودکار).

-ssl

تنها آزمودن SSL بر روی پورت‌های مشخص‌شده. استفاده از این گزینه سرعت درخواست‌ها به پورت‌های HTTPS را به طور چشمگیری افزایش می‌دهد، زیرا در غیر این صورت درخواست HTTP ابتدا باید منقضی (timeout) شود.

-timeout seconds

مدت زمان انتظار بر حسب ثانیه پیش از تایم‌اوت شدن یک درخواست. مقدار پیش‌فرض تایم‌اوت ۱۰ ثانیه است.

-Tuning options

گزینه‌های تنظیم دقیق کنترل می‌کنند که نیکتو چه آزمون‌هایی را در برابر یک هدف به کار ببرد. به طور پیش‌فرض، اگر هر گزینه‌ای مشخص شود، فقط آن آزمون‌ها انجام خواهند شد. اگر از گزینه "x" استفاده شود، منطق را معکوس کرده و تنها آن آزمون‌ها را مستثنی می‌کند. برای مشخص کردن نوع، از شماره یا حرف ارجاع استفاده کنید؛ می‌توان چندین مورد را استفاده کرد:
•0 - بارگذاری فایل (File Upload)
•1 - فایل جالب / دیده‌شده در لاگ‌ها (Interesting File / Seen in logs)
•2 - پیکربندی نادرست / فایل پیش‌فرض (Misconfiguration / Default File)
•3 - افشای اطلاعات (Information Disclosure)
•4 - تزریق (XSS/اسکریپت/HTML)
•5 - بازیابی فایل از راه دور - درون ریشه وب (Inside Web Root)
•6 - منع سرویس (Denial of Service)
•7 - بازیابی فایل از راه دور - در سطح سرور (Server Wide)
•8 - اجرای دستور / شل از راه دور (Command Execution / Remote Shell)
•9 - تزریق اس‌کیوال (SQL Injection)
•a - دور زدن احراز هویت (Authentication Bypass)
•b - شناسایی نرم‌افزار (Software Identification)
•c - گنجاندن منبع از راه دور (Remote Source Inclusion)
•d - وب‌سرویس (WebService)
•e - کنسول مدیریتی (Administrative Console)
•x - معکوس کردن گزینه‌های تنظیم دقیق (شامل همه به جز موارد مشخص‌شده)

-url target

میزبان/آدرس هدف (نام مستعار -host).

-Userdbs type

بارگذاری تنها دیتابیس‌های کاربر، نه دیتابیس‌های استاندارد. گزینه‌ها: all (غیرفعال‌سازی دیتابیس‌های استاندارد و بارگذاری فقط دیتابیس‌های کاربر)، tests (غیرفعال‌سازی فقط db_tests و بارگذاری udb_tests).

-useragent string

بازنویسی عامل کاربر (useragent) پیش‌فرض.

-useproxy proxy

استفاده از پراکسی HTTP تعریف‌شده در فایل پیکربندی، یا ارائه‌شده به عنوان آرگومان با فرمت http://server:port.

-Version

نمایش نسخه نرم‌افزار نیکتو، افزونه‌ها و دیتابیس.

-vhost hostname

مشخص کردن هدر Host ارسالی به هدف.

-404code codes

نادیده گرفتن این کدهای HTTP به عنوان پاسخ‌های منفی (همیشه). فرمت به صورت "302,301" است.

-404string string

نادیده گرفتن این رشته در محتوای بدنه پاسخ به عنوان پاسخ منفی (همیشه). می‌تواند یک عبارت باقاعده باشد.

دیتابیس آزمون نیکتو از یک DSL کوچک برای انطباق پاسخ‌ها پشتیبانی می‌کند. تطبیق‌دهنده‌های زیر پشتیبانی می‌شوند:

•BODY: و !BODY: — تطبیق یا مستثنی کردن محتوا در بدنه پاسخ.
•HEADER: و !HEADER: — تطبیق یا مستثنی کردن محتوا در هدرهای HTTP.
•COOKIE: و !COOKIE: — تطبیق یا مستثنی کردن محتوا در کوکی‌های HTTP. (جدید)
•CODE: و !CODE: — تطبیق یا مستثنی کردن کدهای وضعیت HTTP.
BODY:login&&!BODY:logout&&HEADER:X-Powered-By&&COOKIE:sessionid

nikto.conf

فایل پیکربندی نیکتو. این فایل گزینه‌های سراسری نیکتو را تنظیم می‌کند. چندین فایل nikto.conf ممکن است وجود داشته باشند که به ترتیب زیر پردازش می‌شوند. با بارگذاری هر فایل پیکربندی، تنظیمات قبلی جایگزین می‌شوند:
•سراسری سیستم (مانند /etc/nikto.conf)
•دایرکتوری خانه (مانند $HOME/nikto.conf)
•دایرکتوری جاری (مانند ./nikto.conf)

${NIKTO_DIR}/databases/db*

فایل‌های پایگاه‌داده که نیکتو برای بررسی آسیب‌پذیری‌ها و اشکالات موجود در وب‌سرور استفاده می‌کند.

${NIKTO_DIR}/plugins/*.plugin

تمام افزونه‌های نیکتو در اینجا قرار دارند. خود نیکتو صرفاً یک اسکریپت پوششی (wrapper) برای مدیریت خط فرمان و انتقال به افزونه‌ها است.

${NIKTO_DIR}/templates

شامل قالب‌ها برای فرمت‌های خروجی نیکتو.

قابلیت‌های زیر در حال حاضر پشتیبانی نمی‌شوند:

•پراکسی‌های SOCKS

نیکتو توسط Chris Sullo و David Lodge نوشته شده و نگهداری می‌شود. برای سایر مشارکت‌کنندگان به مستندات اصلی مراجعه فرمایید.

تمامی کدها دارای حق نشر برای CIRT, Inc. هستند، به استثنای LibWhisker که حق نشر آن متعلق به (c) 2009 Jeff Forristal (wiretrip.net) است. سایر بخش‌های کد ممکن است همان‌طور که مشخص شده دارای حق نشر (C) باشند.

وبگاه نیکتو[1]

1.
وبگاه نیکتو
12/24/2025 http://www.cirt.net 2.5