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

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

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

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

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

Оцени публикацию:
  • 1,5
Оценили человек: 1
Теги : Сетевые сканеры, Эксплойтинг, Дебаггеры

Похожие статьи:


Предложения и пожелания:
Ваше имя:
Ваш E-mail:
Сколько будет Οдин + Τри
Главная
X

Новые заметки:

Про что мы забываем когда делаем оценку задачи по времени

Список вопросов для собеседования разработчика по телефону

Symfony2 авторизация без Doctrine2 для чайника

Phpstorm7 LiveEdit

Жесткий хабр или не хабр, тогда кто?

Яндекс.Деньги мошенничество

Как узнать какие страницы в поиске яндекса или это секрет

Последние комменты:

Yapro CMS:

Здравствуйте, Гость | Войти | Регистрация | Карта сайта | RSS ленты | Ошибка в тексте? Выделите её мышкой и нажмите: Ctrl + Enter

youtube.com/watch?v=7hFivbgIEqk

При полном или частичном использовании материалов данного сайта, ссылка на сайт "yapro.ru" обязательна как на источник информации.
Автоматический импорт материалов и информации с сайта запрещен.
Copyrights © 2007 - 2018 YaPro.Ru

Главная » Веб-мастеру » Unix »