XUT_ / COURSES / CYBER SECURITY 101

Single Crack Mode

Hasta el momento, hemos usado los diccionarios en john para realizar ataques de fuerza bruta. Pero John también tiene otro modo, llamado Single Crack. En este modo, John usa sólo la información dada del nombre de usuario y prueba posibles contraseñas usando heurística cambiando letras y números contenidos en dicho nombre.


Modificación de Palabras

La mejor manera de explicar el modo Single Crack y word mangling (modificación de palabras) es a través de un ejemplo:

Considera el nombre de usuario "Markus". Algunas posibles contraseñas serían:

  • Markus1, Markus2, Markus3, etc.
  • MArkus, MARkus, MASRKus, etc.
  • Markus!, Markus$, Markus*, etc.

Esta técnica se conoce como word mangling. John construye su propio diccionario basándose en la información que le ha sido dada y usando un conjunto de reglas (mangling rules), que definen cómo se muta la palabra inicial.


GECOS

La implementación de John del word mangling también ofrece compatibilidad con el campo GECOS de los sistemas operativos UNIX. GECOS significa General Electric Comprehensive Operating System. En la última tarea hemos visto entradas para shadow y passwd. Si miramos de cerca veremos que los campos están separados por ":". El quinto campo en el registro de la cuenta de usuario es el campo GECOS. Almacena información general sobre el usuario, como el nombre completo, número de oficina y número de teléfono entre otros. John puede tomar información guardada en esos registros como el nombre completo y el nombre del directorio home para añadirlo a su diccionario al crackear /etc/shadow con el modo single crack.


Usando el modo Single Crack

Para usar el modo single crack, usamos casi la misma sintaxis que hemos usado hasta ahora, por ejemplo, si queremos crackear la contraseña de un usuario llamado "Mike", usando el modo single crack, escribiríamos:

john --single --format=[formato] [ruta al archivo]

  • --single: Indica que queremos usar el modo single crack.
  • --format=[formato]: Es como siempre, aquí indicamos el formato.

Ejemplo de uso:

john --single --format=raw-sha256 hashes.txt

NOTE

Si estamos crackeando hashes en modo single crack, necesitamos cambiar el formato del archivo que le damos a John para que entienda con qué información crear el diccionario. Hacemos esto añadiendo el nombre de usuario, es decir pasamos de 1efee03cdcb96d90ad48ccc7b8666033 -> mike:1efee03cdcb96d90ad48ccc7b8666033.