Práctica 6: Auditoría de Redes Inalámbricas
Relacionado: Pyrit. ONOS. CENT. 12 Introduccion a la Criptografiaseguridad.
Estudiantes:
- Jonnathan Sebastián Avendaño Castillo
- Carlos Garrido Junco
Asignatura: Auditoría de Redes Inalámbricas
Universidad: Universidad Autónoma de Hidalgo (UAH)
Curso: P
Índice
- Tamaño Teórico del Diccionario
- Generación del Diccionario con Crunch
- Estimación del Tiempo de Verificación
- Generación de Diccionario con un Patrón Específico
- Realización del Ataque para Obtener la Clave
- Tiempo de Obtención de la Clave
- Generación de Diccionarios Específicos con Crunch
- Influencia de CCMP y TKIP en la Resistencia de la Red
- Generación de Diccionario Usando Crunch con Información Adicional
- Estimación del Tiempo Medio para Obtener la Clave
- Órdenes Necesarias para Realizar el Ataque
1. Tamaño Teórico del Diccionario
En esta sección se calcula el tamaño teórico del diccionario compuesto por todas las posibles claves de hasta 9 caracteres, considerando que el tamaño mínimo de la clave en PSK es de 8 caracteres.
Cálculo del Tamaño
-
Usando un alfabeto de 62 caracteres (26 letras mayúsculas + 26 letras minúsculas + 10 números), las posibles combinaciones para las claves de 8 y 9 caracteres son:
-
Combinaciones para 9 caracteres:
[ 62^9 \approx 1.375543 \times 10^{16} \quad \text{combinaciones} ] -
Combinaciones para 8 caracteres:
[ 62^8 \approx 2.540 \times 10^{14} \quad \text{combinaciones} ]
-
Total de combinaciones posibles
Sumando las combinaciones para 8 y 9 caracteres:
[ 62^9 + 62^8 \approx 1.829587 \times 10^{16} \quad \text{combinaciones} ]
Este formato es más limpio y fácil de leer, con las ecuaciones bien presentadas. ¡Avísame si necesitas más ajustes o ayuda con otros apartados!
2. Generación del Diccionario con Crunch
Para la generación del diccionario utilizamos la herramienta Crunch, que permite crear diccionarios personalizados. El siguiente comando genera un diccionario con combinaciones de entre 8 y 9 caracteres alfanuméricos:
bash
Copiar código
crunch 8 9 -f /usr/share/crunch/charset.lst mixalpha-numeric
Tamaño del Diccionario Generado
- El diccionario generado tendrá aproximadamente 1.375543 x 10^16 combinaciones, lo cual ocuparía un espacio de aproximadamente 121 PB.
3. Estimación del Tiempo de Verificación
Para estimar el tiempo necesario para verificar todas las combinaciones del diccionario, utilizamos Pyrit y su comando benchmark para obtener la velocidad de verificación en PMKs/s.
Cálculo del Tiempo Medio
Con una velocidad de verificación de 7,180 PMKs/s y un diccionario de 1.375543 x 10^16 combinaciones, el tiempo estimado de verificación es el siguiente:
Tiempo estimado=1.375543×10167180×2≈957,898,791,911 segundos\text{Tiempo estimado} = \frac{1.375543 \times 10^{16}}{7180 \times 2} \approx 957,898,791,911 \text{ segundos}Tiempo estimado=7180×21.375543×1016≈957,898,791,911 segundos
Esto equivale a 1.1 millones de años, por lo que resulta impracticable realizar un ataque de diccionario a este nivel.
4. Generación de Diccionario con un Patrón Específico
Para generar un diccionario con un patrón específico (como números en una posición determinada), utilizamos el carácter % en Crunch.
Comando para Generar el Diccionario
bash
Copiar código
crunch 8 9 -t @@@@
Tiempo Estimado para Generar el Diccionario
Este diccionario específico se generaría en un tiempo aproximado de 1.09 minutos.
5. Realización del Ataque para Obtener la Clave
Una vez generado el diccionario, se procede a realizar el ataque de diccionario utilizando Pyrit para obtener la clave PSK de la red.
Comando para Realizar el Ataque
bash
Copiar código
pyrit -r archivo.cap -i diccionario.txt
Clave Obtenida
La clave PSK obtenida fue 918856501.
Tiempo de Obtención de la Clave
El tiempo aproximado de obtención de la clave fue 111.99 segundos, lo que corresponde a aproximadamente 2 minutos. La clave fue obtenida en el intento 880,044 PMKs a una velocidad de 7,858 PMKs/s.
6. Tiempo de Obtención de la Clave
Estimación del Tiempo:
La estimación fue de 1.87 minutos, y el tiempo real fue de 1.86 minutos, lo que confirma la precisión de nuestra estimación.
7. Generación de Diccionarios Específicos con Crunch
A continuación, se presentan los comandos para generar diccionarios con patrones específicos:
I. Diccionario de Palabras de 9 Caracteres con la Primera Letra en Mayúsculas y el 9º Carácter como Símbolo
bash
Copiar código
crunch 9 9 -t @@@@@@@@^
II. Diccionario de Teléfonos Móviles (9 Números) que Empiecen por 60912
bash
Copiar código
crunch 9 9 -t 60912
III. Diccionario de Palabras de 8 Caracteres con “admin” en el Medio
bash
Copiar código
crunch 8 8 -t XXadminX
8. Influencia de CCMP y TKIP en la Resistencia de la Red
Análisis de los Protocolos de Seguridad:
-
CCMP (WPA2) es un protocolo de cifrado más seguro que TKIP (WPA), ya que fue diseñado para solucionar las vulnerabilidades de TKIP.
-
Impacto en el Ataque de Diccionario:
El uso de CCMP o TKIP no afecta directamente la resistencia de la red ante un ataque de diccionario, ya que este ataque está centrado en la clave PSK, no en el algoritmo de cifrado. Sin embargo, CCMP proporciona una mayor protección ante otros tipos de ataques.
9. Generación de Diccionario Usando Crunch con Información Adicional
Para generar un diccionario con un formato específico, utilizamos el siguiente comando:
bash
Copiar código
crunch 8 8 -t AUTO12@@@@
Tamaño del Diccionario
- Número de palabras: 456,976
- Tamaño en bytes: 4,569,760 bytes
10. Estimación del Tiempo Medio para Obtener la Clave
Para estimar el tiempo medio para obtener la clave de la red, utilizamos la siguiente fórmula:
Tiempo estimado=456,9767,180≈636 segundos≈10.6 minutos\text{Tiempo estimado} = \frac{456,976}{7,180} \approx 636 \text{ segundos} \approx 10.6 \text{ minutos}Tiempo estimado=7,180456,976≈636 segundos≈10.6 minutos
11. Órdenes Necesarias para Realizar el Ataque
Las órdenes para realizar el ataque con Pyrit son las siguientes:
bash
Copiar código
pyrit -r archivo.cap -i diccionario.txt
Estas órdenes se ejecutan para los archivos de captura de tráfico de red (por ejemplo, AUT01.cap y AUT02.cap).