Inyecciones sql para aprendices

49
Inyecciones SQL para Aprendices Inyección SQL

description

Inyecciones sql para aprendices

Transcript of Inyecciones sql para aprendices

Page 1: Inyecciones sql para aprendices

Inyecciones SQL para AprendicesInyección SQL

Page 2: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

En esta ocasión vamos a aprender a Hacer un Inyección SQL y posteriormente Defacear Un web!

Ojo! Esto es de cuidado! Esto es ilegal, en cualquier momento puedes llegar a la cárcel por un delito Informático

Bueno ya pasando las recomendaciones Dadas empecemos!

Bueno lo primero que deben saber es que es una Inyección SQL! (Busca en San Google! Ahí tienes toda la información!) Aquí un breve definición:

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 consultas a una base de datos.

Page 3: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

El origen de la vulnerabilidad radica en el incorrecto chequeo y/o filtrado de las variables utilizadas en un programa que contiene, o bien genera, código SQL. Es, de hecho, un error de una clase más general de vulnerabilidades que puede ocurrir en cualquier lenguaje de programación o script que esté embebido dentro de otro.

Se conoce como Inyección SQL, indistintamente, al tipo de vulnerabilidad, al método de infiltración, al hecho de incrustar código SQL intruso y a la porción de código incrustado.

Page 4: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Segundo La Seguridad!:

Como siempre he dicho! Para todo clase de Hack! Es mejor usar algún Proxy SSL O algún VPN! Recomiendo mejor los vpn entre ellos están:

RaptorVPN

Hay otros mas.. pero este tutorial no es de seguridad y protección.

Vean el tuto siguiente. (Seguridad y Protección)

Page 5: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Tercero: Herramientas

Las herramientas que vamos a usar son:

Havij

(Descargar: http://www.itsecteam.com/products/havij-v116-advanced-sql-injection/ ). Havij es una herramienta que nos facilitará la explotación de vulnerabilidades de inyección SQL en aplicaciones web. Rápidamente podremos hacer un fingerprint de la base de datos, obtener los usuarios y los hashes de sus contraseñas, dumpear tablas y columnas, volcar datos, ejecutar sentencias SQL e incluso acceder al sistema de ficheros y ejecutar comandos en el sistema operativo.

Les recomiendo probar la versión 1.15 free que, aunque tiene algunas limitaciones, seguro que nos resultará útil y nos dará una idea de su facilidad de uso.

Page 6: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

WebCruiser o Acunetix

Download: http://sec4app.com/download/WebCruiserPro.zip

El escaner WebCruiser es una herramienta para tareas de evaluación de seguridad de sitios Web. Tiene tres versiones, Profesional y Enterprise que son de paga y una Free Edition gratuita para amateurs con algunas funcionalidades reducidas.

Page 7: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

¿Qué es WebCruiser?:

Un escaner de vulnerabilidades Web;

Un escaner de Inyección SQL;

Un escaner de XSS (Cross Site Scripting);

Un escaner de Inyección XPath;

Una herramienta de Inyección SQL automática de pruebas de concepto (POC);

Una herramienta de XSS (POC);

Una herramienta de Inyección XPath (POC);

Una herramienta de reenvío de Post Data;

Page 8: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

¿Cuales son sus funcionalidades?:

Crawler (directorios y archivos de sitios web);

Escaner de Vulnerabilidades(SQL Injection, Cross Site Scripting, XPath Injection etc.);

POC(Pruebas de Concepto): SQL Injection, Cross Site Scripting, XPath Injection etc.;

Inyección GET/Post/Cookie;

SQL Server: Texto Plano/Campo Reflejado(Union)/Inyección Ciega;

MySQL/Oracle/DB2/Access: Campo Reflejado(Union)/Inyección Ciega;

Verificación automática de tipo de base de datos;

Búsqueda de Administración de Entrada;

Inyecciones de búsquedas con retardo de tiempo;

Auto obtención de Cookie de navegador Web para autenticación;

Salida de informes.

Page 9: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

¿Cuales son sus funcionalidades?:

Crawler (directorios y archivos de sitios web);

Escaner de Vulnerabilidades(SQL Injection, Cross Site Scripting, XPath Injection etc.);

POC(Pruebas de Concepto): SQL Injection, Cross Site Scripting, XPath Injection etc.;

Inyección GET/Post/Cookie;

SQL Server: Texto Plano/Campo Reflejado(Union)/Inyección Ciega;

MySQL/Oracle/DB2/Access: Campo Reflejado(Union)/Inyección Ciega;

Verificación automática de tipo de base de datos;

Búsqueda de Administración de Entrada;

Inyecciones de búsquedas con retardo de tiempo;

Auto obtención de Cookie de navegador Web para autenticación;

Salida de informes.

Page 10: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Actualmente está disponible y se puede descargar cualquiera de las tres versiones, las versiones de paga se pueden probar por 30 días.

Page 11: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Cualquiera VPN O PROXY Confiable.

Recordemos que un VPN es una red privada virtual o VPN (siglas en inglés de virtual private network), es una tecnología de red que permite una extensión de la red local sobre una red pública o no controlada, como por ejemplo Internet.

Realmente una VPN no es más que una estructura de red corporativa implantada sobre una red de recursos de carácter público, pero que utiliza el mismo sistema de gestión y las mismas políticas de acceso que se usan en las redes privadas, al fin y al cabo no es más que la creación en una red pública de un entorno de carácter confidencial y privado que permitirá trabajar al usuario como si estuviera en su misma red local.

Page 12: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Y por ultimo el bloc de notas.

Page 13: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Cuarta: La Web Vulnerable:Bueno aquí en este tutorial yo ya tengo una web vulnerable!

Ustedes pueden hacer la prueba con esta web:

http://www.nuddos.com

En la internet existe. Muchísimas paginas vulnerables! Pero como esta ya ha sido hackeada entonces, usemos en este tuto no profundizare para buscar Web vulnerables pero aquí unas técnicas para encontrarlas:Abrir www.google.com En búsquedas pones:.php?id=*.php?id=.asp?id=

Page 14: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Esos son los dock mas buscados para hackear hay muchos mas! Y si le metes un poco de lógica encuentras otros métodos mas!.Nota: No todas las paginas que salgan ahí son vulnerables!Pero como identificar una web Vulnerable? Es fácil eh ahí donde empieza a trabajar el WebCruiser o Acunetix en este caso

Usaremos webCruiser

Recordemos que WebCroiser es un scanner de vulnerabilidades y explota las mismas.

Page 15: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Aquí un ejemplo de su funcionamiento:La pagina a escanear será: www.nuddos.com

Page 16: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Page 17: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Le damos clic en Scanner:

Page 18: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Page 19: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Luego le damos clic en: Scan SiteY damos aceptar.Ahora debemos esperar unos 2 a 10 mins el programa escaneara y verificara la pagina y sus vulnerabilidades se irán mostrando poco a poco y si no tiene pues no aparecerá nada. Hay que volver intentar con otra pagina, en este caso encontramos:

Page 20: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Page 21: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

2 Inyecciones SQLYo Escogeré la url de (URL SQL Inyección)Para escogerla solo debes dar clic derecho y dar clic en copiar url (Copy Url a Clipboard)En este caso es:

http://www.nuddos.com/blog.php?id=336

Como Pueden notar: el final de la pagina es: .php?id=Ahora que tenemos la vulnerabilidad encontrada vamos aHavij 1.50 Pro

Page 22: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Este es un programa que automatiza la inyección SQL, con solo copiar la url vulnerable el hará el trabajo por ti La Inyección SQL se puede hacer de tipo manual pero es mas complicado. Aquí les enseñare a usar el havij:

Page 23: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Page 24: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Ahí como pueden ver ya copie y pegue la url en el objetivo ahora le damos clic en:Antes de usar la herramienta vamos a configuraciones y lo configuramos para que la inyección tenga mas éxito!Aquí una foto de como dejarlo configurado (cada vez que vayas a usar el Havij que no se te olvide configurarlo:

Page 25: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Page 26: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

En proxy colocas una IP PROXY Rápida y confiable!Ahora después de haber puesta la configuración ahora vamos y damos en el botón:Analyze

Y esperamos los resultados:Si es Scan nos sale así o mas o menos parecido:

Page 27: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Page 28: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Eso significa que la Inyección SQL va Por buen camino esperemos el resto del scan.Ya termino y debería aparecer algo como esto:

Page 29: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Ahí hemos encontrado y entrado a su base de datos de llama:NuddosAhora nos vamos a Info:

Page 30: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Page 31: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Y le damos en GETAhí el programa buscara toda la información acerca de la base de datos.(Este paso es Opcional)Esperemos que termine el scan.Ahora tenemos mas información sobre la base de datos:

Page 32: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Y le damos en GETAhí el programa buscara toda la información acerca de la base de datos.(Este paso es Opcional)Esperemos que termine el scan.Ahora tenemos mas información sobre la base de datos:

Page 33: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Page 34: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Ahora pasamos a Tables

Page 35: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Si hiciste el paso anterior te saldra la base de datos (Information_schema) Ahí se almacena la información de la base de datos en donde va tal cosa. (Busca en San Google Mas Información)Bueno seguimos:Ahora seleccionamos a la base de datos nuddosY Le damos GET TABLES.

Page 36: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Si hiciste el paso anterior te saldra la base de datos (Information_schema) Ahí se almacena la información de la base de datos en donde va tal cosa. (Busca en San Google Mas Información)Bueno seguimos:Ahora seleccionamos a la base de datos nuddosY Le damos GET TABLES.

Automáticamente se nos desplegara un cantidad de tablas.

Page 37: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Si hiciste el paso anterior te saldra la base de datos (Information_schema) Ahí se almacena la información de la base de datos en donde va tal cosa. (Busca en San Google Mas Información)Bueno seguimos:Ahora seleccionamos a la base de datos nuddosY Le damos GET TABLES.

Automáticamente se nos desplegara un cantidad de tablas.

Page 38: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Page 39: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

En este caso Es rápido la inyección pero hay casos que la Base de datos esta protegida y obtenemos las tablas una por una.Eso lleva su tiempo!Bueno seguimos…Ahora debemos ir en busca de los usuarios o admin o lo que sea relacionado con usuarios. Usa la mente y ponla a trabajar, si en caso no encuentras tablas con esos nombres pues has perdido tu tiempo. O no puedes sacar información valiosa de la pagina que hallas encontrado.En este caso yo mirare las columnas de Usuarios y gestina_administradores

Las selecciona y le das click en:Get columns.Y Esperamos a que termine su trabajo.En este caso me genero en gestina_administradores:

Page 40: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Page 41: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Y usuarios:

Page 42: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Pero nosotros vamos por administrador!Así que miraremos primero los datos de administradores.Así que seleccionamos:

Page 43: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Y ahora le damos: GET DATAGet data:En este caso solo hay un solo administrador:

Page 44: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Page 45: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Ahora podemos guardar la información con el botón Save dataY se guardara como .HTMLY su password no esta encryptado en MD5! Cosa que nos facilita el trabajo!Si estuviese encryptado teníamos que desecryptarlo! Y nos llevaría mas tiempo!.

Page 46: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Con estos datos Podemos defacear una web! O si no eres malvado habla con el administrador y que arregle el problema de la base de datos!.Ya para despedirnos vamos a buscar su panel de administracion para entrar como administrador:Nos vamos a: Find Admin

Page 47: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Page 48: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices

Y le damos START y como siempre esperemos que haga su trabajo! PD: Hay veces que no sale el panel de administración hay que localizarlo de otra manera.Aquí los resultados:

Page 49: Inyecciones sql para aprendices

Inyecciones SQL para Aprendices