сравниваем восемь популярных сканеров / Блог компании T.Hunter / ХабрСканеры веб-приложений — довольно популярная сегодня категория софта. Есть платные сканеры, есть бесплатные. У каждого из них свой набор параметров и уязвимостей, возможных для обнаружения. Некоторые ограничиваются только теми, что публикуются в OWASP Top Ten (Open Web Application Security Project), некоторые идут в своем black-box тестировании гораздо дальше.

В этом посте мы собрали восемь популярных сканеров, рассмотрели их подробнее и попробовали в деле. В качестве тренировочных мишеней выбрали независимые точки на двух платформах (.NET и php): premium.pgabank.com и php.testsparker.com.

Содержание

OWASP ZAP


Как можно догадаться по названию, за выпуск OWASP ZAP отвечает та самая организация OWASP, что мы упомянули во вступлении. Это бесплатный инструмент для тестирования на проникновение и для поиска уязвимостей в веб-приложениях.

Основные возможности OWASP ZAP:

  • Man-in-the-middle Proxy
  • Traditional and AJAX spiders
  • Automated scanner
  • Passive scanner
  • Forced browsing
  • Fuzzer

Дополнительные фичи
  • Dynamic SSL certificates
  • Smartcard and Client Digital Certificates support
  • Web sockets support
  • Support for a wide range of scripting languages
  • Plug-n-Hack support
  • Authentication and session support
  • Powerful REST based API
  • Automatic updating option
  • Integrated and growing marketplace of add-ons

Интерфейс программы переведен на русский, что будет удобно для некоторых пользователей. Рабочая область OWASP ZAP складывается из нескольких окон. Внизу — вкладки с текущими заданиями и процесс их выполнения, слева — дерево сайтов, дополнительно можно вывести в правую часть окна запросов и ответов.

С помощью маркетплейса можно немного расширить функциональность сканера.

У каждого компонента программы есть много настраиваемых параметров. Например, мы можем настроить входящие векторы для активного сканирования, сгенерировать динамические SSL-сертификаты, добавить идентификаторы HTTP-сессий и т.д.

Перейдем к тестам. При сканировании сайта php.testsparker.com была найдена Blind SQL Injection. На этом критичные уязвимости заканчиваются.

Полные результаты OWASP ZAP на php.testsparker.com

H: Advanced SQL Injection — AND boolean-based blind — WHERE or HAVING clause
M: X-Frame-Options Header Not Set
L: X-Content-Type-Options Header Missing
L: Web browser xss protection is not enabled


На premium.bgabank.com мы видим более интересные результаты: найдена возможность Server Side Include (SSI) и Reflected Cross Site Scripting.Полные результаты OWASP ZAP на premium.bgabank.com

H: Server Side Include

H: Reflected Cross Site Scripting
M: X-Frame-Options Header Not Set
M: Application Error Disclosure
M: Directory Browsing
M: Secure Pages Include Mixed Content (Including Scripts)
L: X-Content-Type-Options Header Missing
L: Web browser xss protection is not enabled
L: Cross-Domain JavaScript Source File Inclusion
L: Incomplete or No Cache-control and Pragma HTTP Header Set
L: Cookie No HttpOnly Flag
L: Cookie Without Secure Flag
L: Content-Type Header Missing
L: Private IP Disclosure
I: Image Exposes Location or Privacy Data


Все результаты сканирования можно экспортировать в отчет (поддерживается *.pdf, *.html, *.xml, *.json). В отчете подробно описываются уязвимости, найденные векторы, а также методы «закрытия» уязвимостей.

В целом работать с OWASP ZAP нам понравилось. Есть все необходимые инструменты для пентеста веб-приложения, простой и понятный интерфейс, быстрое сканирование в один клик. И при этом гибкие, глубокие настройки для более детального сканирования, что может послужить отправной точкой для дальнейшего ручного поиска уязвимостей. Ниже мы еще расскажем о сканере Burp Suite Pro, который имеет с OWASP ZAP много общего. По количеству и качеству найденных уязвимостей первый рассмотренный нами сканер показал очень неплохой результат. Рекомендован к использованию в работе.

W9scan


W9scan — это бесплатный консольный сканер уязвимостей сайта с более чем 1200 встроенными плагинами, которые могут определять отпечатки веб-страниц, портов, проводить анализ структуры веб-сайта, находить различные  популярные уязвимости, сканировать на SQL Injection, XSS и т. д.Более полный список возможностей W9scan— Fingerprint detection
  • Can identify common website CMS fingerprints ( 300+)
  • Recognizable common website frame
  • Identify common port service fingerprints
  • Detect website scripting language
  • Detect operating system type
  • Detection Website Firewall (WAF)

— Attack parameter
  • SQL injection (based on crawlers)
  • XSS injection (based on reptiles)
  • A large number of Fuzz parameter scans
  • CVE vulnerability
  • struts Vulnerability collection (including automatic detection)
  • Shellshock cgi test
  • heartbeat Bleeding heart
  • IIS parsing vulnerability
  • IIS Put vulnerability

— Violent cracking
  • Backup files and directories (based on crawlers)
  • Backup files and directories (based on domain name)
  • Common directory
  • Common file
  • Subdomain violence analysis
  • fckeditorPath enumeration
  • Common mdbdatabase enumeration
  • git svn Leak identification
  • TOMCAT web.xml Give way

— Сollect message
  • Emails (based on reptiles)
  • Private IP (based on reptiles)
  • E-mail (based on reptiles)
  • Detecting Warnings, Fatal Error,…
  • PHP version identification
  • IIS information disclosure
  • IP address attribution
  • Integrated Wappalyzer recognition script
  • robots.txt Analysis
  • Detecting unsafe headers in headers
  • Detecting unsafe factors in cookies


W9scan автоматически генерирует отчеты о результатах сканирования в формате HTML. Для запуска сканирования требуется только указать URL сайта и плагины, которые будут использоваться. Можно выбрать сразу все, дописав «all».

При сканировании php.testsparker.com W9scan нашел svn и возможные пути загрузки payload. Из менее критичного — определил версии используемых сервисов, возможные векторы проведения XXE, XXS-атак, нашел конфигурационные файлы сервера и провел поиск субдоменов.

На сайте premium.bgabank.com ничего критичного найдено не было. Но сканер определил возможные векторы проведения атак, определены версии сервисов, директории и субдомены.

По результатам сканирования W9scan автоматически генерирует файл отчета в формате HTML.

W9scan сканер подойдет для быстрого запуска в одну команду и мы рекомендуем использовать его как вспомогательный инструмент для определения версий сервисов, а также потенциальных векторов атак.

Wapiti


Ещё один неплохой консольный сканер. Так же, как и W9scan, готов к старту в одну команду, при этом имеет больше разных настроек сканирования.

Wapiti производит поиск следующих уязвимостей:

  • File disclosure (Local and remote include/require, fopen, readfile…)
  • Database Injection (PHP/JSP/ASP SQL Injections and XPath Injections)
  • XSS (Cross Site Scripting) injection (reflected and permanent)
  • Command Execution detection (eval(), system(), passtru()…)
  • CRLF Injection (HTTP Response Splitting, session fixation…)
  • XXE (XML External Entity) injection
  • SSRF (Server Side Request Forgery)
  • Use of know potentially dangerous files
  • Weak .htaccess configurations that can be bypassed
  • Presence of backup files giving sensitive information
  • Shellshock

В дополнение ко всему перечисленному имеется поддержка прокси (HTTP, HTTPs и SOCKS5), различных методов аутентификации (Basic, Digest, Kerberos, NTLM),  поддержка SSL-сертификатов, возможность добавления различных HTTP-заголовков или настроек user-agent.

При сканировании сайта php.testsparker.com были найдены уязвимости Blind SQL Injection, Cross Site Scripting, Commands execution. На premium.bgabank.com Wapiti в сравнении с другими сканерами показывает не такие выдающиеся результаты: был обнаружен только Cross Site Scripting.

По результатам работы сканера также формируется отчет в формате HTML, в котором содержатся категории и число найденных уязвимостей, их описание, запросы, команды для curl и советы о том, как закрыть найденные дыры в безопасности.

Как и следовало ожидать, Wapiti до уровня OWASP ZAP, конечно, не дотягивает. Но все же он отработал качественнее W9scan, хотя не был произведен поиск директорий, субдоменов и определение версий сервисов.

Arachni


Мощный бесплатный комбайн для теста защищенности веб-приложений  и поиска уязвимостей. Имеет графический интерфейс и огромную функциональность, о которой более подробно можно почитать на официальном сайте.

Активное тестирование:

  • SQL injection — Error based detection
  • Blind SQL injection using differential analysis
  • Blind SQL injection using timing attacks
  • NoSQL injection — Error based vulnerability detection
  • Blind NoSQL injection using differential analysis

Полный список функций для активного тестирования
  • CSRF detection
  • Code injection
  • Blind code injection using timing attacks
  • LDAP injection
  • Path traversal
  • File inclusion
  • Response splitting
  • OS command injection
  • Blind OS command injection using timing attacks
  • Remote file inclusion
  • Unvalidated redirects
  • Unvalidated DOM redirects
  • XPath injection
  • XSS
  • Path XSS
  • XSS in event attributes of HTML elements
  • XSS in HTML tags
  • XSS in script context
  • DOM XSS
  • DOM XSS script context
  • Source code disclosure
  • XML External Entity


Пассивное тестирование:
  • Allowed HTTP methods
  • Backup files
  • Backup directories
  • Common administration interfaces
  • Common directories
  • Common files

Полный список функций для пассивного тестирования
  • HTTP PUT
  • Insufficient Transport Layer Protection for password forms
  • WebDAV detection ( webdav).
  • HTTP TRACE detection
  • Credit Card number disclosure
  • CVS/SVN user disclosure
  • Private IP address disclosure
  • Common backdoors
  • .htaccess LIMIT misconfiguration
  • Interesting responses
  • HTML object grepper
  • E-mail address disclosure
  • US Social Security Number disclosure
  • Forceful directory listing
  • Mixed Resource/Scripting
  • Insecure cookies
  • HttpOnly cookies
  • Auto-complete for password form fields.
  • Origin Spoof Access Restriction Bypass
  • Form-based upload
  • localstart.asp
  • Cookie set for parent domain
  • Missing Strict-Transport-Security headers for HTTPS sites
  • Missing X-Frame-Options headers
  • Insecure CORS policy
  • Insecure cross-domain policy
  • Insecure cross-domain policy
  • Insecure client-access policy


Внушительно, не правда ли? Но и это не все. В «паутину» завернута ещё куча плагинов, например Passive Proxy, Dictionary attacker for HTTP Auth, Cookie collector, WAF Detector и др.

Сканер имеет приятный и лаконичный веб-интерфейс:

И вот что нашел Arachni на наших тестовых сайтах. Php.testsparker.com:

  • Cross-Site Scripting (XSS) in script context
  • Blind SQL Injection (differential analysis)
  • Code injection
  • Code injection (timing attack)
  • Operating system command injection (timing attack)
  • Operating system command injection

Остальные уязвимости на php.testsparker.com

H: File Inclusion
H: Cross-Site Scripting (XSS) in HTML tag
H: Cross-Site Scripting (XSS)
H: Path Traversal
M: Backup file
M: Common directory
M: HTTP TRACE
L: Missing ‘X-Frame-Options’ header
L: Password field with auto-complete
L: Insecure client-access policy
L: Insecure cross-domain policy (allow-access-from)
L: Common sensitive file


На premium.bgabank.com из критичного была обнаружена только возможность межсайтовой подделки запросов (CSRF).Полные результаты Arachni на premium.bgabank.com

H: Cross-Site Request Forgery
M: Mixed Resource
M: HTTP TRACE
M: Common directory
M: Missing ‘Strict-Transport-Security’ header
L: Private IP address disclosure


Отдельно отметим, какие симпатичные отчеты выдает нам Arachni. Поддерживается немало форматов — HTML, XML, text, JSON, Marshal, YAML, AFR.

В общем, Arachni оставляет после работы только положительные впечатления. Наше мнение: это «маст хэв» в арсенале любого уважающего себя спеца.

Paros


Еще один сканер веб-уязвимостей с графическим интерфейсом. По умолчанию включен в дистрибутив Kali Linux и установлен там локально. Имеет встроенный прокси, через который добавляются сайты для анализа, встроенный веб-паук, способный анализировать сайт и строить карту запросов.

Для сканирования личного кабинета пользователя необходимо авторизоваться в браузере с включенным перенаправлением трафика через прокси Paros. Сканер будет использовать авторизованные куки в процессе сканирования. Отчет о работе можно экспортировать в HTML. Он сохраняется в файл root/paros/session/LatestScannedReport.htm и в дальнейшем перезаписывается. Если вы хотите сохранить результат предыдущего сканирования, то перед началом следующего сканирования необходимо создать копию имеющегося файла.

Основные возможности (с оглядкой на OWASP TOP 10 2017):

  • A1: Injection — SQLinjection, SQLinjection Fingerprint (места, где потенциально может быть SQLinj)
  • A6: Security Misconfiguration — Directory browsing, ISS default file, Tomcat source file disclosure, IBM WebSphere default files и некоторые другие стандартные или устаревшие файлы (Obsolete file), содержащие исходный код и прочее.
  • A7: XSS

Дополнительные возможности:
  • Поиск включенного автозаполнения для форм паролей. При этом если у поля input есть атрибут type=«password»,  получается ложное срабатывание.
  • CRLF injection
  • Secure page browser cache (кэширование страниц в браузере c важной информацией)
  • Возможность сканирования защищенной области пользователя (личный кабинет)
  • Возможность сканирования веб-приложений в локальной сети

В финальном отчете к каждому типу уязвимостей есть более подробная информация и некоторые рекомендации о способе устранения.

В нашем тестировании Paros показал довольно слабые результаты. На php.testsparker.com были найдены:

H: SQL injection
M: XSS
M: Устаревшие файлы с исходным кодом
M: Использование автозаполнения в формах с важной информацией (пароли и прочее).
L: Раскрытие внутренних IP
На premium.bgabank.com и того меньше:
M: Directory browsing
M: Использование автозаполнения в формах с важной информацией (пароли и прочее).

В итоге, хотя сканер Paros прост и достаточно удобен в использовании, слабые результаты сканирования заставляют отказаться от его использования.

Tenable.io


Платный многофункциональный облачный сканер, который умеет находить большое число веб-уязвимостей и почти полностью покрывает OWASP TOP 10 2017.

Сервис имеет встроенного веб-паука. Если в настройках сканирования указать данные авторизации (запрос авторизации, логин и пароль, авторизованные куки), то сканер проверит и личный кабинет (зону авторизованного пользователя).

Кроме сканирования веб-приложений, Tenable.io умеет сканировать сеть — как на предмет известных уязвимостей, так и для поиска хостов. Возможно подключение агентов для сканирования внутренней сети. Есть возможность экспортирования отчета в различные форматы: *.nessus, *.csv, *.db, *.pdf.


На скриншоте все домены «тестовые»


Дополнительные профили сканирования. В данной статье не затрагиваются

После сканирования становится доступна статистика и приоритизация найденных уязвимостей — critical, high, middle, low, information

В карточке уязвимости представлена дополнительная информация о ней и некоторые рекомендации по ее устранению.

Сканируем php.testsparker.com. Уязвимости с приоритетом high:

H: Уязвимости компонентов
— вышедшая из поддержки версия PHP
— вышедшая из поддержки версия Apache
H: Code injection
H: SQLinj
H: XSS
H: LFI
H: Path Traversal

Middle- и low-уязвимости

M: Раскрытие ценных данных — полный путь, бекапы
M: Раскрытие внутренних IP
M: Cookie без флага HTTPOnly
M: Отправка пароля по HTTP
L: Использование автозаполнения в формах с важной информацией
L: Ответ сервера на TRACE запросы
L: Не установлены header`ы Cache-Control, X-Content-Type-Options, X-Frame-Options, X-XSS-Protection


Теперь premium.bgabank.com. Уязвимости с приоритетом high:

H: Уязвимости компонентов

  • вышедшая из поддержки версия PHP
  • уязвимости Apache
  • уязвимости Bootstrap
  • уязвимости JQuery

Middle- и low-уязвимости

M: Web server phpinfo()
M: Совместное использование HTTP и HTTPS
M: Отсутствие перенаправления с HTTP на HTTPS
M: Directory browsing
M: Найдены backup файлы
M: Использование небезопасной версии протокола SSL
M: Истечение срока сертификата SSL/TLS
L: Раскрытие внутренних IP
L: Cookie без флага HTTPOnly
L: Ответ сервера на TRACE запросы
L: Не установлены header`ы Strict-Transport-Security, Cache-Control, X-Content-Type-Options, X-Frame-Options, X-XSS-Protection


Сканер Tenable.io показал себя хорошо, нашел множество уязвимостей. Работу с ним упрощает удобный графический интерфейс и представление данных. Еще один плюс — наличие дополнительных профилей сканирования, в которые мы пока решили не зарываться. Важной особенностью является облачная структура сервиса. С одной стороны, сервис не использует локальные вычислительные ресурсы рабочего компьютера. С другой — не сможет просканировать веб-приложения в локальной сети.

Burp Suite Pro


Burp Suite — это комплексное решение для проверок веб-приложений. Оно включает в себя разнообразные утилиты, позволяющие улучшить и ускорить поиск уязвимостей веб-приложений.

В составе Burp Suite есть следующие утилиты:

  • Proxy — прокси-сервер, который перехватывает трафик, проходящий по протоколу HTTP(S), в режиме man-in-the-middle. Находясь между браузером и целевым веб-приложением, эта утилита позволяет перехватывать, изучать и изменять трафик, идущий в обоих направлениях.
  • Spider — веб-паук, который в автоматическом режиме собирает информацию о содержимом и функционале приложения (веб-ресурса).
  • Scanner (только в Burp Suite Pro) — сканер для автоматического поиска уязвимостей в веб-приложениях.
  • Intruder — гибкая утилита, позволяющая в автоматическом режиме производить атаки различного вида. Например, перебор идентификаторов, сбор важной информации и прочее.
  • Repeater — инструмент для ручного изменения и повторной отсылки отдельных HTTP-запросов, а также для анализа ответов приложения.
  • Sequencer — утилита для анализа случайных данных приложения на возможность предсказания алгоритма их генерации.
  • Decoder — утилита для ручного или автоматического кодирования и декодирования данных приложения.
  • Comparer — инструмент для поиска визуальных различий между двумя вариациями данных.
  • Extender — инструмент для добавления расширений в Burp Suite

Утилита Scanner представлена в одноименной вкладке основного окна программы Burp Suite. Интерфейс англоязычный, но кого сейчас это может отпугнуть?

На вкладке Issue Definition представлен полный список всех уязвимостей, которые способен выявить данный сканер. Следует отметить, что список весьма внушительный.

Все уязвимости разделены на 3 категории: high, medium, low. Также есть категория information, к которой относятся механизмы сбора различной полезной информации о сканируемом ресурсе.
При запуске сканирования в окне Scan queue мы можем наблюдать за прогрессом по этапам. «Цветовая дифференциация штанов» присутствует.

На вкладке Options выполняется основная настройка параметров сканирования.

Для удобства опции разбиты по категориям. При необходимости можно получить справку по каждой категории прямо из окна настройки.

В целом Burp Suite Pro показал неплохой результат. При сканировании php.testsparker.com было найдено и классифицировано достаточно уязвимостей чтобы получить полный контроль над веб приложением и его данными — это и OS command injection, и SSTI, и File path traversal.

Полные результаты Burp Suite Pro на php.testsparker.com

H: OS command injection
H: File path traversal
H: Out-of-band resource load (HTTP)
H: Server-side template injection
H: Cross-site scripting (reflected)
H: Flash cross-domain policy
H: Silverlight cross-domain policy
H: Cleartext submission of password
H: External service interaction (DNS)
H: External service interaction (HTTP)
M: SSL certificate (not trusted or expired)
L: Password field with autocomplete enabled
L: Form action hijacking (reflected)
L: Unencrypted communications
L: Strict transport security not enforced


На сайте premium.bgabank.com были найдены:
H: Cross-site scripting (reflected)
M: SSL cookie without secure flag set
M: SSL certificate (not trusted or expired)
L: Cookie without HttpOnly flag set
L: Password field with autocomplete enabled
L: Strict transport security not enforced

Если для веб-пентеста вы часто используете Burp Suite, вам нравится его экосистема, но хотелось бы как-то автоматизировать процесс поиска уязвимостей, то эта утилита отлично впишется в ваш арсенал.

Acunetix


В заключение — еще один весьма неплохой коммерческий сканер. Его очень активно продвигают с помощью рекламы, но Acutenix не добился бы успеха без своей обширной функциональности. Среди доступных ему для обнаружения уязвимостей — все виды SQL injection, Cross site scripting, CRLF injection и прочие радости пентестера веб-приложений. Стоит отметить, что для качественного сканирования требуется выбрать правильный профиль.

Интерфейс дашборда приятный:

Все выявленные уязвимости по традиции раскладываются на четыре категории: High, Medium, Low. Ну и куда же без категории Information, в которую включаются все интересные, по мнению сканера, данные.

На вкладке Scans мы можем наблюдать прогресс сканирования и прочую диагностическую информацию.

После завершения сканирования на вкладке Vulnerabilities мы можем ознакомиться с тем, что и в каком количестве было найдено. Цветовая дифференциация на месте.

В тесте на php.testsparker.com сканер показал неплохой результат, а вот с premium.bgabank.com откровенно подкачал.

Полные результаты Acunetixphp.testsparker.com:
H: Apache 2.2.14 mod_isapi Dangling Pointer
H: Blind SQL Injection
H: Cross site scripting
H: Cross site scripting (verified)
H: Directory traversal
H: File inclusion
H: PHP code injection
H: Server-side template injection
H: SVN repository found
H: User controllable script source
M: Access database found
M: Apache 2.x version older than 2.2.9
M: Apache httpd remote denial of service
M: Apache httpOnly cookie disclosure
M: Application error message
M: Backup files
M: Directory listing
M: HTML form without CSRF protection
M: Insecure clientaccesspolicy.xml file
M: Partial user controllable script source
M: PHP hangs on parsing particular strings as floating point number
M: PHP preg_replace used on user input
M: Source code disclosure
M: User credentials are sent in clear text
L: Apache 2.x version older than 2.2.10
L: Apache mod_negotiation filename bruteforcing
L: Clickjacking: X-Frame-Options header missing
L: Login page password-guessing attack
L: Possible relative path overwrite
L: Possible sensitive directories
L: Possible sensitive files
L: TRACE method is enabled

premium.bgabank.com:
L: Clickjacking: X-Frame-Options header missing

Acunetix имеет большие возможности и подойдет, если вы ищете stand-alone решение. Веб-интерфейс прост и понятен, инфографика и отчеты выглядят вполне удобоваримо. Возможны осечки при сканировании, но, как говорил Тони Старк: «С мужиками такое случается. Не часто. Один разок из пяти».

Общие итоги


А теперь выводы по всем протестированным сканерам.
  • OWASP ZAP нам понравился. Рекомендуем к использованию.
  • W9scan мы рекомендуем использовать как вспомогательный инструмент для определения версий и сервисов, а также потенциальных векторов атак.
  • Wapiti до OWASP ZAP не дотягивает, но у нас отработал качественнее W9scan.
  • Arachni — это просто «маст-хэв».
  • Paros сканирует слабо, и мы его не рекомендуем.
  • Tenable.io хорош, находит множество уязвимостей. Но стоит учесть, что он облачный.
  • Burp Suite Pro мы советуем тем, кому нравится экосистема Burp Suite, но не хватает автоматизации.
  • Acunetix подойдет тем, кто ищет сканер как stand-alone приложение.
12 бесплатных инструментов для поиска уязвимостей и вредоносных программ на сайте

Одним из наиболее важных вопросов в области информационных технологий является безопасность. Знаете ли вы, что 96% тестируемых приложений имеют уязвимости?

Ниже приведена диаграмма от Cenzic, на которой показаны различные типы найденных уязвимостей.

В этой статье я расскажу о бесплатных инструментах для сканирования сайта на наличие уязвимостей и вредоносных программ.

Список рассматриваемых инструментов:

  • Scan My Server;
  • SUCURI;
  • Qualys SSL Labs, Qualys FreeScan;
  • Quttera;
  • Detectify;
  • SiteGuarding;
  • Web Inspector;
  • Acunetix;
  • Asafa Web;
  • Netsparker Cloud;
  • UpGuard Web Scan;
  • Tinfoil Security.

ScanMyServer предоставляет один из самых полных отчетов по тестам безопасности: SQL-инъекциям, межсайтовому скриптингу, инъекциям PHP-кода, раскрытию источника, установке HTTP-заголовков и многое другое.

Отчет о проверке отправляется по электронной почте с кратким описанием найденных уязвимостей.

SUCURI является самым популярным бесплатным сканером вредоносных программ. Вы можете быстро протестировать сайт на наличие вредоносного кода, SPAM-инъекций и его присутствие в различных черных списках.

SUCURI также очищает и защищает сайт от онлайн-угроз. Инструмент работает на любых CMS, включая WordPress, Joomla, Magento, Drupal, phpBB и т. д.

SSL Labs является одним из популярных инструментов для сканирования веб-сервера SSL. Он обеспечивает углубленный анализ https URL-адреса, общий рейтинг, шифр, версию SSL / TLS, имитацию рукопожатий, информацию о протоколе, BEAST и многое другое.

FreeScan проверяет сайты на OWASP Top Risks и вредоносные программы, по параметрам безопасности SCP, а также выполняет другие тесты. Чтобы выполнить сканирование, необходимо зарегистрировать бесплатную учетную запись.

Quttera проверяет сайт на наличие вредоносных программ и уязвимостей.


Этот инструмент сканирует сайт на наличие вредоносных файлов, подозрительных файлов, потенциально подозрительных файлов, phishTank, а также присутствие в списках безопасного просмотра (Google, Yandex) и списках вредоносных программ.

Detectify — это сканер сайта, основанный на SaaS. Он позволяет проводить более 100 автоматических тестов безопасности, включая тест OWASP Top 10, наличие вредоносного программного обеспечения и многие другие.

Detectify предоставляет 21-дневную бесплатную ознакомительную версию.

SiteGuarding позволяет проверить домен на наличие вредоносного программного обеспечения, присутствия в черных списках, инъекций спама и многого другого.

Сканер совместим с WordPress, Joomla, Drupal, Magento, osCommerce, Bulletin и другими платформами.

SiteGuarding также помогает удалить вредоносное программное обеспечение с сайта.

Web Inspector сканирует сайт и предоставляет отчеты — «черный список», «фишинг», «вредоносные программы», «черви», «бэкдоры», «трояны», «подозрительные фреймы», «подозрительные подключения».

Acunetix проверяет весь сайт на наличие более 500 различных уязвимостей.

Инструмент предоставляет бесплатную пробную версию на 14 дней.

AsafaWeb предлагает сканирование трассировки, пользовательских ошибок, трассировки стека, патча Hash DoS, журнала EMLAH, HTTP Only Cookies, Secure Cookies, Clickjacking и многого другого.

Netsparker Cloud — это сканер безопасности корпоративных веб-приложений, который способен обнаружить более 25 критических уязвимостей. Он бесплатен для проектов с открытым исходным кодом. Также можно запросить пробную версию инструмента.

UpGuard Web Scan — это инструмент оценки внешних рисков, который использует общедоступную информацию по различным факторам, включая SSL, атаки Clickjack, Cookie, DNSSEC, заголовки и т. д. Он все еще находится на стадии бета-тестирования, но его стоит попробовать.

Tinfoil Security сначала проверяет сайт на наличие 10 уязвимостей OWASP, а затем на другие известные угрозы. В конечном итоге вы получите отчет о действиях и сможете повторно просканировать сайт после внесения необходимых исправлений.

Полная настройка займет около 5 минут. Просканировать сайт можно даже если он защищен или для входа на него требуется регистрация.

Одним из основных факторов безопасности любого сайта является постоянный контроль, поэтому вы получите уведомление, когда он дает сбой или подвергается взлому.

Перечисленные инструменты позволяют сканировать сайт по запросу и запланировать автоматическую проверку безопасности. Надеюсь, что приведенный список специализированных средств поможет вам выполнить проверку безопасности сайта.

Данная публикация представляет собой перевод статьи «12 Online Free Tools to Scan Website Security Vulnerabilities & Malware» , подготовленной дружной командой проекта Интернет-технологии.ру

Обзор бесплатных инструментов для пентеста web-ресурсов и не только v2 / ХабрКак-то давно я уже писал об этом, но немного скудно и сумбурно. После я решил расширить список инструментов в обзоре, добавить статье структуры, учесть критику (большое спасибо Lefty за советы) и отправил ее на конкурс на СекЛаб (и опубликовал ссылку, но по всем понятным причинам ее никто не увидел). Конкурс закончен, результаты объявили и я с чистой совестью могу ее (статью) опубликовать на Хабре.
Бесплатные инструменты пентестера веб-приложений

В данной статье я расскажу о наиболее популярных инструментах для пентестинга (тестов на проникновение) веб-приложений по стратегии «черного ящика».
Для этого мы рассмотрим утилиты, которые помогут в данном виде тестирования. Рассмотрим следующие категории продуктов:
  1. Сетевые сканеры
  2. Сканеры брешей в веб-скриптах
  3. Эксплойтинг
  4. Автомазация инъекций
  5. Дебаггеры (снифферы, локальные прокси и т.п.)


Некоторые продукты имеют универсальный «характер», поэтому буду относить их к той категории, в которой они имеют больший результат (субъективное мнение).
Сетевые сканеры.

Основная задача — раскрыть доступные сетевые сервисы, установить их версии, определить ОС и т. д.
Nmap

Nmap («Network Mapper») это бесплатная утилита с открытым исходным кодом для анализа сети и аудита безопасности систем. Яростные противники консоли могут использовать Zenmap, это GUI к Nmap’у.
Это не просто «умный» сканер, это серьезный расширяемый инструмент (из «необычных фишек» — наличие скрипта для проверки узла на наличие червя «Stuxnet» (упоминалось тут). Типовой пример использования:

nmap -A -T4 localhost

-A для определения версии ОС, сканирования с использованием скриптов и трассировки
-T4 настройка управления временем (больше — быстрее, от 0 до 5)
localhost — целевой хост
Что-нибудь по жестче?

nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all localhost

Это набор опций из профиля «slow comprehensive scan» в Zenmap. Выполняется довольно долго, но и дает в итоге более детальную информацию, которую можно узнать о целевой системе. Справочное руководство на русском языке, если решили углубиться, а так же советую перевод статьи Beginner’s Guide to Nmap.
Nmap получил статус “Security Product of the Year” такими журналами и сообществами как Linux Journal, Info World, LinuxQuestions.Org и Codetalker Digest.
Интересный момент, Nmap можно увидеть в фильмах «Матрица: Перезагрузка», «Крепкий орешек 4», «Ультиматум Борна», «Хоттабыч» и других.

IP-Tools

IP-Tools — эдакий набор из разных сетевых утилит, поставляется с GUI, «посвящена» windows юзерам.
Сканер портов, общих ресурсов (расшаренные принтеры/папки), WhoIs/Finger/Lookup, telnet клиент и многое другое. Просто удобный, быстрый, функциональный инструмент.

Нет особого смысла рассматривать остальные продукты, так как очень много утилит в данной области и все они имеют схожий принцип работы и функционал. Все же самым часто используемым остается nmap.

Сканеры брешей в веб-скриптах

Пытаются найти популярные уязвимости (SQL inj, XSS, LFI/RFI и т.д.) или ошибки (не удаленные временные файлы, индексация директорий и т.п.)
Acunetix Web Vulnerability Scanner

Acunetix Web Vulnerability Scanner — по ссылке заметно что это xss сканер, но это не совсем так. Бесплатная версия, доступная по ссылке дает довольно большой функционал. Обычно человека, запустившего этот сканер первый раз и впервые получив отчет по своему ресурсу охватывает небольшой шок, и вы поймете почему, сделав это. Это очень мощный продукт для анализа просто всевозможных уязвимостей на сайте и работает не только с привычными нам сайтами на php, но и на других языках (хоть отличие в языке не показатель). Инструкцию описывать особо смысла нет, так как сканер просто «подхватывает» действия пользователя. Что-то похожее на «далее, далее, далее, готово» в типичной установке какого-либо ПО.
Nikto

Nikto это Open Source (GPL) веб-сканер. Избавляет от рутинной ручной работы. Ищет на целевом сайте неудаленные скрипты (какие-нибудь test.php, index_.php и т.п.), инструменты администрирования бд (/phpmyadmin/, /pma и подобные) и т.д., то есть проверяет ресурс на самые частые ошибки, возникшие обычно из-за человеческого фактора.
Плюс, если находит какой-нибудь популярный скрипт, то проверяет его на вышедшие эксплоиты (которые есть в базе).
Сообщает о доступных «нежелательных» методах, типа PUT и TRACE
Ну и так далее. Очень удобно, если ты работаешь аудитором и каждый день проводишь анализ сайтов.
Из минусов хотел бы отметить высокий процент ложных срабатываний. К примеру если ваш сайт вместо 404 ошибки (когда она должна возникнуть) отдает все время главную, то сканер скажет, что на вашем сайте все скрипты и все уязвимости из его базы. На практике такое не так часто встречается, но как факт, многое зависит от структуры вашего сайта.
Классическое использование:

./nikto.pl -host localhost

Если нужно быть авторизованным на сайте, можно выставить cookie в файле nikto.conf, переменная STATIC-COOKIE.

Wikto

Wikto — Nikto под Windows, но с некоторыми дополнениями, как «нечеткой» логикой при проверке кода на ошибки, использование GHDB, получение ссылок и папок ресурса, реал-таймовым мониторингом HTTP запросов/ответов. Wikto написан на C# и требует .NET framework.
skipfish

skipfish — сканер веб-уязвимостей от Michal Zalewski (известного под ником lcamtuf). Написан на С, кроссплатформинен (для Win нужен Cygwin). Рекурсивно (и очень долго, порядка 20~40 часов, хотя последний раз у меня работал 96 часов) обходит весь сайт и находит всевозможные бреши в безопасности. Так же генерирует очень много трафика (по несколько гб входящего/исходящего). Но все средства хороши, тем более, если есть время и ресурсы.
Типичное использование:

./skipfish -o /home/reports www.example.com

В папке «reports» будет отчет в html, пример.

w3af

w3af — Web Application Attack and Audit Framework, open-source сканер веб-уязвимостей. Имеет GUI, но можно работать из под консоли. Точнее, это фреймворк, с кучей плагинов.
Рассказывать про его преимущества можно долго, лучше испробовать его :]
Типичная работа с ним сводится к выбору профиля, указания цели и, собственно, запуска.
Mantra Security Framework

Mantra is a dream that came true. Коллекция свободных и открытых инструментов по ИБ, встраиваемых в веб-браузер.
Очень полезны при тестировании веб-приложений на всех этапах.
Использование сводится к установке и запуску браузера.

На самом деле очень много утилит в данной категории и довольно сложно выделить из них конкретный список. Чаще всего каждый пентестер сам определяет набор нужных ему инструментов.

Эксплойтинг

Для автоматизированного и более удобного использования уязвимостей в программном обеспечении и скриптах пишут эксплойты, которым нужно только передать параметры, чтобы использовать брешь в безопасности. А есть продукты, которые избавляют от ручного поиска эксплоитов, да и еще и применяют их «на лету». Об этой категории сейчас и пойдет речь.
Metasploit Framework

The Metasploit® Framework — эдакий монстр в нашем деле. Он столько умеет, что инструкция выйдет на несколько статей. Мы рассмотрим автоматический эксплоитнг (nmap + metasploit). Суть такова, Nmap проанализирует нужный нам порт, установит сервис, а metasploit попробует применить к нему эксплоиты, исходя из класса сервиса (ftp, ssh и т.п.). Вместо текстовой инструкции я вставлю видео, довольно популярное на тему autopwn

А можно просто автоматизировать работу нужного нам эксплойта. К примеру:

msf > use auxiliary/admin/cisco/vpn_3000_ftp_bypass
msf auxiliary(vpn_3000_ftp_bypass) > set RHOST [TARGET IP]
msf auxiliary(vpn_3000_ftp_bypass) > run

На самом деле возможности данного framework очень обширны, поэтому, если решили углубиться, переходим по ссылке

Armitage

Armitage — OVA жанра киберпанкGUI для Metasploit. Визуализирует цель, рекомендует эксплоиты и предоставляет расширенные возможности данного фреймворка. В общем для тех, кто любит, чтобы все красиво и эффектно выглядело.
Скринкаст:
Tenable Nessus®

Tenable Nessus® vulnerability scanner — очень много чего умеет, но нам от него нужна одна из возможностей — определение, для каких сервисов есть эксплойты. Бесплатная версия продукта «home only»

Использование:

  • Скачали (под свою систему), установили, зарегистрировали (ключик приходит на почту).
  • Запустили сервер, добавили юзера в Nessus Server Manager (кнопка Manage users)
  • Заходим по адресу
    https://localhost:8834/
    и получаем флэш-клиент в браузере
  • Scans -> Add -> заполняем поля (выбрав подходящий нам профиль сканирования) и жмем Scan
Через некоторое время отчет о сканировании появится во вкладке Reports
Для проверки практической уязвимости сервисов к эксплоитам можно использовать выше описанный Metasploit Framework или попробовать найти эксплоит (к примеру на Explot-db, packet storm, explot search и др.) и использовать его вручную против своей системы
ИМХО: слишком громоздкий. Привел его как одного из лидеров в данном направлении софтверной индустрии.
Автоматизация инъекций

Поиск инъекций производят многие из web app sec сканеров, но они все же просто общие сканеры. А есть утилиты, которые конкретно занимаются поиском и эксплуатацией инъекций. О них сейчас и пойдет речь.
sqlmap

sqlmap — open-source утилита для поиска и эксплуатации SQL инъекций. Поддерживает такие сервера БД, как: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
Типичное использование сводится к строчке:

python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Хватает мануалов, в том числе и на русском языке. Софтина очень облегчает работу пентестера при работе над данным направлением.
Добавлю официальную видео демонстрацию:

bsqlbf-v2

bsqlbf-v2 — скрипт на perl, брутфорсер «слепых» Sql инъекций. Работает как и с integer значениями в url, так и со строковыми (string).
Поддерживает БД:
  • MS-SQL
  • MySQL
  • PostgreSQL
  • Oracle
Пример использования:

./bsqlbf-v2-3.pl -url www.somehost.com/blah.php?u=5 -blind u -sql "select table_name from imformation_schema.tables limit 1 offset 0" -database 1 -type 1

-url www.somehost.com/blah.php?u=5 — Ссылка с параметрами
-blind u — параметр для инъекции (по умолчанию забирается последний из адресной строки)
-sql «select table_name from imformation_schema.tables limit 1 offset 0» — наш произвольный запрос в базу
-database 1 — сервер БД: MSSQL
-type 1 — тип атаки, «слепая» инъекция, основанная на True и Error (к примеру синтаксические ошибки) ответах

Дебаггеры

Эти инструменты в основном используют разработчики, при проблемах с результатами выполнения своего кода. Но это направление полезно и при пентестинге, когда можно подменять нужные нам данные «на лету», анализировать, что приходит в ответ на наши входные параметры (к примеру при фаззинге) и т.д.
Burp Suite

Burp Suite — набор утилит, которые помогают при тестах на проникновение. В Сети лежит хороший обзор на русском языке от Raz0r (правда за 2008 год).
В бесплатную версию входит:
  • Burp Proxy — локальный прокси, позволяет изменять уже сформированные запросы от браузера
  • Burp Spider — паук, ищет существующие файлы и директории
  • Burp Repeater — ручная отправка HTTP-запросов
  • Burp Sequencer — анализ случайных значений в формах
  • Burp Decoder — стандартный кодер-декодер (html, base64, hex и т.п.), коих тысячи, которые можно быстро написать на каком-нибудь языке
  • Burp Comparer — компонент сопоставления строк
В принципе этот пакет решает практически все задачи, связанные с этим направлением.
Fiddler

Fiddler — Fiddler это отладочный прокси, логирующий весь HTTP(S) трафик. Позволяет исследовать этот траффик, устанавливать breakpoint’ы и «играться» с входящими или исходящими данными.

Есть еще и Firesheep, монстр Wireshark и другие, выбор за пользователем.

Заключение

Естественно, каждый пентестер имеет свой арсенал и свой набор утилит, так как их просто множество. Я постарался привести одни из наиболее удобных и популярных. Но чтобы любой желающий мог ознакомится и с другими утилитами в этом направлении, я приведу ссылки ниже.
Различные топы/списки сканеров и утилит

Дистрибутивы Linux, в состав которых уже входит куча разных утилит для пентестинга

upd: Документация по BurpSuite на русском от команды «Hack4Sec» (добавил AntonKuzmin)

P.S. Нельзя умолчать про XSpider. Не участвует в обзоре, хотя он условно-бесплатен (узнал, когда отправил статью на СекЛаб, собственно из-за этого (не знания, да и неимения последней версии 7.8) и не включил его в статью). И по идее планировался его обзор (у меня заготовлены для него непростые тесты), но не знаю, увидит ли его мир.

P.P.S. Некоторый материал из статьи будет использован по прямому назначению в грядущем докладе на CodeFest 2012 в секции QA, в котором будут неупомянутые здесь инструменты (бесплатные, ессно), а так же рассказан алгоритм, по какому порядку что использовать, какой результат ожидать, какие конфигурации использовать и всякие хинты и трюки при работе (размышляю над докладом почти каждый день, постараюсь рассказать от себя все лучшее по теме топика)
Кстати, по данной статье было занятие на Open InfoSec Days (тэг на Хабре, сайт), можно грабить корованы глянуть материалы.

как проверить сайт на уязвимость, программы для сканирования — «ИнфоСорт» Содержание статьи:

Главная проблема для веб-разработчика это всегда безопасность сайта от взлома и кражи данных. Мы рассмотрим уязвимости сайтов, как их проверить и какие существуют для этого программы.

Типы уязвимостей сайтов

При создании веб-страниц используется много смежных электронных технологий. Какие-то являются совершенными и проверены временем, а какие-то новые и ещё не обкатанные. В любом случае имеется масса разновидностей уязвимостей сайтов:

  • XSS. Каждый сайт обладает небольшими формами. С их помощью пользователи вводят данные и получают какой-либо результат, проводят регистрации или отправляют сообщения. Подстановкой в эти формы специальных значений можно спровоцировать выполнение определённого скрипта, что может вызвать нарушение целостности сайта и компрометирование данных.
  • SQL-инъекция. Очень распространённый и эффективный способ получить доступ к конфиденциальным данным. Происходить это может либо через адресную строку, либо через формы. Процесс проводится путем подстановки значений, которые могут не отфильтровываться скриптами и выполнять запросы в базу данных. А при должных знаниях это может вызвать нарушение безопасности.

уязвимости сайтов

  • HTML-ошибки. Практически то же самое, что и XSS, но внедряется не скрипт-код, а HTML.
  • Уязвимость сайтов, связанная с размещением файлов и каталогов в местах по умолчанию. Например, зная структуру веб-страниц, можно добраться до кода административной панели.
  • Недостаточная настройка защиты операционной системы на сервере. Если таковая уязвимость присутствует, то у злоумышленника появляется возможность выполнить произвольный код.
  • Плохие пароли. Одна из самых очевидных уязвимостей сайтов — использование слабых значений для защиты своей учётной записи. Особенно, если она с правами администратора.
  • Переполнение буфера. Используется при замене данных из памяти, вследствие чего можно внести свои коррективы. Встречается при задействовании несовершенного программного обеспечения.
  • Замена страниц веб-ресурса. Воссоздание точной копии сайта, зайдя на который пользователь может не заподозрить подвоха и ввести свои личные данные, через некоторое время переходящие злоумышленнику.
  • Отказ в обслуживании. В основном под этим термином понимают атаку на сервер, когда он получает большое количество запросов, которые не может обработать и попросту «падает» или же становится не способным обслужить настоящих пользователей. Уязвимость же заключается в том, что фильтр по IP не настроен должным образом.

Поиск уязвимостей сайта

Специалисты по безопасности проводят особый аудит веб-ресурсов на наличие ошибок и недочётов, способных привести к взлому. Такая проверка сайта называется пентестинг. В процессе анализируется исходный код, используемые CMS, наличие уязвимых модулей и много других интересных проверок.

проверка сайта

SQL-инъекция

Этот тип проверки сайта устанавливает, фильтрует ли скрипт полученные значения при составлении запросов в базу данных. Провести простейшее тестирование можно и вручную. Как найти уязвимость SQL на сайте? Сейчас будет рассмотрено.

К примеру, имеется некий сайт мой-сайт.рф. На его главной странице есть какой-либо каталог. Зайдя в него, можно обнаружить в адресной строке что-то наподобие мой-сайт.рф/?product_id=1. Есть вероятность, что это и есть запрос в базу. Для поиска уязвимостей сайта сначала можно попробовать подставить в эту строку одинарную кавычку. В итоге должно быть мой-сайт.рф/?product_id=1′. Если при нажатии клавиши «Ввод» на странице появилось сообщение об ошибке, то уязвимость имеется.

Теперь можно использовать различные варианты подбора значений. Применяются операторы объединения, исключения, комментирования и многие другие.

XSS

Данный тип уязвимости может быть двух видов — активный и пассивный.

Активный подразумевает внедрение участка кода в базу данных или прямо в файл на сервере. Он более опасен и непредсказуем.

Пассивный режим предусматривает заманивание жертвы на определённый адрес сайта, содержащего вредный код.

С помощью XSS злоумышленник может украсть Cookies. А в них могут содержаться важные данные пользователя. Ещё более ужасными последствиями обладает кража сессии.

Также хакер может использовать скрипт на сайте таким образом, чтобы форма в момент отправки её пользователем отдавала информацию прямиком в руки злоумышленнику.

Автоматизация процесса поиска

В сети можно найти массу интересных сканеров уязвимостей сайта. Какие-то поставляются отдельно, какие-то идут в комплекте с несколькими подобными и объединены в один общий образ, наподобие Kali Linux. Далее будет представлен обзор наиболее популярных средств для автоматизации процесса сбора информации об уязвимостях.

Nmap

Самый простой сканер уязвимостей сайта, который может показать такие подробности, как операционная система, используемые порты и сервисы. Типичный пример применения:

nmap -sS 127.0.0.1, где вместо локального IP нужно подставить адрес реального тестируемого сайта.

сканер уязвимостей сайта

Вывод сообщит о том, какие сервисы запущены на нем, и какие порты в этот момент открыты. На основе этой информации можно попробовать использовать уже выявленные уязвимости.

Вот несколько ключей nmap для более пристрастного сканирования:

  • -A. Агрессивное сканирование, которое вывалит очень много информации, но может занять значительное время.
  • -O. Пытается определить операционную систему, задействованную на сервере.
  • -D. Подменит IP адреса, с которых производится проверка, чтобы при просмотре логов сервера невозможно было определить, откуда произошла атака.
  • -p. Диапазон портов. Проверка сразу нескольких служб на наличие открытых.
  • -S. Позволит указать нужный IP адрес.

WPScan

Данная программа для сканирования сайта на уязвимость входит в дистрибутив Kali Linux. Ориентирован на проверку веб-ресурсов на системе управления контентом WordPress. Написана она на Ruby, поэтому запускается примерно так:

ruby ./wpscan.rb —help. Эта команда покажет все доступные ключи и литеры.

Для запуска простой проверки можно использовать команду:

ruby ./wpscan.rb —url какой-то-сайт.ру

В общем WPScan — довольно простая в использовании утилита для проверки своего сайта на «ВордПресс» на уязвимости.

программа для сканирования сайта на уязвимость

Nikto

Программа проверка сайта на уязвимости, которая также имеется в дистрибутиве Kali Linux. Обладает богатым функционалом при всей своей простоте:

  • сканирование по протоколам с HTTP и HTTPS;
  • обход многих встроенных инструментов обнаружения;
  • множественное сканирование портов, даже в нестандартном диапазоне;
  • поддержка использования прокси-серверов;
  • имеется возможность реализации и подключения плагинов.

Для запуска nikto нужно, чтобы в системе был установлен perl. Простейший анализ выполняется так:

perl nikto.pl -h 192.168.0.1.

Программе можно «скормить» текстовый файл, в котором перечислены адреса веб-серверов:

perl nikto.pl -h file.txt

Данная утилита поможет не только специалистам по безопасности для проведения пентестов, но и администраторам сетей и ресурсов для поддержания работоспособности сайтов.

как найти уязвимость на сайте sql

Burp Suite

Очень мощный инструмент для проверки не только сайтов, но мониторинга любой сети. Обладает встроенной функцией модификации передаваемых запросов на тестируемый сервер. Умный сканер, способный в автоматическом режиме искать по нескольку типов уязвимостей сразу. Имеется возможность сохранить результат текущей деятельности, а затем возобновить её. Гибкость, позволяющая не только использовать сторонние плагины, но и писать свои.

Утилита имеет собственный графический интерфейс, что, несомненно, удобно, особенно для начинающих пользователей.

SQLmap

Наверное, самый удобный и мощный инструмент для поиска SQL и XSS уязвимостей. Список его достоинств можно выразить так:

  • поддержка практически всех видов систем управления базами данных;
  • умение использовать шесть основных способов определения и применения SQL-инъекций;
  • режим перебора пользователей, их хешей, паролей и других данных.

Перед использованием SQLmap обычно сначала находят уязвимый сайт посредством дорков — заготовок запросов поисковых систем, помогающих ориентировочно отсеять необходимые веб-ресурсы.

уязвимости сайтов онлайн

Затем адрес страниц передаётся программе, и она проводит проверку. При успешном определении уязвимости утилита может сама её и использовать, получая полный доступ к ресурсу.

Webslayer

Небольшая утилита, которая позволяет провести атаку перебором. Может «брутфорсить» формы ресурса, сессии, параметры сайта. Поддерживает многопоточность, что отлично сказывается на производительности. Также может рекурсивно подбирать пароли во вложенных страницах. Имеется поддержка прокси.

поиск уязвимостей сайта

Ресурсы для проверки

В сети присутствует несколько инструментов для проверки уязвимости сайтов онлайн:

  • coder-diary.ru. Простой сайт для тестирования. Достаточно ввести адрес проверяемого ресурса и нажать «Проверить». Поиск может занять длительное время, поэтому есть возможность указать адрес своей электронной почты для того, чтобы по завершении проверки результат пришёл прямо в ящик. В базе сайта имеется около 2500 известных уязвимостей.
  • https://cryptoreport.websecurity.symantec.com/checker/. Онлайн-сервис проверки наличия сертификата SSL и TLS от компании Symantec. Требуется только адрес проверяемого ресурса.
  • https://find-xss.net/scanner/. Проект сканирует отдельный файл PHP сайтов на уязвимости или их архив в формате ZIP. Можно указать типы проверяемых файлов и символы, по которым экранируются данные в скрипте.
  • http://insafety.org/scanner.php. Сканер для тестирования сайтов на платформе «1С-Битрикс». Простой и понятный интерфейс.

Алгоритм проведения проверки на уязвимости

Любой специалист по сетевой безопасности выполняет проверку по простому алгоритму:

  • Сначала он вручную или с помощью автоматизированных инструментов анализирует, имеются ли на сайте уязвимости. Если да, то он определяет их тип.
  • В зависимости от разновидности присутствующей уязвимости выстраивает дальнейшие ходы. Например, если известна CMS, то подбирается соответствующий метод атаки. Если же это SQL-инъекция, то подбираются запросы в базу данных.
  • Главной задачей является получение привилегированного доступа к административной панели. Если же такового добиться не удалось, может стоит попробовать формы и подделку адреса с внедрением в него скрипта с последующей передачей жертве.
  • Если какая-либо атака или проникновение удалось, то начинается сбор данных: имеются ли ещё уязвимости, какие недочёты присутствуют.
  • На основе полученных данных специалист по безопасности сообщает владельцу сайта о существующих проблемах и способах их устранения.
  • Уязвимости устраняются его руками или с привлечением сторонних мастеров.

Несколько советов по безопасности

Тем, кто самостоятельно занимается разработкой собственного сайта, помогут это простые советы и рекомендации.

Входящие данные нужно фильтровать таким образом, чтобы скрипты или запросы не могли запуститься автономно или отдать данные из базы.

Использовать сложные и стойкие пароли для входа в административную панель, чтобы избежать возможного брутфорса.

Если сайт строится на основе какой-либо CMS, нужно как можно чаще обновлять её и применять только проверенные плагины, шаблоны и модули. Не стоит перегружать сайт ненужными компонентами.

Чаще проверять журналы сервера на наличие подозрительных вхождений или действий.

Проверить собственный сайт несколькими сканерами и сервисами.

Правильная настройка сервера — залог его стабильной и безопасной работы.

По возможности нужно использовать сертификат SSL. Это позволит избежать перехвата личных и конфиденциальных данных между сервером и пользователем.

Инструменты для обеспечения безопасности. Имеет смысл установить или подключить программные средства для предотвращения проникновений и внешних угроз.

Заключение

Статья получилась объёмная, однако даже её не хватит для описания в подробностях всех аспектов сетевой безопасности. Для того чтобы справиться с задачей защиты информации, придётся изучить немало материалов и инструкций. А также освоить кучу инструментов и технологий. Можно обратиться за советом и помощью к профессиональным компаниям, которые специализируются на проведении пентестов и аудита веб-ресурсов. Хотя такие услуги и выльются в неплохую сумму, все же безопасность сайта может быть гораздо дороже как в экономическом плане, так и в репутационном.

 

Источники: fb.ru

 

Проверяем на уязвимости любой сайт с помощью Nikto

Всем привет! В марте OTUS запускает новый курс «Практикум по Kali Linux». В преддверии старта курса подготовили для вас перевод полезного материала. Также хотим пригласить всех желающих на бесплатный урок по теме: «Denial of Service атаки и защита от них».



Перед тем как атаковать любой сайт, хакер или пентестер сначала составляет список целей. После того, как он проведет хорошую разведку и найдет слабые места для «наведения прицела», ему понадобится инструмент сканирования веб-сервера, такой как Nikto, который поможет найти уязвимости – потенциальные вектора атаки.

Nikto – это простой открытый сканер веб-серверов, который проверяет веб-сайт и сообщает о найденных уязвимостях, которые могут быть использованы для эксплойта или взлома. Кроме того, это один из наиболее широко используемых инструментов сканирования веб-сайтов на уязвимости во всей отрасли, а во многих кругах он считается отраслевым стандартом.

Несмотря на то, что этот инструмент чрезвычайно эффективен, он не действует скрытно. Любой сайт с системой обнаружения вторжений или иными мерами безопасности поймет, что его сканируют. Nikto был разработан для тестирования безопасности и о скрытности его работы никто не задумывался.

Как правильно использовать Nikto


Если вы просто запустите Nikto на целевом веб-сайте, вы, возможно, не поймете, что делать с информацией, полученной после сканирования. Nikto на самом деле больше похож на лазерную указку, которая влечет за собой выстрел, и через некоторое время вы увидите, как это работает.

Для начала давайте поговорим о целях (target). Целью может оказаться почти любое место, куда может нанести свой удар хакер, например, сетевые принтеры или веб-сервер. Когда мы чуть позже перейдем к использованию Nikto, нам нужно будет предоставить ему один из трех видов информации: IP-адрес для локальной службы, веб-домен для атаки или веб-сайт SSL/HTTPS.

Прежде чем начинать сканирование с помощью Nikto, лучше предварительно провести разведку с помощью такого открытого инструмента как Maltego. Такие инструменты могут оказаться полезными при создании профиля и формировании более конкретного списка целей, на которых стоит сосредоточиться. Как только вы это сделаете, можно будет воспользоваться Nikto для поиска потенциальных уязвимостей в целях из вашего списка.

Если повезет, уязвимость с известным эксплойтом будет найдена, а значит, что уже существует инструмент, который поможет воспользоваться этим слабым местом. С помощью соответствующего инструмента, который автоматически эксплуатирует уязвимость, хакер может получить доступ к цели для выполнения любого количества скрытых атак, таких как, например, добавление вредоносного кода.

Шаг 1: Установка Nikto


Если вы используете Kali Linux, то Nikto будет предустановлен, поэтому вам ничего скачивать и устанавливать не придется. Он будет расположен в категории «Vulnerability Analysis». Если у вас его по какой-то причине нет, вы можете скачать Nikto с его репозитория на GitHub или просто использовать команду apt install.
apt install nikto

Если вы работаете на Mac, то можете использовать Homebrew, чтобы установить Nikto.
brew install nikto

Шаг 2: Познакомьтесь с Nikto


Перед сканированием веб-серверов с помощью Nikto, воспользуйтесь параметром -Help, чтобы увидеть все, что можно делать с этим инструментом:
nikto -Help
Options:
       -ask+               Whether to ask about submitting updates
                               yes   Ask about each (default)
                               no    Don't ask, don't send
                               auto  Don't ask, just send
       -Cgidirs+           Scan these CGI dirs: "none", "all", or values like "/cgi/ /cgi-a/"
       -config+            Use this config file
       -Display+           Turn on/off display outputs:
                               1     Show redirects
                               2     Show cookies received
                               3     Show all 200/OK responses
                               4     Show URLs which require authentication
                               D     Debug output
                               E     Display all HTTP errors
                               P     Print progress to STDOUT
                               S     Scrub output of IPs and hostnames
                               V     Verbose output
       -dbcheck           Check database and other key files for syntax errors
       -evasion+          Encoding technique:
                               1     Random URI encoding (non-UTF8)
                               2     Directory self-reference (/./)
                               3     Premature URL ending
                               4     Prepend long random string
                               5     Fake parameter
                               6     TAB as request spacer
                               7     Change the case of the URL
                               8     Use Windows directory separator (\)
                               A     Use a carriage return (0x0d) as a request spacer
                               B     Use binary value 0x0b as a request spacer
        -Format+           Save file (-o) format:
                               csv   Comma-separated-value
                               htm   HTML Format
                               nbe   Nessus NBE format
                               sql   Generic SQL (see docs for schema)
                               txt   Plain text
                               xml   XML Format
                               (if not specified the format will be taken from the file extension passed to -output)
       -Help              Extended help information
       -host+             Target host
       -404code           Ignore these HTTP codes as negative responses (always). Format is "302,301".
       -404string         Ignore this string in response body content as negative response (always). Can be a regular expression.
       -id+               Host authentication to use, format is id:pass or id:pass:realm
       -key+              Client certificate key file
       -list-plugins      List all available plugins, perform no testing
       -maxtime+          Maximum testing time per host (e.g., 1h, 60m, 3600s)
       -mutate+           Guess additional file names:
                               1     Test all files with all root directories
                               2     Guess for password file names
                               3     Enumerate user names via Apache (/~user type requests)
                               4     Enumerate user names via cgiwrap (/cgi-bin/cgiwrap/~user type requests)
                               5     Attempt to brute force sub-domain names, assume that the host name is the parent domain
                               6     Attempt to guess directory names from the supplied dictionary file
       -mutate-options    Provide information for mutates
       -nointeractive     Disables interactive features
       -nolookup          Disables DNS lookups
       -nossl             Disables the use of SSL
       -no404             Disables nikto attempting to guess a 404 page
       -Option            Over-ride an option in nikto.conf, can be issued multiple times
       -output+           Write output to this file ('.' for auto-name)
       -Pause+            Pause between tests (seconds, integer or float)
       -Plugins+          List of plugins to run (default: ALL)
       -port+             Port to use (default 80)
       -RSAcert+          Client certificate file
       -root+             Prepend root value to all requests, format is /directory
       -Save              Save positive responses to this directory ('.' for auto-name)
       -ssl               Force ssl mode on port
       -Tuning+           Scan tuning:
                               1     Interesting File / Seen in logs
                               2     Misconfiguration / Default File
                               3     Information Disclosure
                               4     Injection (XSS/Script/HTML)
                               5     Remote File Retrieval - Inside Web Root
                               6     Denial of Service
                               7     Remote File Retrieval - Server Wide
                               8     Command Execution / Remote Shell
                               9     SQL Injection
                               0     File Upload
                               a     Authentication Bypass
                               b     Software Identification
                               c     Remote Source Inclusion
                               d     WebService
                               e     Administrative Console
                               x     Reverse Tuning Options (i.e., include all except specified)
       -timeout+          Timeout for requests (default 10 seconds)
       -Userdbs           Load only user databases, not the standard databases
                               all   Disable standard dbs and load only user dbs
                               tests Disable only db_tests and load udb_tests
       -useragent         Over-rides the default useragent
       -until             Run until the specified time or duration
       -update            Update databases and plugins from CIRT.net
       -useproxy          Use the proxy defined in nikto.conf, or argument http://server:port
       -Version           Print plugin and database versions
       -vhost+            Virtual host (for Host header)
   		+ requires a value

Шаг 3: Используйте базовый синтаксис


Как вы видите из предыдущего шага, у Nikto есть много вариантов использования, но для наших целей мы будем использовать базовый синтаксис с фактическим IP-адресом или именем хоста без угловых скобок.
nikto -h <IP or hostname>

Однако, Nikto способен выполнять сканирование SSL и порта 443, который используют сайты HTTPS (HTTP использует по умолчанию 80 порт). Таким образом, мы не ограничиваемся только сканированием старых сайтов, мы может проводить оценку уязвимостей сайтов, использующих SSL, что на сегодняшний день является почти обязательным требованием для индексирования в результатах поиска.

Если мы знаем, что у целевого сайта есть SSL, мы можем указать это в Nikto, чтобы сэкономить некоторые время на сканировании, добавив -ssl в конец команды.

nikto -h <IP or hostname> -ssl

Шаг 4: Сканируйте сайты с SSL


Например, давайте начнем со сканирования сайта pbs.org, чтобы увидеть типы информации, которые может выдать сканирование Nikto. После того, как он подключается к порту 443, мы видим какую-то полезную информацию о шифровании и другие детали, такие как, например, то, что сервер работает на nginx, однако здесь для нас не так много интересного.
nikto -h pbs.org -ssl
- Nikto v2.1.6
------------------------------------------------------------------------------
- STATUS: Starting up!
+ Target IP:			54.225.198.196
+ Target Hostname:		pbs.org
+ Traget Port:			443
------------------------------------------------------------------------------
+ SSl Info:			Subject:	/CN=www.pbs.org
					Altnames:	account.pbs.org, admin.pgs.org, dipsy-tc.pbs.org, docs.pbs.org, ga.video.cdn.pbs.org, git.pbs.org, heart.ops.pbs.org, hub-dev.pbs.org, image.pbs.org,
                    			jaws..pbs.org, kids.pbs.org, koth-qa.svp.pbs.org, login.pbs.org, ops.pbs.org, pbs.org, player.pbs.org, projects.pbs.org, sentry.pbs.org, teacherline.pbs.org,
                                urs.pbs.org, video.pbs.org, weta-qa.svp.pbs.org, whut-qa.svp.pbs.org, wnet.video-qa.pbs.org, wnet.video-staging.pbs.org, www-cache.pbs.org, www.pbs.org
                    Ciphers:	ECDHE-RSA-AES128-GCM-SHA256
                    Issuer:		/C-US/0=Let's Encrypt/CN=Let's Encrypt Authority X3
+ Start Time:			2018-12-05 23:34:06 (GMT-8)
------------------------------------------------------------------------------
+ Server: nginx
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS
+ Uncommon header 'x-pbs-fwsrvname' found, with contents: fwcacheproxy1
+ The site uses SSL and the Strict-Transport-Security HTTP header is not defined.
+ The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type
+ Root page / redirects to: https://www.pbs.org/
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ RC-1918 IP address found in the 'x-pbs-appsvrip' header: The IP is "10.137.181.52".
+ Uncommon header 'x-cache-fs-status' found, with contents: EXPIRED
+ Uncommon header 'x-pbs-appsvrname' found, with contents: fwcacheproxy1
+ Uncommon header 'x-pbs-appsvrip' found, with contents: 10.137.181.52
+ Server leaks inodes via ETags, header found with file /pbs.org.zip, fields: 0x5b96537e 0x1678
+ 7446 requests: 0 error(s) and 10 item(s) reported on remote host
+ End Time:				2018-12-06 00:30:29 (GMT-8) (3383 seconds)
------------------------------------------------------------------------------
+ 1 host(s) tested

Шаг 5: Сканирование IP-адреса


Теперь, когда мы провели быстрое сканирование веб-сайта, мы можем попробовать использовать Nikto в локальной сети, чтобы найти embedded-сервера, такие как страница логина роутера или HTTP-сервис на другой машине, который представляет из себя просто сервер без веб-сайта. Чтобы узнать IP-адрес мы будем использовать ifconfig.

IP-адрес, который нам нужен относится к «inet». На нем мы можем использовать ipcalc для того, чтобы получить сетевой диапазон. Если у вас нет ipcalc, вы можете установить его с помощью команды apt install ipcalc, а затем повторить попытку. Диапазон будет стоять после «Network», в моем случае это 192.168.0.0/24.

ifconfig
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST>  mtu 1500
        inet 192.168.0.48  netmask 0xffffff00  broadcast 192.168.0.255
        inet6 XXXX::XXX:XXXX:XXXX:XXXX%en0  prefixlen 64  secured scopeid 0x8
        ether XX:XX:XX:XX:XX:XX  txqueuelen 1000  (Ethernet)
        inet6 XXXX::XXX:XXXX:XXXX:XXXX%en0  prefixlen 64 autoconf secured
        inet6 XXXX::XXX:XXXX:XXXX:XXXX%en0  prefixlen 64 autoconf temporary
        nd6 options=201<PERFORMNUD,DAD>
        media: autoselect
        status: active

en2: flags=8863<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST>  mtu 1500
        options=60<TS04,TS06>
        ether XX:XX:XX:XX:XX:XX
        media: autoselect <full-duplex>
        status: inactive

Теперь мы хотим запустить Nmap, чтобы найти службы, работающие в этом сетевом диапазоне. Давайте сканировать 80 порт с помощью нашего диапазона, для этого допишем -oG (grepable output), чтобы получить только те хосты, которые подняты и работают, то есть те, которые отвечают, говоря, что 80 порт открыт. Затем мы сохраним все это в файл, который я назову nullbyte.txt, вы, в свою очередь, можете назвать его как угодно.
ipcalc 192.168.0.48
Address:   192.168.0.48         11000000.10101000.00000000. 00110000
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   192.168.0.0/24       11000000.10101000.00000000. 00000000
HostMin:   192.168.0.1          11000000.10101000.00000000. 00000001
HostMax:   192.168.0.254        11000000.10101000.00000000. 11111110
Broadcast: 192.168.0.255        11000000.10101000.00000000. 11111111
Hosts/Net: 254                   Class C, Private Internet

Есть небольшой фокус, который поможет отправить все хосты прямо в Nikto для сканирования. Мы используем cat для чтения входных данных, хранящихся в нашем документе nullbyte.txt (или как вы его назвали самостоятельно). После этого мы используем awk – специальный инструмент в Linux, который поможет найти следующий шаблон, где Up означает, что хост поднят, а print $2 значит, что нужно вывести второе слово в каждой строке, то есть только IP-адрес. Затем, полученные данные мы отправим в файл, который называется targetIP.txt (или как вам захочется).
cat nullbyte.txt | awk '/Up$/{print $2}' | cat >> targetIP.txt

Теперь мы можем просмотреть содержимое нашего нового файла с помощью cat, чтобы увидеть все IP-адреса, у которых открыт 80 порт.
cat targetIP.txt
192.168.0.1
192.168.0.2
192.168.0.4
192.168.0.5
192.168.0.11
192.168.0.24
192.168.0.31
192.168.0.48
192.168.0.60

Такой формат идеально подойдет Nikto, поскольку он может легко интерпретировать подобные файлы. Таким образом, мы можем отправить этот вывод в Nikto следующей командой.
nikto -h targetIP.txt

Результаты будут аналогичны тем, что мы получили при сканировании с SSL.

Шаг 6: Сканирование HTTP-сайта


Мы просканировали защищенный веб-сайт и IP-адрес в локальной сети, теперь настало время искать незащищенный веб-домен, который использует 80 порт. Для этого примера я использую сайт afl.com.au, у которого не было SSL в тот момент, когда я проводил это сканирование.
nikto -h www.afl.com.au
- Nikto v2.1.6
---------------------------------------------------------------------------
+ Target IP:          159.180.84.10
+ Target Hostname:    www.afl.com.au
+ Target Port:        80
+ Start Time:         2018-12-05 21:48:32 (GMT-8)
---------------------------------------------------------------------------
+ Server: instart/nginx
+ Retried via header: 1.1 varnish (Varnish/6.1), 1.1 e9ba0a9a729ff2960a04323bf1833df8.cloudfront.net (CloudFront)
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS
+ Uncommon header 'x-cache' found, with contents: Miss from cloudfront
+ Uncommon header 'x-instart-cache-id' found, with contents: 17:12768802731504004780::1544075250
+ Uncommon header 'v-cache-hit' found, with contents: Hit
+ Uncommon header 'x-amz-cf-id' found, with contents: Dr-r6OwO5kk9ABt4ejzpc7R7AIF6SuH6kfJHQgP0v6xZoHwMLE55rQ==
+ Uncommon header 'x-instart-request-id' found, with contents: 12814413144077601501:BEQ01-CPVNPPRY18:1552504721:0
+ Uncommon header 'x-oneagent-js-injection' found, with contents: true
+ Uncommon header 'grace' found, with contents: cache
+ The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type
+ Uncommon header 'x-ruxit-js-agent' found, with contents: true
+ Cookie dtCookie created without the httponly flag
+ Server banner has changed from 'instart/nginx' to 'nginx' which may suggest a WAF, load balancer or proxy is in place
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ Entry '/sites/' in robots.txt returned a non-forbidden or redirect HTTP code (200)
+ Entry '/search/' in robots.txt returned a non-forbidden or redirect HTTP code (200)
+ Entry '*.mobileapp' in robots.txt returned a non-forbidden or redirect HTTP code (400)
+ Entry '*.liveradio' in robots.txt returned a non-forbidden or redirect HTTP code (400)
+ Entry '*.smartmobile' in robots.txt returned a non-forbidden or redirect HTTP code (400)
+ Entry '*.responsive' in robots.txt returned a non-forbidden or redirect HTTP code (400)
+ Entry '/stats?*/' in robots.txt returned a non-forbidden or redirect HTTP code (200)
+ "robots.txt" contains 8 entries which should be manually viewed.
+ OSVDB-3092: /sitemap.xml: This gives a nice listing of the site content.
+ OSVDB-3092: /psql_history: This might be interesting...
+ OSVDB-3092: /global/: This might be interesting...
+ OSVDB-3092: /home/: This might be interesting...
+ OSVDB-3092: /news: This might be interesting...
+ OSVDB-3092: /search.vts: This might be interesting...
+ OSVDB-3092: /stats.htm: This might be interesting...
+ OSVDB-3092: /stats.txt: This might be interesting...
+ OSVDB-3092: /stats/: This might be interesting...
+ OSVDB-3092: /Stats/: This might be interesting...
+ OSVDB-3093: /.wwwacl: Contains authorization information
+ OSVDB-3093: /.www_acl: Contains authorization information
+ OSVDB-3093: /.htpasswd: Contains authorization information
+ OSVDB-3093: /.access: Contains authorization information
+ OSVDB-3093: /.addressbook: PINE addressbook, may store sensitive e-mail address contact information and notes
+ OSVDB-3093: /.bashrc: User home dir was found with a shell rc file. This may reveal file and path information.
+ OSVDB-3093: /.bash_history: A user's home directory may be set to the web root, the shell history was retrieved. This should not be accessible via the web.
+ OSVDB-3093: /.forward: User home dir was found with a mail forward file. May reveal where the user's mail is being forwarded to.
+ OSVDB-3093: /.history: A user's home directory may be set to the web root, the shell history was retrieved. This should not be accessible via the web.
+ OSVDB-3093: /.htaccess: Contains configuration and/or authorization information
+ OSVDB-3093: /.lynx_cookies: User home dir found with LYNX cookie file. May reveal cookies received from arbitrary web sites.
+ OSVDB-3093: /.mysql_history: Database SQL?
+ OSVDB-3093: /.passwd: Contains authorization information
+ OSVDB-3093: /.pinerc: User home dir found with a PINE rc file. May reveal system information, directories and more.
+ OSVDB-3093: /.plan: User home dir with a .plan, a now mostly outdated file for delivering information via the finger protocol
+ OSVDB-3093: /.proclog: User home dir with a Procmail rc file. May reveal mail traffic, directories and more.
+ OSVDB-3093: /.procmailrc: User home dir with a Procmail rc file. May reveal subdirectories, mail contacts and more.
+ OSVDB-3093: /.profile: User home dir with a shell profile was found. May reveal directory information and system configuration.
+ OSVDB-3093: /.rhosts: A user's home directory may be set to the web root, a .rhosts file was retrieved. This should not be accessible via the web.
+ OSVDB-3093: /.sh_history: A user's home directory may be set to the web root, the shell history was retrieved. This should not be accessible via the web.
+ OSVDB-3093: /.ssh: A user's home directory may be set to the web root, an ssh file was retrieved. This should not be accessible via the web.
+ OSVDB-5709: /.nsconfig: Contains authorization information
+ /portal/changelog: Vignette richtext HTML editor changelog found.
+ 7587 requests: 4 error(s) and 55 item(s) reported on remote host
+ End Time:           2018-12-05 22:42:41 (GMT-8) (3249 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested

Из информации выше, мы понимаем, что присутствует сервер Varnish и некоторые заголовки, которые могут подсказать, как сконфигурирован веб-сайт. Однако более полезная информация – это обнаруженные каталоги, которые могут помочь зацепить конфигурационные файлы, содержащие учетные данные или другие вещи, которые были неправильно сконфигурированы и оказались доступными непреднамеренно.

Элементы с префиксом OSVDB – это уязвимости, о которых сообщается на Open Source Vulnerability Database (сайте, который закрылся в 2016 году). Он похож на другие базы данных уязвимостей, такие как SecurityFocus, Microsoft Technet и Vulnerabilities and Exposures (https://cve.mitre.org/). Лично мне ближе National Vulnerability Database.

Несмотря на то, что наше сканирование не выявило никаких критических уязвимостей, которые можно было бы эксплуатировать, вы можете использовать справочный инструмент CVE для перевода идентификатора OSVDB в запись CVE, чтобы вы могли воспользоваться одним из сайтов, приведенных выше.

Допустим, вы нашли что-то достойное исследования, например CVE-2018-10933, уязвимость Libssh, о которой мы подробнее говорили ранее. CVE содержит информацию о том, как ее эксплуатировать, насколько уязвимость серьезна (например, критическая уязвимость) и некоторые другие сведения, которые могут помочь определиться с вектором атаки. Если это что-то стоящее, вы можете поискать с Metasploit, поскольку кто-то скорее всего уже разработал модуль, который поможет легко эксплуатировать эту уязвимость.

Шаг 7: Сканирование вместе с Metasploit


Одна из лучших вещей в Nikto заключается в том, что вы можете просто экспортировать информацию, полученную при сканировании, в формат, который сможет прочитать Metasploit. Для этого просто используйте команды для выполнения сканирования, приведенные выше, но добавьте к ним в конце флаги -Format msf+. Этот формат может помочь быстро сопоставить данные, полученные с помощью эксплойта.
nikto -h <IP or hostname> -Format msf+

Итак, в сегодняшнем руководстве мы перешли от определения цели к поиску уязвимостей в ней, а затем связали найденные уязвимости с эксплойтом, чтобы нам не пришлось делать всю работу вручную. Поскольку Nikto не работает скрытно, разумно выполнять эти сканирования через VPN, Tor или другой тип сервиса, чтобы ваш IP-адрес не был помечен как подозрительный.

→ Записаться на бесплатный урок

Поиск уязвимостей на сайте 2017

Тестирование на проникновение позволяет обнаружить уязвимости и ошибки, которые могут быть использованы злоумышленниками для проникновения в вашу систему. Если вы администратор сайта, вам обязательно нужно добавить тестирование на проникновение в свой список инструментов и регулярно выполнять поиск уязвимостей для того, чтобы обеспечить полную безопасность ваших сайтов. Обнаруженные проблемы помогут вам устранить слабые места.

Тестирование безопасности включает очень много различных инструментов и задач. В этой статье мы постараемся охватить все аспекты поиска уязвимостей на сайте. С помощью этой инструкции вы сможете сохранить свой ресурс в безопасности.

Содержание статьи:

Поиск уязвимостей на сайте

Тестирование на проникновение и поиск уязвимостей на сайте состоит из нескольких этапов. Тут недостаточно запустить один инструмент и проверить сайт, нужен правильный подход, который поможет вам собрать как можно больше информации о безопасности вашей системы. Вот основные этапы:

  • Разведка — поиск и сборка информации о вашей сети или серверах;
  • Сканирование — на этом этапе нужно проверить сайт на уязвимости опираясь на собранную информацию;
  • Эксплуатация — этот шаг необязательный и не всегда нужный тестировщикам на проникновение. Это необходимо, если вам нужно показать реальную опасность уязвимостей;
  • Исправление — на этом этапе нужно исправить все найденные уязвимости на вашем сайте.

Теперь рассмотрим что нужно делать на каждом из этапов и какие инструменты для этого нужно использовать. Лучше не устанавливать все эти программы отдельно, а использовать уже готовую среду для тестирования на проникновение — Kali Linux. Это специально подготовленный дистрибутив Linux, который уже содержит все необходимые программы. Так вам не придется ничего устанавливать. Вы можете запускать систему из флешки или же установить Kali Linux на жесткий диск.

Разведка

То, что это ваша система ничего не значит, вам все равно нужно узнать какую информацию о ней могут узнать другие люди. Для этого можно применять несколько инструментов:

nmap — это один из самых популярных инструментов для сканирования сетей. С помощью него вы можете посмотреть какие сервисы запущены на сервере веб-сайта, какие порты они используют их версии, и даже версию операционной системы. Чтобы посмотреть открытые порты на своей машине выполните такую команду в терминале Kali Linux:

nmap -sS 192.168.91.249

Здесь 192.168.91.249 — это ip адрес вашего сайта. Это команда только выведет открытые порты и названия сервисов. Вы можете получить более подробную информацию, например, уже на этом этапе можно собрать много информации о системе. Например, здесь вы можете видеть, что на машине запущен SSH сервер, веб-сервер, службы обмена файлами Samba и прокси сервер на порту 3128. Все они могут быть потенциально уязвимы.

Сканер Nmap позволяет копнуть глубже, с помощью более интенсивного сканирования. Для этого используйте опцию -A:

nmap -A 192.168.91.62

Тут вы уже увидите намного больше информации, например, версии сервисов, системное время, систему управления контентом и даже версию операционной системы. Также, если будут обнаружены простые уязвимости, такие как слабый пароль FTP, то вы об этом тоже узнаете. Прочитать подробнее как пользоваться Nmap вы можете в отдельной статье.

Также нужно использовать другие доступные источники информации. Важно понять, какая информация о вас доступна в сети и сможет ли злоумышленник получить информацию, к которой у него не должно быть доступа. Вот некоторые сервисы:

  • whois — с помощью этого сервиса вы можете узнать общедоступную информацию о домене, регистратора, владельца и другую контактную информацию;
  • recon-ng — полезный инструмент для анализа, который поставляется вместе с Kali Linux;
  • Maltego Chlorine — это очень популярный инструмент с открытым исходным кодом, предназначенный для сбора информации с открытых источников;
  • Netcraft — полезный инструмент, позволяющий найти поддомены сайта;
  • hackertarget.com/reverse-ip-lookup — позволяет узнать какие еще сайты работают на вашем ip адресе.

После того, как вы завершили сбор информации на этапе разведки, нужно перейти к сканированию, непосредственно выполнить поиск уязвимостей на сайте Kali Linux.

Сканирование

Для сканирования часто применяется такой метод, как фаззинг. Его суть в передачи большого количества случайных данных вашему сайту чтобы попытаться обнаружить уязвимости. Различные инструменты которые мы рассмотрим ниже будут имитировать атаки чтобы проверить уязвимость приложения.

Приложения фаззинга позволяют выявить различные уязвимости, но это не заменит понимания того как работают эти приложения, и в чем состоит ошибка. Если у вас есть доступ к исходным кодам проекта, то вы можете параллельно использовать фаззинг и ручной анализ, чтобы с большей точностью найти проблемы.

Важно заметить, что атаки фаззинга работают очень громко поскольку требуют передачи большого количества данных. И скорее всего, ваша система защиты от вторжений заметит их, поэтому будьте осторожны. А теперь рассмотрим некоторые инструменты, которые можно использовать.

WPScan — это проект с открытым исходным кодом, написанный на Ruby специально для сканирования WordPress. Он очень прост в использовании и может быть полезным для сайтов, которые используют большое количество плагинов или не обновляются. Утилите не нужен исходный код, она выполняет сканирование удаленно.

Nikto — это сканер уязвимостей для веб-сайтов. Он работает намного дольше чем WPSan, но рассчитан не только на WordPress. Он включает в себя множество плагинов, и во время сканирования будет выполнено очень много запросов. Например, программа может найти файл, который будет выводить информацию phpinfo. Но Nikto генерирует очень много ложных срабатываний, поэтому вам нужно внимательно анализировать вывод.

Burp Suite — это очень мощная программа для поиска уязвимостей на сайте или в веб приложениях. Этот инструмент работает только через веб-браузер. Утилита позволяет проверить все формы, которые есть на сайте, проверить отправку разных заголовков, посмотреть ответы и запросы браузера, выполнить активное сканирование URL, выполнить статический анализ кода JavaScript, а также выполнить поиск XSS уязвимостей на сайте. Это отличный инструмент, но он может показаться сложным.

https://youtu.be/M_h_absC5yE

SQLMap — программа для поиска sql уязвимостей сайта. Вы можете  найти все возможные места, где могут быть выполнены SQL инъекции. Например, если вы предполагаете, что в параметре id может быть sql инъекция, используйте такую команду:

sqlmap -u http://example.com/?id=1 -p id

Программа будет выполнять тестирование для различных типов баз данных, поэтому вы можете указать только нужную:

sqlmap --dbms=MySQL -u http://example.com/?id=1 -p id

С помощью этой команды вы можете проверить различные поля, и указывать различные параметры, такие как базы данных, таблицы или пароли.

Эксплуатация

Эксплуатация завершает поиск уязвимостей на сайте и предоставляет из себя использование уязвимостей для получения доступа к системе или данным. В целом, если вы смогли найти дырки в вашей системе безопасности и закрыть их, то больше ничего вам делать не нужно. Но иногда нужно доказать, что проблема действительно серьезна. Рекомендуется не использовать эксплуатацию уязвимостей на производственных системах. потому что это может привести к проблемам. Лучше создать виртуальную машину и уже в ней показывать все, что нужно. Вот некоторые инструменты, которые можно использовать:

  • SQLMap — очень эффективный инструмент для поиска sql уязвимостей и их эксплуатации;
  • Burp Suite — инструмент для поиска XSS уязвимостей и эксплуатации;
  • Metasploit — эксплуатация уязвимостей в системе.

Metasploit — это целая среда для проведения тестирования на проникновение, в которой содержится множество готовых эксплойтов. Вы можете найти эксплойты для установленных плагинов или обнаруженных на первом этапе сервисов. Мы более подробно рассмотрим как пользоваться Metasploit в одной из следующих статей.

Исправление

Это заключительный этап поиска уязвимостей. На основе всего того, что было найдено нужно сделать выводы и закрыть все дыры. Когда у вас есть все данные об уязвимых местах. Распределите приоритеты и исправьте все, что нашли. Если эти уязвимости смогли найти вы, значит их может найти любой другой.

Выводы

В этой статье мы сделали очень интенсивный курс в поиск уязвимостей на сайте и рассмотрели основные программы для поиска уязвимостей на сайте, которые вы можете использовать для обеспечения максимальной безопасности своего ресурса или инфраструктуры. Многие из этих инструментов являются промышленным стандартом. Сейчас вы можете продумать стратегию тестирования и попытаться устранить все уязвимости.

программы поиска уязвимостей на сайтах — «Хакер»

Содержание статьи

Человек — существо по своей сути ленивое, и большинство полезностей в этом мире появилось именно из-за лени и для облегчения жизни. В таком разрезе лень — это не зло, это прогресс, и производительность труда от подобных «ленивых» изобретений повышается. Чтобы не искать ошибки на web-страницах руками, «лентяи» создали множество программ, которые могут проверить сайт на уязвимости и просигнализировать, если найдено что-то подозрительное. попробуем разобраться, так ли эффективны подобные утилиты.

Откуда берутся ошибки? Можно выделить две основные проблемы: плохое образование и человеческий фактор. Тотальная нехватка программистов лет пять назад стала превращать в кодеров всех подряд. Ладно, человек стал программистом без специального образования, но надо же учиться, совершенствоваться, а не «просиживать» рабочее место за большую зарплату! Сейчас в Европе и США с кодингом попроще: стали использовать оффшор и открыли кучу представительств в странах, где программистов хватает, но качество кода, создаваемого в оффшоре и представительствах, все же оставляет желать лучшего.

Все мы «человеки», и все мы ошибаемся, и именно человеческий фактор является второй значимой проблемой и причиной половины ошибок. Даже профессионалы могут ошибаться в абсолютно очевидных ситуациях. Чисто машинально можно поставить не тот символ или из-за невнимательности забыть сделать проверку.

Искать ошибки вручную не так уж и сложно, но программисты не любят тщательно тестировать свое творение, надеясь на правильность кода и всемогущий авось. А надежда умирает последней, точнее, сразу после взлома. Если перефразировать Ленина, то нужно тестировать, тестировать и еще раз тестировать после каждого изменения кода.

Так нудно просматривать все страницы и все параметры… Но надо, Вася, надо! Причем именно после каждого изменения кода, даже незначительного. Тестировать нужно абсолютно все, ведь изменение в одном сценарии или настройках в базе данных может привести к ошибке совершенно в неожиданном месте и на той странице, сценарий которой не был изменен.

 

CyD NET Utils

Сайт: http://www.cydsoft.com
Лицензия: Shareware
Цена: для России 300 руб


CyD NET Utils — набор сетевых утилит для облегчения собственной жизни

Недавно в программе появился новый модуль — Security Test, который позволяет протестировать сервер на наиболее популярные уязвимости. На данный момент web-сайты тестируются на SQL-Injection, XSS, PHP-инклудинг и тому подобные упущения в коде. Алгоритм поиска пока не идеален, но постоянно совершенствуется, — обновления выкладываются практически каждый месяц.

Программа может работать как напрямую с интернетом, так и через proxy-сервер. При этом настройки proxy можно сохранить глобально для всех тестов программы или выбрать индивидуально для каждого конкретного, к примеру, если хочешь сделать тест через анонимный прокси, чтобы тебя никто не вычислил.

Для теста программы проверим сайт www.apahelpcenter.org. Запусти программу и выбирай в меню «File-> Security test». В появившемся окне нажимаешь кнопку «Test web server», она первая на панели инструментов окна «Security test». Перед тобой появится окно, где нужно указать URL сайта, который необходимо протестировать, и настройки соединения (прямой коннект или через прокси-сервер). В качестве URL указываем www.apahelpcenter.org и нажимаем OK. Понеслась. Хотя алгоритм не сильно напрягает трафик, хорошая скорость желательна.


Результат тестирования сайта www.apahelpcenter.org

Терпения и желания у нас хватило на тестирование пяти сценариев и в трех из них найдены уязвимости SQL-Injection. Авторы, наверное, вообще не задумывались о безопасности. По завершении сканирования программа предлагает небольшой отчет о проделанной работе и ссылки в Сети с описанием найденных ошибок с вариантами их исправления (если у тебя нет проблем с английским, то это описание может пригодиться).

На данный момент программа ищет ошибки в сценариях на PHP и ASP. В ближайшее время будет добавлен Macromedia Cold Fusion. Ошибки в сценариях Perl пока добавлять не планируется, — с точки зрения web-кодинга этот язык постепенно вымирает. По крайней мере, количество сайтов, написанных на нем, сокращается, а новые практически не появляются.

 

Acunetix Web Vulnerability Scanner

Сайт: http://www.acunetix.com
Лицензия: Shareware
Цена: $349

Разработчиком программы является раскрученная Acunetix (в недавнем времени — малоизвестная). Рекламу этой программы довольно часто можно встретить в Google ads. В триальной версии дозволено тестировать только сайты testphp.acunetix.com, testasp.acunetix.com и testaspnet.acunetix.com. Они созданы компанией специально для тестирования программы, но не факт, что на других серверах данный сканер безопасности покажет такие же результаты сканирования и найдет хотя бы половину ошибок. Алгоритм поиска нам не известен, а разработчик его не афиширует. Так что реально проверить качество тестирования невозможно: будем отталкиваться от того, что известно и доступно.



Acunetix Web Vulnerability Scanner

Vulnerability Scanner позволяет искать ошибки в сценариях на языках PHP, ASP и ASP.NET. Помимо этого, программа может проверять на ошибки JavaScript-сценарии, что смело относим к преимуществам. Можно тестировать не только напрямую, но и через HTTP или SOCKS прокси-сервер — для обеспечения анонимности.

Итак, что имеем на выходе:

  • Богатые, но не подтвержденные боевыми тестами возможности;
  • Красивый и удобный интерфейс;
  • Поиск уязвимостей xss, sql-injection, php-инклудинг, поиск хакерских запросов по базе google, обход каталога, crlf-injection, общедоступные резервные копии сценариев;
  • Хорошая служба поддержки, которая всегда отвечает, но не всегда вовремя (на наши вопросы разработчики ответили через три дня, правда, два из них были выходными).

Если у тебя есть лишние 350 баксов, то можешь купить программу и юзать на здоровье.

 

SQL Injection Tools

Автор: SQLHacK
Лицензия: Халява
Сайт: на диске к ноябрьскому Хакеру за 2006 год

Эта утилита не ищет ошибки на сайте, а использует их для получения определенной информации о сервере/базе данных. Она помогает узнать версию сервера БД, ее имя, пользователя, подобрать имена таблиц и полей через уже найденную уязвимость. Некоторые любят повторять, что через найденную уязвимость и обезьяна сможет узнать всю информацию. Но почему бы не облегчить себе труд?



SQL Injection Tools

Если нашел уязвимый URL, но не знаешь, как им воспользоваться, загружай SQL-Injection Tools:

  1. Введи url c параметрами, например http://www.target.com/index.php?id=123. Уязвимый параметр обязательно должен быть последним в url — «id=123».
  2. В поле «что ищем» введи кусок текста или слово, которое отображается, если загрузить, например, http://www.target.com/index.php?id=123, и не отображается, если загрузить http://www.target.com/index.php?id=123′.
  3. Дальше все ясно, кнопки говорят сами за себя.

Утилита позволяет серьезно сэкономить время, — нужно только создать хороший словарик и скормить его SQL-Injection Tools.

 

Paros

Сайт: parosproxy.org
Автор: paros
Лицензия: Халява

Это не просто программа для сканирования, это прокси-сервер, написанный на Java с продвинутыми возможностями для анализа.


Сканер и прокси-сервер в одном флаконе

После загрузки Paros создает на твоей машине прокси. По умолчанию он работает на 8080 порте. Запускаешь браузер и идешь в свойства. Установи работу через прокси, укажи локальную машину 127.0.0.1 и порт 8080. Теперь можешь работать с интернетом, а в это время Paros будет сканировать открываемые сайты на наличие уязвимостей. Только приготовься потерять уйму трафика: кушает Paros с аппетитом (для тех, кто сидит на безлимитке, это не так критично).

Программа позволяет модифицировать запросы к серверу, имеет кучу фильтров, может работать через удаленный прокси, обладает хорошими возможностями журналирования, но анализатор еще сырой. Явный недостаток — откровенно убогий и неудобный интерфейс.

Отлично подойдет для анализа пакетов, но для автоматического поиска уязвимостей не рекомендовал бы.

 

n4n0bit

Сайт: http://n4n.cup.su/
Автор: n4n0bit
Лицензия: Халява

Эта программа написана нашим соотечественником на Perl и ее любимая среда — Linux. Ищет SQL/PHP-Injection (в том числе, и в исходниках), XSS через web, а также имеет небольшой CGI-сканер. К сожалению, ограниченность одним только языком PHP открывает не очень широкое поле боевых действий, но хороший анализатор перебивает недостаток.


Сайт программы n4n0bit

 

Итого

Когда сайт состоит из одного файла сценария и получает немного параметров, проверить все руками достаточно просто. А если у тебя целый портал, который состоит из сотен сценариев? В таком случае на полноценные ручные тесты может уйти больше времени, чем на кодинг. Делать беглый тест не имеет смысла – обязательно что-нибудь да пропустишь, и тогда взлом не за горами. Для облегчения жизни есть программы, автоматизирующие этот процесс.

Может ли программа решить проблему? Решить-то может, а вот гарантировать результат — нет. Алгоритмы поиска не идеальны и зависят от множества факторов. Какая-то мелочь может повлиять на результат, и программа не найдет уязвимости, а вот хакер ручками ошибку выудит. Что же тогда делать? В случае со средствами безопасности, особенно тестами, рекомендуем использовать несколько разных программ. Если одна не найдет ошибку, то вполне возможно, что другая ее увидит. Ведь каждая программа использует свой алгоритм, который может быть эффективным в той или иной ситуации.

Но даже при использовании автоматического тестирования ручной способ исключать нельзя. При регулярной проверке автоматом достаточно хотя бы раз в неделю просматривать основные места самому (лучше, конечно же, все). Солидные компании нанимают хакеров, чтобы они тестировали их серверы на предмет безопасности. Мелкие компании и индивидуальные владельцы сайтов не могут позволить себе такого счастья, поэтому приходится ограничиваться автоматикой.

Мы показали разноплановые программы. Но информация быстро устаревает, появляются новые утилиты, а некоторые из старых могут «умирать».

Плюс помни, что программы автоматизации не могут дать гарантии, что нет уязвимости на сервере. В большинстве случаев они находят откровенные ляпы, особенно когда включены сообщения об ошибках. Но если ошибки не выводятся и некоторые символы все же фильтруются, автоматический тест может ничего не дать. А вот обход фильтров вручную может быть куда более результативным.

С другой стороны, «быстрый» тест позволяет понять, смогут ли данный сайт взломать начинающие, малоопытные «хакеры» с набором чужих программ. Несмотря на отсутствие 100% результата, рекомендуем использовать представленные программки для экспресс-анализа.


Полную версию статьи и дополнительные материалы ты можешь найти в февральском номере Спеца!

Сканер уязвимостей сайта
— онлайн-сканирование на наличие уязвимостей сети Версия сканера Full включает все тесты сканирования Light и добавляет более сложные тесты безопасности. Сначала он сканирует целевое приложение, затем отправляет различные входные данные в параметры страниц и ищет определенные веб-уязвимости, такие как: SQL-инъекция, межсайтовый скриптинг, включение локальных файлов, инъекция команд ОС и многие другие.
Кроме того, сканер также пытается обнаружить конфиденциальные файлы с сервера, такие как файлы резервных копий, старые файлы, интерфейсы администратора, архивные файлы и т. Д.

В то время как Light Scan пассивен и генерирует максимум 20 HTTP-запросов к серверу, Full Scan более агрессивен и отправляет до 10 000 HTTP-запросов. Это может вызывать сигналы тревоги от устройств IDS, но вы должны знать, что это не деструктивное сканирование.

Поскольку Full Scan выполняет всестороннюю оценку веб-сайта, его выполнение может занять несколько часов.

сканирование с проверкой подлинности

Сканер уязвимостей веб-сайта может сканировать целевое веб-приложение как аутентифицированный пользователь. Аутентификацию можно настроить двумя способами:
  • Аутентификация пользователя / пароля : при выборе этого параметра сканер сначала попытается пройти аутентификацию по предоставленному URL-адресу входа и получить действительный файл cookie сеанса. Этот файл cookie будет использоваться со всеми HTTP-запросами, направляемыми на сервер при выполнении проверки подлинности.У вас есть возможность проверить, прошла ли аутентификация успешно, прежде чем начать сканирование.
  • Аутентификация файлов cookie : С помощью этой опции вы можете указать уже действующий файл cookie сеанса (или несколько файлов cookie), который будет отправляться с каждым HTTP-запросом на сервер. Сначала необходимо получить cookie-файл сеанса, выполнив вход в целевое приложение вручную с помощью веб-браузера и передав cookie-файл из браузера на сканер (копирование / вставка).
  • Аутентификация заголовков : этот параметр позволяет указать настраиваемые заголовки HTTP, которые будут отправляться с каждым запросом в целевое приложение.Они могут использоваться для аутентификации (например, токены JWT, базовая аутентификация и т. Д.) Или для других конкретных функций приложения.
,
Как сканировать уязвимости на любом сайте с помощью Nikto «Null Byte :: WonderHowTo

Прежде чем атаковать какой-либо веб-сайт, хакер или тестер проникновения сначала составит список целевых поверхностей. После того, как они воспользовались хорошей разведкой и нашли подходящие места для нацеливания, они будут использовать инструмент сканирования веб-сервера, такой как Nikto, для поиска уязвимостей, которые могут быть потенциальными векторами атаки.

Nikto — это простой сканер веб-сервера с открытым исходным кодом, который проверяет веб-сайт и сообщает о найденных уязвимостях, которые можно использовать для взлома или взлома сайта.Кроме того, это один из наиболее широко используемых в отрасли инструментов для поиска уязвимостей веб-сайтов, который во многих отношениях считается отраслевым стандартом.

Хотя этот инструмент чрезвычайно эффективен, он , а вовсе не . Любой сайт с системой обнаружения вторжений или другими мерами безопасности обнаружит, что он сканируется. Первоначально предназначенный для тестирования безопасности, стелс никогда не был проблемой.

Правильный способ использования Nikto

Если вы просто запустите Nikto самостоятельно на целевом веб-сайте, вы можете не знать, что делать с информацией из сканирования.Никто на самом деле больше похож на лазерную указку, чтобы нанести гораздо больший удар, и вы увидите, как это закончится чуть позже.

Сначала поговорим о целевой поверхности. Это почти везде, где хакер будет пытаться атаковать, и может включать такие вещи, как сетевые принтеры и веб-сервер. Когда мы перейдем к использованию Nikto позже, нам потребуется предоставить ему один из трех различных типов информации: IP-адрес для локальной службы, веб-домен для атаки или веб-сайт SSL / HTTPS.

Прежде чем углубиться в сканирование с Nikto, лучше провести дополнительную разведку с помощью интеллектуального инструмента с открытым исходным кодом, такого как Maltego. Подобные инструменты могут помочь в создании профиля и более сфокусированного списка доступных целей, на которых следует сосредоточиться. Как только это будет сделано, Nikto можно использовать для выявления потенциальных уязвимостей для целей в списке.

Если повезет, будет обнаружена уязвимость с помощью оружия, что означает, что уже есть инструмент, позволяющий воспользоваться слабостью.С помощью соответствующего инструмента, который автоматически использует уязвимость, хакер может получить доступ к цели для выполнения любого количества скрытых атак, например, добавления кода для выполнения злонамеренных действий.

Шаг 1. Установите Nikto

Если вы используете Kali Linux, Nikto поставляется с предустановленной версией, поэтому вам не нужно ничего скачивать или устанавливать. Он будет находиться в категории «Анализ уязвимостей». Если у вас его нет по какой-либо причине, вы можете получить Nikto из его GitHub или просто использовать команду apt install .

  apt install nikto  

Если вы делаете это на Mac, вы можете использовать Homebrew для установки Nikto.

  Заваривать nikto  

Шаг 2. Познакомьтесь с Nikto

Прежде чем погрузиться в сканирование веб-серверов с помощью Nikto, давайте воспользуемся опцией -Помощь , чтобы увидеть все, что можно сделать внутри Nikto.

  nikto -Помощь  
  Опции:
       -ask + Нужно ли спрашивать об отправке обновлений
                               да Спросите о каждом (по умолчанию)
                               нет не спрашивай, не отправляй
                               авто не спрашивай, просто отправь
       -Cgidirs + Сканирование этих каталогов CGI: «none», «all» или значения типа «/ cgi / / cgi-a /»
       -config + Использовать этот файл конфигурации
       -Display + Включить / выключить выходы дисплея:
                               1 Показать перенаправления
                               2 Показать полученные куки
                               3 Показать все ответы 200 / ОК
                               4 Показать URL, которые требуют аутентификации
                               D Отладочный вывод
                               E Показать все ошибки HTTP
                               P Печать прогресса в STDOUT
                               S Очистить вывод IP-адресов и имен хостов
                               V Подробный вывод
       -dbcheck Проверять базу данных и другие ключевые файлы на наличие синтаксических ошибок
       Уклонение + Техника кодирования:
                               1 случайное кодирование URI (не UTF8)
                               2 Справочник самообращения (/./)
                               3 Преждевременное окончание URL
                               4 добавьте длинную случайную строку
                               5 Поддельный параметр
                               6 TAB в качестве распорки
                               7 Измените регистр URL
                               8 Используйте разделитель каталогов Windows (\)
                               A Используйте возврат каретки (0x0d) в качестве разделителя запроса.
                               B Используйте двоичное значение 0x0b в качестве разделителя запроса.
        -Формат + Сохранить файл (-o) формат:
                               CSV-запятая-значение
                               HTML формат HTML
                               Nbe Nessus NBE формат
                               SQL общего вида (см. документацию для схемы)
                               простой текст
                               XML XML Format
                               (если не указан, формат будет взят из расширения файла, переданного в -output)
       -Помощь Расширенная справочная информация
       -host + Целевой хост
       -404code Игнорировать эти коды HTTP как отрицательные ответы (всегда).Формат "302,301".
       -404string Игнорировать эту строку в содержании тела ответа как отрицательный ответ (всегда). Может быть регулярным выражением.
       -id + аутентификация хоста для использования, формат: id: pass или id: pass: realm
       -key + файл ключа сертификата клиента
       -list-plugins Вывести список всех доступных плагинов, не выполнять тестирование
       -maxtime + Максимальное время тестирования на хост (например, 1 ч, 60 м, 3600 с)
       -mutate + Угадай дополнительные имена файлов:
                               1 Протестируйте все файлы со всеми корневыми каталогами
                               2 Угадай для имен файлов паролей
                               3 Перечислите имена пользователей через Apache (/ ~ запросы типа пользователя)
                               4 Перечислите имена пользователей с помощью cgiwrap (/ cgi-bin / cgiwrap / ~ запросы типа пользователя)
                               5 Попытка использовать грубые имена поддоменов. Предположим, что имя хоста является родительским доменом.
                               6 Попытайтесь угадать имена каталогов из предоставленного файла словаря.
       -mutate-options Предоставить информацию для мутаций
       -nointeractive Отключает интерактивные функции
       -nolookup Отключает поиск DNS
       -nossl Отключает использование SSL
       -no404 Запрещает Никто пытаться угадать страницу 404
       -Опция Over-ride опция в никто.конф, может быть выдан несколько раз
       -output + Записать вывод в этот файл ('.' для автоматического имени)
       Пауза + Пауза между тестами (секунды, целое число или число с плавающей запятой)
       -Plugins + Список плагинов для запуска (по умолчанию: ВСЕ)
       -port + Порт для использования (по умолчанию 80)
       -RSAcert + файл сертификата клиента
       -root + добавить значение root ко всем запросам, формат / каталог
       -Сохранить положительные ответы в этот каталог ('.' Для автоматического имени)
       -ssl Принудительно использовать режим ssl для порта
       -Настройка + настройка сканирования:
                               1 Интересный файл / Виден в логах
                               2 Неверная конфигурация / Файл по умолчанию
                               3 Раскрытие информации
                               4 инъекции (XSS / Script / HTML)
                               5 Удаленный поиск файлов - внутри рута
                               6 Отказ в обслуживании
                               7 Удаленный поиск файлов - в масштабе сервера
                               8 Выполнение команд / Удаленная оболочка
                               9 SQL-инъекция
                               0 Загрузка файла
                               обход аутентификации
                               б Идентификация программного обеспечения
                               c Включение удаленного источника
                               d WebService
                               Административная консоль
                               x Параметры обратной настройки (i.включите все, кроме указанного)
       -timeout + Timeout для запросов (по умолчанию 10 секунд)
       -Userdbs Загружать только пользовательские базы данных, а не стандартные базы данных
                               все Отключить стандартные БД и загрузить только пользовательские БД
                               тесты Отключить только db_tests и загрузить udb_tests
       -useragent Переопределяет стандартный пользовательский агент
       -До запуска до указанного времени или продолжительности
       Обновление баз и плагинов из CIRT.сеть
       -useproxy Использовать прокси, определенный в nikto.conf, или аргумент http: // server: port
       -Version Версия для печати плагина и базы данных
       -vhost + Виртуальный хост (для заголовка Host)
   + требует значения  

Шаг 3. Использование основного синтаксиса

Как видно из предыдущего шага, у Nikto есть много опций, но для наших целей мы будем придерживаться основного синтаксиса следующим образом. Мы заменим фактическим IP-адресом или именем хоста без угловых скобок.

  nikto -h   

Однако Nikto способен выполнять сканирование, которое может идти после SSL и порта 443, порта, используемого веб-сайтами HTTPS (HTTP использует порт 80 по умолчанию). Таким образом, мы не ограничены только сканированием старых сайтов, мы можем проводить оценку уязвимости на сайтах, использующих SSL, что в наши дни является обязательным требованием для индексации в результатах поиска.

Если мы знаем, что это SSL-сайт, на который мы нацеливаемся, мы можем указать его в Nikto, чтобы сэкономить время на сканировании, добавив -ssl в конец команды.

  nikto -h  -ssl  

Шаг 4. Сканирование веб-сайта с поддержкой SSL

Например, давайте начнем с сканирования pbs.org, чтобы увидеть некоторые типы информации, отображаемой при сканировании Nikto. После того, как он подключается к порту 443, мы видим, что есть некоторая полезная информация о шифре и список других деталей, таких как сервер Nginx, но здесь не так много интересных данных для нас.

  nikto -h pbs.org -ssl  
  - Никто v2.1,6
-------------------------------------------------- ----------------------------
- СТАТУС: Запуск!
+ Целевой IP: 54.225.198.196
+ Целевое имя хоста: pbs.org
+ Порт Traget: 443
-------------------------------------------------- ----------------------------
+ SSl Info: Тема: /CN=www.pbs.org
Альтернативные имена: account.pbs.org, admin.pgs.org, dipsy-tc.pbs.org, docs.pbs.org, ga.video.cdn.pbs.org, git.pbs.org, heart.ops.pbs. org, hub-dev.pbs.org, image.pbs.org,
                    jaws..pbs.org, kids.pbs.org, koth-qa.svp.pbs.org, login.pbs.org, ops.pbs.org, pbs.org, player.pbs.org, projects.pbs.org, sentry.pbs. org, teacherline.pbs.org,
                                urs.pbs.org, video.pbs.org, weta-qa.svp.pbs.org, whut-qa.svp.pbs.org, wnet.video-qa.pbs.org, wnet.video-staging.pbs. org, www-cache.pbs.org, www.pbs.org
                    Шифры: ECDHE-RSA-AES128-GCM-SHA256
                    Эмитент: / C-US / 0 = Let's Encrypt / CN = Let's Encrypt Authority X3
+ Время начала: 2018-12-05 23:34:06 (GMT-8)
-------------------------------------------------- ----------------------------
+ Сервер: nginx
+ Заголовок X-Frame-Options для защиты от кликов отсутствует.+ Заголовок X-XSS-Protection не определен. Этот заголовок может указывать агенту пользователя на защиту от некоторых форм XSS
+ Найден необычный заголовок 'x-pbs-fwsrvname' с содержимым: fwcacheproxy1
+ Сайт использует SSL, а HTTP-заголовок Strict-Transport-Security не определен.
+ Заголовок X-Content-Type-Options не установлен. Это может позволить агенту пользователя отображать содержимое сайта иначе, чем MIME-тип.
+ Корневая страница / перенаправляет на: https://www.pbs.org/
+ Не найдено каталогов CGI (используйте '-C all', чтобы принудительно проверить все возможные каталоги)
+ RC-1918 IP-адрес найден в заголовке «x-pbs-appsvrip»: IP-адрес «10.137.181.52" .
+ Найден необычный заголовок 'x-cache-fs-status' с содержимым: EXPIRED
+ Найден необычный заголовок 'x-pbs-appsvrname' с содержимым: fwcacheproxy1
+ Найден необычный заголовок 'x-pbs-appsvrip' с содержанием: 10.137.181.52
+ Сервер пропускает иноды через ETags, заголовок найден в файле /pbs.org.zip, поля: 0x5b96537e 0x1678
+ 7446 запросов: 0 ошибок и 10 элементов на удаленном хосте
+ Время окончания: 2018-12-06 00:30:29 (GMT-8) (3383 секунды)
-------------------------------------------------- ----------------------------
+ 1 хост (ы) протестирован  

Шаг 5. Сканирование IP-адреса

Теперь, когда мы выполнили быстрое сканирование веб-сайта, давайте попробуем использовать Nikto в локальной сети, чтобы найти встроенные серверы, такие как страница входа для маршрутизатора или служба HTTP, на другой машине, которая просто сервер без веб-сайта.Чтобы начать, давайте найдем наш IP-адрес, используя ifconfig .

  ifconfig  
  en0: flags = 8863 <ВВЕРХ, ВЕЩАНИЕ, УМНЫЙ, РАБОТА, СИМПЛЕКС, МУЛЬТИКАСТ> mtu 1500
        инет 192.168.0.48 маска сети 0xffffff00 широковещательная 192.168.0.255
        inet6 XXXX :: XXX: XXXX: XXXX: XXXX% en0 с префиксом 64 защищенный scopeid 0x8
        эфир XX: XX: XX: XX: XX: XX txqueuelen 1000 (Ethernet)
        inet6 XXXX :: XXX: XXXX: XXXX: XXXX% en0 prefixlen 64 autoconf secure
        inet6 XXXX :: XXX: XXXX: XXXX: XXXX% en0 prefixlen 64 autoconf временный
        nd6 options = 201 
        медиа: автоселект
        статус: активный

en2: flags = 8863 <ВВЕРХ, ВЕЩАНИЕ, УМНЫЙ, РАБОТА, ПРОМИСК, СИМПЛЕКС, МУЛЬТИКАСТ> mtu 1500
        опции = 60 
        эфир XX: XX: XX: XX: XX: XX
        media: автоматический выбор 
        статус: неактивный  

IP-адрес, который мы хотим, является «inet».Затем мы можем запустить ipcalc , чтобы получить диапазон нашей сети. Если у вас нет ipcalc , вы можете установить его с apt install ipcalc , а затем повторите попытку. Диапазон будет рядом с «Сеть», в моем случае, 192.168.0.0/24.

  ipcalc 192.168.0.48  
  Адрес: 192.168.0.48 11000000.10101000.00000000. 00110000
Маска подсети: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Подстановочный знак: 0.0.0.255 00000000.00000000.00000000. 11111111
=>
Сеть: 192.168.0.0/24 11000000.10101000.00000000. 00000000
HostMin: 192.168.0.1 11000000.10101000.00000000. 00000001
HostMax: 192.168.0.254 11000000.10101000.00000000. 11111110
Трансляция: 192.168.0.255 11000000.10101000.00000000. 11111111
Хосты / Сеть: 254 Класс C, Частный Интернет  

Теперь нам нужно запустить Nmap, чтобы найти службы, работающие в диапазоне сети. Давайте просканируем порт 80 с нашим диапазоном и отметим -oG (grepable output), чтобы извлечь только те хосты, которые работают и работают, т.е.отвечающие указывают, что порт 80 открыт. Затем мы сохраним все в файл, который я называю nullbyte.txt , но можно назвать как угодно.

  nmap -p 80 192.168.0.0/24 -oG nullbyte.txt  
  Запуск Nmap 7.60 (https://nmap.org) в 2018-12-06 00:43 PST
Отчет о сканировании Nmap для 192.168.0.1
Хост работает (задержка 0,021 с).

ПОРТ ГОСУДАРСТВЕННАЯ СЛУЖБА
80 / TCP открыть http

Отчет о сканировании Nmap для 192.168.0.2
Хост работает (задержка 0,088 с).

ПОРТ ГОСУДАРСТВЕННАЯ СЛУЖБА
80 / TCP открыть http

Отчет о сканировании Nmap за 192.168.0.4
Хост работает (задержка 0,032 с).

ПОРТ ГОСУДАРСТВЕННАЯ СЛУЖБА
80 / TCP открыть http

Отчет о сканировании Nmap за 192.168.0.5
Хост работает (задержка 0,020 с).

ПОРТ ГОСУДАРСТВЕННАЯ СЛУЖБА
80 / TCP открыть http

Отчет о сканировании Nmap за 192.168.0.11
Хост работает (задержка 0,068 с).

ПОРТ ГОСУДАРСТВЕННАЯ СЛУЖБА
80 / TCP закрыт http

Отчет о сканировании Nmap за 192.168.0.24
Хост работает (задержка 0,023 с).

ПОРТ ГОСУДАРСТВЕННАЯ СЛУЖБА
80 / TCP закрыт http

Отчет о сканировании Nmap за 192.168.0.31
Хост работает (задержка 0,059 с).

ПОРТ ГОСУДАРСТВЕННАЯ СЛУЖБА
80 / TCP закрыт http

Отчет о сканировании Nmap за 192.168.0.48
Хост работает (задержка 0,030 с).

ПОРТ ГОСУДАРСТВЕННАЯ СЛУЖБА
80 / TCP закрыт http

Отчет о сканировании Nmap за 192.168.0.60
Хост работает (задержка 0,092 с).

ПОРТ ГОСУДАРСТВЕННАЯ СЛУЖБА
80 / TCP закрыт http

Nmap выполнено: 256 IP-адресов (до 9 хостов) отсканировано за 8,92 секунды  

Есть небольшая хитрость, которая может отправить все работающие хосты напрямую в Nikto для сканирования. Мы используем cat , чтобы прочитать выходные данные, хранящиеся в нашем документе nullbyte.txt (или как вы его назвали). Затем есть awk , инструмент Linux, который поможет найти следующий шаблон, где Up означает, что хост работает, а print $ 2 означает распечатать второе слово в этой строке для каждого, i.просто IP-адрес. Затем мы отправляем эти данные в новый файл с именем targetIP.txt (или как вы хотите его назвать).

  cat nullbyte.txt | awk '/ Up $ / {print $ 2}' | cat >> targetIP.txt  

Теперь мы можем просмотреть содержимое нашего нового файла с cat , чтобы увидеть все IP-адреса с открытым портом 80.

  cat targetIP.txt  
  192.168.0.1
192.168.0.2
192.168.0.4
192.168.0.5
192.168.0.11
192.168.0.24
192.168.0.31
192.168.0.48
192.168.0.60  

Это идеально подходит для Nikto, поскольку он может легко интерпретировать такие файлы. Таким образом, мы можем отправить этот вывод Никто с помощью следующей команды.

  nikto -h targetIP.txt  

Результаты будут похожи на результаты, полученные при сканировании SSL.

Шаг 6. Сканирование веб-сайта HTTP

Мы отсканировали защищенный веб-сайт и IP-адрес в локальной сети, и теперь пришло время заняться поиском незащищенного веб-домена с использованием порта 80.В этом примере я использую «afl.com.au», который не использовал SSL во время выполнения этого сканирования.

  nikto -h www.afl.com.au  
  - Nikto v2. 1,6
-------------------------------------------------- -------------------------
+ Целевой IP: 159.180.84.10
+ Целевое имя хоста: www.afl.com.au
+ Целевой порт: 80
+ Время начала: 2018-12-05 21:48:32 (GMT-8)
-------------------------------------------------- -------------------------
+ Сервер: instart / nginx
+ Повторная попытка через заголовок: 1.1 лак (лак / 6.1), 1.1 e9ba0a9a729ff2960a04323bf1833df8.cloudfront.net (CloudFront)
+ Заголовок X-Frame-Options для защиты от кликов отсутствует.
+ Заголовок X-XSS-Protection не определен. Этот заголовок может указывать агенту пользователя на защиту от некоторых форм XSS
+ Обнаружен необычный заголовок 'x-cache' с содержимым: Miss from cloudfront
+ Найден необычный заголовок 'x-instart-cache-id' с содержанием: 17: 12768802731504004780 :: 1544075250
+ Найден необычный заголовок 'v-cache-hit' с содержимым: Hit
+ Найден необычный заголовок 'x-amz-cf-id' с содержимым: Dr-r6OwO5kk9ABt4ejzpc7R7AIF6SuH6kfJHQgP0v6xZoHwMLE55rQ ==
+ Обнаружен необычный заголовок 'x-instart-request-id' с содержанием: 12814413144077601501: BEQ01-CPVNPPRY18: 1552504721: 0
+ Найден необычный заголовок 'x-oneagent-js-инъекция' с содержанием: true
+ Найден необычный заголовок 'grace' с содержимым: кеш
+ Заголовок X-Content-Type-Options не установлен.Это может позволить агенту пользователя отображать содержимое сайта иначе, чем MIME-тип.
+ Найден необычный заголовок 'x-ruxit-js-agent' с содержимым: true
+ Cookie dtCookie создан без флага httponly
+ Баннер сервера изменился с 'instart / nginx' на 'nginx', что может указывать на наличие WAF, балансировщика нагрузки или прокси
+ Не найдено каталогов CGI (используйте '-C all', чтобы принудительно проверить все возможные каталоги)
+ Запись '/ sites /' в robots.txt вернула незапрещенный или перенаправляющий HTTP-код (200)
+ Запись '/ search /' в роботах.TXT вернул незапрещенный или перенаправляющий HTTP-код (200)
+ Запись '* .mobileapp' в robots.txt вернула незапрещенный или перенаправляющий HTTP-код (400)
+ Запись '* .liveradio' в robots.txt вернула незапрещенный или перенаправляющий HTTP-код (400)
+ Запись '* .smartmobile' в robots.txt вернула незапрещенный или перенаправляющий HTTP-код (400)
+ Запись '* .responsive' в robots.txt вернула незапрещенный или перенаправляющий HTTP-код (400)
+ Запись '/ stats? * /' В robots.txt вернула незапрещенный или перенаправляющий HTTP-код (200)
+ роботы.TXT "содержит 8 записей, которые должны быть просмотрены вручную.
+ OSVDB-3092: /sitemap.xml: это хороший список содержимого сайта.
+ OSVDB-3092: / psql_history: Это может быть интересно ...
+ OSVDB-3092: / global /: Это может быть интересно ...
+ OSVDB-3092: / home /: Это может быть интересно ...
+ OSVDB-3092: / news: Это может быть интересно ...
+ OSVDB-3092: /search.vts: Это может быть интересно ...
+ OSVDB-3092: /stats.htm: Это может быть интересно ...
+ OSVDB-3092: /stats.txt: Это может быть интересно...
+ OSVDB-3092: / stats /: Это может быть интересно ...
+ OSVDB-3092: / Stats /: Это может быть интересно ...
+ OSVDB-3093: /.wwwacl: содержит информацию об авторизации
+ OSVDB-3093: /.www_acl: содержит информацию об авторизации
+ OSVDB-3093: /.htpasswd: содержит информацию об авторизации
+ OSVDB-3093: /.access: содержит информацию об авторизации
+ OSVDB-3093: /. Адресная книга: адресная книга PINE, может хранить конфиденциальные адреса электронной почты, контактную информацию и заметки
+ OSVDB-3093: /.bashrc: домашний каталог пользователя был найден с rc-файлом оболочки.Это может раскрыть информацию о файле и пути.
+ OSVDB-3093: /.bash_history: домашнему каталогу пользователя может быть задан корневой веб-каталог, извлечена история оболочки. Это не должно быть доступно через Интернет.
+ OSVDB-3093: /.forward: обнаружен домашний каталог пользователя с файлом пересылки почты. Может показать, куда пересылается почта пользователя.
+ OSVDB-3093: /.history: домашнему каталогу пользователя может быть задан веб-корень, извлечена история оболочки. Это не должно быть доступно через Интернет.
+ OSVDB-3093: /.htaccess: содержит информацию о конфигурации и / или авторизации
+ OSVDB-3093: /.lynx_cookies: обнаружен домашний каталог пользователя с файлом cookie LYNX. Может обнаруживать файлы cookie, полученные с произвольных веб-сайтов.
+ OSVDB-3093: /.mysql_history: база данных SQL?
+ OSVDB-3093: /.passwd: содержит информацию об авторизации
+ OSVDB-3093: /.pinerc: обнаружен домашний каталог пользователя с файлом PINE rc. Может раскрыть системную информацию, каталоги и многое другое.
+ OSVDB-3093: /.plan: домашний каталог пользователя с .plan, в настоящее время в основном устаревшим файлом для доставки информации по протоколу finger.
+ OSVDB-3093: /.proclog: домашний каталог пользователя с rc-файлом Procmail. Может раскрыть почтовый трафик, каталоги и многое другое.
+ OSVDB-3093: /.procmailrc: домашний каталог пользователя с rc-файлом Procmail. Может раскрывать подкаталоги, почтовые контакты и многое другое.
+ OSVDB-3093: /.profile: домашний каталог пользователя с профилем оболочки был найден. Может раскрыть информацию каталога и конфигурацию системы.
+ OSVDB-3093: /.rhosts: домашнему каталогу пользователя может быть задан веб-корень, получен файл .rhosts. Это не должно быть доступно через Интернет.
+ OSVDB-3093: /.sh_history: домашний каталог пользователя может быть установлен как веб-корень, история оболочки была получена. Это не должно быть доступно через Интернет.
+ OSVDB-3093: /.ssh: домашнему каталогу пользователя может быть задан корневой веб-узел, получен файл ssh. Это не должно быть доступно через Интернет.
+ OSVDB-5709: /.nsconfig: содержит информацию об авторизации
+ / portal / changelog: найден журнал изменений Vignette richtext HTML-редактора.
+ 7587 запросов: 4 ошибок и 55 элементов на удаленном хосте
+ Время окончания: 2018-12-05 22:42:41 (GMT-8) (3249 секунд)
-------------------------------------------------- -------------------------
+ 1 хост (ы) протестировано  

Выше мы видим, что есть сервер Varnish и некоторые заголовки, которые помогают указать, как настроен веб-сайт.Однако более сочные вещи — это найденные каталоги, которые могут помочь поймать файлы конфигурации, которые могут содержать учетные данные или другие вещи, которые были неправильно настроены и оставлены непреднамеренно доступными.

Элементы с префиксом OSVDB — это уязвимости, о которых сообщалось в базе данных уязвимостей с открытым исходным кодом (сайт, закрытый в 2016 году). Он похож на другие базы данных уязвимостей, такие как SecurityFocus, Microsoft Technet, а также общие уязвимости и уязвимости. Я предпочитаю проверить Национальную базу данных уязвимостей.

Несмотря на то, что в этом сканировании нет каких-либо важных вещей, которые можно было бы использовать, если бы оно было, вы можете использовать справочный инструмент CVE для преобразования идентификатора OSVDB в запись CVE, чтобы вы могли использовать один из других сайтов, перечисленных выше, чтобы Узнайте больше об уязвимости.

Скажем, мы нашли кое-что стоящее, например CVE-2018-10933, уязвимость Libssh, которую мы подробно рассмотрели ранее. CVE содержит информацию о том, что может быть использовано, каков уровень серьезности (например, критический), и некоторую другую информацию, которая может помочь определить вектор атаки.Если это что-то, что стоит использовать, вы можете искать в Metasploit, так как кто-то уже, вероятно, разработал оружейный модуль для его более легкого использования.

How to Scan for Vulnerabilities on Any Website Using Nikto

Шаг 7. Сопряжение сканирований с Metasploit

Одно из преимуществ Nikto заключается в том, что вы можете экспортировать информацию в формат, который Metasploit может прочитать при выполнении сканирования. Для этого просто используйте команды, указанные выше, чтобы выполнить сканирование, но добавив -Format msf + до конца. Формат может помочь нам быстро сопоставить данные, полученные с помощью оружия.

  nikto -h  -Format msf +  

Итак, в этом руководстве мы пошли от определения площади поверхности цели до обнаружения уязвимости, а затем связали ее с оружием, поэтому нам не нужно делать всю работу. Поскольку Nikto не является скрытым инструментом, целесообразно выполнять сканирование такого типа из VPN, через Tor или из другого типа службы, чтобы ваш реальный IP-адрес не был помечен для подозрительного поведения.

Не пропустите: как сканировать сайты на предмет уязвимостей с помощью телефона Android без рута

Хотите начать зарабатывать как хакер в белой шляпе? Начните свою карьеру хакера в белой шляпе с нашим Премиальным учебным комплектом по сертификации этики для взлома 2020 года из нового магазина Null Byte Shop и получите более 60 часов обучения от профессионалов по этике.

Купить (скидка 90%)>

Фото на обложке от Null Byte ,
13 Онлайн-инструменты для поиска уязвимостей для сканирования безопасности вашего сайта

Каждый раз, когда вы делитесь своими онлайн-приложениями с общественностью, вы рискуете получить взлом. Вот почему настройка надежного сканирования уязвимостей в сети, на серверах и в онлайн-приложениях абсолютно необходима.

К счастью, ряд проверенных методов позволяет выявлять, классифицировать, исправлять и отслеживать любые возможные дыры в безопасности. И так же, как мы поделились с вами обзором лучших доступных инструментов OSINT, сегодня мы рассмотрим 13 лучших инструментов онлайн-сканирования уязвимостей, которые позволят вам позаботиться о вещах раньше, чем это сделают плохие парни.

Чтобы удовлетворить ваши конкретные потребности, мы включили как бесплатные, так и коммерческие решения.

Mozilla Observatory

Mozilla HTTP Observatory — один из самых эффективных онлайн-сканеров уязвимостей. Этот сканер безопасности, основанный Mozilla Foundation, проанализирует ваш веб-сайт, используя различные методы для выявления потенциальных ошибок и пробелов в безопасности вашего веб-приложения и серверов.

Тесты делятся на четыре категории: HTTP-обсерватория, TLS-обсерватория, SSH-обсерватория и сторонние тесты.

Mozilla Observatory

TLS Observatory и сторонние тесты (с таких сайтов, как ssllabs.com, htbridge.com, tls.imirhil.fr,

securityheaders.com и hstspreload.org) фокусируются на безопасности SSL и заголовках HTTP и показывают действительно интересные результаты, такие как уязвимые комплекты шифров, например:

Mozilla Observatory

Наконец, есть также сервисный сканер SSH, который необходимо запустить вручную. Большую часть времени вам потребуется внести в белый список IP-адрес обсерватории, чтобы сгенерировать точное сканирование, избегая блоков брандмауэра.

Mozilla Observatory

После того, как вы определили свои слабые стороны SSH, вы можете начать укреплять свой сервер для смягчения наиболее распространенных SSH-атак.

Detectify

Detectify — это хорошо известный онлайн-сканер уязвимостей, который позволяет владельцам бизнеса, командам infosec и разработчикам автоматически проверять более 1000 известных уязвимостей.

Встроенная функция контроля поддоменов будет постоянно анализировать любые враждебные атаки. Он также проверяет ваш сайт на соответствие основным тестам уязвимостей OWASP, позволяет интегрировать проверки безопасности с популярными инструментами разработки, такими как Slack, Zapier и Jira, и экспортирует результаты всех уязвимостей, найденных в виде сводного или полного отчета.

При запуске первого сканирования оно начинается с сбора информации о сервере, затем сканирования, снятия отпечатков пальцев и последующего анализа информации, заканчивается тестами эксплуатации и генерирует результаты сканирования.

После завершения результаты будут отображаться на панели пользователя, показывая серьезность уязвимостей, обнаруженных в ваших приложениях, как показано ниже:

Detectify

Вы увидите полный список предупреждений безопасности и критических ошибок, найденных на вашем веб-сайте, от смешанного содержимого HTTP / HTTPS до уязвимых конфигураций заголовков HTTP, старых протоколов SSL / TLS и многого другого.

Detectify

И последнее, но не менее важное: Detectify проанализирует ваш веб-сайт по известному списку уязвимостей OWASP Top 10 и даст вам окончательный результат, а также быстрые ссылки, предлагающие дополнительную информацию о том, как исправить каждую угрозу безопасности:

Detectify

Pentest Web Server Сканер уязвимостей

Сканер уязвимостей веб-сервера

Pentest — еще один замечательный продукт, разработанный PenTest-Tools, компанией, известной широким спектром инструментов Infosec, которые могут сканировать ваш сайт на предмет любых видов уязвимостей.

Здесь мы протестировали онлайн-сканер уязвимостей веб-сервера с 20 бесплатными кредитами, которые они предлагают для гостей.

Результаты показывают сводку оценки рисков, найденные потенциально важные файлы, уязвимости удаленного выполнения команд, статистику внедрения SQL-кода, произвольные чтения файлов, устаревшее серверное программное обеспечение, неправильно настроенные службы сервера, найденное серверное программное обеспечение и технологии, а также файл robots.txt и полная проверка заголовка безопасности HTTP.

Pentest Web Server Vulnerability Scanner

Этот инструмент особенно полезен, когда вам нужно выполнить несколько конкретных тестов; в нашем случае 20 бесплатных кредитов было достаточно для двух сканирований с одного и того же IP-адреса, прежде чем предлагать свой план Pro для полного глубокого сканирования.

Qualys FreeScan

Хотя Qualys славится своим тестом SSL, большинство людей не знают, что они также предлагают полный сканер уязвимостей, который анализирует ваши сайты бесплатно. Этот сервис позволяет выполнять 10 бесплатных сканирований любых URL-адресов или IP-адресов. Бесплатный сканер Qualys анализирует следующие проблемы:

  • Аудит веб-приложений OWASP
  • Сетевые уязвимости
  • Отсутствуют исправления программного обеспечения
  • соответствие SCAP
  • Скрытое вредоносное ПО
  • Уязвимости SSL-сертификата

Когда результаты будут готовы, вы увидите что-то вроде этого:

Qualys FreeScan

Результаты будут отфильтрованы по степени воздействия на безопасность, от уязвимостей высокой степени опасности до уязвимостей низкой степени опасности.Как показано ниже справа, вы также можете увидеть связанную информацию CVE для каждой конкретной найденной уязвимости.

Qualys FreeScan

В нашем списке это один из лучших сканеров уязвимостей; однако, процесс одобрения вручную не делает его правильным выбором для спешащих.

Probe.ly

Это может быть не всем известный сканер веб-уязвимостей, но он обладает большими возможностями. Probe.ly будет сканировать ваши веб-приложения, чтобы найти проблемы безопасности и уязвимости, и даст вам рекомендации по их устранению.

Probe.ly может быть использован для сканирования OWASP Top 10, а также для проверки соответствия PCI-DSS, ISO27001, HIPAA и GDPR.

Probe.ly

Он включает в себя простой в использовании интерфейс, который поможет вам сканировать ваш сайт в считанные секунды. После завершения он отправляет вам результаты по электронной почте и отображает полную информацию в интерфейсе вашей клиентской области, позволяя вам загрузить результаты сканирования в форматах PDF и CSV для дальнейшего анализа.

ImmuniWeb

ImmuniWeb Security Test — это надежный и надежный продукт, который выполняет проверки безопасности и конфиденциальности веб-приложений, включая общеизвестные уязвимости, устаревшее программное обеспечение, запущенное на удаленном сервере, методы HTTP, заголовки HTTP (HSTS, X-Frame-Options, X-Powered- По X-Content-Type-Options, X-XSS-Protection, CSP, Public-Key-Pins и т. Д.), Проверке черного списка, удаленному обнаружению WAF, а также обнаружению кампании по криптованию в файлах Javascript.

С дружественным веб-интерфейсом результаты сканирования отображаются в течение нескольких секунд и дают вам окончательную оценку безопасности, сообщая вам обо всех найденных уязвимостях и о том, соответствуете ли вы требованиям стандарта PCI DSS.

ImmuniWeb

Окончательный отчет содержит другие интересные детали, такие как обнаружение порта / протокола, информация о сертификате SSL и полный анализ безопасности файлов cookie.

Upguard

Upguard — австралийская компания по кибербезопасности, которая предлагает несколько решений, которые помогают онлайн-стартапам обеспечивать безопасность своих систем и предотвращать веб-нарушения.

Их сканер уязвимостей — один из самых быстрых из всех, что мы обнаружили. Это также совершенно бесплатный, экономичный способ проверить ваш сайт на наличие более 40 уязвимостей высокой степени опасности и популярных CVE.

Платформа будет автоматически сканировать ваш сервер, веб-приложения и сеть, в том числе, среди прочего, атаки типа «злоумышленник», межсайтовые атаки, мошеннические атаки по электронной почте, атаки на захват домена, заражение вредоносным ПО, открытые порты и неаутентифицированные записи DNS.

После завершения сканер покажет вам краткую информацию о компании, стоящей за доменным именем (cloudflare.com в наших тестах), их рейтинг кибербезопасности, а также полное описание каждой уязвимости, обнаруженной в вашем доменном имени и веб-приложениях.

Upguard

Web Cookies Scanner

Web Cookies Scanner — это универсальный инструмент для сканирования уязвимостей веб-сайтов, основывающий свои тесты на анализе файлов cookie HTTP, задействованных технологий (Flash, HTML5 localStorage, sessionStorage, CANVAS, Supercookies, Evercookies) и сеансов HTTP, а также включает HTML, SSL / TLS функции сканирования уязвимостей.

Сканирование анализирует три различных типа файлов cookie, таких как файлы cookie стороннего домена, постоянные файлы cookie и файлы cookie сеанса.

Web Cookies Scanner

Сканирование заголовка HTTP показывает, насколько безопасен ваш веб-сайт, когда речь заходит об укреплении и безопасности заголовка HTTP, как вы видите в следующем примере (из нашего сканирования mozilla.org):

Web Cookies Scanner

Tinfoil Security

Tinfoil Security Scanner — еще одно отличное решение для поиска уязвимостей.Это бесплатное сканирование дает вам доступ к испытательному периоду, в течение которого вы можете сканировать свой веб-сайт на наличие уязвимостей в отношении широкого спектра дыр в безопасности, самых распространенных CVE и отпечатков пальцев.

Tinfoil Security

Хотя их сканирование выполняется немного медленнее, чем другие, оно глубокое, тщательное и позволяет вам обнаружить скрытые уязвимости в вашем коде, сервере и сети.

Когда закончите, он покажет вам результаты, как на следующем скриншоте:

Tinfoil Security

Sucuri

Хотя Sucuri SiteCheck прославился как сканер вредоносных программ, он также выполняет несколько задач сканирования уязвимостей.

В полном отчете представлены результаты сканирования на наличие вредоносных программ, проверки в черных списках и состояние веб-сайта брандмауэра от сторонних служб, таких как Google Safe Browsing, Norton Safe Web, McAfee, PhishTank и Spamhaus.

Он также проанализирует код вашего веб-сайта на наличие ошибок сервера, спама и любого вредоносного кода, внедренного в ваши файлы HTML, CSS и Javascript.

Sucuri

Он также может раскрывать важную системную информацию, такую ​​как IP-адреса (ipv4 и ipv6), подписи веб-сервера и сервера приложений.

ScanMyServer

ScanMyServer — это бесплатный инструмент, который ищет распространенные уязвимости и дыры в безопасности и может выполнять различные тесты внедрения кода PHP, тесты внедрения заголовков HTTP, атаки межсайтового скриптинга, внедрение SQL и Blind SQL.

Чтобы протестировать эту услугу, вы должны сначала разместить HTML-значок на вашем сайте. Как только ScanMyServer обнаружит код на вашем сайте, результаты должны быть отправлены вам по электронной почте в течение следующих 2 часов.

ScanMyServer

Этот тест выполняет тщательное сканирование и сообщает результаты с рекомендациями по решению рисков.Учетная запись также позволяет вам выполнять еженедельное сканирование одного домена бесплатно.

HackerTarget WP Scan

Хотя это не стандартный онлайн-сканер уязвимостей, он отлично работает для тех, кто создал свою веб-страницу с помощью WordPress CMS.

HackerTarget предлагает бесплатный сканер безопасности WordPress, который может пригодиться после первоначальной настройки WordPress для обнаружения и усиления слабых мест вашего блога, электронной коммерции или корпоративного веб-сайта с помощью этой CMS.

Проверки безопасности включают безопасность основного приложения WordPress, установленные плагины и темы, а также программное обеспечение веб-сервера и конфигурацию хостинга.

Первый тест бесплатный и выполняет простое сканирование безопасности на основе исходного HTML-кода блога, который вы ввели. Второе сканирование углубляется, перечисляя плагины и темы и выполняя масштабный аудит WordPress с использованием Nmap-скриптов NSE, Nikto, OpenVAS и других популярных сканеров уязвимостей.

HackerTarget WP Scan

Бесплатное сканирование определит версию установки WordPress Core, обнаружит плагины в необработанных данных HTML, определит активную тему WordPress, выполнит перечисление пользователей, выведет список всех iframes и файлов javascript, проверит, включен ли индекс каталога, а также проверит для репутации Google Safe Browsing, Spamhaus и других черных списков.

HackerTarget WP Scan

Если вы заинтересованы в поиске более конкретных сканеров уязвимостей WP, ознакомьтесь с этой статьей: 5 лучших сканеров уязвимостей WordPress.

Vulners Web Scanner

Vulners Web Scanner — это не веб-сканер, а расширение для браузера, доступное для Google Chrome и Firefox. Он работает на любой веб-странице, анализируя текущие имена и версии любого программного обеспечения, работающего с ответом HTML, от веб-сервера до библиотек JavaScript, фреймворков и т. Д.

После того, как вы нажмете кнопку «Сканировать», он начнет поиск и покажет вам результаты в одном окне со всеми подробностями о найденном программном обеспечении, в том числе о том, является ли оно современным (безопасным) или связано ли оно с каким-либо типом CVE или другие общеизвестные уязвимости.

Vulners Web Scanner

Но это не заканчивается там. Vulners также проверяет каждый ресурс, который вы загружаете с внешних серверов, таких как программное обеспечение для статистики, удаленные шрифты, источники JavaScript и т. Д.

Это простой инструмент, который выполняет свою работу: он находит уязвимые версии программного обеспечения на вашем веб-сайте, но его никогда не следует использовать в качестве окончательного инструмента сканирования, только в качестве быстрого и базового дополнения.

Заключение

Использование любого из перечисленных инструментов онлайн-сканирования уязвимостей может помочь вам выявить и отследить любые уязвимости в вашей сети, серверах и веб-приложениях. Чтобы максимизировать эффективность, мы предлагаем вам запустить несколько тестов с разными инструментами и перепроверить результаты между ними.

После того, как вы проверили и нашли из этого списка лучшие инструменты для вас, вы можете добавить автоматическое сканирование, чтобы получать ежедневный или еженедельный отчет по электронной почте, что позволяет вам активно отслеживать результаты.Большинство рассмотренных здесь решений предлагают как запланированные проверки, так и даже доступ к API для создания встроенных решений с вашими собственными приложениями.

Аналогичным образом, инструменты онлайн-сканирования уязвимостей помогают обнаруживать возможные сетевые угрозы в ваших веб-приложениях и инфраструктуре, наш API кибербезопасности может быть интегрирован с вашими собственными приложениями, чтобы получить более глубокое понимание того, что стоит за любым доменным именем, DNS-сервером и IP-блоком.


Если вы хотите сделать еще один шаг вперед, чтобы открыть для себя всю теневую инфраструктуру любой компании или доменного имени, попробуйте SurfaceBrowser или закажите демо у нашего отдела продаж уже сегодня!

Vulners Web Scanner ESTEBAN BORGES

Эстебан Борхес — исследователь безопасности и технический писатель, специализирующийся на безопасности Linux.Он работает в индустрии кибербезопасности более 15 лет, специализируясь на технической безопасности серверов и разведке с открытым исходным кодом.

,
14 лучших сканеров уязвимостей веб-приложений с открытым исходным кодом [обновлено для 2019]

Learn Сканирование уязвимостей

Узнайте об инструментах сканирования уязвимостей.
Этот курс навыков охватывает

⇒ Сканирование приложений и контейнеров
⇒ Анализ сканирования уязвимостей
⇒ Сканирование уязвимостей

В прошлом многие популярные сайты были взломаны. Хакеры теперь активны и всегда пытаются взломать веб-сайты и утечки данных.Вот почему тестирование безопасности веб-приложений очень важно. И здесь появляется роль сканеров безопасности веб-приложений. Web Application Security Scanner — это программа, которая выполняет автоматическое тестирование черного ящика в веб-приложении и выявляет уязвимости в безопасности. Сканеры не имеют доступа к исходному коду, они только выполняют функциональное тестирование и пытаются найти уязвимости безопасности.

Доступны различные платные и бесплатные сканеры уязвимостей веб-приложений. В этом посте мы перечисляем лучшие бесплатные сканеры уязвимостей веб-приложений с открытым исходным кодом.Я добавляю инструменты в случайном порядке. Поэтому, пожалуйста, не думайте, что это рейтинг инструментов.

Я только добавляю инструменты с открытым исходным кодом, которые можно использовать для поиска уязвимостей в веб-приложениях. Я не добавляю инструменты для поиска уязвимостей сервера. И не путайте с бесплатными инструментами и инструментами с открытым исходным кодом. Потому что существуют различные другие бесплатные инструменты, но они не предоставляют исходный код другим разработчикам. Инструменты с открытым исходным кодом — это те, которые предлагают исходные коды разработчикам, чтобы разработчики могли модифицировать инструмент или помочь в дальнейшей разработке.

Это лучшие инструменты тестирования на проникновение веб-приложений с открытым исходным кодом:

1. Граббер

Grabber — это хороший сканер веб-приложений, который может обнаружить множество уязвимостей в веб-приложениях. Он выполняет сканирование и сообщает, где существует уязвимость. Он может обнаружить следующие уязвимости:

  • Межсайтовый скриптинг
  • SQL-инъекция
  • Ajax-тестирование
  • Включение файла
  • JS анализатор исходного кода
  • Проверка файла резервной копии

Это не быстро по сравнению с другими сканерами безопасности, но это просто и портативно.Это следует использовать только для тестирования небольших веб-приложений, поскольку сканирование больших приложений занимает слишком много времени.

Этот инструмент не предлагает интерфейс GUI. Он также не может создать отчет в формате PDF. Этот инструмент был разработан, чтобы быть простым и для личного использования. Вы можете попробовать этот инструмент только для личного использования. Если вы думаете об этом для профессионального использования, я никогда не буду рекомендовать это.

Этот инструмент был разработан на Python. И исполняемая версия также доступна, если вы хотите. Исходный код доступен, так что вы можете изменить его в соответствии со своими потребностями.Основным скриптом является grabber.py, который когда-то выполнял вызов других модулей, таких как sql.py, xss.py или других.

Загрузите его здесь: http://rgaucher.info/beta/grabber/

Исходный код на Github: https://github.com/neuroo/grabber

2. Vega

Vega — это еще один бесплатный сканер уязвимостей и платформа тестирования с открытым исходным кодом. С помощью этого инструмента вы можете выполнить тестирование безопасности веб-приложения. Этот инструмент написан на Java и предлагает среду на основе графического интерфейса. Он доступен для OS X, Linux и Windows.

Его можно использовать для поиска SQL-инъекции, заголовка, списка каталогов, внедрения оболочки, межсайтового скриптинга, включения файлов и других уязвимостей веб-приложений. Этот инструмент также может быть расширен с помощью мощного API, написанного на JavaScript.

Работая с инструментом, он позволяет вам установить несколько параметров, таких как общее количество потомков пути, количество дочерних путей узла, глубина и максимальное количество запросов в секунду. Вы можете использовать Vega Scanner, Vega Proxy, Proxy Scanner, а также Сканер с учетными данными.Если вам нужна помощь, вы можете найти ресурсы в разделе документации:

Документация: https://subgraph.com/vega/documentation/index.en.html

Скачать Vega: https://subgraph.com/vega/

3. Zed Attack Proxy

Zed Attack Proxy также известен как ZAP. Этот инструмент с открытым исходным кодом и разработан AWASP. Он доступен для платформ Windows, Unix / Linux и Macintosh. Мне лично нравится этот инструмент. Его можно использовать для поиска широкого спектра уязвимостей в веб-приложениях.Инструмент очень прост и удобен в использовании. Даже если вы новичок в тестировании на проникновение, вы можете легко использовать этот инструмент, чтобы начать обучение тестированию на проникновение веб-приложений.

Это ключевые функции ZAP:

  • Перехват прокси
  • Автоматический сканер
  • Традиционные, но мощные пауки
  • Fuzzer
  • Поддержка веб-сокетов
  • Поддержка Plug-n-hack
  • Поддержка аутентификации
  • REST на основе API
  • динамических сертификатов SSL
  • Поддержка смарт-карт и цифровых сертификатов клиентов

Вы можете использовать этот инструмент в качестве сканера, введя URL для выполнения сканирования, или вы можете использовать этот инструмент в качестве перехватывающего прокси-сервера для ручного выполнения тестов на определенных страницах.

Скачать ZAP: https://github.com/zaproxy/zaproxy

4. Wapiti

Wapiti также является хорошим сканером веб-уязвимостей, который позволяет вам проверять безопасность ваших веб-приложений. Он выполняет тестирование черного ящика, сканируя веб-страницы и вводя данные. Он пытается внедрить полезные данные и посмотреть, уязвим ли скрипт. Он поддерживает как GET, так и POSTHTTP атаки и обнаруживает множественные уязвимости.

Может обнаруживать следующие уязвимости:

  • Раскрытие файла
  • Включение файла
  • Межсайтовый скриптинг (XSS)
  • Обнаружение выполнения команды
  • CRLF впрыска
  • SEL инъекций и Xpath инъекций
  • Слабый.Конфигурация htaccess
  • Раскрытие резервных файлов
  • и многие другие

Wapiti — это приложение командной строки. Таким образом, это может быть непросто для начинающих. Но для экспертов это будет хорошо работать. Для использования этого инструмента вам необходимо изучить множество команд, которые можно найти в официальной документации.

Загрузите Wapiti с исходным кодом: http://wapiti.sourceforge.net/

5. W3af

W3af — это популярная среда для атак и аудита веб-приложений.Эта структура призвана обеспечить лучшую платформу для тестирования на проникновение веб-приложений. Он разработан с использованием Python. Используя этот инструмент, вы сможете выявить более 200 видов уязвимостей веб-приложений, включая инъекцию SQL, межсайтовый скриптинг и многие другие.

Поставляется с графическим и консольным интерфейсом. Вы можете легко использовать его, используя удобный интерфейс.

Если вы используете его с графическим интерфейсом, я не думаю, что вы столкнетесь с какими-либо проблемами с инструментом.Вам нужно только выбрать параметры и затем запустить сканер. Если веб-сайт нуждается в аутентификации, вы также можете использовать модули аутентификации для сканирования защищенных сессией страниц.

Мы уже подробно рассматривали этот инструмент в нашей предыдущей серии W3af. Вы можете прочитать эти статьи, чтобы узнать больше об этом инструменте.

Вы можете получить доступ к исходному коду в репозитории Github: https://github.com/andresriancho/w3af/

.

Загрузите его с официального сайта: http: // w3af.орг /

Ethical Hacking Boot Camp — Гарантия прохождения экзамена

6. WebScarab

WebScarab — это основанная на Java инфраструктура безопасности для анализа веб-приложений с использованием протокола HTTP или HTTPS. С помощью доступных плагинов вы можете расширить функциональность инструмента. Этот инструмент работает как перехватывающий прокси. Таким образом, вы можете просмотреть запрос и ответ, поступившие в ваш браузер и отправившиеся на сервер. Вы также можете изменить запрос или ответ, прежде чем они будут получены сервером или браузером.

Если вы новичок, этот инструмент не для вас. Этот инструмент предназначен для тех, кто хорошо разбирается в протоколе HTTP и умеет писать коды.

Webscarab предоставляет множество функций, которые помогают тестерам проникновения тесно сотрудничать с веб-приложением и находить уязвимости в безопасности. У него есть паук, который может автоматически находить новые URL целевого сайта. Это может легко извлечь сценарии и HTML страницы. Прокси-сервер наблюдает за трафиком между сервером и вашим браузером, и вы можете контролировать запрос и ответ с помощью доступных плагинов.Доступные модули могут легко обнаружить наиболее распространенные уязвимости, такие как инъекция SQL, XSS

Исходный код инструмента доступен на Github: https://github.com/OWASP/OWASP-WebScarab

Загрузите WebScarab здесь: https://www.owasp.org/index.php/Category:OWASP_WebScarab_Project

7. Skipfish

Skipfish также хороший инструмент для безопасности веб-приложений. Он сканирует веб-сайт, а затем проверяет каждую страницу на наличие различных угроз безопасности и в конце готовит окончательный отчет.Этот инструмент был написан на C. Он очень оптимизирован для обработки HTTP и использования минимального процессора. Он утверждает, что может легко обрабатывать 2000 запросов в секунду, не добавляя нагрузки на процессор. Он использует эвристический подход при сканировании и тестировании веб-страниц. Этот инструмент также предлагает высокое качество и меньше ложных срабатываний.

Этот инструмент доступен для Linux, FreeBSD, MacOS X и Windows.

Загрузите Skipfish или код из кодов GOogle: http://code.google.com/p/skipfish/

8.Ratproxy

Ratproxy — это также инструмент аудита безопасности веб-приложений с открытым исходным кодом, который можно использовать для поиска уязвимостей в веб-приложениях. Он поддерживает среды Linux, FreeBSD, MacOS X и Windows (Cygwin).

Этот инструмент предназначен для решения проблем, с которыми обычно сталкиваются пользователи при использовании других прокси-инструментов для аудита безопасности. Он способен различать таблицы стилей CSS и коды JavaScript. Он также поддерживает SSL man в середине атаки, что означает, что вы также можете видеть данные, проходящие через SSL.Подробнее об этом инструменте можно прочитать здесь: http://code.google.com/p/ratproxy/wiki/RatproxyDoc

.

Скачать http://code.google.com/p/ratproxy/

9. SQLMap

SQLMap — еще один популярный инструмент для тестирования на проникновение с открытым исходным кодом. Он автоматизирует процесс поиска и использования уязвимости SQL-инъекций в базе данных веб-сайта. Он имеет мощный механизм обнаружения и множество полезных функций. Таким образом, тестер проникновения может легко выполнить проверку SQL-инъекций на веб-сайте.

Он поддерживает ряд серверов баз данных, включая MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase и SAP MaxDB.Он предлагает полную поддержку 6 видов технологий SQL-инъекций: слепой на основе времени, слепой на основе логических значений, на основе ошибок, запросов UNION, стековых запросов и внеполосных запросов.

Доступ к исходному коду в репозитории Github: https://github.com/sqlmapproject/sqlmap

Загрузите SQLMap здесь: https://github.com/sqlmapproject/sqlmap

10. Wfuzz

Wfuzz — еще один свободно доступный инструмент с открытым исходным кодом для тестирования на проникновение веб-приложений. Он может использоваться для грубой форсировки параметров GET и POST для тестирования на различные виды инъекций, такие как SQL, XSS, LDAP и многие другие.Он также поддерживает фаззинг файлов cookie, многопоточность, SOCK, прокси, аутентификацию, форсирование параметров, множественный прокси и многие другие. Подробнее о функциях этого инструмента можно прочитать здесь: http://code.google.com/p/wfuzz/

.

Этот инструмент не предлагает интерфейс с графическим интерфейсом, поэтому вам придется работать с интерфейсом командной строки.

Загрузите Wfuzz с code.google.com: http://code.google.com/p/wfuzz/

.

11. Грендель-Скан

Grendel-Scan — еще один приятный инструмент безопасности веб-приложений с открытым исходным кодом.Это автоматический инструмент для поиска уязвимостей в веб-приложениях. Многие функции также доступны для ручного тестирования на проникновение. Этот инструмент доступен для Windows, Linux и Macintosh. Этот инструмент был разработан на Java.

Загрузите инструмент и исходный код: http://sourceforge.net/projects/grendel/

12. Наблюдатель

Watcher — пассивный сканер веб-безопасности. Он не атакует множеством запросов и не сканирует целевой веб-сайт. Это не отдельный инструмент, а дополнение Fiddler.Поэтому вам нужно сначала установить Fiddler, а затем установить Watcher, чтобы использовать его.

Он спокойно анализирует запрос и ответ от взаимодействия с пользователем, а затем составляет отчет о приложении. Поскольку это пассивный сканер, он не повлияет на хостинг или облачную инфраструктуру сайта.

Загрузите программу-наблюдатель и ее исходный код: http://websecuritytool.codeplex.com/

13. X5S

X5s также является надстройкой Fiddler, целью которой является поиск уязвимостей межсайтового скриптинга.Это не автоматический инструмент. Итак, вам нужно понять, как проблемы с кодированием могут привести к XSS. Вам нужно вручную найти точку впрыска, а затем проверить, где XSS может находиться в приложении.

Мы рассмотрели X5S в предыдущем посте. Итак, вы можете обратиться к этой статье, чтобы узнать больше о X5S и XSS.

Загрузите X5S и исходный код с codeplex: http://xss.codeplex.com/

Вы также можете обратиться к этому официальному руководству, чтобы узнать, как использовать X5S: http: //xss.codeplex.ru / wikipage? title = tutorial

14. Arachni

Arachni — это инструмент с открытым исходным кодом, разработанный для обеспечения среды тестирования на проникновение. Этот инструмент может обнаруживать различные уязвимости безопасности веб-приложений. Он может обнаруживать различные уязвимости, такие как SQL-инъекция, XSS, включение локальных файлов, включение удаленных файлов, непроверенное перенаправление и многие другие.

Загрузите этот инструмент здесь: http://www.arachni-scanner.com/

Последнее слово

Это лучшие инструменты тестирования безопасности веб-приложений с открытым исходным кодом.Я старался изо всех сил перечислить все инструменты, доступные в Интернете. Если инструмент не обновлялся в течение многих лет, я не упоминал об этом здесь. Потому что, если инструменту более 10 лет, он может создавать проблемы совместимости в недавней среде. Если вы разработчик, вы также можете присоединиться к сообществу разработчиков этих инструментов и помочь им расти. Помогая этим инструментам, вы также увеличите свои знания и опыт.

Если вы хотите начать тестирование на проникновение, я рекомендую использовать дистрибутивы Linux, созданные для тестирования на проникновение.Этими средами являются backtrack, gnacktrack, backbox и blackbuntu. Все эти инструменты поставляются с различными бесплатными инструментами с открытым исходным кодом для тестирования проникновения на сайт. Таким образом, вы можете пойти с этими средами.

Если вы думаете, что я забыл упомянуть важный инструмент, вы можете оставить комментарий, и я постараюсь добавить его.

Читать больше статей об инструментах тестирования на проникновение:

Методология тестирования на проникновение

для мобильных приложений: 5 основных шагов

20 лучших инструментов для тестирования на проникновение, часть 2

,