06 Hacking de Sistemas, Escalada de Privilegios y Persistencia

06 Hacking de Sistemas, Escalada de Privilegios y Persistencia

Nota importada desde Inbox durante consolidacion bulk.

6 Hacking de Sistemas, Escalada de Privilegios y Persistencia

1. Resumen Ejecutivo

Este documento ofrece una visión general del hacking de sistemas, una fase fundamental en la metodología de ciberseguridad ofensiva donde un atacante busca obtener, escalar y mantener el acceso a un sistema objetivo. Se aborda el proceso completo, comenzando con las técnicas para ganar acceso, como el cracking de contraseñas mediante ataques de fuerza bruta, de diccionario y el aprovechamiento de protocolos de autenticación como Kerberos y NTLM. Posteriormente, se detallan los métodos de escalada de privilegios, que permiten a un atacante pasar de un usuario con permisos limitados a uno con control administrativo total. Se presentan las herramientas utilizadas para ejecutar estos ataques, así como las contramedidas y técnicas de detección cruciales, como la implementación de políticas de contraseñas robustas, el principio de mínimo privilegio, el monitoreo de la integridad de los archivos y la desactivación de protocolos vulnerables.


2. Conceptos de Hacking de Sistemas

El hacking de sistemas representa el núcleo de un ciberataque, donde el objetivo es comprometer los sistemas informáticos para robar datos valiosos. Un atacante sigue una metodología estructurada para lograr este objetivo.

  • Metodología de Hacking:
    • Ganar Acceso: Es la fase donde el atacante obtiene un punto de entrada al sistema. Las técnicas incluyen el cracking de contraseñas, la explotación de vulnerabilidades de software y el engaño a través de ingeniería social.
    • Escalada de Privilegios: Una vez dentro del sistema con un usuario de bajos privilegios, el atacante busca obtener derechos de administrador o root para tener control total.
    • Ejecución de Aplicaciones: Con privilegios elevados, el atacante ejecuta programas maliciosos como keyloggers, spyware o troyanos para mantener el acceso y robar información.
    • Ocultación de Archivos: Para evitar la detección, los atacantes utilizan técnicas como rootkits, esteganografía o flujos de datos NTFS para esconder sus herramientas y archivos maliciosos.
    • Encubrimiento de Rastros: Consiste en borrar la evidencia del compromiso, como eliminar o modificar los registros (logs) del sistema para no dejar huella de sus actividades.
  • Autenticación en Microsoft:
    • Base de Datos SAM (Security Accounts Manager): Es el archivo donde los sistemas Windows almacenan las contraseñas de los usuarios locales. Las contraseñas no se guardan en texto plano, sino como un hash (resumen criptográfico). El archivo se encuentra en c:\windows\system32\config\SAM y está bloqueado mientras el sistema operativo está en funcionamiento.
    • Autenticación NTLM (NT LAN Manager): Es un protocolo de autenticación tipo desafío-respuesta utilizado en redes Windows. Aunque ha sido reemplazado por Kerberos, aún se mantiene por compatibilidad. Versiones más antiguas como LM son muy vulnerables y han sido deshabilitadas por defecto en sistemas modernos como Windows Vista y posteriores.
    • Autenticación Kerberos: Es el protocolo de autenticación por defecto en redes de dominio de Windows. Proporciona una autenticación más fuerte para aplicaciones cliente/servidor y protege contra ataques de replay y espionaje de red. Utiliza un tercero de confianza llamado Key Distribution Center (KDC) para emitir "tickets" que prueban la identidad del usuario.
  • Buffer Overflow:
    • Un buffer overflow (desbordamiento de búfer) es una vulnerabilidad común que ocurre cuando un programa intenta escribir más datos en un bloque de memoria (búfer) de los que este puede contener. Esto provoca que los datos sobrantes sobrescriban ubicaciones de memoria adyacentes, lo que puede causar fallos en el sistema o, peor aún, permitir la ejecución de código malicioso.
    • Las aplicaciones son vulnerables a estos ataques principalmente por una falta de comprobación de límites (no validar el tamaño de los datos de entrada) y el uso de funciones inseguras en lenguajes de programación como C.

3. Técnicas de Hacking de Sistemas

Para comprometer un sistema, los atacantes despliegan un arsenal de técnicas que abarcan desde la manipulación psicológica hasta la explotación de fallos de software complejos.

  • Ataques de Contraseñas No Electrónicos:
    • Ingeniería Social: Consiste en manipular a las personas para que revelen información confidencial, como sus contraseñas. Un atacante puede hacerse pasar por personal de soporte técnico para engañar a un empleado.
    • Shoulder Surfing: Implica observar directamente el teclado o la pantalla de un usuario mientras introduce sus credenciales.
    • Dumpster Diving: Es la práctica de buscar en la basura (física o digital) información sensible desechada, como notas con contraseñas, manuales de sistema o listados de empleados.
  • Ataques de Contraseñas Activos en Línea:
    • Ataque de Diccionario: Utiliza una lista de palabras comunes, nombres y variantes (ej. "password123") para intentar adivinar una contraseña.
    • Ataque de Fuerza Bruta: El atacante prueba sistemáticamente todas las combinaciones posibles de caracteres (letras, números, símbolos) hasta encontrar la contraseña correcta. Es un método lento pero exhaustivo.
    • Password Spraying: En lugar de atacar una sola cuenta con muchas contraseñas, esta técnica prueba una única contraseña (generalmente una común como "Invierno2024!") contra una gran cantidad de cuentas de usuario, evitando así el bloqueo de cuentas.
    • Pass-the-Hash (PtH): Un atacante que ha obtenido el hash de la contraseña de un usuario puede utilizarlo directamente para autenticarse en otros sistemas de la red sin necesidad de conocer la contraseña en texto plano.
    • Envenenamiento LLMNR/NBT-NS: Cuando un sistema Windows no puede resolver un nombre a través de DNS, utiliza los protocolos LLMNR y NBT-NS, que transmiten la solicitud a toda la red local. Un atacante puede responder a esa solicitud, hacerse pasar por el servidor legítimo y capturar el hash de la contraseña del usuario.
    • Kerberoasting (Cracking TGS): En un dominio de Active Directory, un atacante con una cuenta de usuario válida puede solicitar tickets de servicio (TGS) para cualquier servicio. El ticket resultante está cifrado con el hash de la cuenta de servicio. El atacante puede intentar crackear este ticket fuera de línea para obtener la contraseña de la cuenta de servicio, que a menudo tiene privilegios elevados.
  • Técnicas de Escalada de Privilegios:
    • Secuestro de DLL (DLL Hijacking): Explota la forma en que las aplicaciones de Windows cargan las librerías de enlace dinámico (DLL). Si una aplicación no especifica una ruta absoluta para una DLL, un atacante puede colocar una DLL maliciosa con el mismo nombre en un directorio que será buscado antes, logrando que su código se ejecute con los permisos de la aplicación.
    • Abuso de Derechos sudo: En sistemas Linux, una mala configuración de los permisos de sudo puede permitir a un usuario de bajos privilegios ejecutar comandos como administrador.
  • Técnicas para Mantener el Acceso:
    • Ejecución Remota de Código (WMI/WinRM): Los atacantes pueden utilizar herramientas de administración de Windows como WMI (Windows Management Instrumentation) y WinRM (Windows Remote Management) para ejecutar comandos y desplegar malware en sistemas remotos de la red.
    • Rootkits: Son programas diseñados para ocultar su presencia y la de otros programas maliciosos en un sistema. Un rootkit puede modificar el núcleo del sistema operativo para que herramientas como el Administrador de Tareas no muestren sus procesos.
    • Esteganografía: Es la técnica de ocultar información (como un mensaje o un archivo malicioso) dentro de otro archivo que parece inofensivo, como una imagen, un archivo de audio o un vídeo.

4. Herramientas de Hacking de Sistemas

Los atacantes y profesionales de la seguridad utilizan una amplia gama de herramientas para auditar, explotar y proteger sistemas.

  • Herramientas para Cracking de Contraseñas:
    • hashcat: Es una de las herramientas de recuperación de contraseñas más rápidas y avanzadas del mundo. Soporta una gran variedad de algoritmos de hash y múltiples modos de ataque, incluyendo fuerza bruta, diccionario y ataques de máscara.
    • John the Ripper: Una popular herramienta de código abierto para el cracking de contraseñas, disponible para múltiples plataformas.
    • L0phtCrack: Una herramienta clásica para auditar y recuperar contraseñas de Windows, que utiliza ataques de diccionario, híbridos y de fuerza bruta.
    • ophcrack: Se especializa en crackear hashes de Windows utilizando tablas rainbow, que son tablas precalculadas para revertir funciones hash.
    • THC-Hydra: Una herramienta muy rápida para crackear servicios de red que requieren autenticación, como FTP, SSH, Telnet, y muchos otros.
  • Herramientas para Explotación y Mantenimiento de Acceso:
    • Metasploit Framework: Una plataforma de pentesting extremadamente popular que permite a los usuarios encontrar, explotar y validar vulnerabilidades. Se utiliza para generar payloads, realizar ataques de keylogging remoto y automatizar la explotación.
    • pwdump7: Una herramienta utilizada para extraer los hashes de las contraseñas LM y NTLM de la base de datos SAM de un sistema Windows.
    • Mimikatz: Una poderosa herramienta post-explotación capaz de extraer contraseñas en texto plano, hashes y tickets de Kerberos directamente de la memoria del proceso LSASS en Windows.
    • Responder: Una herramienta diseñada para envenenar las respuestas LLMNR y NBT-NS, permitiendo a un atacante capturar los hashes de las credenciales de los usuarios en una red local.
  • Herramientas para Ocultar Archivos (Esteganografía):
    • OpenStego: Una herramienta de esteganografía de código abierto que permite ocultar datos dentro de archivos de imagen y realizar marcas de agua digitales.
    • Snow: Se especializa en ocultar mensajes en archivos de texto ASCII añadiendo espacios en blanco al final de las líneas, haciéndolos invisibles a simple vista.

5. Contramedidas de Hacking de Sistemas

La defensa contra el hacking de sistemas requiere un enfoque de seguridad en capas que aborde las políticas, la configuración técnica y la concienciación del usuario.

  • Defensa General contra el Cracking de Contraseñas:
    • Políticas de Contraseñas Robustas: Exigir contraseñas de longitud y complejidad adecuadas, combinando letras mayúsculas, minúsculas, números y símbolos (ej. 8-12 caracteres alfanuméricos).
    • Evitar Contraseñas predecibles: Prohibir el uso de palabras de diccionario y datos personales como fecha de nacimiento, nombre de la mascota, etc..
    • Uso de "Salting": Añadir una cadena de caracteres aleatoria (salt) a cada contraseña antes de calcular su hash. Esto asegura que dos usuarios con la misma contraseña tengan hashes diferentes, haciendo inútiles las tablas rainbow precalculadas.
    • Bloqueo de Cuentas: Implementar una política que bloquee temporalmente una cuenta después de un número determinado de intentos de inicio de sesión fallidos para mitigar los ataques de fuerza bruta.
    • Habilitar SYSKEY: Utilizar una contraseña fuerte para cifrar la base de datos SAM, añadiendo una capa adicional de protección contra la extracción de hashes fuera de línea.
  • Defensa contra Envenenamiento LLMNR/NBT-NS:
    • Deshabilitar LLMNR: Se puede desactivar a través del Editor de Políticas de Grupo Local, en la ruta Configuración del Equipo -> Plantillas Administrativas -> Red -> Cliente DNS, habilitando la opción "Desactivar la resolución de nombres de multidifusión".
    • Deshabilitar NBT-NS: Se desactiva en las propiedades avanzadas de la configuración TCP/IP del adaptador de red, seleccionando la opción "Deshabilitar NetBIOS sobre TCP/IP" en la pestaña WINS.
  • Defensa contra Escalada de Privilegios:
    • Principio de Mínimo Privilegio: Asegurarse de que los usuarios y las aplicaciones se ejecuten con los privilegios más bajos necesarios para realizar sus tareas.
    • Autenticación Multifactor (MFA): Implementar MFA para añadir una capa adicional de seguridad que dificulte el acceso no autorizado, incluso si una contraseña es robada.
    • Parcheo Regular: Mantener el núcleo del sistema operativo (kernel), las aplicaciones y el firmware actualizados y parcheados para corregir vulnerabilidades conocidas.
    • Configuración Segura: Utilizar rutas de archivo completas en las aplicaciones de Windows para evitar el secuestro de DLL y colocar los ejecutables en directorios protegidos contra escritura.
  • Defensa contra Keyloggers y Rootkits:
    • Uso de Anti-Malware: Instalar y mantener actualizados programas antivirus y anti-spyware de buena reputación.
    • Teclado en Pantalla: Utilizar el teclado virtual de Windows para introducir información sensible, como contraseñas, ya que los keyloggers de software a menudo no pueden registrar estas pulsaciones.
    • Verificar la Integridad del Sistema: Realizar análisis de la memoria del kernel y verificar periódicamente la integridad de los archivos del sistema para detectar la presencia de rootkits.

6. Técnicas de Detección de Hacking de Sistemas

Identificar un sistema comprometido requiere un monitoreo activo y el uso de herramientas especializadas.

  • Detección de Rootkits:
    • Detección Basada en Integridad: Compara una instantánea actual del sistema de archivos, los registros de arranque o la memoria con una línea base conocida y confiable para detectar cambios no autorizados.
    • Detección Basada en Firmas: Analiza los procesos del sistema y los archivos ejecutables en busca de patrones (firmas) que coincidan con rootkits conocidos.
    • Detección Basada en Comportamiento (Heurística): Busca desviaciones en la actividad normal del sistema, como llamadas a funciones inesperadas o modificaciones en el flujo de ejecución, que puedan indicar la presencia de un rootkit.
    • Análisis de Volcados de Memoria: Se extrae el contenido de la memoria RAM (volátil) de un sistema sospechoso y se analiza fuera de línea para encontrar rastros de rootkits activos.
  • Detección de Envenenamiento LLMNR/NBT-NS:
    • Uso de Herramientas de Detección: Herramientas como Vindicate y Respounder están diseñadas para detectar activamente el spoofing de servicios de nombres en una red, ayudando a identificar a los hosts maliciosos que ejecutan herramientas como Responder.
  • Detección de Esteganografía (Esteganálisis):
    • El esteganálisis es el proceso de descubrir la existencia de información oculta en un medio.
    • Análisis Estadístico: Los métodos estadísticos ayudan a escanear una imagen en busca de esteganografía. Por ejemplo, al insertar un mensaje secreto, los bits menos significativos (LSB) de la imagen ya no son aleatorios. El análisis estadístico del LSB puede identificar la diferencia entre valores aleatorios y valores reales, delatando la presencia de datos ocultos.
    • Detección en Archivos de Audio: Se pueden escanear las frecuencias inaudibles en busca de información oculta. Distorsiones y patrones extraños también pueden revelar la existencia de datos secretos.
    • Detección en Archivos de Texto: Se pueden buscar patrones de texto o un número inusual de espacios en blanco, que pueden delatar el uso de esteganografía.

7. Conclusión

El hacking de sistemas es un proceso metódico que explota tanto debilidades técnicas como humanas para comprometer la seguridad de una organización. Desde la obtención de una contraseña débil mediante ingeniería social hasta la escalada de privilegios a través de vulnerabilidades complejas, los atacantes disponen de una vasta gama de tácticas. Comprender estas técnicas es fundamental para construir una defensa robusta. La aplicación de contramedidas como el principio de mínimo privilegio, el fortalecimiento de las políticas de autenticación y el parcheo riguroso, junto con técnicas de detección proactivas como el análisis de comportamiento y la verificación de la integridad, son esenciales para proteger los activos críticos y minimizar el riesgo de un compromiso exitoso.

I. Resumen de Conceptos Fundamentales

Esta sección define la terminología esencial y los conceptos básicos relacionados con el hacking de sistemas.

  • Hacking de Sistemas
    • Comprende las metodologías utilizadas por un atacante para comprometer un sistema informático después de haber recopilado información sobre él. Las fases clave incluyen:
      • Obtener Acceso (Gaining Access): La etapa inicial donde un atacante explota una vulnerabilidad para entrar en un sistema.
      • Escalada de Privilegios (Escalating Privileges): El proceso de obtener mayores niveles de control sobre un sistema, pasando de una cuenta de usuario estándar a una con privilegios de administrador o root.
      • Ejecución de Aplicaciones (Executing Applications): La instalación y ejecución de software malicioso como troyanos, keyloggers o spyware para robar información o mantener el control.
      • Ocultación de Archivos (Hiding Files): El uso de técnicas como rootkits o esteganografía para ocultar la presencia de herramientas maliciosas y evitar la detección.
      • Cubrir las Huellas (Covering Tracks): La eliminación de evidencias de la intrusión, como la modificación o eliminación de archivos de registro (logs).
  • Tipos de Ataques de Contraseña
    • Los ataques de contraseña son el principal método para obtener acceso inicial y se clasifican en cuatro categorías:
      • Ataques No Electrónicos: No requieren conocimientos técnicos y se basan en la observación o la manipulación humana. Incluyen Shoulder Surfing (mirar por encima del hombro), Ingeniería Social y Dumpster Diving (buscar en la basura).
      • Ataques Activos en Línea: El atacante interactúa directamente con el sistema objetivo para descifrar la contraseña. Incluyen ataques de Diccionario, Fuerza Bruta, Password Spraying, y envenenamiento LLMNR/NBT-NS.
      • Ataques Pasivos en Línea: El atacante monitoriza el tráfico de red para capturar contraseñas sin interactuar directamente con el sistema de autenticación. Incluyen Wire Sniffing, Ataques Man-in-the-Middle y Ataques de Repetición (Replay Attacks).
      • Ataques Fuera de Línea (Offline): El atacante obtiene una copia del archivo de contraseñas (como el archivo SAM) y utiliza su propio sistema para descifrarlas. Incluyen el Ataque de Tabla Rainbow y el Ataque de Red Distribuida (DNA).
  • Escalada de Privilegios
    • Es una técnica fundamental que permite a un atacante obtener acceso administrativo a un sistema después de haberlo comprometido con una cuenta de bajos privilegios. El objetivo es obtener control total para instalar software, modificar configuraciones o acceder a datos restringidos.
  • Keyloggers y Spyware
    • Keylogger: Es un programa o dispositivo de hardware que registra cada pulsación de tecla realizada por un usuario. Se utiliza para capturar información confidencial como contraseñas, datos bancarios y mensajes privados.
    • Spyware: Es un software sigiloso que monitoriza la interacción del usuario con el ordenador y con Internet sin su conocimiento, enviando la información recopilada a los atacantes.
  • Rootkits
    • Son programas diseñados para ocultar su presencia y la de otras actividades maliciosas en un sistema, otorgando al atacante acceso completo y persistente. Los rootkits a menudo reemplazan llamadas al sistema y utilidades del sistema operativo con versiones modificadas para ejecutar funciones maliciosas sin ser detectados.
  • Esteganografía
    • Es la técnica de ocultar un mensaje secreto dentro de un mensaje o archivo ordinario (como una imagen, audio o video) y extraerlo en el destino para mantener la confidencialidad de los datos. A diferencia de la criptografía, que oculta el contenido, la esteganografía oculta la existencia misma del mensaje.

II. Técnicas / Métodos / Procesos Clave

Esta sección detalla las técnicas prácticas utilizadas durante un ataque de hacking de sistemas.

  • Técnicas de Cracking de Contraseñas
    • Ataque de Diccionario: Utiliza un archivo de texto (diccionario) que contiene palabras comunes, frases y contraseñas previamente filtradas. Una aplicación de cracking prueba cada palabra del diccionario contra las cuentas de usuario del sistema.
    • Ataque de Fuerza Bruta: El software intenta sistemáticamente todas las combinaciones posibles de caracteres (letras, números, símbolos) hasta que se encuentra la contraseña correcta. Aunque es exhaustivo, puede ser muy lento.
    • Ataque Basado en Reglas: Se utiliza cuando el atacante tiene alguna información sobre la contraseña (por ejemplo, que termina con un número). Se aplican reglas de manipulación a las palabras de un diccionario para generar combinaciones más probables.
    • Pass-the-Hash (PtH): Un atacante captura el hash de una contraseña (por ejemplo, NTLM) de una sesión de usuario autenticada y lo utiliza para validar el acceso a otros recursos de la red sin necesidad de conocer la contraseña en texto plano.
    • Envenenamiento LLMNR/NBT-NS: Cuando una solicitud DNS falla en una red local de Windows, el sistema utiliza los protocolos LLMNR y NBT-NS para transmitir una solicitud de resolución de nombres. Un atacante en la misma red puede responder a esta solicitud, hacerse pasar por el recurso solicitado y capturar el hash NTLMv2 del usuario.
  • Técnicas de Escalada de Privilegios
    • La escalada de privilegios es el objetivo después de obtener el acceso inicial. Las técnicas incluyen:
      • Explotar vulnerabilidades en el kernel, servicios o aplicaciones que se ejecutan con privilegios elevados.
      • Aprovechar configuraciones incorrectas, como permisos de archivo débiles en directorios del sistema o scripts ejecutables.
      • Utilizar contraseñas guardadas o en texto plano de servicios o aplicaciones.
      • En sistemas Linux, abusar de los derechos sudo mal configurados.
  • Técnicas de Ejecución de Aplicaciones Remotas
    • Explotación para Ejecución de Cliente: Los atacantes aprovechan vulnerabilidades en software del lado del cliente (navegadores web, aplicaciones de ofimática) para ejecutar código arbitrario.
    • Ejecución de Servicios: Los atacantes pueden crear o modificar servicios del sistema (como los gestionados por el Service Control Manager en Windows) para ejecutar binarios maliciosos y mantener el acceso.
    • Windows Management Instrumentation (WMI): Es una característica de administración de Windows que puede ser explotada por atacantes para interactuar con sistemas remotos, recopilar información y ejecutar código para mantener el acceso.
    • Windows Remote Management (WinRM): Es un protocolo de Windows que permite a un usuario ejecutar archivos, modificar servicios y el registro en un sistema remoto. Los atacantes lo utilizan para ejecutar cargas útiles (payloads) como parte de un movimiento lateral.
  • Métodos de Ocultación de Archivos
    • Rootkits: Funcionan a diferentes niveles del sistema operativo para ocultar su presencia.
      • Rootkits de Nivel de Kernel: Modifican el código del kernel o los controladores de dispositivos para ocultar procesos y archivos.
      • Rootkits de Nivel de Hipervisor: Actúan como un hipervisor y cargan el sistema operativo anfitrión como una máquina virtual para interceptar las llamadas al hardware.
    • Flujos de Datos Alternos (NTFS Alternate Data Stream - ADS): Es una característica del sistema de archivos NTFS de Windows que permite adjuntar datos a un archivo sin que sean visibles en el explorador de archivos ni afecten al tamaño del archivo. Los atacantes la utilizan para inyectar código malicioso en archivos existentes sin ser detectados.
    • Esteganografía: Utiliza diferentes medios para ocultar datos.
      • Esteganografía de Imagen: Oculta datos en los bits menos significativos (LSB) de los píxeles de una imagen.
      • Esteganografía de Audio y Video: Oculta grandes cantidades de datos en archivos multimedia, aprovechando la naturaleza dinámica del contenido para que las alteraciones sean imperceptibles.

III. Herramientas / Recursos / Ejemplos Notables

Esta sección lista herramientas y ejemplos clave utilizados en el hacking de sistemas.

  • Herramientas de Cracking de Contraseñas
    • L0phtCrack: Una herramienta de auditoría y recuperación de contraseñas que utiliza ataques de diccionario, fuerza bruta, híbridos y de tablas rainbow.
    • ophcrack: Un cracker de contraseñas de Windows basado en tablas rainbow, conocido por su interfaz gráfica.
    • John the Ripper: Una popular herramienta de cracking de contraseñas multiplataforma que admite cientos de tipos de hashes y cifrados.
    • hashcat: Se autodenomina el cracker de contraseñas más rápido del mundo, optimizado para el uso de GPU.
    • THC-Hydra: Una herramienta de inicio de sesión de red muy rápida que admite numerosos protocolos para realizar ataques de diccionario o fuerza bruta.
    • Mimikatz: Una herramienta post-explotación que puede extraer contraseñas en texto plano, hashes y tickets de Kerberos de la memoria del sistema, especialmente del proceso LSASS.
  • Herramientas de Extracción de Hashes de Contraseñas
    • pwdump7: Extrae los hashes de contraseñas LM y NTLM de las cuentas de usuario locales de la base de datos del Security Account Manager (SAM).
  • Herramientas para la Explotación de Vulnerabilidades
    • Metasploit Framework: La herramienta más utilizada para el desarrollo y la ejecución de exploits contra una máquina remota. Es fundamental para las fases de obtención de acceso y escalada de privilegios.
  • Rootkits Notables
    • Purple Fox: Un rootkit que se distribuye a través de instaladores falsos (por ejemplo, de Telegram) y se utiliza para ocultar malware en sistemas Windows y mantener la persistencia.
    • MoonBounce: Código malicioso oculto en el firmware UEFI del flash SPI, lo que lo hace extremadamente persistente y difícil de eliminar, ya que se ejecuta durante el proceso de arranque antes de que se cargue el sistema operativo.
  • Herramientas de Esteganografía
    • OpenStego: Una aplicación que permite ocultar datos en archivos de imagen y también realizar marcas de agua digitales.
    • DeepSound: Una herramienta que oculta datos secretos en archivos de audio (WAV, FLAC) e incluso puede extraerlos directamente de pistas de CD de audio.
  • Herramientas Anti-Rootkit
    • GMER: Una aplicación que detecta y elimina rootkits escaneando procesos, hilos, módulos, servicios y archivos ocultos.
    • TDSSKiller: Una herramienta de Kaspersky diseñada específicamente para detectar y eliminar rootkits de la familia Rootkit.Win32.TDSS.

IV. Contramedidas / Soluciones / Buenas Prácticas

Esta sección describe las medidas defensivas y las mejores prácticas para proteger los sistemas.

  • Defensa contra el Cracking de Contraseñas
    • Políticas de Contraseñas Robustas: Exigir contraseñas largas (por ejemplo, 8-12 caracteres alfanuméricos) con una combinación de mayúsculas, minúsculas, números y símbolos.
    • Auditorías de Seguridad: Realizar auditorías periódicas para monitorizar y rastrear los ataques a contraseñas.
    • Bloqueo de Cuentas: Bloquear una cuenta después de un número determinado de intentos de inicio de sesión incorrectos.
    • Habilitar SYSKEY: Utilizar una contraseña fuerte para cifrar y proteger la base de datos SAM, dificultando los ataques fuera de línea.
    • Uso de Salt: Añadir una cadena aleatoria (salt) a cada contraseña antes de generar su hash. Esto evita que dos contraseñas idénticas tengan el mismo hash, inutilizando las tablas rainbow precalculadas.
    • Deshabilitar Protocolos Obsoletos: No utilizar protocolos de texto claro ni protocolos con cifrado débil.
  • Defensa contra la Escalada de Privilegios
    • Principio de Mínimos Privilegios: Ejecutar usuarios y aplicaciones con los privilegios más bajos necesarios para realizar sus tareas.
    • Autenticación Multifactor (MFA): Implementar MFA y autorización para añadir una capa adicional de seguridad.
    • Actualizaciones y Parches: Actualizar y parchear regularmente el kernel del sistema operativo, las aplicaciones y el firmware para corregir vulnerabilidades conocidas.
    • Monitorización Continua: Monitorizar continuamente los permisos del sistema de archivos utilizando herramientas de auditoría.
    • Directorios Protegidos contra Escritura: Asegurarse de que todos los ejecutables se coloquen en directorios protegidos contra escritura para evitar su modificación.
  • Defensa contra Keyloggers y Spyware
    • Software de Seguridad: Instalar programas antivirus y anti-spyware y mantener sus firmas actualizadas.
    • Firewall Profesional: Instalar y configurar un firewall para controlar el tráfico de red entrante y saliente.
    • Teclado en Pantalla: Utilizar el teclado en pantalla de Windows para introducir contraseñas u otra información confidencial, ya que los keyloggers de hardware no pueden registrar esta entrada.
    • Precaución con los Correos Electrónicos: Evitar abrir correos electrónicos basura o hacer clic en enlaces de correos no solicitados o dudosos.
  • Defensa contra Rootkits
    • Reinstalación desde una Fuente Confiable: Si se sospecha de una infección por rootkit, la solución más segura es hacer una copia de seguridad de los datos críticos y reinstalar el sistema operativo y las aplicaciones desde una fuente confiable.
    • Verificación de la Integridad de Archivos: Verificar regularmente la integridad de los archivos del sistema utilizando tecnologías de huellas dactilares digitales criptográficamente fuertes (como los hashes).
    • Análisis de Volcado de Memoria: Realizar un análisis del volcado de memoria del kernel para determinar la presencia de rootkits.
    • Endurecimiento del Sistema (Hardening): Fortalecer la estación de trabajo o el servidor contra ataques, deshabilitando servicios y características innecesarias.

V. Resumen del Módulo

El hacking de sistemas representa el núcleo de un ciberataque, donde un atacante pasa de la teoría (recopilación de información) a la práctica (compromiso del sistema). Esta guía ha desglosado este proceso en sus fases críticas: obtener acceso inicial, principalmente a través del cracking de contraseñas; escalar privilegios para obtener control total; ejecutar software malicioso para explotar el sistema; y finalmente, utilizar técnicas avanzadas como rootkits y esteganografía para ocultar las actividades y mantener el acceso a largo plazo. La comprensión de estas técnicas y de las herramientas asociadas es tan crucial como el conocimiento de las contramedidas defensivas, que incluyen políticas de seguridad robustas, la aplicación del principio de mínimos privilegios y la monitorización constante.


Cuestionario de Preguntas Cortas

Responde cada pregunta en 2-3 oraciones.

  1. ¿Cuál es la principal diferencia entre un ataque de contraseña activo en línea y uno fuera de línea?
  2. ¿Qué es la escalada de privilegios y por qué es un objetivo crucial para un atacante?
  3. Describe brevemente cómo funciona un ataque de envenenamiento LLMNR/NBT-NS.
  4. ¿Qué es un rootkit de nivel de kernel y por qué es tan difícil de detectar?
  5. Explica el propósito de la esteganografía y cómo se diferencia de la criptografía.
  6. ¿Qué es un flujo de datos alterno (ADS) de NTFS y cómo lo aprovechan los atacantes?
  7. ¿Cuál es el objetivo de un ataque Pass-the-Hash (PtH)?
  8. Menciona dos contramedidas clave para defenderse de los ataques de fuerza bruta a contraseñas.
  9. ¿Por qué es importante el principio de mínimos privilegios como medida defensiva?
  10. ¿Qué es el "salting" de contraseñas y qué tipo de ataque ayuda a mitigar?

Clave de Respuestas del Cuestionario

  1. En un ataque activo en línea, el atacante interactúa directamente con el sistema objetivo para probar contraseñas. En un ataque fuera de línea, el atacante primero obtiene una copia del archivo de hashes de contraseñas y luego utiliza su propio poder de cómputo para descifrarlas sin interactuar con el sistema objetivo.
  2. La escalada de privilegios es el proceso de obtener un nivel de acceso superior en un sistema, como pasar de un usuario estándar a un administrador. Es crucial porque otorga al atacante el control total para instalar malware, modificar el sistema y acceder a todos los datos.
  3. Un atacante en una red local escucha las transmisiones de resolución de nombres LLMNR/NBT-NS que ocurren cuando una solicitud DNS falla. El atacante responde a la víctima, se hace pasar por el servidor solicitado y captura el hash de la contraseña del usuario cuando este intenta autenticarse.
  4. Un rootkit de nivel de kernel opera con los mismos privilegios que el sistema operativo, modificando sus funciones principales o controladores de dispositivos. Es difícil de detectar porque puede interceptar y subvertir las herramientas de seguridad que se ejecutan en niveles de privilegio inferiores.
  5. El propósito de la esteganografía es ocultar la existencia de un mensaje secreto dentro de otro archivo aparentemente inofensivo. A diferencia de la criptografía, que solo oculta el contenido del mensaje, la esteganografía oculta el hecho de que se está enviando un mensaje.
  6. Un ADS es una característica del sistema de archivos de Windows que permite adjuntar datos a un archivo sin que cambie su tamaño visible. Los atacantes lo usan para ocultar malware o herramientas dentro de archivos legítimos, haciéndolos invisibles para las utilidades de navegación de archivos estándar.
  7. El objetivo de un ataque Pass-the-Hash es autenticarse en otros sistemas de una red utilizando el hash de la contraseña de un usuario en lugar de la contraseña en texto plano. Esto permite al atacante moverse lateralmente por la red sin necesidad de descifrar la contraseña.
  8. Dos contramedidas clave son implementar una política de bloqueo de cuentas, que bloquea una cuenta después de varios intentos fallidos, y exigir contraseñas complejas que sean demasiado largas para ser descifradas en un tiempo razonable.
  9. El principio de mínimos privilegios garantiza que los usuarios y las aplicaciones solo tengan los permisos estrictamente necesarios para realizar sus funciones. Esto limita el daño que un atacante puede hacer si una cuenta de bajos privilegios es comprometida, ya que no tendrá acceso a funciones críticas del sistema.
  10. El "salting" de contraseñas es la técnica de añadir una cadena aleatoria de caracteres a cada contraseña antes de calcular su hash. Ayuda a mitigar los ataques de tabla rainbow, ya que cada contraseña, incluso si es idéntica a otra, tendrá un hash único debido al salt, lo que invalida las tablas precalculadas.

Preguntas de Ensayo

  1. Compara y contrasta las técnicas de cracking de contraseñas fuera de línea (como el ataque de tabla rainbow) con las técnicas activas en línea (como el password spraying). Discute las ventajas, desventajas y los escenarios en los que cada una sería más efectiva.
  2. Un atacante ha logrado obtener acceso a una estación de trabajo de un empleado con privilegios de usuario estándar. Discute al menos tres posibles vectores o técnicas que podría utilizar para escalar sus privilegios a administrador de dominio en una red corporativa de Windows.
  3. Analiza el concepto de persistencia en el hacking de sistemas. Explica cómo un rootkit de firmware (UEFI) como MoonBounce y el uso de Flujos de Datos Alternos (ADS) contribuyen a lograr una persistencia sigilosa y duradera.
  4. La esteganografía y la criptografía son dos métodos para proteger la información, pero con propósitos diferentes. Explica un escenario de ataque en el que un actor malicioso podría combinar ambas técnicas para exfiltrar datos de una red corporativa de forma segura y sigilosa.
  5. Desarrolla una estrategia de defensa en profundidad para una pequeña empresa con el objetivo de protegerse contra las fases de hacking de sistemas discutidas en esta guía. Tu estrategia debe incluir medidas preventivas, de detección y de respuesta para cada fase (obtención de acceso, escalada de privilegios, persistencia).

Glosario de Términos Clave

  • Buffer Overflow: Una vulnerabilidad que ocurre cuando un programa escribe datos más allá de los límites de un búfer de memoria, lo que puede permitir a un atacante ejecutar código malicioso.
  • Cracking de Contraseñas: El proceso de recuperar contraseñas a partir de datos almacenados o transmitidos por un sistema informático.
  • Dumpster Diving: Una técnica no electrónica de hacking que consiste en buscar en la basura de una organización para encontrar información útil.
  • Escalada de Privilegios: La acción de obtener acceso a recursos que normalmente están protegidos de un usuario o aplicación.
  • Esteganografía: El arte y la ciencia de ocultar la existencia de un mensaje dentro de otro archivo o medio de comunicación.
  • Fuzzing: Una técnica de prueba de software que implica proporcionar datos inválidos, inesperados o aleatorios a las entradas de un programa para encontrar errores de programación y vulnerabilidades.
  • Hash de Contraseña: Un valor de longitud fija generado a partir de una contraseña mediante un algoritmo matemático unidireccional. Se utiliza para almacenar contraseñas de forma segura.
  • Ingeniería Social: El arte de manipular a las personas para que realicen acciones o divulguen información confidencial.
  • Kerberoasting: Un ataque post-explotación que intenta descifrar los hashes de contraseñas de las cuentas de servicio de Active Directory.
  • Kerberos: Un protocolo de autenticación de red que utiliza un sistema de "tickets" para verificar la identidad de los usuarios sin enviar contraseñas a través de la red.
  • Keylogger: Software o hardware que registra las pulsaciones de teclas en un teclado.
  • LLMNR/NBT-NS: Protocolos de resolución de nombres de respaldo en redes Windows, utilizados cuando el DNS no responde.
  • NTFS Alternate Data Stream (ADS): Una característica del sistema de archivos NTFS que permite almacenar metadatos u otros contenidos en un archivo de forma oculta.
  • NTLM (NT LAN Manager): Un conjunto de protocolos de seguridad de Microsoft que proporciona autenticación, integridad y confidencialidad a los usuarios.
  • Pass-the-Hash (PtH): Una técnica de hacking en la que un atacante utiliza el hash de la contraseña de un usuario para autenticarse en un sistema o servicio remoto.
  • Password Spraying: Un tipo de ataque de fuerza bruta en el que un atacante prueba una o varias contraseñas de uso común contra muchas cuentas diferentes.
  • Rootkit: Un conjunto de herramientas de software que permite a un intruso obtener y mantener un acceso no autorizado a nivel de administrador a un sistema informático mientras oculta su presencia.
  • SAM (Security Account Manager): Una base de datos en los sistemas operativos Windows que almacena las contraseñas de los usuarios en formato de hash.
  • Shoulder Surfing: Una técnica de ingeniería social que consiste en observar a una persona mientras introduce información confidencial, como una contraseña o un PIN.
  • Spyware: Software malicioso diseñado para recopilar información sobre un usuario o una organización sin su conocimiento.

Themes