Preparando nuestro ciberlaboratorio para jugar con los SQL Injection

En esta octava entrada del tutorial de hacking básico vamos a preparar nuestro kali linux para empezar a jugar con SQL Injection.

¿Que no sabéis lo que son los SQL Injection? No me lo puedo de creer!!!! Peró ningún problema, aparte de que lo trataré más tarde, ya hay una entrada que habla de ello, aunque no forme parte del tutorial, es muy sencilla y explica bastante bien como funcionan los SQL Injection y la potencia que tienen.

Aquí os dejo el enlace:
Una introducción a uno de los clásicos de la ciberseguridad: los SQL Injection.
¿Ya esta? ¿Leído? ¿Con ganas de empezar a probar? Pues venga, vamos a ello. Lo primero va a ser instalar todas las utilidades necesarias, que Kali tampoco lo lleva todo.

Instalando DVWA en Kali

Veamos, el nombre completo de la herramienta es: “Damm Vulnerable Web Application”, que si lo traducimos viene a significar algo parecido a: “Servidor de aplicaciones WEB jodidamente vulnerable“. ¿Pillado?, ¿no? Nos va a servir para realizar pruebas de intrusión. Lo vamos a instalar en nuestra máquina virtual porque no queremos tener este software en nuestra máquina física.

Para instalarlo vamos a necesitar algún software básico, como php5-gd, ya que usa una versión un poco viejuna de PHP. Si hemos instalado recientemente Kali seguramente vendrá con un PHP más moderno.

Lo primero es instalar PHP5

En alguna entrada anterior del tutorial hemos modificado el contenido del fichero sources.list. Tenemos que volver a modificarlo, la verdad es que no lo hice demasiado bien y usamos unos repositorios un poco antiguos, así que para instalar php5-gd he tenido que volver a modificarlo, y sinceramente, creo que esta vez es la definitiva.
El contenido del fichero lo he sacado, de la WEB oficial de Kali, que los va manteniendo. Consultad el enlace que os dejo y ese es el contenido que vamos a tener que poner en el fichero.

Para editar el fichero:

nano /etc/apt/sources.list

El contenido del fichero lo he dejado como sigue:

# deb cdrom:[Debian GNU/Linux 7.0 _Kali_ - Official Snapshot i386 LIVE/INSTALL $
# deb cdrom:[Debian GNU/Linux 7.0 _Kali_ - Official Snapshot i386 LIVE/INSTALL $
## Security updates
deb http://http.kali.org/kali kali-rolling main contrib non-free
# For source package access, uncomment the following line
# deb-src http://http.kali.org/kali kali-rolling main contrib non-free
deb http://repo.kali.org/kali kali-rolling main non-free contrib
deb http://old.kali.org/kali sana main non-free contrib
deb http://old.kali.org/kali moto main non-free contrib

Una vez que ya hemos modificado es hora de instalar php5

apt-get update

Este comando tardará unos minutos, modifica los enlaces de apt-get, para que vaya a buscar los paquetes donde le hemos indicado.
El resultado de la ejecución del comando tendría que ser algo parecido a:

Get:1 http://repo.kali.org/kali kali-rolling InRelease [30,5 kB]
Hit:2 http://old.kali.org/kali sana InRelease                                  
Hit:4 http://old.kali.org/kali moto InRelease                                  
Get:3 http://archive-4.kali.org/kali kali-rolling InRelease [30,5 kB]
Get:5 http://repo.kali.org/kali kali-rolling/main amd64 Packages [15,0 MB]
Get:6 http://archive-4.kali.org/kali kali-rolling/main i386 Packages [14,9 MB]
Get:7 http://archive-4.kali.org/kali kali-rolling/main amd64 Packages [15,0 MB]
Get:8 http://repo.kali.org/kali kali-rolling/main i386 Packages [14,9 MB]      
Fetched 59,8 MB in 60s (984 kB/s)                                              
Reading package lists... Done

Ahora ya podemos buscar entre los paquetes de apt-get el que queramos instalar, en este caso el php5-gd.

apt-cache search php5-gd

Este comando nos mostrará todos los paquetes que coincidan con la cadena que le indicamos.

php5-gd - GD module for php5
php5-gdcm - Grassroots DICOM PHP5 bindings

En este caso vemos cómo encuentra dos paquetes, a nosotros nos interesa el primero php5-gd, php y php-mysql. Vamos a instalarlo:

apt-het install php5
apt-get install php5-gd
apt-get install php5-mysql

Como veis hemos aprovechado para instalar tambíen php5. Con esto ya tendriamos que tener lo suficiente como para instalar DVWA.

A por el DVWA

El software lo encontramos en www.dvwa.co.uk, en el apartado de downloads (donde va a estar sino!).
Al pulsar el botón de Download se nos descargara un zip. El contenido de este zip tenemos que descomprimirlo en la carpeta /var/www/html, de tal forma que todo el contenido quede en:
/var/www/html/DVWA-master.
El nombre de la última carpeta (DVWA-master) puede variar, es el que venía dentro del zip cuando me lo baje, hace un tiempo el nombre indicaba la versión.
Una vez tenemos la carpeta creada con todo el contenido del zip, cambiamos los permisos de esta carpeta:

#chmod -Rv 777 /var/www/DVWA-master

Lo siguiente es arrancar mysql, que ya viene con kali, no hace falta que lo instalemos:

service mysql start

Una vez arrancado, vamos a entrar dentro de sql para crear la base de datos

mysql -u root -p

El password que nos pide lo dejamos en blanco. Ahora ya estamos dentro de SQL, el lenguaje a utilizar es SQL, vamos a crear la tabla, y salimos.

CREATE DATABASE dvwa;
EXIT;

Lo siguiente es editar el fichero de configuración de DVWA y dejar el password a blancos:

nano /var/www/html/DVWA-master/config/config.inc.php

El contenido del fichero tendrá que ser algo parecido a:

# If you are having problems connecting to the MySQL database and all of the variables$
# try changing the 'db_server' variable from localhost to 127.0.0.1. Fixes a problem d$
#   Thanks to @digininja for the fix.
# Database management system to use
$DBMS = 'MySQL';
#$DBMS = 'PGSQL'; // Currently disabled
# Database variables
#   WARNING: The database specified under db_database WILL BE ENTIRELY DELETED during $
#   Please use a database dedicated to DVWA.
$_DVWA = array();
$_DVWA[ 'db_server' ]   = '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ]     = 'root';
$_DVWA[ 'db_password' ] = '';a

Lo siguiente es arrancar apache:

service apache2 start

Empecemos a navegar

Ahora ya con todo instalado y configurado abrimos una navegador y arrancamos DVWA.
La dirección que tenemos que usar es:
localhost/DVWA-master/setup.php. En esta misma pantalla se nos indicara si esta todo correcto o si realmente nos falta todavía algún módulo que instalar.

Pantalla de configuracion de DVWA
Nuestro DVWA ya está listo para ser atacado! Que se prepare!

En la parte inferior de esta pantall veremos un botón: “Create / Reset Database”, lo pulsamos y DVWA creará la base de datos.
Resultado de crear la base de datos  DVWA
Ya lo tenemos todo…. DVWA nos ofrece una base de datos que atacar.

Si vemos este resultado ya casi lo tenemos, si DVWA no nos redirecciona en unos segundos a la página de login, lo hacemos nosotros: localhost/DVWA-master/login.php
Pantalla de login de DVWA
Pantalla de login de DVWA

Vale, ya casi estamos, pero… espera, nos pide un usuario y password!!! Ningún problema, lo podéis encontrar en el fichero README.md, y como no podia ser de otra forma, en este tipo de herramienta lleva años sin cambiar y es el peor usuario password de la historia:
usuario: admin
password: password.
Pantalla de inicio de DVWA
Pantalla de inicio de DVWA

Por fin ya está instalado DVWA

Si os ha funcionado todo bien a la primera solo puedo decir una cosa: FELICIDADES!!
Las siguientes veces es mucho más sencillo, cada vez que queramos arrancarlo tan solo tenemos que iniciar MySQL y PHP, tal que así:

service mysql start
service apache2 start

Una vez todo arrancado, vamos a nuestro navegador favorito y abrimos la url: http://localhost/DVWA-master/index.php

🙂 All done, en breve jugamos con el.

Recordad que este post forma parte del tutorial de Hacking / Pen Testing Básico

Comentarios.