Ghost AcademySecLearn// Seguridad Informática
📄 Seguridad · Forense · Hardening · Blue Team
Directorios Criticos para la Seguridad en
Windows y Linux

Guia de referencia de los directorios, archivos y componentes criticos del sistema que todo profesional de seguridad debe conocer: desde la SAM y el registro de Windows hasta /etc/shadow, /etc/sudoers y los modulos del kernel en Linux.

🆗 Windows — 36 entradas 🐧 Linux — 25 entradas
SAMSECURITY/etc/shadow /etc/sudoersPrefetchAmcache EVTXsshd_configaudit.rules

Introduccion

portadaDirectorios criticos — Windows y Linux
Directorios criticos para la seguridad en Windows y Linux

Conocer los directorios y archivos criticos del sistema operativo es fundamental tanto para atacantes como para defensores. Para un Blue Team, estos son los puntos que deben ser monitorizados, protegidos y auditados. Para un pentester, son los objetivos prioritarios durante la fase de post-explotacion.

Esta guia cubre los directorios mas relevantes de Windows (hives de registro, SAM, logs de eventos, prefetch, politicas de grupo) y Linux (shadow, sudoers, cron, sshd_config, audit.rules, modulos del kernel).

📋 Como usar esta guia: Cada entrada incluye la ruta exacta del directorio o archivo y una descripcion de su funcion e importancia para la seguridad. Los niveles de riesgo indican la criticidad desde el punto de vista de un atacante o auditor.
🆗
Windows
Directorios y archivos criticos del sistema operativo Windows

Credenciales y Autenticacion

01 C:\Windows\System32\config\SAM CRITICO
Security Account Manager. Almacena las credenciales de usuario del sistema local en formato hash. Es el objetivo principal de ataques de dumpeo de credenciales (pass-the-hash, mimikatz). El archivo esta bloqueado por el SO mientras Windows esta en ejecucion.
02 C:\Windows\repair\SAM ALTO
Copia de seguridad del SAM usada para restauracion y recuperacion del sistema. Puede no estar cifrada y ser accesible sin bloqueo del SO, lo que la convierte en objetivo alternativo para extraer credenciales.
03 C:\Windows\System32\config\SECURITY CRITICO
Contiene informacion de seguridad del sistema: politicas de seguridad, claves LSA secretas y credenciales de servicio en cache. Los secretos LSA almacenados aqui pueden incluir contrasenas de cuentas de servicio.
04 C:\Windows\System32\LSA CRITICO
Componentes del servicio Local Security Authority (LSA), responsable de la politica de seguridad y autenticacion de usuarios. Gestiona solicitudes de seguridad y verifica la identidad. Objetivo principal de herramientas como Mimikatz para extraccion de credenciales en memoria.

Configuracion y Registro

05 C:\Windows\System32\config\SOFTWARE ALTO
Hive del registro que guarda informacion sobre software instalado y configuraciones especificas del sistema. Contiene rutas de instalacion, versiones, configuraciones de aplicaciones y claves de producto.
06 C:\Windows\System32\config\SYSTEM CRITICO
Hive del registro con configuracion del SO y hardware: configuraciones de arranque, servicios, drivers y la clave SYSKEY usada para cifrar el SAM. Esencial para entender la configuracion de servicios del sistema.
07 C:\Windows\System32\config\RegBack ALTO
Copias de seguridad del registro de Windows. Permite restaurar el estado anterior del registro en caso de corrupcion. Puede contener versiones anteriores de hives con informacion historica de configuracion.
08 C:\Windows\Users\*\NTUSER.dat ALTO
Hive de registro por perfil de usuario. Contiene configuracion especifica del usuario: preferencias, configuraciones de software, historial de archivos recientes, conexiones de red y claves de autoinicio de usuario.
09 C:\Windows\System32\drivers\etc\hosts ALTO
Asigna IPs estaticas a nombres de dominio para resolucion local sin DNS. Los atacantes lo modifican para redirigir trafico (DNS hijacking local) o bloquear conexiones a servicios de seguridad.
10 C:\Windows\System32\drivers\etc\networks MEDIO
Define nombres de redes locales. Raramente usado en configuraciones modernas de Windows pero puede ser modificado para alterar la resolucion de nombres de red.

Directorios de Autoinicio (Persistencia)

⚠ Vector de persistencia: Los directorios de autoinicio son uno de los metodos mas comunes usados por malware para garantizar su ejecucion tras reinicios. La monitorizacion de cambios en estas rutas es critica para detectar persistencia.
11 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup CRITICO
Directorio de autoinicio para todos los usuarios (Windows moderno). Cualquier ejecutable aqui se lanza automaticamente al iniciar sesion cualquier usuario del sistema.
12 C:\users\*\Appdata\Roaming\Microsoft\Windows\Start Menu\Programs\Startup CRITICO
Directorio de autoinicio por usuario individual. El malware suele preferir este directorio porque no requiere privilegios de administrador para escribir en el.
13 C:\Documents and Settings\All Users\Start Menu\Programs\Startup ALTO
Directorio de autoinicio equivalente en versiones antiguas de Windows (XP/2003). Aun relevante en investigaciones forenses de sistemas legacy.

Artefactos Forenses y Logs

14 C:\Windows\System32\winevt\ CRITICO
Contiene los registros de eventos de Windows (.evtx). Cruciales para auditoria, monitoreo y diagnostico. Incluye System, Security, Application y otros logs. Objetivo de herramientas como Chainsaw para deteccion rapida de amenazas.
15 C:\Windows\Prefetch ALTO
Archivos .pf de precarga que contienen informacion sobre programas ejecutados: nombre, ruta, timestamps y archivos cargados. Esencial en analisis forense para determinar que ejecutables han corrido en el sistema, incluso si ya fueron eliminados.
16 C:\Windows\AppCompat\Programs\Amcache.hve ALTO
Base de datos de compatibilidad de aplicaciones que almacena rastros de programas ejecutados: hash SHA-1, ruta, timestamps de primera ejecucion. Uno de los artefactos forenses mas valiosos para determinar ejecucion de programas historicamente.
17 C:\Windows\Logs MEDIO
Directorio con registros de diversas funciones de Windows: instalacion de componentes, CBS (Component Based Servicing), DISM y otros servicios. Util para diagnostico y analisis de cambios en el sistema.
18 C:\Windows\Debug MEDIO
Archivos de registro de diagnostico y depuracion. Pueden revelar informacion sobre errores del sistema, actividad de servicios y comportamiento de aplicaciones durante investigaciones de seguridad.
19 C:\Windows\Temp ALTO
Archivos temporales del sistema. Vector frecuente de malware: los atacantes depositan payloads aqui antes de ejecutarlos. La monitorizacion de archivos ejecutables en este directorio es una tecnica de deteccion comun.

Politicas de Seguridad y Grupo

20 C:\Windows\Security ALTO
Almacena archivos relacionados con la configuracion y administracion de politicas de seguridad de Windows, incluyendo plantillas y bases de datos de configuracion de seguridad local.
21 C:\Windows\System32\GroupPolicy ALTO
Archivos de configuracion de politicas de grupo (GPO) aplicadas al sistema. Permite administrar configuraciones de seguridad y operativas en entornos empresariales. La modificacion no autorizada puede comprometer toda la seguridad del dominio.
22 C:\Windows\System32\secpol.msc MEDIO
Consola MMC para configuracion de politicas de seguridad locales: politicas de contrasenas, bloqueo de cuentas, derechos de usuario y opciones de seguridad que no se gestionan mediante GPO de dominio.

Directorios de Sistema

23 C:\Windows\SysWOW64 ALTO
DLLs y binarios de 32 bits en sistemas de 64 bits. Area critica para asegurar que aplicaciones legacy no introduzcan vulnerabilidades. Los atacantes pueden abusar de la capa de compatibilidad para evadir controles de seguridad de 64 bits.
24 C:\Windows\System32\wbem ALTO
Archivos del WMI (Windows Management Instrumentation). WMI es ampliamente usado por atacantes para persistencia, movimiento lateral y ejecucion remota de codigo. El repositorio WMI puede almacenar eventos y filtros maliciosos persistentes.
25 C:\Windows\System32\spool MEDIO
Gestion de trabajos de impresion. Los archivos almacenados temporalmente pueden contener datos sensibles. Historicamente ha sido vector de vulnerabilidades criticas (PrintNightmare — CVE-2021-34527).
26 C:\Windows\System32\Recovery MEDIO
Herramientas y archivos de recuperacion del sistema operativo. La modificacion de estos componentes puede impedir la recuperacion del sistema tras un ataque de ransomware.
27 C:\Program Files & C:\Program Files (x86) MEDIO
Directorios estandar de instalacion de aplicaciones. Los procesos que se ejecutan desde aqui deben ser monitoreados. La presencia de ejecutables no reconocidos puede indicar software malicioso instalado.
28 C:\Windows\System32\TaskManager MEDIO
Ejecutable y archivos del Administrador de Tareas. Los atacantes suelen intentar deshabilitar o reemplazar el Task Manager para ocultar procesos maliciosos de los usuarios del sistema.

DLLs y Ejecutables Criticos

Estos archivos son componentes fundamentales del sistema operativo. Su modificacion o reemplazo (DLL hijacking) puede comprometer toda la seguridad del sistema.

C:\Windows\System32\firewallapi.dll
API del Firewall de Windows. Proporciona funciones para configurar el firewall. Punto critico para la configuracion de seguridad de red del sistema.
C:\Windows\System32\user32.dll
Interfaz de usuario y eventos de entrada. Gestiona teclado, raton y ventanas. Objetivo frecuente de keyloggers y malware que intercepta interacciones del usuario.
C:\Windows\SysWOW64\user32.dll
Version 32-bit de user32.dll. Para compatibilidad con aplicaciones legacy. Igualmente critica desde el punto de vista de seguridad.
C:\Windows\System32\sfc.dll
System File Checker. DLL usada por SFC para reparar archivos de sistema danados o modificados. Critica para la integridad del SO.
C:\Windows\System32\services.exe
Gestor de servicios de Windows. Responsable de iniciar y detener servicios. Los atacantes intentan inyectar en este proceso para persistencia privilegiada.
C:\Windows\System32\drivers\mrxsmb.sys
Driver del redireccionador SMB. Componente del subsistema SMB para comunicacion de archivos en red. Historicamente objetivo de exploits criticos (EternalBlue).
⚠ DLL Hijacking: Los atacantes pueden reemplazar DLLs criticas con versiones maliciosas que tienen el mismo nombre. El monitoreo de integridad de estos archivos (con hash) es una practica esencial de hardening.
🐧
Linux
Directorios y archivos criticos de seguridad en sistemas Linux/Unix

Autenticacion y Control de Acceso

01 /etc/shadow CRITICO
Contrasenas cifradas de los usuarios del sistema. Solo accesible por root. Los hashes almacenados (SHA-512, bcrypt) son objetivo de ataques offline de fuerza bruta si el atacante obtiene acceso privilegiado.
02 /etc/passwd ALTO
Informacion esencial de usuarios del sistema: nombre, UID, GID, directorio home y shell. Aunque las contrasenas ya no se guardan aqui (estan en /etc/shadow), sigue siendo critico para entender la estructura de usuarios del sistema.
03 /etc/sudoers CRITICO
Configura los permisos de sudo: que usuarios o grupos pueden ejecutar que comandos y con que privilegios. Una configuracion incorrecta (como ALL=(ALL) NOPASSWD: ALL) puede permitir escalada de privilegios trivial.
04 /etc/gshadow ALTO
Almacena informacion segura sobre grupos, incluyendo contrasenas de grupos si estan establecidas y los administradores de cada grupo.
05 /etc/group ALTO
Define los grupos de usuarios del sistema y sus miembros. La pertenencia a grupos como sudo, docker o disk puede permitir escalada de privilegios.
06 /root CRITICO
Directorio home del usuario root. Especialmente protegido: puede contener claves SSH privadas, scripts de administracion, archivos de historial y configuraciones criticas del sistema.

Logs y Auditoria

07 /var/log CRITICO
Contiene todos los archivos de registro del sistema y aplicaciones: auth.log, syslog, kern.log, apache2/, nginx/, etc. Crucial para monitoreo, deteccion de intrusiones y analisis forense.
08 /etc/audit/audit.rules ALTO
Configura reglas para el sistema de auditoria del kernel (auditd). Permite monitorear uso de comandos privilegiados, cambios en archivos sensibles, llamadas al sistema y accesos a directorios criticos.
09 /home/*/.bash_history ALTO
Historial de comandos de terminal por usuario. En investigaciones forenses revela comandos ejecutados, rutas accedidas, herramientas usadas y posible actividad maliciosa. Los atacantes suelen borrarlo o redirigirlo a /dev/null.

Servicios y Tareas Programadas

10 /etc/systemd/system ALTO
Directorio para unidades de servicio personalizadas de systemd. Los atacantes pueden crear servicios maliciosos aqui para persistencia. La auditoria de archivos .service en este directorio es fundamental.
11 /etc/cron.d ALTO
Archivos de configuracion de cron para tareas automaticas del sistema. Punto critico para asegurar que no se configuren tareas maliciosas. Junto con crontab de usuario, es uno de los vectores de persistencia mas comunes en Linux.
12 /var/spool/cron ALTO
Almacena los crontabs de usuarios individuales. Accesible solo por root y el usuario propietario. La manipulacion de estas tareas puede ejecutar scripts maliciosos con los privilegios del usuario afectado.
13 /tmp ALTO
Directorio de archivos temporales — mundo-escribible por cualquier usuario. Vector frecuente de ataques: descarga de payloads, privilege escalation mediante race conditions. Montar /tmp con noexec es una medida de hardening importante.
14 /var/run MEDIO
Archivos PID y archivos temporales de servicios en ejecucion. Critico para el manejo de servicios: permite identificar que procesos estan activos y sus PIDs para correlacion con actividad maliciosa.

Red y Acceso Remoto

15 /etc/ssh/sshd_config CRITICO
Configuracion del servidor SSH. Parametros criticos de seguridad: PermitRootLogin, PasswordAuthentication, AllowUsers, Port. Una configuracion insegura es la principal via de entrada remota para atacantes.
16 /etc/hosts ALTO
Resolucion manual de hostnames a IPs. Similar al equivalente en Windows. Los atacantes lo modifican para redirigir trafico, bloquear actualizaciones de seguridad o facilitar ataques man-in-the-middle locales.
17 /etc/networks MEDIO
Define redes locales conocidas. Raramente usado en configuraciones modernas de Linux pero presente en muchas instalaciones.

Configuracion del Sistema

18 /etc/sysctl.conf ALTO
Configura parametros del kernel en tiempo de ejecucion. Fundamental para hardening: habilitar proteccion SYN flood, desactivar respuesta a pings ICMP, activar ASLR, configurar protecciones de red. Uno de los archivos mas importantes para endurecer Linux contra ataques de red.
19 /etc/fstab ALTO
Tabla de sistemas de archivos montados al inicio. La configuracion de opciones como noexec, nosuid y nodev en particiones criticas es esencial para el hardening del sistema.
20 /etc/security/limits.conf MEDIO
Define restricciones de recursos del sistema por usuario: memoria maxima, numero de procesos, tamano de archivos. Util para prevenir agotamiento de recursos por procesos maliciosos o fork bombs.
21 /etc/apt/sources.list ALTO
Repositorios de software (Debian/Ubuntu). Los atacantes pueden modificarlo para agregar repositorios maliciosos que instalen software comprometido durante actualizaciones legitimas del sistema.
22 /etc/motd MEDIO
Message of the Day mostrado al iniciar sesion. Puede utilizarse para comunicar politicas de seguridad, advertencias legales o informacion del sistema. En servidores criticos, debe incluir avisos de acceso autorizado.
23 /usr/bin & /usr/sbin ALTO
Ejecutables de usuario y del sistema. Deben estar protegidos contra modificaciones no autorizadas. La presencia de binarios SUID/SGID inesperados o ejecutables modificados es una senal critica de compromiso.

Kernel y Arranque del Sistema

24 /boot CRITICO
Archivos necesarios para el arranque del sistema: kernel de Linux, initramfs, GRUB. Modificaciones no autorizadas pueden interceptar el proceso de arranque (bootkit), instalar rootkits a nivel de kernel o impedir el inicio del sistema.
25 /lib/modules CRITICO
Modulos del kernel de Linux — componentes que extienden la funcionalidad del kernel cargandose en espacio de kernel. Los rootkits a nivel de kernel se implementan frecuentemente como modulos maliciosos en este directorio.
💡 Hardening del kernel: Para proteger /boot y /lib/modules, considera activar Secure Boot, firmar modulos del kernel, usar module.sig_enforce=1 como parametro del kernel, y montar /boot como solo lectura cuando no se realizan actualizaciones del sistema.