Щелкаем как орешки: Лентяям на заметку, или море взломов одним движением рукиПривет! Сегодня мы займемся необычным делом — будем искать SQL-инъекции, но не так, как ты привык — «руками» или с применением скриптов автоматизации. Мы отдадим весь процесс, от начала и до конца, на откуп машине, кроме того, в результате мы получим доступ не к одному сайту, а к десяткам. Настоящая вершина полета хакерской мысли! Тебе не потребуется даже задумываться над тем, каким образом происходит атака на тот или иной ресурс. Это ли не рай для настоящего хакера? Предыстория «эпопеи», связанной с множественным взломом, проста. Мне срочно понадобилось собрать базу из нескольких тысяч зарубежных телефонных номеров и имен их хозяев. Скажу сразу, что цель была сугубо экспериментальной — я не кардил и не занимался смс-фродом. В поисках актуального решения я и разработал схему, которая теперь доступна твоему вниманию. Спасибо авторам, любезно выложившим свои программы в Сеть, спасибо участникам форумов, которые исследовали их основные возможности на практике, короче, спасибо всем участникам :). Я же лишь собрал информацию воедино. Прежде чем говорить об инструментах, необходимых для использования, попробуем определить, из каких этапов состоит путь от проекта задачи до получения доступа к админке сайта. Первый этап — поиск уязвимых сайтов, второй — попытка использования найденной уязвимости для получения некоторой информации, позволяющей каким-либо образом повысить привилегии, третий — получение конкретной выгоды или удовлетворение чувства «спортивного интереса». Если говорить о первом этапе, рискну предположить, что обычно ты действовал следующим образом — выбирал определенный ресурс, который необходимо атаковать, после чего занимался бесконечным поиском, изменяя входные параметры, передаваемые тому или иному скрипту. Однако такой подход — удел хакеров, которые стремятся к получению доступа к определенному сайту. Если же твоя цель — кража конфиденциальных данных определенного типа (к их числу могут относиться, скажем, номера кредитных карт, базы данных, содержащих адреса, телефоны, e-mail’ы или какие-либо другие «вкусности»), легче использовать путь массовой атаки. Вкратце объясню суть данного подхода. Наверное, ты знаешь, каким образом выполняется брут ICQ-номеров — составляется гигантский лист номеров, после чего выполняется попытка доступа к каждому из номеров списка с использованием очень краткого набора паролей. В нашем случае ситуация схожая, однако в роли ICQ-номеров выступают PHP-скрипты, выполняющиеся на стороне сервера (впрочем, даже необязательно PHP, мы ограничиваемся ими для простоты), а в качестве «пароля» — некоторый параметр, передаваемый скрипту с целью выявления уязвимости. Однако найти уязвимость — не значит получить доступ к сайту. Необходимо эту уязвимость правильно использовать, то есть составить запрос, который «выудит» из базы данных нужные сведения. Разумеется, можно делать это «по старинке», вручную, но, поскольку мы решили, что будем работать с достаточно большим количеством уязвимых сайтов, воспользуемся софтом, который способен самостоятельно (или с небольшой помощью взломщика) выполнить эту работу. Массовый, или «обратный» поиск уязвимостейОбъясню, почему я назвал этот метод поиска «обратным». Обычно мы имеем сайт, на котором ищем уязвимость, в рассматриваемом же нами случае у нас есть в распоряжении информация о возможной уязвимости (некий «шаблон»), при помощи которой и осуществляется поиск ресурса. Рассмотрим поподробнее процесс поиска уязвимых сайтов по «шаблону». Для осуществления нашего плана воспользуемся утилитой REILUKE! Exploit Scanner. Этот инструмент умеет (пользуясь посильной помощью поисковых систем, индексирующих все подряд) искать SQLуязвимые сайты, а также уязвимости XSS, LFI, RFI, и имеет множество дополнительных приятных довесков (вроде возможности использования прокси-сервера).
После заполнения необходимых полей жми на «Scan Sites», и процесс сканирования будет запущен. Через несколько секунд программа выдаст около 30-40 ссылок на потенциально уязвимые скрипты. Они отобразятся в левой части окна программы. Теперь следует выбрать из них те ссылки, которые действительно уязвимы; сделать это можно путем нажатия на кнопку «Test Sites». Процесс тестирования может занять чуть больше времени — следи за полосой прогресса, расположенной внизу экрана. Если этот этап пройден, приступим к следующему, более интересному, а там и до реальных взломов недалеко останется. Охота на типовую дичьПредположим, что сканирование успешно выполнено, и в наших руках находится 15-20 ссылок на «дырявые» скрипты. Что дальше? Дальше — процесс попытки эксплуатации уязвимости. Как я уже говорил выше, не стоит даже пытаться делать это вручную, если все уже давно автоматизировано. Для того, чтобы получить доступ к базе (самое простое, что можно сделать в ситуации, когда уязвимость найдена), можно воспользоваться одной из программ, которые я настоятельно рекомендую к использованию — Pangolin professinal Edition или SqliHelper (кстати, весь упомянутый софт можно найти на нашем DVD). Лучше один раз увидеть, чем сто раз услышать, именно поэтому обратимся к одному из случаев взлома. В качестве примера приведем работу с SqliHelper, цель — уязвимый скрипт http://www.cwdma.ca/lang/en/profile.php?userID=86 (кстати, скрипт на момент написания статьи так и не поправили, хотя сообщение администраторам было отослано, на что они отреагировали благодарностью), который располагается на сайте Канадской ассоциации производителей окон и дверей (почему именно этот сайт — не спрашивай. Нравится мне спокойная Канада, однако торговля окнами и дверями — слишком скучное занятие, и оно не может остаться безнаказанным :)). Сначала проверим, действительно ли имеется уязвимость. В качестве параметра «userID» используем апостроф, что приведет к появлению сообщения «Error: You have an error in your SQL syntax; check Приступим к работе с SqliHelper. Откроем программу, в поле «Target» введем полученную при помощи REILUKE! Exploit Scanner ссылку, нажмем на кнопку «Inject». В поле, расположенном внизу экрана, появятся строки, и в конце концов мы получим сообщение: «Mysql version 5 OK - Please Get Database». Нажимай на «Get Database», и в поле «Database Name» отобразятся названия трех найденных баз данных: «information schema», «CWDMA», «EBCTest». Первая база, очевидно, не содержит ничего полезного, поэтому выбираем вторую и нажимаем на кнопку «Get Tables». Дождись окончания подбора таблиц. Удивительно, но здесь есть чем поживиться — база содержит таблицу «Users», скрывающую столбцы с именами «Company», «Address1», «Address2», «City», «Province», «Country», «Phone» — кардеру есть где разгуляться. Да, чтобы получить набор столбцов, входящий в таблицу, необходимо выбрать имя последней и нажать на кнопку «Get Columns». Сдампить же таблицу можно, выделив необходимые столбцы и нажав на «Dump Now». Думаю, не нужно распространяться о том, какие данные можно получить, если взять «на прицел» интернет-магазины, онлайн-казино или сайты всевозможных биллинговых систем :). Итак, всего лишь три минуты достаточно несложной работы, и в нашем распоряжении появилось много интересных сведений, а Интерпол, наверное, уже засек IP-адрес (кстати, не забудь обеспечить себя приватными прокси, соксами, VPN’ами и прочими необходимыми и не очень вещами; на крайний случай возьми бесплатные прокси при помощи Forum Proxy Leecher, а в админки взломанных ресурсов заходи через TOR). Украдем админку и научимся настоящей массовостиДля того, чтобы получить как можно большую отдачу, рекомендую действовать следующим образом: запускай REILUKE! Exploit Scanner, получай с его помощью 10-15 ссылок на уязвимые скрипты, после чего каждую ссылку проверяй при помощи запущенной копии Pangolin или SqliHelper. Это на порядок сокращает время, необходимое для поиска уязвимого сайта. Именно так твой покорный слуга получил доступ к сотням сайтов, в том числе и к ресурсам, содержащим конфиденциальную информацию. Очередной пример — уязвимость, найденная при помощи сканера безопасности NetDevilz Scanner (в некоторых случаях он отказывался работать из-за неожиданного исключения, что не умаляет его достоинств). Скачать его можно по ссылке http://my-symbian.com/uiq/software/category.php?fldAuto=6. Чтобы воспользоваться утилитой, открываем Pangolin, в поле «URL» вбиваем ссылку и запускаем сканирование нажатием на зеленый треугольник, похожий на кнопку «Play». После окончания процесса переходим на вкладку «Data», жмем «Tables». Найдено огромное количество таблиц, нас интересует лишь несколько из них, в частности, «b2users». Выделяем ее, жмем на кнопку «Columns». Какая ценная находка! Таблица содержит уйму интереснейших данных — не только логины и пароли пользователей, но их IP-адреса, номера ICQ и других мессенджеров. Как воспользоваться базой, слитой с достаточно посещаемого ресурса, решать тебе. Я же предпочитаю не испытывать судьбу, благосклонность Фемиды, и сразу сообщаю об уязвимостях владельцам или администраторам сайтов. Однако все-таки попробуем проверить актуальность данных: отмечаем «флажками» все найденные столбцы таблицы, после чего нажимаем на кнопку «Datas». Оказывается, что таблица содержит совсем не ту информацию, о которой мы мечтали, она содержит еще более ценные данные: учетную запись администратора сайта! Остается только найти админку, и дело сделано — доступ к сайту получен. Интересен ли данный ресурс? Безусловно — об этом красноречиво говорит поддомен shop.my-symbian.com. На поиски админкиТебе может потребоваться и метод автоматического поиска админки сайта. Я рекомендую для этих целей утилиту REILUKE! Login Finder — она способна быстро перебирать множество типовых путей к административной панели. Если же утилита бессильна, воспользуйся одним из многочисленных сканеров структуры веб-сайта. Прошерсти найденные директории — наверняка извлечешь что-то полезное! В конце концов, на помощь может прийти список закрытых для индексации файлов и папок, содержащийся в ROBOTS.TXT, но хочется надеяться, что до ручного поиска дело не дойдет, и вся процедура взлома окажется легкой и приятной. Я часто пользуюсь помощью Гугла. Пример целевого запроса для поиска нужной страницы: «site:my-symbian.com intext:login». Определение типа системы управления сайтом также существенно облегчает задачу поиска. ... и еще один взлом!Напоследок расскажу об еще одном взломе, совершенном мной абсолютно намеренно. Признаюсь, я очень люблю хорошие и удобные кеды. В них можно и бегать, и прыгать, и даже кататься на скейте, если вздумается. Однако, прежде чем заполучить кеды, нужно разыскать «дырявый» магазин, где они продаются, а потом присвоить заказу статус уже оплаченного и выслать его в Россию :). Если, конечно, магазин «шлющий». Но мне было лень заморачиваться со статусами магазина, и я решил просто найти активный и полный заказов онлайн-шоп, взломать его и прошерстить на предмет наличия интересных данных. Итак, наша цель — обувь? Открываем уже знакомый нам Exploit Scanner, вбиваем запрос «nike adidas vans php?id=» и начинаем поиск, а затем — тестирование. Первым в списке почему-то оказался facebook.com, что наводит на мысль о несовершенстве работы сканера. Зато вторая цель, 242shop.ch/shoes_details.php?id=162, нам вполне подходит. Копируем ссылку и вставляем ее в ставший родным SQLiHelper. На сайте содержится целых три полезных базы с именами «242shopch», «242shopch1», «242shopch2». Последняя таит в своих недрах таблицу «wp_users», которая, в свою очередь, сохраняет и имена пользователей, и парольные хеши, например:
Расшифровать хеш — дело техники, как найти админку — я рассказывал. А ходить в кедах, присланных из-за бугра, пошитых нашими китайскими друзьями, но принадлежащих к известному бренду — очень здорово. Особенно в случае, когда они достались даром :). Перед расставаниемыХочу сразу предупредить — три раза подумай, прежде чем что-то ломать, действуй в сугубо исследовательских целях и всегда сообщай о найденных прорехах в безопасности администраторам. Если будешь придерживаться этих простых правил — тебе воздастся трижды. И не забывай о мерах безопасности. Удачных взломов! |