martes, 20 de septiembre de 2016

Unidad 2 - Tarea 2: SQL Injection



La segunda tarea de la unidad 2 trata de realizar un ataque SQL Injection a la máquina vulnerable DVWA, con el fin de conseguir los usuarios y contraseñas que contiene la base de datos.

Dejo el enlace a una entrada que publiqué hace un tiempo en el blog que participo sobre seguridad informática, en dicha entrada explico como vulnerar las diferentes vulnerabilidades que tiene DVWA, entre ellas SQLi.



Un saludo, vasco.

Unidad 2 - Tarea 1: Capturando tráfico con Wireshark




En la primera tarea de esta segunda unidad tenemos que analizar unas capturas de tráfico con Wireshark para buscar información sensible.

  • Primera parte: Analizar un protocolo inseguro - Telnet 
Telnet se trata de un protocolo que nos permite controlar una máquina a distancia a través de una consola (sin entorno gráfico). El fallo de éste es que envía la información en texto plano, es decir, se puede leer perfectamente en una captura al no ir cifrado.


Abrimos el archivo .cap con Wireshark, lo primero que haremos será poner un filtro para que muestre solo los paquetes relacionados con Telnet



En esta sesión de Telnet en concreto hemos obtenido la siguiente información:

Entre el paquete 36 y el 50 podemos ver las letras que componen el nombre de usuario y entre el 58 y el 64 la contraseña ingresada.
    • Usuario: fake
    • Contraseña: user

Paquete 74: en él vemos el sistema operativo que está corriendo la máquina.



Paquetes 78 - 84: aquí tenemos el primer comando que se ejecutó en la sesión. Se trata de un "ls", que no muestra resultado alguno puesto que la carpeta en la que se encuentra tiene los archivos y/o carpetas ocultas.


Paquetes 92 - 110: el segundo comando ejecutado "ls -a", debido a que el comando anterior no mostró nada, se hizo un "ls -a" para mostrar los archivos ocultos, obteniendo la siguiente lista.



Paquetes 122 - 214: el comando ejecutado en esta ocasión es "/sbin/ping www.yahoo.com", un ping apuntado a la web de Yahoo en el que envía 13 paquetes, de los cuales 11 son recibidos y 2 perdidos.



Por último se ejecuta un "exit" para salir de la sesión.


  • Segunda Parte: analizando SSL
El protocolo SSL (Secure Sockets Layer - Capa de puertos seguros) y su sucesor TLS (Transport Layer Security - Seguridad de la capa de transporte), son protocolos criptográficos que proporcionan comunicaciones seguras, impidiendo así que terceros puedan leerla.


Una vez abierta la captura con Wireshark, si nos fijamos en el paquete número 2 podemos ver el certificado X.509 que utiliza, al autoridad emisora del mismo es VeriSign.



El certificado se envía encriptado y asegura la identidad del servidor.




  • Tercera Parte: analizando SSH
El protocolo SSH, al igual que Telnet, nos permite conectarnos a otra máquina y controlarla como si estuviéramos delante de ella, con la diferencia de que mediante este protocolo la información va cifrada, impidiendo que terceros puedan leerla.

Abrimos la captura con Wireshark. A partir del paquete 13 comienza el tráfico cifrado.


Es el protocolo SSH el que va cifrado en la conexión, por lo que no es posible obtener información alguna (usuario, contraseña, etc).




Hasta aquí la primera tarea de la segunda semana de este MOOC.

Un saludo, vasco.

domingo, 18 de septiembre de 2016

Unidad 1 - Tarea 3: Una sencilla práctica sobre criptografía


En este ejercicio veremos cómo cifrar y firmar digitalmente un archivo mediante la clave pública de un segundo para posteriormente enviárselo a esta persona y que pueda descifrarlo con su clave privada. Para ello, en este caso, he utilizado gpgv2.

Para instalar gpgv2 ejecutamos en una terminal: sudo apt-get install gpgv2 .
 

Una vez instalado, el primer paso es generar nuestra clave pública y privada mediante el comando: gpg2 --gen-key .



Con nuestras claves creadas, el siguiente paso es exportar la pública para enviarla a una segunda persona y que encripte su archivo con ella, al igual que nosotros encriptaremos nuestro archivo con la clave pública que ha generado esa persona. De ésta forma, cada uno luego será capaz de descifrar el archivo del otro con su clave privada.

Exportaremos nuestra clave usando el siguiente comando:
gpg2 --export nombre_usuario > nombre_usuario-pub.gpg 

Enviamos el archivo generado y recibimos el de la otra persona. Importamos la clave recibida mediante: gpg2 --import nombre_usuario2-pub.gpg .

Creamos el archivo que posteriormente vamos a cifrar y enviar.


Con el archivo creado, lo firmamos y ciframos con la clave importada mediante el comando: gpg2 --recipient nombre_usuario2 --sign --encrypt crypt-file.txt 

Ya solo nos falta enviar el archivo cifrado a la otra persona para que lo descifre con la clave privada y recibir su archivo para descifrarlo y ver el mensaje que nos ha enviado. 
  • Descifrar archivo

  • Contenido del archivo

Hasta aquí el tercer ejercicio, a la espera de la segunda semana.

Un saludo, vasco.

miércoles, 14 de septiembre de 2016

Unidad 1 - Tarea 2: Búsqueda y puesta en común de recursos


En este ejercicio veremos 3 webs relacionadas con el Hacking Ético.


  • Elladodelmal: que decir de Chema Alonso, conocido por cualquiera que le guste la seguridad informática, en su blog podemos encontrar una nueva entrada a diario, desde noticias, PoCs, uso de herramientas, hasta pequeñas historias o anécdotas. Cuenta con canal en Youtube, Telegram, Vimeo, etc y hasta un periódico online.

  • Fwhibbit: blog con una gran cantidad de artículos sobre seguridad informática: PoCs, CTFs, guías sobre herramientas, ingeniería social y un largo etc. Además cuenta con un canal en Youtube donde encontraremos un curso de Hacking Ético, pentesting en sistemas vulnerables (CTF) y PoCs. con publicaciones casi a diario, es un buen candidato donde aprender un poco mas sobre este mundillo. Recomendado 100%.

  • HackxCrack: web con muchos años de antigüedad y por tanto una gran cantidad de material sobre hacking, programación, etc. Dispone de un foro en el que podemos exponer nuestras dudas y ayudar a los demás con las suyas.

Unidad 1 - Tarea 1: Herramientas básicas para la obtención de información


En esta unidad veremos el uso de algunos comandos para la obtención de información de un servidor.

  • PING
Éste comando, disponible tanto en sistemas Windows como Linux, es utilizado para comprobar si una ip está o no activa, la conectividad de ésta con nuestro pc y para obtener la ip de un dominio en caso de desconocerla. A continuación algunos ejemplos.


En el ping a Google vemos su ip y que los paquetes han llegado satisfactoriamente. En el ping a euskalert vemos también su ip, sin embargo perdemos el 100% de los paquetes, esto puede ser debido a que el servidor esté caído o tenga bloqueados los intentos de ping mediante algún IDS o WAF.

  • Whois
Esta herramienta nos muestra información pública de una dirección ip o dominio dado.



Como se puede ver, obtiene información muy interesante. No siempre se saca tanta información como en este caso, o puede simplemente no tener servidor whois:

Este TLD no dispone de servidor whois, pero puede acceder a la base de datos de whois en https://www.nic.es/

    • Contacto técnico: Jesus Lizarraga
    • Contacto administrativo: Pedro Amallobieta

  • Nmap
Herramienta muy potente que nos permite escanear una ip o dominio en busca de puertos abiertos y servicios que está corriendo además de poder identificar el sistema operativo. Dispone de varios tipos de escaneo: silencioso, UDP, TCP, completo (menos silencioso...), etc.


En este caso, al analizar los puertos de euskalert.net, nos dice que tiene todos los puertos filtrados como se puede ver en la siguiente captura.



Esto nos hace pensar que el servidor puede tener algún tipo de firewall que bloquea nuestros paquetes. Haciendo uso de las opciones que tiene Nmap para saltarse los firewall probamos otra vez.



Obtenemos un puerto abierto correspondiente a un servidor web, en concreto un Apache 2.4.7. Si buscamos vulnerabilidades correspondientes a esta versión de Apache en la Base de Datos de Vulnerabilidades Nacional de Estados Unidos, obtenemos la siguiente considerada de nivel medio.



martes, 13 de septiembre de 2016

Presentación


Muy buenas a tod@s.

Este blog ha sido creado como ejercicio del curso de Hacking Ético 2ª edición de la Universidad Mondragon.

Aquí publicaré los ejercicios que vaya realizando.Espero aprender y pasarlo bien en este MOOC.

Un saludo.