xakerПоиск уязвимостей в веб-приложениях — это определенно одна из интереснейших тем.
СКАНЕР NIKTO ВХОДИТ В СТАНДАРТНЫЙ НАБОР BACKTRACK’F
Подставил кавычку в нужном месте -нашел возможность для инъекции? Проснись! Давно прошли времена, когда пионерские способы помогали найти ошибки даже в серьезных проектах. Поиск брешей в безопасности стал намного более изощренным, как и техники для успешной эксплуатации уязвимостей. Если раньше легко было справиться собственными силами, то теперь без вспомогательных инструментов не обойтись. Последние не только выполнят муторную работу за тебя, но и подскажут, как можно воспользоваться багой. а в некоторых случаях — даже автоматизируют процесс эксплуатации. Итак, приступим?
Nikto www.cirt.net/nikto2 Платформа: Windows, Unix
Назвав свой сканнер «никто» разработчики сильно слукавили. На деле — это известный сканер веб-уязвимостей, способный сканировать удаленные хосты и проводить сложные тесты безопасности. В базе программы имеется информация о более чем 3500 уязвимимых сценариях. Информация об
ОПИСАНИЕНАЙДЕННОЙ APPSCAN’OM ИНЪЕКЦИИ
уязвимостях хранится в специальных базах, подключаемых к программе в виде плагинов. Последний апдейт приложения был, увы, еще в 2007 году, но зато на офсайте (www.cirt.net/ nikto/UPDATES/2.03l по-прежнему появляются обновления баз. Программа даже поддерживает автоматическую подгрузку свежих баз с узявимостями, но их и без этого несложно устанавливать. Вот если бы вместо этого апдейты почаще…
Сам прога написана на РегГе, поэтому вся работа осуществляется из командной строки. Помимо поиска уязвимых сценариев, Nikto попробует определить версию веб-демона, отыскать файлы с открытыми паролями, а также выполнить десяток других проверок. Полноценная поддержка прокси (с возможностью авторизации) при правильном подходе обеспечит тебе безопасность. Правда, о незаметном сканировании придется забыть. С самого начала разработчики сделали упор на скорость скана, не заморачиваясь по поводу stealth-методов. С другой стороны, ядро Nikto составляет известная библиотека LibWhisker, у которой в арсенале есть несколько методик для обмана IDS. Их сканер безусловно под-
держивает, но большинство из них уже устарели.
IBM Rationa Appscan www-01.ibm.com/software/ awdtools/appscan Платформа: Windows
Маститый коммерческий продукт, который изначально разрабатывался авторитетной компанией Watchfire, а потом был куплен IBM. Это уже не любительская поделка вроде сканера Nikto. Rational Appscan предназначен для аудита Web-приложений и содержит не один десяток эвристических методов для конкретного изучения каждого скрипта. Поиск уязвимостей осуществляется автоматически, главное — правильно задать все параметры сканирования с помощью специального мастера. На выходе ты получишь отчет о проделанной работе паука, воссоздающего структуру сайта, а также информацию о потенциальных брешах в безопасности. Appscan детально рассказывает о каждой найденной уязвимости, определяя ее категорию: SQL-инъекция, Cross-Site Cripting, нуль-байт, скрытые манипуляции с полем, переполнение буфера и т.д. Некоторые из категорий имеют солидный список разновидностей: если взять SQL-инъекции, то в отчете ты легко найдешь разделы с классическими, слепыми и инъекциями с помощью кукисов. Причем, какой именно параметр можно эксплуатировать, покажет сам сканер. Одна из немаловажных особенностей Appscan — толковое сканирование сложных приложений, построенных с обильным использованием Java Script и AJAX-кода и элементами Adobe Flash. Специалистам по информационной безопасности Appscan полезен еще и тем. что содержит АО готовых отчетов о соответствии требованиям, включая требования стандартов безопасности данных PC I. ISO 17799, ISO 27001, Basel II, SB 1386 и РАВР (Payment Application Best Practices), что не может не радовать.
HP Weblnspect
www.hp.com Платформа: Windows
Этот сканер, который теперь принадлежит компании HP, ранее так же разрабатывался независимой командой security-специалистов — SPI Dynamics и лишь потом был куплен IT-гигантом. И это один из самых удачныч сканеров безопасности. Почему? Ну, во-первых, весь процесс пентеста сопровождается интерактивным отчетом, позволяющим быстро вникнуть в структуру ресурса и разобраться с возможными дырками. Во-вторых, разработчики позаботились о том, чтобы максимально заточить продукт для выполнения тестов на проникновение в серьезных веб-приложениях. Объектом исследования могут быть всевозможные скрипты, динамически обновляемые сервлеты и фреймворки. Weblnspect позволяет выявлять большинство существующих уязвимостей, которые наиболее часто встречаются на сайтах. В то время как многие простецкие сканеры курят в сторонке, Weblnspect отлично справляется с анализом сложных Web 2.0 сайтов, построенных на современных JS-фреймворках и с повсеместным применением Ajax. Также как и Appscan, продукт умеет декомпилировать SWF-файлы, т.е. элементы сайта на Flash’e и анализировать ActionScript-код. Причем, помимо непосредственно сканера, в продукт входит дюжина вспомогательных утилит: для создания дампа базы данных с использованием инъекций, фаззер для манипуляций с передаваемыми значениями, брутфорс форм, снифер HTTP-запросов и т.д.
Acunetix Web Security Scanner www.acunetix.com Платформа: Windows
Еще один коммерческий сканер, который вместе с AppScan и Weblnspect входит в тройку самых-самых. Продукт серьезно раскручен, но он бы в век не добился такой популярности без того набора фич, который он в себе несет. Основная функция — полностью автоматический пентест. Первым делом программа проводит разведку, исследуя структуру сайта и возможные векторы атак (сценарии, формы, кукисы и т.д.). Далее наступает этап проверки, когда Security Scanner начинает моделировать ввод данных с использования фаззера, выполняя хитрые подстановки и анализируя реакцию на них сервера. Большая коллекция готовых сниппетов позволяет эффективно выявить огромное количество потенциальных ошибок, которые легко заэксплуатировать.
Среди доступных для обнаружения уязвимостей: все виды SQL injection, Cross site scripting, CRLF injection. Важно, что сканер производит анализ с умом и учитывает специфику удаленной системы — от тебя требуется лишь выбрать правильный профиль.
Есть у Acunetix Web Security Scanner и фишка, которая заслуживает особого внимания — это технология AcuSensor. Стандартные методы сканирования сильно ограничены в возможностях, потому как основываются на анализе ответов, которые возвращает сервер на различные запросы (так называемое сканирование черным ящиком). AcuSensor позволяет провести намного более глубокое тестирование при условии, что у тебя на руках есть исходники приложения (форум, чат, CMS, онлайн-магазин — любой публично доступный скрипт). В этом случае можно комбинировать стандартные механизмы сканирования с (внимание!) одновременным анализом исходного кода, имея при этом четкое представление о ходе выполнения программы изнутри! Представляешь, чего можно добиться таким образом? В твоем распоряжении будет не просто информация о возможной уязвимости, но и конкретный кусок кода, где она найдена, включая номер строки, трейс стека и содержание SQL-запроса, который при этом отправляет серверу база данных. Более того, ты получаешь возможность искать баги, которые при стандартном сканировании найти практически невозможно. Это касается, например, инъекций в INSERT-запросах: отыскать и эксплуатировать их крайне непросто из-за того, что они не возвращают результата. А своеобразный отладчик AcuSensor’a не только позволит их обнаружить, но и далее раскрутить найденную брешь до ощутимого результата. Супер фича!
Burp Suite portswigger.net/suite Платформа: Windows, Unix, Mac
Burp Suite — это не одна утилита, а целый комплекс тулз для пентестера. Самой главной частью программы является Burp Proxy, который устанавливается в качестве локального веб-проксика и перехватывает HTTP/HTTPS-трафик браузера. Другие утилиты, а именно Spider, Intruder, Scanner, Repeater, Sequencer, Decoder и Comparer связаны как с этой самой прокси, так и между собой. Например, часть перехваченных с помощью Burp Proxy параметров можно тут же проверить на предмет фильтрации со стороны сервера. Для этого достаточно отправить их на растерзание Intruder’y. Последний заслуживает особого внимания, потому как именно с его помощью можно отыскать и SQL-инжекции, и XSS-уязвимости — и много чего еще. На вход утилите ты передаешь объект проверки, определяешь параметры, которые будут изменяться (на основе специально сформированных шаблонов), и выбираешь тип атаки. Вообще, большая часть пакета предназначена не для автоматического взлома, а для помощи пентестеру. Зато утилита Scanner, доступная в Рrо-редакции, представляет собой полностью автоматизированный сканер, способный самостоятельно обнаруживать уязвимости в веб-приложениях. Любопытным представляется режим «Live scannings который проверяет на вшивость те сайты, который ты в данный момент просматриваешь.
Paros Proxy www.parosproxy.org Платформа: Windows, Unix, Mac
Чтобы найти уязвимость, нужно, как минимум, иметь перед собой картину того, что передается между сервером и клиентом по протоколу HTTP/HTPPS: запросы, кукисы, поля форм. Вдвойне здорово, когда такой НТТР-снифер изначально рассчитан на поиск уязвимостей. Благодаря Paros Proxy ты не просто можешь на лету изменить сходящие HTTP/HTTPS-запросы, логировать собственный траф, но еще и использовать встроенные сканеры, с помощью которых тут же проверять сценарии на наличие уязвимостей SQL Injection и XS5. Сам Paros Proxy работате в виде прокси-сервера, собирая всевозможную информацию во время твоего серфинга. Различные методы сканирования реализованы в подключаемых плагинах, которые в принципе можно разработать самому. Увы, разработчики не развивают дальше проект, полностью переключившись на свое коммерческое детище MileSCAN Web Security Auditor (www. milescan.com/hk).
Wapiti 2.1.0
wapiti.sourceforge.net Платформа: Windows, Unix, Mac
Консольная утилита для аудита веб-приложений. В основе — знакомый по другим сканерам принцип черного ящика (blackbox), когда анализируются не исходники приложения, а ответы сервера на хитрые запросы сканера. Для этого прога сначала анализирует структуру сайта, ищет доступные сценарии, составляет список параметров для проверки, а затем включает на всю катушку свой фаззер. И продолжает тщательную проверку до тех пор, пока все уязвимые скрипты не будут найдены. Сейчас в арсенале тулзы методики для определения: инъекций в базы данных (включая HP/JSP/ASP SQL и XPath инъекции), XSS-багов, LDAP-инъекций, CRLF-багов (HTTP Response Splitting), ошибок в обработке файлов (локальный и удаленный include, fopen, readfile и т.д.), возможности выполнения команд (evalO, systemO, passtru(l). В отличие от Nikto, который использует базу дырявых сценариев (а я напомню, что обновляется она нечасто), Wapiti изначально настроен на поиск неизвестных уязвимостей.
ProxyStrike www.edge-security.com Платформа: Windows, Unix
Активная веб-прокси для поиска уязвимостей в веб-сценариях, с которыми ты в данный момент имеешь дело. Такой подход особенно актуален для сложных приложений, построенных на базе JS и Ajax: ведь никакой скрипт не может полностью сымитировать работу пользователя и проследить за всеми этапами выполнения приложения. На данный момент разработчиками реализованы модули для поиска Sql-инъекций, XSS и локальных инклудов. Сам процесс использования тулзы выглядит очень просто. ProxyStrike работает в виде обычной прокси (по умолчанию на 8008 порту), но помимо трансляции трафика в фоновом режиме выполняет фаззинг параметров, который твой браузер передает серверам. Архитектура приложения изначально легко расширяема, и ты можешь сам реализовать нужный функционал, написав соответствующий плагин.
XSpider
www.ptsecurity.ru Платформа: Windows
Первые строчки кода сканера XSpider были написаны 2 декабря 1998 года. — за прошедшие с тех пор 11 лет XSpider стал известен каждому российскому специалисту по информационной безопасности. Тулза с самого начала разрабатывалась как решение для анализа самых разных системы и обнаружения широкого круг уязвимостей. И хотя это тема для отдельного обзора, нельзя не отметить его модуль за анализ веб-приложений, благодаря которому программа и попала в сегодняшний обзор. Автоматический сканер быстро анализирует скрипты на заданном HTTP-сервере и выдает о найденных уязвимостях, в том числе SQL-инъекций, инъекций кода, запуска произвольных программ, получения файлов, межсайтовый скриптинг (XSS), HTTP Response Splitting. Более того, осуществляется поиск слабых мест в конфигурациии сервера, в том числе директорий, доступных для просмотра без авторизации. База сканера еще обновляется, хотя разработчики всецело переключились на другой свой продукт — MaxPatrol.
sqlmap
sqLmap.sourceforqe.net Платформа: Windows, Unix.
sqlmap — это уже более узкоспециализированная утилита, предназначенная специально для автоматизации SQL-инъекций. Написанная на Python’e тулза может обнаружить на сайте и эксплуатировать самые разные виды этой уязвимости, включая самые сложные слепые инъекции. Если sqlmap обнаружил возможность инъекции, будь уверен — что-то ты да накопаешь. Впрочем, ее можно эффективно использовать в связке с более универсальными сканерами. Если Appscan или, скажем, продукт OTAcunetix нашел SQL-уязвимость, ничего не стоит натравить на уязвимый сценарий sqlmap. Найти более мощный инструмент в паблике достаточно сложно. Во время поиска багов и экспулатации уязвимостей скрипт учитывает специфицику MySQL, Oracle, PostgreSQL, Microsoft SQL Server Помимо этого частично поддерживаются Microsoft Access, DB2, Informix, Sybase и Interbase. Для того, чтобы понять, с какой СУБД мы имеем дело, sqlmap использует сложные методики fingerprinting’a, основанные на анализе баннеров сервисов, сообщений об ошибках, форматирования вывода. Конечно, никакой автоматический скрипт не сможет довести проверку до конца без помощи человека. Но sqlmap — это отличный помощник, который может использовать как самые простые инжекции, так и сложные слепые (blind) инжекции. С его помощью ты можешь посмотреть системный баннер, выяснить имена текущего пользователя и базы, а также проверить, является ли юзер администратором. А быть может, повезет — и с помощью найденного бага sqlmap тут же вытащит список пользователя с хешами паролей, баз данных, таблиц, колонок — или вообще сделает дамп всех записей в таблицах, или сможет выполнить произвольный SQL-запрос. Мало этого, сканеру известно и о багах, позволяющих читать произвольные текстовые и бинарные файлы на серверах, где используются MySQL, PostgreSQL и Microsoft SQL Server. А если на сервер установлены magic_quotes_gpc в настройках PHP, sqlmap непременно будет кодировать строку запроса с помощью CHAR0 или другой подходящей функции. Это не просто утилита, это настоящий musthave!
sqlsus
sqlsus.sf.net Платформа: Windows, Mac
Специальная утилита для реализации инъекций в базы данных MySQL. С помощью sqlsus ты намного проще сможешь эксплуатировать найденный баг, получив структуру базы, внедрив SQL-запрос, скачав с сервера нужные файл, закачав бэкдор и т.д., и т.п. Примечательно, что в качестве инструмента для хранения полученных дампов используется база SQLite. что чрезвычайно удобно. Можно, например, сделать копию базы, переместив таблицы или колонки с уязвимого сервера себе в локальную базу на SQLite и полноценно работать с ней. Если ты не можешь обратиться к базе information_schema, или если ее не существует, тулза поможет пробрут-форсить название таблиц и колонок, sqlsus поможет реализовать и blind-инъекции, но для этого лучше будет заюзать следующую утилиту.
bsqlbf-v2
cocle.qoogle.eom/p/bsqlbf-v2 Платформа: Windows, Unix
Эта тулза специально разработана для осуществления слепых SQL-инъекций. Причем изначально поддерживалась только MySQL, но в обновленной версии были реализованы методики сразу для трех других СУБД: MS SQL. PostrgeSQL, Oracle, bsqlbf написана на Perl, принимает SQL-запросы через командную строку и способна реализовать инъекцию в целочисленные и строковые поля. Всего поддерживается 6 видов слепых инъекций, а тип атаки обозначается с помощью ключа для запуска «-type»:
./bsqlbf-v2.3.pi -url http://192.168.1 Л/injection_ string_post/l.jsp?p=l -type 4 -match “true” -cmd “ping xakep.ru”
В данном примере эксплуатируется уязвимость ORACLE dbms_export_extension exploit, позволяющая с помощью слепой инъекции выполнить произвольную команду.
НА ЧЕМ ПОТРЕНИРОВАТЬСЯ?
Попробовать свои силы в проникновении на удаленную систему проще всего на специальном дистрибутиве Damn Vulnerable Linux [www.damnvulnerablelinux.orgl. Среди дырявых сервисов, для которых легко пишется эксплоит, простых паролей для системных пользователей и прочих бед горе-администора есть и уязвимые веб-сценарии, на которых ты можешь попрактиковаться. Система легко запускается под виртуальной машиной VMware или VirtualBox. Другая менее известная сборка с уязвимыми приложениями, распространяющаяся в виде образа для WMware, носит название Moth (www.bonsai-sec.com/en/research/moth.phpl
Помимо этого существует специальный проект — Damn Vulnerable Web Арр (www.ethicalhack3r.co.ukl. Написанное на PHP/MySQL, приложение содержит самые разные баги, какие только могут быть у веб-приложений. Если хочешь сэкономить время на настройку веб-сервера, поставь уже готовые сборки: Denwer (www.denwer.ru или ХАМРР (www.apachefriends.org/xampp-en.htmll.
Другие аналогичные проекты: OWASP WebGoat [www.owasp.org/index.php/Category:OWASP WebGoat Project)
Mutillidae [www.irongeek.com/i.php?page=secunty/mutillidae-deliberately-vulnerable-php-owasp-top-101
Stanford SecuriBench (suif.stanford.edu/-livshits/securibench).
Площадки для демонстрации способностей своих продуктов создают и разработчики коммерческих сканеров, участвующих в обзоре. Acutenix предлагает сразу три сайта на разных платформах: testphp.acunetix.com, testasp.acunetix.com. testaspnet. acunetix.com. Тестовый ресурс от HP располагается по адресу zero. webappsecurity.com. Родной ресурс от пентестеров IBM — demo. testfire.net.

Имя (Req)

E-mail (Req)

URI

Сообщение

Страницы

Категории

Архивы

    Рейтинг блогов

    Читать в Яндекс.Ленте

Seoмастеру