silveran
24.06.2005, 20:16
Master-lame-master
Хакер, номер #076, стр. 076-044-1
Тайна внутренностей clickatell.com и взлом системы
Солнечным майским днем я по обыкновению купил журнал «Хакер». В этом номере меня ждала интересная статья от Хинта про сервис clickatell.com. Ты наверняка наслышан про этот ресурс и, возможно, даже там зарегистрирован. Однако десяти халявных кредитов хватает лишь на пару-тройку хороших приколов. Быстро потратив этот щедрый презент, мне захотелось взломать несчастную контору и сделать себе анлимитный аккаунт.
Как только у меня закончились халявные SMS, я поспешил зарегистрироваться еще раз. Но хитрые американцы предусмотрели этот шаг. Они запретили регистрацию двух аккаунтов на один мобильный номер. Я просек фишку и вбил номер моего отца. Это прокатило, но следующие десять кредитов закончились еще быстрее :(. Тогда я решил попробовать провести атаку на сервис clickatell.com в надежде на то, что американские админы окажутся не слишком крутыми парнями.
Созрела мысль
В первую очередь у меня созрела мысль, что на сервисе могут существовать аккаунты вида «login:login» с положительным балансом. Поэтому, набравшись терпения, я начал вбивать рандомные имена и пароли в web-форму сайта. К моему удивлению, за час вбива я подобрал около тридцати аккаунтов, среди которых добрая половина наделялась пятью, а то и десятью нетронутыми кредитами.
Мысль о безлимитном доступе не покидала меня ни на секунду. Я понимал, что сбрутать подобный доступ невозможно, и поэтому решил послоняться по сайту в поисках бажных скриптов. Однако сколько я ни изменял параметры сценариев, видимого успеха добиться не удавалось. Тогда я подумал: «Если бага не видно на поверхности, то почему бы не поискать его в глубине?». Другими словами, я надеялся найти какую-нибудь зацепку в комплекте сценариев, доступных после успешного входа в систему.
Неспешно залогинившись под подобранным аккаунтом net с паролем net, я посмотрел в левую часть страницы. Там находилась колонка ссылок на скрипты с какими-то непонятными отчетами. Как оказалось позже, это обычная статистика по пользователю, показывающая даты и количество SMS, отосланных в отчетные дни. Я покопался в исходниках страницы и нашел длинный запрос, передающийся методом POST. Быстро изменив метод на GET, я вставил обращение к БД в отдельное адресное окно браузера. Запрос успешно выполнился, и перед моими глазами предстали две уведомительные строки. После этого я дал волю своим шаловливым ручкам и намеренно изменил параметр month, добавив в конец значения апостроф. После обновления я получил весь текст длинного запроса, а затем ошибку обработки SQL-предложения. Это было клево, поскольку теперь я знал о том, что скрипт страдает SQL-инъекцией, и, кроме того, передо мной был сам запрос. Осталось лишь правильно использовать найденный баг.
Забавы с SQL
Поскольку я не особо знаком с технологией SQL-инжектирования, мне пришлось изрядно попотеть, чтобы добиться видимых результатов взлома. Сперва я вставил в конец запроса фразу «UNION select 1» и, как обычно, получил ругань на несоответствие параметров. Затем я подобрал число выводимых полей, а также некоторые названия параметров. Работа была очень неблагодарной, зато результат взлома был потрясающим – я получил большую часть информации о пользователях портала clickatell.com. Затем я добавил в запрос условие WHERE p.email like ‘%clickatell.com%’ и получил список всех администраторов сервиса. Включая их email’ы и сложнорасшифровываемые пароли :).
С одной стороны, у меня уже было многое: админский аккаунт на неограниченное количество SMS-сообщений и кривоватый дамп пользовательской базы. Но с другой - мне хотелось большего. Я очень желал попасть внутрь ресурса, посмотреть устройство сервера и скрипты отправки SMS. Поэтому у меня появилась мысль попробовать пологиниться на почтовые ящики администраторов, используя полученные пароли.
Сложный путь к сердцу системы
В результате ручного подбора выяснилось, что пять mail-аккаунтов работали и пароли совпадали. В почтовом ящике одного из них находилось около сотни писем. Сперва я принял корреспонденцию за спам, однако впоследствии понял, что поторопился. Что-то вынудило меня скачать все сообщения себе на комп, не удаляя их с сервера. И не ошибся! Вместо спама меня ожидала почтовая переписка с сотрудниками компании. И надо сказать, письма были очень интересными - обсуждались коммерческие вопросы компании, будущие нововведения и т.п. Уже после третьего мыла я просек, что на сервисе должна быть какая-нибудь оболочка, где регулярно отмечаются работники. Что-то типа новостной ленты. И действительно, в одном из почтовых сообщений я нашел интересную ссылку на ресурс http://mantis.clickatell.com. По прочтении всех писем мне ничего не оставалось делать, как завернуть ослика на этот адрес. Как я и догадывался, за ссылкой хранилась специальная bugtraq-среда, куда разработчики постили ошибки в работе сервиса. Естественно, что так просто меня в систему не пустили – авторизационный сценарий требовал пароль. Но ведь у меня были все пароли администраторов! Грех не попробовать заветные пары «логин:пароль» в форме этого скрипта. К счастью, аккаунт одного из админов успешно подошел.
Но радоваться было пока рано – мантис не представлял собой что-то ценное. Обычные формы со статусом выполненных или незаконченных заданий, которые намекали на то, что среда используется не только для обсуждения ошибок, но и перспектив, планов и т.п. Я уже было хотел покинуть этот ресурс, но в последнюю минуту заметил еще один линк на страницу http://blog.clickatell.com. Проверка IP-адреса этого хоста показала, что он не совпадал с айпишником www.clickatell.com. Этот факт дал повод предположить существование второго сервера. И действительно, ресурс blog.clickatell.com существовал. Он представлял собой еще один набор скриптов, но уже заточенный под технические задания. Там были сообщения о ребутах серверов, шлюзов, а также о внедрении каких-то непонятных технологий. Я даже удивился, что все эти ньюсы может посмотреть любой человек – среда не защищалась паролем. Но, дойдя до конца страницы, я увидел мелкую ссылку «Login», которая предлагала войти в систему.
Хакер, номер #076, стр. 076-044-1
Тайна внутренностей clickatell.com и взлом системы
Солнечным майским днем я по обыкновению купил журнал «Хакер». В этом номере меня ждала интересная статья от Хинта про сервис clickatell.com. Ты наверняка наслышан про этот ресурс и, возможно, даже там зарегистрирован. Однако десяти халявных кредитов хватает лишь на пару-тройку хороших приколов. Быстро потратив этот щедрый презент, мне захотелось взломать несчастную контору и сделать себе анлимитный аккаунт.
Как только у меня закончились халявные SMS, я поспешил зарегистрироваться еще раз. Но хитрые американцы предусмотрели этот шаг. Они запретили регистрацию двух аккаунтов на один мобильный номер. Я просек фишку и вбил номер моего отца. Это прокатило, но следующие десять кредитов закончились еще быстрее :(. Тогда я решил попробовать провести атаку на сервис clickatell.com в надежде на то, что американские админы окажутся не слишком крутыми парнями.
Созрела мысль
В первую очередь у меня созрела мысль, что на сервисе могут существовать аккаунты вида «login:login» с положительным балансом. Поэтому, набравшись терпения, я начал вбивать рандомные имена и пароли в web-форму сайта. К моему удивлению, за час вбива я подобрал около тридцати аккаунтов, среди которых добрая половина наделялась пятью, а то и десятью нетронутыми кредитами.
Мысль о безлимитном доступе не покидала меня ни на секунду. Я понимал, что сбрутать подобный доступ невозможно, и поэтому решил послоняться по сайту в поисках бажных скриптов. Однако сколько я ни изменял параметры сценариев, видимого успеха добиться не удавалось. Тогда я подумал: «Если бага не видно на поверхности, то почему бы не поискать его в глубине?». Другими словами, я надеялся найти какую-нибудь зацепку в комплекте сценариев, доступных после успешного входа в систему.
Неспешно залогинившись под подобранным аккаунтом net с паролем net, я посмотрел в левую часть страницы. Там находилась колонка ссылок на скрипты с какими-то непонятными отчетами. Как оказалось позже, это обычная статистика по пользователю, показывающая даты и количество SMS, отосланных в отчетные дни. Я покопался в исходниках страницы и нашел длинный запрос, передающийся методом POST. Быстро изменив метод на GET, я вставил обращение к БД в отдельное адресное окно браузера. Запрос успешно выполнился, и перед моими глазами предстали две уведомительные строки. После этого я дал волю своим шаловливым ручкам и намеренно изменил параметр month, добавив в конец значения апостроф. После обновления я получил весь текст длинного запроса, а затем ошибку обработки SQL-предложения. Это было клево, поскольку теперь я знал о том, что скрипт страдает SQL-инъекцией, и, кроме того, передо мной был сам запрос. Осталось лишь правильно использовать найденный баг.
Забавы с SQL
Поскольку я не особо знаком с технологией SQL-инжектирования, мне пришлось изрядно попотеть, чтобы добиться видимых результатов взлома. Сперва я вставил в конец запроса фразу «UNION select 1» и, как обычно, получил ругань на несоответствие параметров. Затем я подобрал число выводимых полей, а также некоторые названия параметров. Работа была очень неблагодарной, зато результат взлома был потрясающим – я получил большую часть информации о пользователях портала clickatell.com. Затем я добавил в запрос условие WHERE p.email like ‘%clickatell.com%’ и получил список всех администраторов сервиса. Включая их email’ы и сложнорасшифровываемые пароли :).
С одной стороны, у меня уже было многое: админский аккаунт на неограниченное количество SMS-сообщений и кривоватый дамп пользовательской базы. Но с другой - мне хотелось большего. Я очень желал попасть внутрь ресурса, посмотреть устройство сервера и скрипты отправки SMS. Поэтому у меня появилась мысль попробовать пологиниться на почтовые ящики администраторов, используя полученные пароли.
Сложный путь к сердцу системы
В результате ручного подбора выяснилось, что пять mail-аккаунтов работали и пароли совпадали. В почтовом ящике одного из них находилось около сотни писем. Сперва я принял корреспонденцию за спам, однако впоследствии понял, что поторопился. Что-то вынудило меня скачать все сообщения себе на комп, не удаляя их с сервера. И не ошибся! Вместо спама меня ожидала почтовая переписка с сотрудниками компании. И надо сказать, письма были очень интересными - обсуждались коммерческие вопросы компании, будущие нововведения и т.п. Уже после третьего мыла я просек, что на сервисе должна быть какая-нибудь оболочка, где регулярно отмечаются работники. Что-то типа новостной ленты. И действительно, в одном из почтовых сообщений я нашел интересную ссылку на ресурс http://mantis.clickatell.com. По прочтении всех писем мне ничего не оставалось делать, как завернуть ослика на этот адрес. Как я и догадывался, за ссылкой хранилась специальная bugtraq-среда, куда разработчики постили ошибки в работе сервиса. Естественно, что так просто меня в систему не пустили – авторизационный сценарий требовал пароль. Но ведь у меня были все пароли администраторов! Грех не попробовать заветные пары «логин:пароль» в форме этого скрипта. К счастью, аккаунт одного из админов успешно подошел.
Но радоваться было пока рано – мантис не представлял собой что-то ценное. Обычные формы со статусом выполненных или незаконченных заданий, которые намекали на то, что среда используется не только для обсуждения ошибок, но и перспектив, планов и т.п. Я уже было хотел покинуть этот ресурс, но в последнюю минуту заметил еще один линк на страницу http://blog.clickatell.com. Проверка IP-адреса этого хоста показала, что он не совпадал с айпишником www.clickatell.com. Этот факт дал повод предположить существование второго сервера. И действительно, ресурс blog.clickatell.com существовал. Он представлял собой еще один набор скриптов, но уже заточенный под технические задания. Там были сообщения о ребутах серверов, шлюзов, а также о внедрении каких-то непонятных технологий. Я даже удивился, что все эти ньюсы может посмотреть любой человек – среда не защищалась паролем. Но, дойдя до конца страницы, я увидел мелкую ссылку «Login», которая предлагала войти в систему.