Hivex: Herramienta Registro Windows Linux

https://www.onlinetis.com

Hivex: Herramienta Registro Windows Linux

Hivex es una herramienta poderosísima en Kali Linux si lo que necesitas es "meterte" en las entrañas de Windows sin haber iniciado sesión.

Básicamente, es una biblioteca y un conjunto de herramientas diseñadas para extraer, consultar y editar el Registro de Windows desde sistemas Linux.


¿Para qué se usa Hivex?

Lo más común en auditorías de seguridad o forense digital es:

  • Resetear contraseñas: Modificar el archivo SAM para limpiar contraseñas de usuarios locales.

  • Análisis forense: Extraer información sobre programas instalados, redes conectadas o historial de archivos.

  • Desactivar malware: Editar llaves de registro que ejecutan programas al iniciar Windows.

Herramientas principales del paquete

Cuando instalas o usas libhivex-bin en Kali, los comandos más útiles son:

  1. hivexml: Convierte un archivo de registro (como SYSTEM o SOFTWARE) a formato XML para que sea legible.

  2. hivexget: Extrae una llave específica del registro de forma rápida.

  3. hivexregedit: Permite exportar o importar archivos en formato .reg.

  4. hivexsh: (La joya de la corona) Abre un "shell" interactivo dentro del archivo del registro para navegar por él como si fueran carpetas.


Ejemplo rápido: Cómo entrar a un registro

Si tienes montado el disco de Windows en /mnt/windows, el comando para empezar a explorar sería:

Bash
# Para navegar de forma interactiva
hivexsh /mnt/windows/Windows/System32/config/SAM

Una vez dentro, puedes usar comandos como ls para ver las llaves o cd para moverte entre ellas.

Ojo con esto: Trabajar con el registro es como una cirugía a corazón abierto. Si borras o editas la llave equivocada, el Windows de esa máquina podría no volver a arrancar. ¡Haz siempre una copia de seguridad del archivo original!


Cómo instalarlo (si no lo tienes)

Aunque suele venir por defecto en muchas versiones de Kali, puedes asegurarte con:

Bash
sudo apt update && sudo apt install libhivex-bin

Para resetear una contraseña de Windows desde Kali Linux usando herramientas relacionadas con Hivex, la forma más efectiva y estándar es combinarlo con una utilidad llamada chntpw (Change NT Password).

Aquí tienes la guía paso a paso para hacerlo de forma segura:


1. Preparación: Montar el disco de Windows

Primero, debes identificar la partición donde está instalado Windows y montarla en tu sistema Kali.

  1. Identifica la partición: Usa lsblk o sudo fdisk -l. Suele ser una partición grande de tipo NTFS (ej: /dev/sda2).

  2. Crea un punto de montaje: sudo mkdir /mnt/win

  3. Monta la partición: * sudo mount /dev/sdaX /mnt/win (Sustituye X por tu número de partición).

    • Nota: Si Windows hibernó, podrías necesitar usar -o remove_hiberfile.

2. Localizar el archivo SAM

El registro de usuarios de Windows se guarda en un archivo llamado SAM. Navega hasta la carpeta de configuración:

Bash
cd /mnt/win/Windows/System32/config/

3. Usar chntpw para limpiar la contraseña

Esta herramienta utiliza las librerías de Hivex para modificar el registro SAM. Para listar los usuarios del sistema, ejecuta:

Bash
sudo chntpw -l SAM

Una vez que veas el nombre del usuario que quieres desbloquear, lanza el modo interactivo:

Bash
sudo chntpw -u "NombreDeUsuario" SAM

4. Menú de edición

Verás un menú con varias opciones. Para un reseteo limpio, te recomiendo seguir este orden:

  1. Presiona 1 (Clear / Blank user password): Esto deja la contraseña en blanco. Es mucho más seguro que intentar escribir una nueva desde Linux.

  2. Presiona 2 (Unlock and enable user account): Solo si la cuenta aparece como bloqueada o deshabilitada.

  3. Presiona q para salir.

  4. Presiona y cuando te pregunte si quieres guardar los cambios (Write hive files). Este paso es crítico.


5. Finalización

Para evitar errores de escritura o corrupción del sistema de archivos, desmonta el disco antes de reiniciar:

Bash
cd ~
sudo umount /mnt/win

⚠️ Notas importantes

  • Cuentas de Microsoft: Este método funciona de maravilla para cuentas locales. Si el usuario inicia sesión con un correo (Cuenta de Microsoft), este proceso podría no funcionar o simplemente "romper" el enlace, obligándote a entrar de forma local.

  • BitLocker: Si el disco está cifrado con BitLocker, no podrás montar la partición ni ver los archivos a menos que tengas la clave de recuperación de 48 dígitos.

Es fundamental verificar esto antes de intentar cualquier cosa, porque si BitLocker está activo, la partición aparecerá como un bloque de datos ilegibles y no podrás montar la carpeta System32/config/.

En Kali Linux, puedes comprobar el estado del cifrado de la siguiente manera:

1. Identificar la partición

Primero, localiza el nombre de tu partición de Windows (normalmente una tipo NTFS de gran tamaño):

Bash
lsblk

(Supongamos que tu partición es /dev/nvme0n1p3 o /dev/sda3).

2. Verificar el estado con lsblk -f

Ejecuta el siguiente comando para ver el sistema de archivos detallado:

Bash
lsblk -f /dev/sda3
  • Si es legible: Verás que dice ntfs en la columna FSTYPE.

  • Si está cifrado: Verás que dice BitLocker o que el tipo de sistema de archivos aparece vacío/desconocido a pesar de saber que es la partición de Windows.


3. La prueba definitiva: dislocker

Kali incluye una herramienta llamada dislocker que es específica para manejar BitLocker. Intenta leer los metadatos de la partición:

Bash
sudo dislocker-find /dev/sda3
  • Si el comando devuelve información técnica (como el GUID del volumen), la unidad está cifrada.

  • Si no devuelve nada, la unidad es un volumen NTFS normal y puedes proceder con el reseteo de contraseña que vimos antes.


¿Qué pasa si está cifrado?

Si BitLocker está activo, tienes dos opciones:

  1. Conseguir la clave de recuperación: Es un código de 48 números que el usuario suele tener guardado en su cuenta de Microsoft o impreso.

  2. Desbloquearlo desde Kali: Si tienes la clave, tendrías que usar dislocker para "abrir" el volumen antes de poder usar chntpw.

Dato curioso: Si el equipo está encendido y suspendido (no apagado del todo), a veces es posible extraer las llaves de la memoria RAM, pero eso ya entra en terreno de forense avanzado.

Si la partición está cifrada con BitLocker, no puedes usar chntpw directamente porque el archivo SAM es ilegible (está "mezclado" matemáticamente). Para avanzar, necesitamos desbloquear la capa de cifrado primero.

En Kali Linux, la herramienta estándar para esto es Dislocker. Aquí tienes el proceso paso a paso:


1. Preparar las carpetas de trabajo

Necesitas dos puntos de montaje: uno para el archivo cifrado y otro para el disco ya "abierto".

Bash
sudo mkdir -p /mnt/bitlocker /mnt/windows_desbloqueado

2. Desbloquear el volumen (Necesitas la clave)

Aquí es donde introduces la clave de recuperación de 48 dígitos. Sustituye /dev/sdaX por tu partición:

Bash
sudo dislocker /dev/sdaX -p123456-123456-123456-123456-123456-123456-123456-123456 -- /mnt/bitlocker

Si no tienes la clave de 48 dígitos, este método se detiene aquí. BitLocker es un cifrado de grado militar (AES-128/256) y no se puede "romper" por fuerza bruta fácilmente.

3. Montar el disco "virtual"

Dislocker crea un archivo llamado dislocker-file dentro de /mnt/bitlocker. Este archivo es, ahora sí, una partición NTFS legible. Vamos a montarla:

Bash
sudo mount -o loop /mnt/bitlocker/dislocker-file /mnt/windows_desbloqueado

4. Ahora sí: Resetear la contraseña

Ahora que el disco es legible en /mnt/windows_desbloqueado, repites los pasos de antes pero apuntando a la nueva ruta:

  1. Ve a la carpeta del registro:

    cd /mnt/windows_desbloqueado/Windows/System32/config/

  2. Ejecuta chntpw:

    sudo chntpw -u "NombreDeUsuario" SAM

  3. Limpia la contraseña: Presiona 1, luego q, y luego y para guardar.


5. Cerrar todo de forma segura (Importante)

Para no corromper el registro, desmonta en orden inverso:

Bash
sudo umount /mnt/windows_desbloqueado
sudo umount /mnt/bitlocker

¿Qué pasa si NO tienes la clave de 48 dígitos?

Si estás en una auditoría y no tienes la clave, tus opciones se reducen drásticamente:

  • Ataque DMA: Si el equipo tiene puertos FireWire o Thunderbolt antiguos, a veces se puede extraer la clave de la RAM.

  • Ataque al TPM: Si tienes acceso físico avanzado, se puede intentar "escuchar" la clave cuando el chip TPM la envía al procesador durante el arranque (requiere hardware externo como una Raspberry Pi o analizador lógico).

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Hacking y ciberseguridad en kali linux con atk6-thcping6

Como utilizar Fierce en kali linux