Wapiti — это продвинутый автоматизированный сканер уязвимостей командной строки. В статье покажу, как установить и использовать Wapiti на Kali Linux.
Еще по теме: Обзор лучших сканеров уязвимостей
Как установить и использовать Wapiti
Wapiti — это бесплатный инструмент для сканирования веб-приложений. Он разработан для автоматизации поиска SQL-инъекции, XSS, путей к файлам и прочее.
Wapiti работает путем отправки различных HTTP-запросов на веб-приложение и анализа ответов на наличие возможных уязвимостей. Это популярный инструмент, широко используемый в области тестирования на проникновение и аудита безопасности веб-приложений.
Ключевые особенности Wapiti:
Wapiti может находить различные уязвимости, поэтому нам не нужно вручную посещать каждую страницу веб-приложения, чтобы найти уязвимости. Wapiti может найти следующие уязвимости:
- Раскрытие файлов (локальные и удаленные include/require, fopen, readfile…)
- Внедрение в базу данных (внедрение PHP/JSP/ASP SQL и внедрение XPath)
- Внедрение XSS (межсайтовый скриптинг) (отраженное и постоянное)
- Обнаружение выполнения команды (eval(), system(), passtru()…)
- Внедрение CRLF (разделение ответов HTTP, фиксация сеанса…)
- Внедрение XXE (внешний объект XML)
- SSRF (подделка запроса на стороне сервера)
- Использование известных потенциально опасных файлов (с использованием базы данных Nikto)
- Слабые конфигурации .htaccess, которые можно обойти
- Наличие файлов резервных копий, содержащих конфиденциальную информацию (раскрытие исходного кода)
- Shellshock (ошибка Bash)
- Открытые перенаправления
- Необычные методы HTTP, которые можно разрешить (PUT)
Установка Wapiti на Kali Linux
Wapiti по умолчанию установлен в Kali Linux. Если вы используете облегченную версию Kali, вот как установит:
1 |
sudo apt-get install wapiti |
Wapiti как пользоваться
После установки запускаем справку:
1 |
wapiti -h |
Попробуем запустить сканирования сайта:
1 |
wapiti -u https://site.ru/ |
После запуска Wapiti запустит различные модули для поиска уязвимостей.
Для примера, в качестве цели, я использовал уязвимое приложение Мы запускаем его в веб-приложении Mutillidae (см. Установка OWASP Mutillidae Docker).
Wapiti сканирует все страницы и использует модули ко всем страницам сайта, поэтому это может занять много времени. В моем случае, на локальном хосте для завершения сканирования и запуска всех модулей потребовалось более 18 минут. В реальных условиях может занять несколько часов.
К счастью, мы можем пропустить модули. Предположим, мы знаем, что на нашем целевом веб-сайте нет уязвимости для blinksql, тогда можно пропустить этот модуль. Когда модуль blinksql заработает, нам нужно нажать CTRL+C.
Если мы нажмем « r» и Enter, он остановит все и сгенерирует отчет. Если мы хотим пропустить запущенный модуль, нам просто нужно нажать « n» и Enter, тогда wapiti пропустит модуль и запустит следующий модуль.
Даже мы можем продолжить текущую атаку, нажав « с», и выйти, не формируя отчет, нажав « q».
После завершения сканирования мы видим, что отчет в формате HTML создан в каталоге:
1 |
/home/kali/.wapiti/generated_report |
Теперь мы можем открыть отчет в браузере.
Мы можем нажать на найденные уязвимости, чтобы получить дополнительную информацию об этом. Вот более подробный обзор уязвимости XSS в этом отчете Wapiti.
Wapiti может приостановить сканирование и возобновить его позже (это очень полезно, потому что иногда это занимало целый день или больше).
Мы можем сохранить HTML-файл нашего отчета Wapiti в нужном каталоге с помощью следующей команды:
1 |
wapiti -u https://target.site/ -o /home/kali/Desktop |
Не забудьте добавить « /» после целевого сайта (для этого требуется полный адрес, например https://mytarget.com/, а не mytarget.com), иначе Wapiti не посчитает адрес полным.
Подробности в официальном на официальной странице.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Сканер уязвимостей из Nmap и Vulscan
- Поиск уязвимостей с помощью OpenVAS в Metasploit
- Лучшие инструменты для поиска уязвимостей сайтов