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:
[code language=”shell”]
nano /etc/apt/sources.list
[/code]
El contenido del fichero lo he dejado como sigue:
[code language=”shell”]
# 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
[/code]
Una vez que ya hemos modificado es hora de instalar php5
[code language=”shell”]
apt-get update
[/code]
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:
[code language=”shell”]
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
[/code]
Ahora ya podemos buscar entre los paquetes de apt-get el que queramos instalar, en este caso el php5-gd.
[code language=”shell”]
apt-cache search php5-gd
[/code]
Este comando nos mostrará todos los paquetes que coincidan con la cadena que le indicamos.
[code language=”shell”]
php5-gd – GD module for php5
php5-gdcm – Grassroots DICOM PHP5 bindings
[/code]
En este caso vemos cómo encuentra dos paquetes, a nosotros nos interesa el primero php5-gd, php y php-mysql. Vamos a instalarlo:
[code language=”shell”]
apt-het install php5
apt-get install php5-gd
apt-get install php5-mysql
[/code]
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:
[code language=”shell”]
#chmod -Rv 777 /var/www/DVWA-master
[/code]
Lo siguiente es arrancar mysql, que ya viene con kali, no hace falta que lo instalemos:
[code language=”shell”]
service mysql start
[/code]
Una vez arrancado, vamos a entrar dentro de sql para crear la base de datos
[code language=”shell”]
mysql -u root -p
[/code]
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.
[code language=”SQL”]
CREATE DATABASE dvwa;
EXIT;
[/code]
Lo siguiente es editar el fichero de configuración de DVWA y dejar el password a blancos:
[code language=”shell”]
nano /var/www/html/DVWA-master/config/config.inc.php
[/code]
El contenido del fichero tendrá que ser algo parecido a:
[code language=”shell”]
# 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
[/code]
Lo siguiente es arrancar apache:
[code language=”shell”]
service apache2 start
[/code]
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.
En la parte inferior de esta pantall veremos un botón: “Create / Reset Database”, lo pulsamos y DVWA creará la base de datos.
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
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.
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í:
[code language=”shell”]
service mysql start
service apache2 start
[/code]
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.
[…] que en un post anterior: Preparando nuestro ciberlaboratorio para jugar con los SQL Injection, instalamos DVWA, vamos a realizar un ataque por fuerza bruta a uno de los apartados que DVWA nos […]