Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #101, МАЙ 2007 г.

X-Tools

Леонид «R0id» Стройков

Хакер, номер #101, стр. 094

(r0id@mail.ru)

  • Программа: Antichat SQL-tools
  • ОС: Windows/*nix
  • Автор: Elekt

Читая изо дня в день багтрак, я то и дело наталкиваюсь на sql-инъекции в различных веб-приложениях. И это понятно, ведь чем больше движков пишут, тем больше их и ломают =). В своих статьях я не раз затрагивал тему проведения инъекций самых разных уровней сложности. Но основная проблема как была, так и остается: автоматизация процесса взлома. Если ты сталкивался с геморройными ситуациями, когда не получается подобрать количество полей или не удается определить имена таблиц, то ты меня поймешь. Зачастую меня не прикалывает вручную составлять нужный запрос к базе, тратя на это несколько часов в надежде выудить заветные данные. Таким образом, идея написания функционального sql-брутера не нова. Мне попадалось несколько вариантов реализации подобного рода софтин, но все они, так или иначе, имели существенные недостатки. Но не так давно один из моих знакомых поделился со мной тулзой Antichat SQL-tools, предназначенной для посимвольного брута данных. Надо сказать, что эта утила покорила меня за считанные минуты. Во-первых, она написана на перле, во-вторых, имеет GUI-интерфейс, в-третьих, работает как под виндой, так и под никсами, а в-четвертых, отлично справляется со своими задачами. О последнем пункте поговорим более подробно. После запуска скрипта твоему взору предстанет несколько полей:

  • Path to site - путь к сайту с уязвимым скриптом.
  • Positive Answer - подзапрос к БД. Например, «version()» или «(select user from mysql.user)».
  • Substring - строка, присутствующая в ответе, если выполняется условие 1=1, и отсутствующая, когда 1=2; при указании «AUTO» будет определена самостоятельно.
  • Charset - наборы символов ascii: 0 - все, 1 - md5, 2 - цифры, 3 - буквы английского алфавита, 4 – буквы русского алфавита.
  • Length - автоопределение длины строки. Удобно при бруте строк рандомных длин.
  • 0 - выход при первой ошибке;
  • 1 - задаем нужную длину строки через n и N;
  • 2 - включаем автоопределение длины строки; все ненайденные ascii обозначаться «*».
  • Min Length - (только для L=1) позиция первого символа в строке, с которого начнем брут.
  • Max Length - (только для L=1) позиция последнего символа в строке, на котором закончим брут.
  • Space - вид пробела: «%20», «+», «%2B», «/**/», «%09», «%0D», «$IFS».
  • Comment - вид комментариев: «/*», «--», «#» (в зависимости от БД, установленной на атакуемом сервере).

Кроме того, есть выбор между GET- и POST-запросами и возможность установки тайм-аута между обращениями к базе. Еще одна интересная фича - случайный выбор юзер-агента из файла useragent.txt. А в файлик proxy.txt не забудь положить свежий прокси-лист :). Лог о проделанной работе тулза сохраняет в файл log_ocb.txt, так что случайная потеря данных не страшна. Одним словом, must have, причем в обязательном порядке =).

Как известно, чат – прежде всего отличное пространство для всевозможных приколов и общения. Но просто разводить девчонок со временем становится скучно, и в голову начинают лезть самые разнообразные идеи. Помнится, в одно время были очень популярны чат-боты, над которыми не стебались только самые ленивые. Однако большинство ботов было достаточно примитивным и имело мало возможностей. Но сегодня мы частично исправим ситуацию =). Нет, не подумай, я не буду заставлять тебя кодить своего бота :). За тебя это уже сделали ребята из BIT-TEAM, которые создали вполне функциональное существо для чата на mail.ru. Бот написан на php, поэтому в архиве ты найдешь несколько php-скриптов, индексовую страничку, мануал и чуток словариков. Запуск продукта осуществляется из index.html после того, как ты зальешь содержимое архива на сервер. Для корректной работы бота в файле bot_index2.php необходимо прописать доверенные email-адреса, с которых будет возможно управление ботом. Там же нужно указать мыльник, под которым будет логиниться сам ботинок. Сразу отмечу, что бот обладает множеством команд, поэтому я опишу только наиболее важные/интересные. Итак, поехали:

  • !банлист+ [e-mail] * - внесение непонравившегося мыла в банлист - blacklist.rbt.
  • !хуиз [IP-адрес] * - получение данных об IP-адресе через хуиз-сервис whois.ripe.net.
  • !пой [название файла] * - построчное цитирование указанного файла с задержкой между строчками в три секунды. Для этого цитируемый файл должен быть сохранен в папке основного скрипта с названием название_файла.rbt (файлы конь.rbt, елка.rbt).
  • !кик [ник] * - выброс пользователя с указанным ником из чата (душевная команда =)).
  • !комендантч+ * - данной командой включается режим «комендантский час», при котором бот выгоняет всех вновь вошедших чатлан. Она бывает полезно для проведения приватных бесед и при атаках флудеров.
  • !диалог+ * - включаем бота в активную беседу, бот будет отвечать на адресованные ему высказывания (файл bred.rbt).
  • !свали * - выкидываем бота из чата.

Это далеко не полный перечень команд, поэтому можешь смело экспериментировать =). Кстати, тебе повезло - на диск я выложил именно приватную версию бота, а не ту, что доступна для всех желающих на сайте команды (за появление бота на свет благодарим хакера под ником SMERSH). В общем, приятного тебе отдыха и веселого глумления над народом :).

  • Программа: Notepad 2
  • ОС: Windows 98/ME/2000/XP
  • Автор: Florian Balmer

Взглянув в графу названия программы, ты, наверное, удивился (или подумал, что в твоем любимом журнале курят не ту траву =)). Спешу объясниться. Утила, которую я тебе сейчас представлю, действительно носит гордое название Notepad 2 :). Дело в том, что меня уже порядком достали тулзы для подсветки синтаксиса различных языков программирования. Под Linux такой проблемы нет, поскольку под рукой всегда есть vim и kwrite, а вот под Виндой я перебрал с десяток подобных прог. Однако ни одна из них не смогла удовлетворить моих вполне скромных потребностей. К счастью, в один прекрасный момент на глаза мне попался очередной заменитель блокнота - Notepad 2. Поюзав тулзу несколько дней, я навсегда уготовил ей место на своем винте =). Перечислю основные характеристики софтинки:

  • настраиваемая подсветка синтаксиса:
    • HTML, JavaScript, VBScript, ASP, PHP, CSS, Perl/CGI;
    • C/C++, C#, Java, VB, Pascal, Assembler, SQL;
    • INI, REG, INF, BAT, DIFF;
  • редактирование текста перетаскиванием;
  • простые регулярные выражения поиска и замены;
  • команды редактирования слова, строки и блока;
  • подсветка скобок, автоотступ, указатель длинных строк, увеличение;
  • поддержка текстовых файлов Unicode, UTF-8, Unix и Mac;
  • вставка времени/даты (краткая/полная форма) (<Ctrl+F5>, <Ctrl+Shift+F5>);
  • вставка имени файла/пути и имени файла (<Ctrl+F9>, <Ctrl+Shift+F9>).

Кроме того, доработанный блокнотик имеет огромное количество горячих клавиш, вот лишь самые полезные из них:

  • <F12> - указать схему подсветки синтаксиса;
  • <Ctrl+F12> - настроить схему подсветки синтаксиса;
  • <Ctrl+Shift+N> - показать нумерацию строк;
  • <Ctrl+G> - переход на указанную строку;
  • <Ctrl+B> - найти соответствующую скобку;
  • <Ctrl+Shift+B> - выделить до скобки.

Нет смысла продолжать описывать все, на что способен Notepad 2. Главная черта программ такого рода - это удобство. Поэтому смело сливай с нашего DVD апдейтнутый блокнот - не пожалеешь.

  • Программа: InjectoR
  • ОС: Windows 98/ME/2000/XP
  • Автор: SMERSH

Возвращаемся к наболевшему, а именно к автоматизации взлома. Рассказывая в первой части статьи о проге Antichat SQL-tools, я не спроста затронул эту тему. Не спорю, утила полезная и классная, но не об этом речь. Если ты внимательно читал мои предыдущие статьи, то заметил, что при взломе БД, реализуя очередной мудреный инъект, то и дело приходится юзать функции char(), concat(), и т.д. И все бы хорошо, но вбивать вручную такие строки - занятие для редкого мазохиста =). Вот прикинь, имеем мы на руках такую багу:

http://script.tourdebali.com/asnforum/viewtopic.php?id=-11+union+select+1,2,3,4,5,6,7+/*

Первым делом, подобрав количество полей, проверяем наличие прав file_priv:

http://script.tourdebali.com/asnforum/viewtopic.php?id=-11+union+select+1,2,3,4,5,load_file('/etc/passwd')),7+/*

И тут скрипт выдает ошибку, не суля ничего, кроме облома :(. Что делать? Правильно, попробовать обойти фильтрацию при помощи char():

http://script.tourdebali.com/asnforum/viewtopic.php?id=-11+union+select+1,2,3,4,5,load_file(char(47,101,116,99,47,112,97,115,115,119,100)),7+/*

В результате получаем доступ к чтению файлов на сервере =). К чему я это говорю? Да к тому, что переводить вручную строку «/etc/passwd» в «47,101,116,99,47,112,97,115,115,119,100» - занятие не из приятных. А теперь представь, какое «удовольствие» ты получишь, переводя ручками путь до конфига «/home/tdb/public_html/script/asnforum/config.php» =). Я уже молчу про случаи, когда выводится содержимое только одного поля и нужно юзать concat(). Геморроя хватает везде, а в нашем деле - тем более :). В одном из прошлых номеров журнала я выкладывал свой перловый скрипт, одной из возможностей которого была работа с ASCII. Но недавно, мне подвернулась гораздо более удобная тулза, имя которой InjectoR. Распинаться сильно не буду, коротко обозначу основные моменты:

  • работа с char(), concat(), not in();
  • презентабельный интерфейс :);
  • удобно висит в трее =).

Честно говоря, софтинка до боли простая, но ее реализация заслуживает респекта. Гуевый интерфейс выполнен на пять с плюсом, да и в трее тулза смотрится прекрасно. Удобно, когда под рукой всегда есть нужный тебе инструмент, который, ко всему прочему, еще и радует глаз.

Содержание