Aprende › Fundamentos

Estructura de Windows y Registro: qué es, cómo funciona y por qué importa

· 14 min de lectura

Guía introductoria a la estructura de archivos de Windows (System32, Users, Program Files) y al Registro (hives HKLM, HKCU, claves Run, SAM): cómo navegar, consultar con regedit y reg query, y por qué importa en seguridad, forense y persistencia.

Es la decimocuarta lección de la Tanda 12 de /aprende. Cuando usas Windows a diario, abres programas, guardas archivos y cambias configuraciones sin pensar demasiado en lo que ocurre por debajo. Pero si quieres dedicarte a la ciberseguridad, necesitas entender cómo está organizado el sistema por dentro: dónde viven los ejecutables del sistema, dónde se guardan los perfiles de usuario y, sobre todo, dónde almacena Windows todas sus configuraciones.

Esa base de datos de configuraciones se llama el Registro de Windows, y es una de las piezas más importantes del sistema operativo. Cualquier programa que se instala, cualquier servicio que se inicia al arrancar, cualquier regla de firewall: todo queda reflejado ahí. Para un analista forense, el registro es una mina de oro de evidencia. Para un atacante, es el lugar donde esconder persistencia. Para ti, que estás aprendiendo, es una herramienta fundamental que necesitas dominar.

En esta lección vas a aprender la estructura de carpetas de Windows, qué es el registro y cómo está organizado, cómo consultarlo desde la interfaz gráfica y desde la línea de comandos, y por qué todo esto importa en ciberseguridad.

Modifica el registro solo en máquinas propias o en entornos de laboratorio autorizados. Un cambio incorrecto en el registro puede dejar el sistema inestable o inutilizable. Nunca manipules el registro de equipos ajenos sin autorización expresa.

Qué es la estructura de archivos de Windows#

Piensa en la estructura de archivos de Windows como el plano de una casa. Cada habitación tiene un propósito: la cocina para cocinar, el dormitorio para dormir, el garaje para el coche. De la misma manera, cada carpeta principal de Windows tiene una función específica. Si necesitas buscar algo, saber dónde mirar te ahorra horas.

Estructura de carpetas principales de Windows y su función en el sistema
Estructura de carpetas principales de Windows y su función en el sistema

La unidad principal suele ser C:\ y dentro de ella encontrarás siempre las mismas carpetas clave:

La carpeta C:\Windows es el corazón del sistema operativo. Contiene todos los archivos que Windows necesita para funcionar: librerías del sistema, controladores de hardware, fuentes tipográficas y archivos de configuración. Dentro de ella, C:\Windows\System32 es la carpeta más importante: ahí viven los ejecutables esenciales como cmd.exe (la consola de comandos), regedit.exe (el editor del registro), notepad.exe y cientos de archivos DLL que los programas necesitan para funcionar. A pesar de llamarse System32, en un Windows de 64 bits contiene los archivos de 64 bits; los de 32 bits están en C:\Windows\SysWOW64, una convención confusa pero que conviene conocer.

La carpeta C:\Users guarda un subdirectorio por cada usuario del sistema. Dentro de cada perfil encontrarás las carpetas Escritorio, Documentos, Descargas, AppData (donde los programas guardan configuraciones y datos temporales) y el archivo NTUSER.DAT, que es la parte del registro específica de ese usuario.

La carpeta C:\Program Files es donde se instalan los programas de 64 bits. Su hermana C:\Program Files (x86) aloja los de 32 bits. Cuando investigas qué software tiene instalado un equipo, estas dos carpetas son tu primer punto de consulta.

Por qué es importante#

Conocer la estructura de Windows y su registro es fundamental por varias razones que van más allá de ser un usuario avanzado.

En análisis forense, cuando investigas un incidente de seguridad, necesitas saber dónde buscar. Los logs del sistema están en C:\Windows\System32\winevt\Logs. Los archivos temporales sospechosos pueden aparecer en C:\Windows\Temp o en la carpeta AppData del usuario comprometido. El registro revela qué programas se ejecutaron, cuándo se conectaron dispositivos USB y qué servicios se crearon.

En pruebas de penetración, los atacantes usan carpetas y claves del registro para ocultar herramientas y mantener acceso persistente. Si comprometes un equipo Windows en un laboratorio, necesitas saber dónde buscar evidencia de persistencia y cómo un defensor la detectaría.

En administración y hardening, endurecer un sistema Windows implica modificar políticas y configuraciones que viven en el registro. Desactivar servicios innecesarios, restringir la ejecución de scripts, configurar el firewall: todo pasa por conocer las claves correctas.

Componentes principales#

ComponenteRuta o ubicaciónFunción
System32C:\Windows\System32Ejecutables y DLL del sistema operativo
DriversC:\Windows\System32\driversControladores de hardware (archivos .sys)
TempC:\Windows\TempArchivos temporales del sistema
PrefetchC:\Windows\PrefetchCaché de ejecución de programas (evidencia forense)
UsersC:\Users\nombrePerfiles de usuario con datos y configuraciones
AppDataC:\Users\nombre\AppDataConfiguración por usuario (Local, Roaming, LocalLow)
Program FilesC:\Program FilesSoftware instalado de 64 bits
ProgramDataC:\ProgramDataDatos compartidos de aplicaciones (oculta por defecto)
RegistroHives en C:\Windows\System32\configBase de datos central de configuraciones

La carpeta Prefetch merece atención especial: cada vez que ejecutas un programa, Windows crea un archivo .pf con su nombre y un hash. En un análisis forense, revisar Prefetch te dice qué programas se ejecutaron en el equipo, incluso si ya fueron borrados.

Cómo funciona el Registro de Windows#

El Registro de Windows es una base de datos jerárquica donde el sistema y las aplicaciones almacenan configuraciones. Imagínalo como un árbol gigante: tiene raíces (las hives o colmenas), ramas (las claves) y hojas (los valores). Cada valor tiene un nombre, un tipo de dato y un contenido.

Las cinco hives principales son las raíces del árbol:

La hive HKEY_LOCAL_MACHINE (abreviada HKLM) contiene la configuración del equipo completo: hardware detectado, servicios instalados, políticas de seguridad y configuración de software a nivel de máquina. Es la hive más grande y la más importante para seguridad.

La hive HKEY_CURRENT_USER (HKCU) refleja la configuración del usuario que ha iniciado sesión: preferencias de escritorio, variables de entorno del usuario, programas que se ejecutan al iniciar sesión. Los datos vienen del archivo NTUSER.DAT del perfil del usuario.

La hive HKEY_CLASSES_ROOT (HKCR) combina información de HKLM y HKCU sobre asociaciones de archivos y objetos COM. Cuando haces doble clic en un archivo .pdf y se abre con tu lector de PDF, esa asociación está aquí.

La hive HKEY_USERS (HKU) contiene los perfiles de registro de todos los usuarios cargados en ese momento, incluido el perfil predeterminado que se usa como plantilla para usuarios nuevos.

La hive HKEY_CURRENT_CONFIG (HKCC) almacena información sobre el perfil de hardware activo. Rara vez la consultarás directamente.

Las claves del registro que más importan en seguridad son las de autoejecución, es decir, las que indican a Windows qué programas lanzar automáticamente. Las más relevantes son:

  • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run controla los programas que se ejecutan cuando cualquier usuario inicia sesión.
  • HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run controla los que se ejecutan solo para el usuario actual.
  • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce ejecuta un programa una sola vez y luego elimina la entrada.
  • HKLM\SYSTEM\CurrentControlSet\Services contiene todos los servicios de Windows, incluidos los que un atacante podría crear para persistencia.

Otra clave crítica es HKLM\SAM, que almacena las cuentas de usuario locales y los hashes de sus contraseñas. El archivo SAM está en C:\Windows\System32\config\SAM y no se puede abrir mientras Windows está en ejecución porque el sistema lo bloquea. Por eso, las herramientas de extracción de hashes (como secretsdump de Impacket) necesitan técnicas especiales o acceso offline para leerlo.

Uso práctico paso a paso#

Paso 1: explorar la estructura de carpetas desde la consola#

Abre una consola de comandos (busca "cmd" en el menú inicio) y ejecuta estos comandos para explorar las carpetas clave:

dir C:\ /ad

Ese comando lista solo los directorios de la raíz de C:. Verás Windows, Users, Program Files y las demás carpetas principales.

Para ver el contenido de System32 (parcialmente, porque tiene miles de archivos):

dir C:\Windows\System32\*.exe /b | find /c /v ""

Ese comando cuenta cuántos archivos ejecutables hay en System32. En un Windows 10 o 11 típico, son más de 400.

Para ver los perfiles de usuario:

dir C:\Users /ad

Paso 2: abrir el editor del registro (regedit)#

Escribe regedit en el menú inicio y ejecútalo como administrador. Verás las cinco hives en el panel izquierdo como carpetas raíz. Navega por ellas haciendo clic en las flechas, como si exploraras un árbol de carpetas.

Para ir directamente a las claves de autoejecución, escribe en la barra de direcciones de regedit:

Equipo\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Ahí verás los programas que se ejecutan cada vez que un usuario inicia sesión. Cada valor tiene el nombre del programa y la ruta al ejecutable.

Paso 3: consultar el registro desde la línea de comandos#

El comando reg query permite leer claves del registro sin abrir regedit. Esto es especialmente útil en scripts y en situaciones donde solo tienes acceso a una consola remota:

reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Para ver los servicios instalados:

reg query HKLM\SYSTEM\CurrentControlSet\Services | find /c /v ""

Para exportar una clave completa a un archivo de texto (útil en análisis forense):

reg export HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run C:\Users\tu_usuario\Desktop\run_backup.reg

Paso 4: verificar programas de inicio con Autoruns#

Autoruns es una herramienta gratuita de Sysinternals (ahora parte de Microsoft) que muestra todos los programas configurados para ejecutarse automáticamente. Es mucho más completa que revisar solo las claves Run, porque analiza docenas de ubicaciones de autoarranque: servicios, tareas programadas, controladores, extensiones del explorador y más.

Puedes descargarla desde la web oficial de Sysinternals. Una vez abierta, cada entrada muestra la ubicación del registro, la descripción del programa, el editor (si está firmado digitalmente) y la ruta al ejecutable. Las entradas sin firma digital o con rutas sospechosas merecen investigación.

Qué puedes hacer con esto#

EscenarioQué revisarPara qué sirve
Buscar persistencia de malwareClaves Run, RunOnce, Services en el registroDetectar programas que se ejecutan al inicio sin autorización
Análisis forense de un equipoPrefetch, SAM, NTUSER.DAT, logs de eventosReconstruir qué se ejecutó, quién accedió y cuándo
Hardening de un servidorServicios innecesarios, políticas de firewallReducir la superficie de ataque
Investigar un USB sospechosoHKLM\SYSTEM\CurrentControlSet\Enum\USBVer qué dispositivos se conectaron al equipo
Auditar software instaladoProgram Files, Uninstall keys en el registroVerificar que no haya software no autorizado

Buenas prácticas#

Claves del registro de Windows importantes para seguridad y cómo están organizadas las hives
Claves del registro de Windows importantes para seguridad y cómo están organizadas las hives

Antes de modificar cualquier clave del registro, exporta una copia de seguridad. Desde regedit puedes hacer clic derecho en la clave y seleccionar Exportar, o desde la consola usar reg export. Un cambio incorrecto puede impedir que Windows arranque.

Usa siempre una cuenta sin privilegios de administrador para el trabajo diario. Las claves bajo HKLM requieren permisos de administrador para modificarse, lo que añade una capa de protección contra cambios accidentales o malware que se ejecute con permisos limitados.

Aprende a usar Autoruns de Sysinternals en lugar de revisar manualmente cada clave de autoejecución. Autoruns analiza más de 30 ubicaciones de inicio automático y te muestra todo en una sola vista. Es la herramienta estándar que usan los analistas de seguridad.

Familiarízate con los valores normales del registro. Para detectar algo sospechoso, primero necesitas saber qué es normal. Instala un Windows limpio en una máquina virtual, revisa las claves de Run y los servicios, y usa esa referencia para comparar con equipos que investigues.

Documenta cualquier cambio que hagas en el registro. Anota la clave, el valor anterior y el nuevo. Si algo sale mal, podrás revertirlo.

Errores comunes de principiante#

  • Modificar el registro sin respaldo. Es el error más peligroso. Siempre exporta la clave antes de tocarla. Un valor incorrecto en la clave de un servicio crítico puede hacer que Windows no arranque.
  • Confundir HKLM con HKCU. Un programa en HKLM\...\Run se ejecuta para todos los usuarios; en HKCU\...\Run solo para el usuario actual. En un análisis de persistencia, revisa ambas.
  • Creer que borrar un programa de Program Files lo desinstala. Muchos programas dejan claves en el registro, servicios activos y tareas programadas. Borrar la carpeta no limpia todo eso.
  • Ignorar las carpetas ocultas. AppData y ProgramData están ocultas por defecto. El malware aprovecha esto para esconderse en subdirectorios que un usuario normal nunca revisa.
  • Editar el registro en un sistema en producción. Practica siempre en una máquina virtual primero. Cualquier herramienta que modifique el registro (incluyendo scripts de hardening) debe probarse antes en un entorno controlado.
  • Pensar que System32 es solo para 32 bits. El nombre es histórico. En un Windows de 64 bits, System32 contiene los archivos de 64 bits. Los de 32 bits están en SysWOW64 (Windows on Windows 64).

Preguntas frecuentes#

Qué pasa si borro algo de System32#

System32 contiene archivos esenciales del sistema operativo. Borrar archivos de ahí puede hacer que Windows se vuelva inestable o directamente no arranque. Windows protege esta carpeta con permisos especiales (TrustedInstaller), pero si tienes privilegios de administrador puedes saltártelos. Nunca borres nada de System32 en un equipo real.

Para qué sirve el archivo SAM#

El archivo SAM (Security Account Manager) almacena las cuentas de usuario locales y los hashes de sus contraseñas. Cuando inicias sesión en Windows, el sistema compara el hash de lo que escribiste con el almacenado en SAM. En pentesting, extraer estos hashes permite intentar crackearlos offline o usarlos en ataques pass-the-hash. El archivo está protegido y no se puede copiar mientras Windows está corriendo.

Puedo usar PowerShell en vez de reg query#

Sí. PowerShell ofrece cmdlets como Get-ItemProperty para leer el registro y Set-ItemProperty para modificarlo. La sintaxis es distinta pero el resultado es el mismo. PowerShell trata el registro como un proveedor de rutas, así que puedes navegar con cd HKLM:\SOFTWARE como si fuera una carpeta.

Qué diferencia hay entre un servicio y un programa en Run#

Un servicio se ejecuta en segundo plano sin necesidad de que un usuario inicie sesión, lo gestiona el Administrador de servicios de Windows y puede iniciarse automáticamente con el equipo. Un programa en la clave Run solo se ejecuta cuando un usuario concreto inicia sesión y se ejecuta con los permisos de ese usuario. Los atacantes prefieren los servicios porque son más silenciosos y persistentes.

Es peligroso abrir regedit#

Abrir regedit no es peligroso por sí mismo: solo es un visor y editor. El riesgo está en modificar o borrar valores sin saber qué hacen. Si solo navegas y observas, no hay peligro. Piensa en regedit como un bisturí: la herramienta no es peligrosa, lo peligroso es usarla sin conocimiento.

Resumen#

  • Windows organiza sus archivos en carpetas con funciones definidas: System32 para el sistema, Users para los perfiles, Program Files para el software instalado.
  • El Registro es una base de datos jerárquica donde Windows y las aplicaciones guardan todas sus configuraciones, organizada en cinco hives principales (HKLM, HKCU, HKCR, HKU, HKCC).
  • Las claves Run, RunOnce y Services son las más relevantes en seguridad porque controlan qué programas se ejecutan automáticamente.
  • El archivo SAM almacena los hashes de contraseñas locales y es un objetivo prioritario en pruebas de penetración.
  • Herramientas como regedit, reg query y Autoruns te permiten inspeccionar y auditar el registro de forma manual y automatizada.
  • Siempre trabaja con respaldos, en entornos de prueba, y documenta cada cambio que hagas en el registro.

Fuentes y lecturas recomendadas#

Practícalo en estos laboratorios

Ver todos los laboratorios de esta categoría