![]() |
угон паролей в ipb
// История одного взлома.
--------------------------------------------------------------------------------- Итак, началось всё с того, что я получил заказ на угон пароля от почтового ящика одного крупного Российского предприятия. Почтовый ящик находился на том же сервере что и сайт этой конторы. Выпив пузырь пива я решил пойти по пути наименьшего сопротивления и посмотреть на http://domainsdb.net (тогда этот проект ещё работал) хостятся ли на этом сервере другие проекты в надежде найти какой-нибудь бажный форум или CMS-ку. После недолгого изучения я понял, что он крутится на выделенном сервере, то есть параллельных сайтов и форумов хостящихся на этом сервере не было. Что ж подумал я пора взглянуть на сам портал этого предприятия. Посмотрев на портал с первого взгляда можно было понять, что крутится он на заказном неизвестном мне платном движке. Вооружившись ещё парой пузырей пива и прикрывшись парой каскадных проксей и сокс серверов собственной установки (не доверяю проксям и соксам, которые не ставил сам, будь они хоть трижды анонимы) я начал ковырять этот двиг. Каково же было моё удивление, когда я понял что в двиге всего 4-ре переменные, которые можно проверить. Но расстроился я ещё больше, когда понял что ни PHP-inj, ни SQL-inj там провести не прокатит. Все переменные жёстко фильтровались. По предыдущему обследованию мне было и так ясно, что сервер крутится на windows 2000 server с msSQL + IIS 5.0 + SSL. Надежда во мне засияла опять и я полез шарить по своим запасам в поисках подходящих сплоитов, но, поковыряв сервисы сплоитами я понял, что все они жёстко пропатчены. Пора сканить машину на наличие бажных сервисов подумал я. Вооружившись надёжным, опять же собственным shell-ом на FreeBSD-ёвой тачке я запустил nmap сканер. И опять таки обломался. Никаких бажных сервисов я не нашел. Надежда приказала долго жить и чуть слышно пискнув тихо скопытилась. На этом я чуть было не плюнул на это дело, так как оставался только брутфорс, а я не сторонник грубой силы, да и перебирать пароль из букв и цифр к тому же восьми символьный, (пароли сотрудникам выдавала служба безопасности предприятия) мне не хотелось. Связавшись с заказчиком, я попросил у него предоставить мне всё возможную информацию о пользователе ломаемого мыла. Покопавшись немного в предоставленной инфе я обратил внимание на один часто посещаемый им форум. Зайдя на форум я сразу понял что это ipb v2.1.4 (происходило это в период когда только вышел сплоит от RUSH security team). Разобрав сплоит по полочкам я въехал в то как работает эта уязвимость и ручками заколбасил себе web-shell на этом форуме (господа юзайте руки и голову всегда, и вас никогда не навестят маски шоу). О процессе взлома форума ipb не пишу, так как об этом и так уже столько статей, что и lol разберётся. Что ж скажу сразу, что ставку я сделал на совпадение пароля пользователя на форуме и на почтовом ящике. Слив себе базу данных и выдрав из неё hash+соль этого пользователя я врубил PasswordsPro на перебор паролей начиная сразу с 8-ми символов. Но после 2-х дней перебора и надписи в PasswordsPro что до конца перебораосталость осталось ну наверное чуть больше 1000 дней я понял что этот вариант меня пожалуй не устроит. Вот тут-то я и понял, что в гости ко мне пришла хана. Что ж упасть духом значит проиграть подумал я и угостив эту самую хану пивом притупив, таким образом, её бдительность я начал думать как мне добыть пароль этого чела и желательно не в зашифрованном виде. п.с. думал я недолго так как решение пришло почти сразу. Пароль при входе на форум вы вводите в незашифрованном виде ну а далее он уже шифруется. Значит, перехватить пароль необходимо на стадии (после ввода до шифрования). Покопавшись в таком же форуме на localhost-е я понял что обработка вводимых пользователем данных (логин пароль) происходит в двух скриптах: sources\action_public\login.php - для пользователей переменные 'UserName' 'PassWord' sources\action_admin\login.php - для админки переменные 'username' 'password' Значит, мне необходимо заинклудить в эти файлы свой код на php, который будет перехватывать пароли пользователей при входе на форум, и записывать их в файл. Но так как администратор может увидеть наш файл необходимо его криптовать. Сделать это не составит труда имея под рукой web-shell от этого форума. // Для этих самых нужд я и написал простенькую программку на php. Код:
/* программа перехватывает вводивае пользователями логин и парольЧерез пару дней я зашёл на этот сайт через web-shell и скачал файл /tmp/rezult.htm Файл был такого вида(пример с localhost-а): Код:
%2d%20%2d%20%2d%20%2d%20%2d%20%2d%20%2d%20%2d%20%2d%20%2d%20%2d%20%2d%20%2d%20%2d1. Записываете в переменную string весь код приведённый выше и запускаете в браузере. Код:
<?phpresult.htm и запускаете программу. В итоге получается файл decode.htm, который просто открываете в браузере. Код:
<?phpзаписываете и result.htm. Далее прописываете в браузере http://localhost/имя_скрипта.php. Код:
<?phpфорума. Примерно вот такого вида (пример с localhost-а): - - - - - - - - - - - - - - - - - - - - username:admin password:1 - - - - - - - - - - - - - - - - - - - - username:admin password:1 - - - - - - - - - - - - - - - - - - - - username:admin password:1 - - - - - - - - - - - - - - - - - - - - и так далее Обычным поиском нашел нужного мне пользователя. Проверил, подходит ли пароль от форума к почтовому ящику и вуаля ПОДХОДИТ! // Всё на этом история этого взлома заканчивается. Заказчик получил заветный доступ к чужому мылу, а я зелёных web-маняв. п.с да и делать это можно не только на форумах ipb, но и во всех остальных форумах, галереях, гостевых и.т.д, где есть форма регистрации пользователей и естественно нужен хотя бы web-shell. Кстати чтобы поиметь таким способом пароли от админки нужно тот же php код что я поместил в sources\action_public\login.php поместить в sources\action_admin\login.php заменив предварительно переменную 'UserName' на 'username' а переменную 'PassWord' на 'password' и в тот же файл будут приходить пароли от админки. Также можно тырити пароли конкретного пользователя. Для этого просто нужно использовать конструкцию if т.е сравнить полученное имя пользователя с заранее записанным и если они совпадают пишем в файл. Если нет то адьёс. //by AoD специально for Antichat |
Статья Зач0ТНая мне понравилась. Чисто как проходил сам процесс, остальное не ново.
Вообще + и уважение заслужил. Но сам ли ты это делал? |
Цитата:
п.с. это было в реале |
Да, статья ничего... но вот меня как и Диманыча интересует сам ли ты это всё делал. А статья написана с таким же акцентом как истатьи которые пишут в Хакере. Я не говорю, что ты её оттуда взял, просто прям такие же слова... такой же ход мыслей...
Ладно, хрен с ним, держи + |
Цитата:
Правы только в одном сленг похож на статьи из хакера. Наверное, потому что хакер я читаю с самого первого номера. Статью написал сегодня с самого утра сидел колбасил на работе. п.с. работодатель убьёт :) |
На самом деле статья, а вернее её способ стар... Но всё равно поставлю +1 ))))
|
непонял 1... зачем кодить то? если админ таки посечет и если не дурак, то всё расшифрует )) и второе не легче ли написать скрипт который не будет записывать всё в файл, а будет отправлять всё на специально заготовленое мыло? ))) тогда и админ не посечет и криптовать файл ненадо :)
|
Цитата:
А на счёт отправки на мыло – это актуально просто не стал заморачиватся. |
Цитата:
|
Это все очень весело и яйку понятно, однако я в своей скромной практике встречал едвали больше 2-3 форумов, где вот так вот просто стояли права на запись в скриптах авторизации и скриптах, инклудаемых в скрипт авторизации
|
| Время: 10:31 |