Recupera credenciales vinculadas a las cuentas de la exportación antigua

LinuxBeginner
Practicar Ahora

Introducción

Una organización comunitaria ha retirado su portal de personal. En un ejercicio de incidentes ha aparecido una copia sintética de su antigua exportación de contraseñas, mientras el archivo actual sigue funcionando. Determina qué recuperan realmente los candidatos proporcionados sin perder la relación entre un registro antiguo y una persona.

Usarás el archivo operativo, ejecutarás John the Ripper en Kali Linux y elaborarás un inventario privado de recuperación. Todas las identidades son ficticias. Los contenedores de auditoría y objetivo están aislados y comparten el núcleo de una VM. Solo están dentro del alcance los archivos y el servicio suministrados; no necesitas instalar ni programar nada.

Debes saber introducir comandos y reconocer rutas. Este laboratorio explica sus opciones y operaciones de archivos. Calcula unos 45 minutos, incluida la lectura y los errores habituales; es una estimación del autor. El siguiente laboratorio guiado utiliza un entorno independiente para evaluar el impacto actual.

Usa el archivo y protege tus resultados

En este paso, observarás el acceso normal antes de investigar la exportación. Abre Auditor. El terminal entra en el contenedor Kali de auditoría como auditor, en /home/auditor/project. El archivo se ejecuta en otro contenedor.

SSH es un protocolo de acceso remoto cifrado. Este archivo acepta contraseñas y devuelve únicamente el nombre de la cuenta autenticada; no ofrece un shell general. Empieza con su cuenta de demostración no sensible. -p selecciona el puerto. Las dos opciones -o eligen el archivo preparado de claves del servidor y exigen una clave coincidente. La clave del host identifica al servidor; la contraseña te autentica. El whoami final solicita tu nombre de cuenta remoto.

ssh -o UserKnownHostsFile=/etc/reuse/known_hosts -o StrictHostKeyChecking=yes -p 12222 demo@staff-archive whoami

Cuando aparezca demo@staff-archive's password:, escribe welcome-7 y pulsa Enter. Los caracteres no se muestran. Espera demo y después el indicador local. No introduzcas la contraseña como comando del shell. Tras un error de escritura, pulsa Ctrl+C y repite el comando SSH. Un error de conexión o de clave del host no es un rechazo de credenciales; no desactives la comprobación de claves.

Lee el alcance autorizado. cat muestra un archivo; las rutas relativas parten del directorio actual. inputs contiene los originales de solo lectura.

cat inputs/scope.tsv

Las columnas separadas por tabuladores son employee_id, current_login, host y port. Solo puedes probar esas identidades actuales en staff-archive:12222, además de demo. No adivines otros usuarios, hosts ni listas de candidatos.

Las contraseñas recuperadas son sensibles incluso aquí. umask 077 elimina el acceso del grupo y de otros usuarios a los archivos nuevos de esta sesión. mkdir -m 700 crea un directorio al que solo puede entrar su propietario. Ejecuta por separado:

umask 077
mkdir -m 700 findings

findings es tu zona de escritura. Si ya existe al reconectar, consérvala; repite umask 077 en una sesión nueva. Usa pwd para ver tu directorio y cd /home/auditor/project para volver si falla una ruta relativa. Conserva todos los archivos de entrada, las cuentas del archivo y sus contraseñas actuales durante la auditoría.

Recupera las coincidencias del diccionario proporcionado

En este paso, probarás cinco candidatos contra cuatro hashes reales de contraseñas. Un hash es un valor derivado de la contraseña en un solo sentido. La recuperación sin conexión calcula hashes de candidatos con los parámetros almacenados y los compara; no descifra contraseñas ni inicia sesión en el archivo.

Permanece en Auditor, en /home/auditor/project. Lee cada entrada pequeña:

cat inputs/legacy.txt
cat inputs/candidates.txt

Las líneas antiguas tienen el formato record_id:hash. $6$ identifica SHA-512 crypt. El valor almacenado contiene una sal, que hace que contraseñas iguales produzcan valores almacenados distintos. Conserva siempre el identificador del registro. Este diminuto diccionario sintético agiliza el ejercicio; su velocidad no estima la fortaleza de las contraseñas de producción.

En John, --format=sha512crypt selecciona el formato y --wordlist lee los candidatos suministrados. Un pot guarda pares de hash y contraseña recuperados. --pot selecciona un archivo privado en lugar del predeterminado compartido. --session selecciona la ubicación de los archivos de recuperación y registro de la ejecución. OMP_NUM_THREADS=2 limita los hilos de trabajo solo para este comando. Estas rutas no contienen espacios y no necesitan comillas.

OMP_NUM_THREADS=2 john --format=sha512crypt --wordlist=inputs/candidates.txt --pot=/home/auditor/project/findings/audit.pot --session=/home/auditor/project/findings/recovery inputs/legacy.txt

Espera al indicador. Se esperan tres hashes recuperados; el tiempo y el orden varían. Al repetir, No password hashes left to crack puede significar que el pot ya contiene los resultados, no que la entrada estaba vacía. --show lee los resultados guardados sin iniciar otra recuperación:

john --show --format=sha512crypt --pot=/home/auditor/project/findings/audit.pot inputs/legacy.txt

Espera estas relaciones, aunque su orden puede variar:

portal-17:cedar42
portal-23:pebble7
portal-41:birch81

3 password hashes cracked, 1 left

Exporta la salida real. > redirige la salida estándar a un archivo y reemplaza ese archivo de resultados si repites el comando. No modifica los hashes.

john --show --format=sha512crypt --pot=/home/auditor/project/findings/audit.pot inputs/legacy.txt > findings/recovered.txt
cat findings/recovered.txt

La exportación debe conservar los identificadores de registro y las contraseñas recuperadas. Tras equivocarte en una ruta, corrige y repite el comando afectado. Si creaste un resultado legible por otros, chmod 600 findings/recovered.txt restablece la lectura y escritura exclusivas del propietario; la misma reparación sirve para otro archivo de resultados. No compartas el pot ni la exportación en texto claro como resumen del incidente.

Conserva la identidad y la incertidumbre

En este paso, crearás un inventario de recuperación sin contraseñas. Permanece en Auditor y lee la plantilla antigua de personal:

cat inputs/legacy-roster.tsv

Relaciona record_id con un employee_id estable y un nombre visible. Hay dos personas llamadas Morgan Rivera: portal-17 pertenece a E101 y portal-41 a E103. Un nombre no permite relacionar de forma segura un registro antiguo con un usuario actual.

Aquí, recovered significa que un hash original coincidió con un candidato suministrado. not-recovered significa que ninguno coincidió en esta ejecución limitada y completada. No significa fuerte, seguro, inexistente ni no reutilizado. Todavía se desconoce si el servicio actual acepta las credenciales de cualquiera de los registros.

Crea findings/recovery.tsv con las columnas record_id, employee_id, recovery. printf interpreta \t como tabulador y \n como salto de línea. Las comillas simples conservan esas secuencias hasta que las lee printf; > crea o reemplaza este inventario sin contraseñas.

printf 'record_id\temployee_id\trecovery\nportal-17\tE101\trecovered\nportal-23\tE102\trecovered\nportal-41\tE103\trecovered\nportal-58\tE104\tnot-recovered\n' > findings/recovery.tsv
cat findings/recovery.tsv

Comprueba que aparezcan los cuatro registros una sola vez con los identificadores de la plantilla: tres recuperados y uno sin resolver más allá de este presupuesto. Para reparar un valor, corrige el texto de printf y ejecútalo de nuevo. El pot y la exportación privados permiten continuar el trabajo autorizado; este inventario comunica el resultado sin revelar contraseñas.

Resumen

Has utilizado un servicio SSH operativo, recuperado tres contraseñas antiguas sintéticas con John y conservado sus identidades originales. Tus resultados privados y el inventario sin contraseñas distinguen las coincidencias sin conexión de los límites de un diccionario agotado. Todavía no se ha demostrado que ninguna contraseña recuperada funcione en una cuenta actual del personal. El siguiente laboratorio guiado realiza ese juicio separado con pares exactos autorizados.