SAD 2 ASIR
PRÁCTICA 1 UNIDAD 2: Auditoría de contraseñas
Agrupamiento: Individual Duración: 1 sesión
Objetivos: Comprobar la seguridad de las contraseñas del sistema
Introducción
El objetivo de esta práctica es que el alumno compruebe la calidad de las contraseñas de
sus sistema operativo utilizando la herramienta de auditoría de contraseñas hashcat.
Hashcat es el “cracker” de contraseñas más rápido que existe en el mundo, actualmente
disponible para Linux, Windows y macOS. Su objetivo principal es detectar contraseñas
débiles en diferentes tipos de aplicaciones y SO’s. Además es capaz de romper
CUALQUIER contraseña de 8 caracteres en 2,5 horas usando un potente ordenador con
8 tarjetas gráficas (se realizó la prueba con NVIDIA GeForce RTX 2080 Ti). Es capaz de
atacar más de 300 tipos de hashes. Puedes visitar la página oficial de hashcat si tienes
interés en conocer todas sus características (https://hashcat.net/).
Debes usar hashcat en una máquina real, no virtual, ya que usa la GPU en vez de la CPU
y si es una VM, suele dar problemas porque no detecta ninguna tarjeta compatible con
CUDA u OpenCL.
Instalación de hashcat
1. Instala hashcat con el comando dnf. Esto instalará la versión disponible en los
repositorios de tu sistema. Si tu anfitrión es Fedora, ejecuta el siguiente comando:
dnf install hashcat hashcat-doc
Si estás usando Windows, descarga hashcat para Windows desde su web oficial y
deberás usarlo desde una línea de comandos de Windows (cmd.exe)
1/4
SAD 2 ASIR
2. Puedes ver la ayuda con:
hashcat -h
Si observas la ayuda, podrás ver que hay una opción para hacer benchmark de hashcat
con las características de tu equipo (nota: en una máquina virtual, hashcat no suele
funcionar pues el hardware es simulado y lo detecta).
Puedes hacer el benchmark con varias opciones, prueba algunas de ellas con tu equipo si
estás ejecutando hashcat en el anfitrión:
hashcat -b
hashcat -b --benchmark-all
3. En el Moodle hay un fichero con hashes extraídos del fichero /etc/shadow (de un sistema
Unix cualquiera) que tienes que descargar y descomprimir. El fichero se llama “Hashes
para la práctica 1”. En este fichero hay 9 usuarios con sus respectivos hashes. Esas 9
lineas se agrupan 3 grupos en función del tipo de password que se les ha asignado para
realizar la práctica con hashcat con 3 modos de atacar los hashes. Los usuarios user1.1,
user1.2 y user1.3 son para el ejercicio 1, los user2.1, user2.2 y user2.3 son para el
ejercicio 2 y user3.1, user3.2 y user3.3 son para el ejercicio 3.
A partir de aquí y usando como referencia el artículo del blog de seguridad
SecurityArtWork (que tienes en el moodle) titulado “Cracking de contraseñas con hashcat”
tienes que encontrar a manera de atacar el fichero de hashes en cada uno de los 3
ejercicios que se te proponen a continuación:
Ejercicio 1: ataque por diccionario
Ejecuta hashcat para que ataque los usuarios del ejercicio 1 solamente sabiendo como
pista que sus passwords son palabras de diccionarios. El diccionario es el que tienes en
el Moodle.
2/4
SAD 2 ASIR
Nota: esto es así para que la duración de la práctica sea corta. En un entorno real puede
durar horas, días o semanas realizar un ataque exitoso (cuando es exitoso pues con una
contraseña realmente compleja puede llevar años). Además DEBES modificar el fichero
de hashes para que sólo contenga los usuarios deseados y además el formato del
mismo, pues sólo debe contener los hashes.
Para realizar el ejercicio debes elegir el tipo de ataque, el tipo de hash adecuado (Unix) y
que las contraseñas obtenidas se guarden en un fichero txt que tu indiques. Para las
prácticas se recomienda que pases el parámetro –potfile-disable para que no
guarde los hashes resueltos en una base de datos en tu home
(~./hashcat/hashcat.potfile), comportamiento que hace por defecto.
Escribe el comando que has usado y hashcat funcionando así como una captura
con las contraseñas resueltas.
Ejercicio 2: ataque por fuerza bruta con máscaras
Ejecuta hashcat para que ataque los usuarios del ejercicio 2 solamente sabiendo como
pista que sus password tienen 3 minúsculas y luego 3 dígitos.
Debes elegir el tipo de ataque, el tipo de hash adecuado (SHA512 Unix) y que las
contraseñas obtenidas se guarden en un fichero txt que tu indiques. Para las prácticas se
recomienda que pases el parámetro –potfile-disable para que no guarde los
hashes resueltos en una base de datos en tu home (~./hashcat/hashcat.potfile),
comportamiento que hace por defecto.
Escribe el comando que has usado y hashcat funcionando así como una captura
con las contraseñas resueltas. Indica cuanto tiempo estima hashcat que puede
tardar en romper las contraseñas (dura bastante tiempo para finalizar la práctica en
3/4
SAD 2 ASIR
el aula, pero es un tiempo razonable para probar todas las combinaciones. Si
quieres puedes parar tras sacar la primera contraseña)
Ejercicio 3: ataque híbrido
Ejecuta hashcat para que ataque los usuarios del ejercicio 3 solamente sabiendo como
pista que sus password tiene una palabra del diccionario de Moodle y después un año
comprendido entre 2000 y 2020.
Debes elegir el tipo de ataque, el tipo de hash adecuado (Unix) y que las contraseñas
obtenidas se guarden en un fichero txt que tu indiques. Para las prácticas se recomienda
que pases el parámetro –potfile-disable para que no guarde los hashes resueltos
en una base de datos en tu home (~./hashcat/hashcat.potfile), comportamiento que hace
por defecto.
Escribe el comando que has usado y hashcat funcionando así como una captura
con las contraseñas resueltas.
4/4