Взлом сервера через уязвимый IPB

Автор: admin

Сегодня я расскажу как получить доступ к серверу (т.е. взломать его) через уязвимый форум, которых сейчас развелось не меряно. Тут вам и дырявый MyBB, и как сито – phpBB выпускающий всё новые и такие же дырявые версии, и примитивный FirstBB, и много других. Но есть и довольно приличные проекты, один из них - VBulletin мощный, симпатишный и самое главное почти не святящийся в BugTraq-лентах. Единственный его минус – цена. Для тех кто не может себе позволить покупку и установку VBulletin, существует его бесплатный аналог Invision Power Board (сокращённо IPB) такой же красивый, функциональный и очень популярный (последнее легко проверить, написав в поисковике сразу “Powered by IPB” или “Powered by Invision Power Board”). Многое хакеры тоже любят этот форум, но как ты понимаешь не из-за красивых кнопочек =)). Именно уязвимый IPB откроет нам дорогу к завоеванию сервера! Но обо всём по порядку.
Как это обычно бывает в фриварных проектах, в IPB затаился серьёзный баг. А именно, (как гласит уважаемый http://seclab.ru) "подверженность SQL-injections из-за недостаточно серьёзной обработки cookies-файлов в сценарии sources/login.php". Благодаря этому выполнив правильно составив SQL-запрос можно узнать хэш пароля любого пользователя и админ не исключение! Для облегчения нашей с тобой нелёгкой жизни чел из RST (а именно 1dt.w0lf) написал Perl’ вый сплойт под этот баг, за что ему отдельный респект! Сплойт работает на всех ветках IPB 1.x и 2.x (ниже 2.0.4) и скачать его можно с http://rst.void.ru/download/r57ipb2.txt. Сразу скажу, в сплойте 1dt.w0lf нарочно оставил логическую ошибку. Это сделано для того, чтобы скрипт-кидди скачав эксплойт, от радости не переломали весь инет. Знакомые с Perl’ом люди мигом просекут в чём дело и исправят код. Если у кого с Perl’ом не лады, а сплойт нужен позарез, стучите ко мне в асю 220-302-201 и я вам скину работающую версию. Но при условии, что ты не пойдёшь по стопам многих скрипт-кидди. Короче, качаем сплойт, исправляем/берём у меня рабочий, собираем, запускаем. (думаю не нужно говорить, что для работы сплойта нужен установленный Active Perl). Запускается скрипт с четырьмя параметрами: адрес сервера (без “http://” !!!), путь к форуму, id мембера (для админа по умолчанию 1), версия форума IPB (IPB 1.x – 0, IPB 2.x - 1). Например,
> r57ipb2.pl www.fuck.site /IPB/ 1 0
.
Справедливости ради замечу, что для 100% успеха, на сервере в конфиге PHP должен быть включены magic_quotes. Так оно и есть на 70% сайтов и шанс что всё будет гуд, довольно велик.

Теперь допустим, ты натравил сплойт на форум http://lam.er/forum/ и узнал хэш админа. Что это нам даёт? А многое! Можно конечно отправить этот хэш на расшифровку MD5Inside* с огромным скачанным словарём, но брут, может занять много времени. Я конечно не имею ничего против брут форса и проги MD5Inside*, иногда это единственный способ продвинуться дальше, но в данном случае можно сделать лучше! Регистрируемся на взламываемом форуме как обычный юзер, при этом на нашем компе создаются файлы cookies. Они призванные упростить нашу авторизацию, если мы снова зайдём на тот форум. В cookies’ах содержится хэш пароля (в данном случаю юзерского), его id и некоторая другая инфа. Думаю ты уже понял к чему я клоню… Правильно. Мы отредактируем кукисы. Как? Очень просто! Прогой CookieEditor**. Запускаем, ищем по адресу интересуемый форум и заменяем свой id на 1 (если тебя интересует админ), а свой хэш на хэш, который выдал на сплойт. Сохраняем cookies и снова заходим на форум. А теперь найди 10 отличий по сравнению с прошлым визитом. Правильно, ты Админ!!!

Теперь тебе доступна админ-панель и ты можешь творить беспредел на форуме: добавлять/удалять/редактировать темы и посты, удалять/добавлять бедных (или не очень =)) ) юзеров/модеров, менять темы оформления (если есть такая возможность) тем самым совершив небольшой (а может и большой) дефейс! Весело, согласен. Если этого тебе достаточно, поздравляю тебя с взломом форума! А если нет, то читай дальше как залить web-шелл и тем самым получить доступ к серверу!

Заливать web-шелл будем через смайлики, т.к. в IPB при их заливки тип изображения и их содержание не проверяется. Итак, заходим на форум как админ и лезем в “админ-панель”. Заходим в раздел “управление смайликами”, выбираем директорию для загрузки (по умолчанию – “/default/”) и загружаем, вместо изображения web-шелл (например shell.php). Путь к директории с шеллом известен: style_imoticons/default/shell.php. В зависимости от шелла он будет запускаться по разному, но в любом случае у нас уже есть доступ к серверу.

Теперь можно узнать версию установленного на сервере ПО, подобрать и залить туда сплойт и порутать сервак. Но это уже тема для других статей. Удачи тебе и интересных взломов! Если будут вопросы, пишите на нашем форуме.


З.Ы.

В качестве шелла рекомендую использовать r57shell от уже известной нам ранее команды RST. Шелл обладает множеством полезных функций и очень удобен, скачать новую версию можно с http://rst.void.ru. У кого нет возможности воспользоваться “специализированным” web-шеллом может написать самопальный: < ?php

passthru [доллар=)) ]cmd
?>

и сохранить это безобразие, например badshell.php. Для выполнения команд передай их параметру cmd: /badshell.php?cmd=команда и ты увидишь свои права в системе.

Комментарии

Нет комментариев. Вы можете быть первым!

Оставить комментарий

:

:
: