Бесплатные инструменты пентестера веб-приложений

Бесплатные инструменты пентестера веб-приложений

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


Автор: Сергей Белов

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


Для этого мы рассмотрим утилиты, которые помогут в данном виде тестирования. В обзор включены следующие категории продуктов:


  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

ArmitageOVA жанра киберпанк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, в состав которых уже входит куча разных утилит для пентестинга

Эксклюзивный стрим с хакерами мирового класса

15 апреля в 19:00 Hussein и Niksthehacker раскроют все карты.

Реклама. АО «Позитив Текнолоджиз», ИНН 7718668887


Итоги конкурса статей на SecurityLab.ru

Итоги конкурса статей на SecurityLab.ru

Редакция SecurityLab.ru рада сообщить об окончании конкурса статей по информационной безопасности.

Редакция SecurityLab.ru рада сообщить об окончании конкурса статей по информационной безопасности.

Мы бы хотели поблагодарить всех участников конкурса, приславших нам много интересных материалов. Все участники конкурса получат ценные призы и подарки от наших спонсоров. Для этого необходимо связаться с администрацией SecurityLab.ru и обсудить условия получения подарков. Подарки можно получить в офисе компании Positive Technologies в течении февраля. Электронные сертификаты могут быть выданы без личного присутствия.

А теперь о победителях. Нам прислали много интересных материалов, жюри конкурса, состоявшее из известных экспертов в области ИБ решило выдать следующие призы:
Антон Лопаницин со статьей “Race conditon в веб-приложениях” получает главный приз – межсетевой экран нового поколения PA-220 от компании Palo Alto Networks.
Все участники получают поощрительные призы от Лаборатории Касперского.

Лицензию Xspider от компании Positive Technologies получает Валерий Кунавин (статья Может ли студент-безопасник провести качественный аудит ИБ? ), Gerhart (Внутреннее устройство памяти Microsoft Hyper-V), Антон Лопаницин, Антонина Азина (Исследование программного средства ViPNet Password Generator) и Андрей Бирюков за статью OpenWRT устройства на службе пентестера.
Специальные призы от ЛК получают Патрик Антониус, Владимир Безмалый и Ольков Евгений.

От компании Keenetic Keenetic Viva KN-1910 получает Владимир Безмалый, Keenetic Air KN-1610 получают Артамнов В.А и автор статьи Уязвимость в системе безопасности DPAPI Windows 10, Keenetic Extra KN-1710 получает Gerhart, Keenetic city - Патрик Антониус.

3х годовые лицензии на сервис hidemy.name получают следующие авторы - Мухамеджанова Дана, Антонина Азина, Владимир Безмалый, Олег Ржевский, Адрей Бирюков, Валерий Кунавин, Ольков Евгений, Andrey Ogurchikov, Дюсекеев Бауыржан, Изотов Егор, Gerhart, Патрик Антониус.

Билеты на Positive Hack days получают Владимир Безмалый, Gerhart, Ольков Евгений.

Курсы Информзащиты на выбор получают Дюсекеев Бауыржан, Патрик Антониус, Олег Ржевский, Антон Лопаницин, Ольков Евгений.

Подписку на cybersecurity help получают Антон Лопаницин, Адрей Бирюков и Валерий Кунавин.

В случае невозможности получения призов просьба заранее написать об этом редакции сайта. Для получения билетов на phdays, курсов информзащиты и подписки на Xspider потребуются полные ФИО участников. Для получения поощрительных призов в офисе Positive Technologies потребуется ФИО для пропуска.