Trabajando con el Registro de Windows - PowerShell
En esta sección vamos a profundizar en uno de los componentes más complejos de Windows: el Registro. Aprenderemos qué es, cómo navegarlo, cómo leer claves/valores y cómo modificarlos cuando sea necesario.
📌 ¿Qué es el Registro de Windows?
-
Es un árbol jerárquico que contiene claves (Keys) y valores (Values).
-
Almacena toda la información necesaria para que el sistema operativo y el software instalado funcionen correctamente.
-
Para pentesters, el Registro es una fuente clave de información, y permite plantar persistencia o descubrir configuraciones críticas.
🔑 Claves (Keys)
-
Son contenedores que representan un componente específico del PC.
-
Pueden contener otras claves y valores.
-
Nombradas con caracteres alfanuméricos y no distinguen mayúsculas/minúsculas.
Visualmente, cada carpeta en el Editor del Registro representa una clave.
📝 Valores (Values)
-
Contienen información asociada a una clave.
-
Cada valor tiene un nombre, tipo y dato.
-
Ejemplo: dentro de
HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Adobe Acrobat\10.0\Installer, el valorDisableMaintenancetiene datos1.
🏠 Hives del Registro
Cada Windows tiene hives predefinidos con funciones específicas:
| Nombre | Abreviatura | Descripción |
|---|---|---|
| HKEY_LOCAL_MACHINE | HKLM | Información sobre hardware, drivers, sistema operativo. |
| HKEY_CURRENT_CONFIG | HKCC | Perfil de hardware actual. |
| HKEY_CLASSES_ROOT | HKCR | Tipos de archivo y compatibilidad. |
| HKEY_CURRENT_USER | HKCU | Configuración específica del usuario. |
| HKEY_USERS | HKU | Configuración de todos los usuarios y perfil predeterminado. |
💻 Accediendo al Registro desde CLI
Usando PowerShell
-
Get-Item→ Lee una clave específica -
Get-ItemProperty→ Muestra propiedades de una clave (más legible) -
Get-ChildItem→ Lista claves hijas, con-Recursepara buscar recursivamente -
New-Item→ Crear una nueva clave -
New-ItemProperty→ Crear un nuevo valor -
Set-ItemProperty→ Modificar un valor
Ejemplo: Consultar aplicaciones que se ejecutan al iniciar sesión
Get-ItemProperty -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Salida típica:
SecurityHealth : C:\Windows\system32\SecurityHealthSystray.exe
RtkAudUService : "C:\Windows\System32\DriverStore\FileRepository\...\RtkAudUService64.exe" -background
WavesSvc : "C:\Windows\System32\DriverStore\FileRepository\...\WavesSvc64.exe" -Jack
...
Usando reg.exe
reg query HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip
Salida:
Path64 REG_SZ C:\Program Files\7-Zip\
Path REG_SZ C:\Program Files\7-Zip\
-
REG_SZindica cadena de texto Unicode/ASCII. -
Muestra la ruta de instalación u otros datos de configuración.
🔍 Buscar información en el Registro
REG QUERY HKCU /F "Password" /t REG_SZ /S /K
-
HKCU→ Ruta a buscar (usuario actual) -
/F "Password"→ Patrón a buscar -
/t REG_SZ→ Tipo de valor -
/S→ Buscar recursivamente -
/K→ Solo en nombres de clave
Útil para pentesters al buscar credenciales, usuarios, claves, etc.
➕ Crear y modificar claves y valores
Crear nueva clave
New-Item -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\ -Name TestKey
Crear valor dentro de la clave
New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\TestKey `
-Name "access" -PropertyType String -Value "C:\Users\htb-student\Downloads\payload.exe"
Salida:
access : C:\Users\htb-student\Downloads\payload.exe
PSPath : ...\RunOnce\TestKey
Esto permite ejecutar un payload la próxima vez que el usuario inicie sesión.
Crear el mismo valor con reg.exe
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\TestKey" /v access /t REG_SZ /d "C:\Users\htb-student\Downloads\payload.exe"
❌ Eliminar un valor
Remove-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\TestKey -Name "access"
- Muy importante: eliminar entradas del Registro puede afectar al sistema, hazlo solo si estás seguro.
💡 Resumen:
-
El Registro es el corazón de la configuración de Windows.
-
Permite a admins y pentesters consultar, modificar o crear claves y valores.
-
Aprender a navegarlo y gestionarlo es clave para administración, seguridad y pruebas ofensivas.