Hacking windows Autenticación y autorización

www.onlinetis.com

Hacking windows Autenticación y autorización

El hackeo de la autenticación y autorización en sistemas Windows se refiere a la explotación de vulnerabilidades en los mecanismos de seguridad que verifican la identidad de un usuario (autenticación) y determinan sus permisos (autorización). Los atacantes buscan obtener acceso no autorizado o elevar sus privilegios.


Métodos de Ataque Comunes

Los atacantes emplean diversas técnicas para comprometer la autenticación y la autorización en entornos Windows, incluyendo:

  • Ataques de fuerza bruta y de diccionario: Estos ataques consisten en probar múltiples combinaciones de nombres de usuario y contraseñas. Los ataques de diccionario utilizan listas de contraseñas comunes, mientras que la fuerza bruta intenta todas las combinaciones posibles.

  • Ataques de suplantación de identidad (Phishing): Los atacantes engañan a los usuarios para que revelen sus credenciales a través de correos electrónicos, sitios web o mensajes falsos que se hacen pasar por entidades legítimas.

  • Ataques de Pass-the-Hash (PtH): En lugar de robar la contraseña, el atacante obtiene y utiliza el hash de la contraseña (una representación criptográfica) para autenticarse en otros sistemas dentro de la red. Este método es efectivo porque no requiere descifrar la contraseña.

  • Keylogging: Es el registro de las pulsaciones del teclado. Un atacante puede instalar un keylogger en un sistema para capturar nombres de usuario y contraseñas mientras son tecleados.

  • Escalada de privilegios: Una vez que un atacante ha obtenido acceso con privilegios bajos, busca vulnerabilidades en el sistema o en la configuración para elevar sus permisos, por ejemplo, a un nivel de administrador o SYSTEM, para tener control total sobre la máquina.

  • Manipulación de tokens de acceso: Los tokens de acceso son objetos que describen el contexto de seguridad de un proceso o hilo, incluyendo los permisos del usuario. Los atacantes pueden robar o manipular estos tokens para ejecutar acciones con privilegios más altos.


Medidas de Mitigación

Para protegerse contra estos ataques, es crucial implementar una combinación de buenas prácticas y herramientas de seguridad.

  • Políticas de contraseñas robustas: Se deben forzar contraseñas largas y complejas, que incluyan una mezcla de mayúsculas, minúsculas, números y símbolos. Es recomendable cambiar las contraseñas con regularidad.

  • Autenticación multifactor (MFA): La MFA añade una capa adicional de seguridad al requerir al menos dos métodos de verificación para acceder, como una contraseña y un código de un dispositivo móvil.

  • Auditoría y monitoreo de eventos: Es fundamental auditar los intentos de inicio de sesión fallidos y exitosos, así como los cambios en los permisos de los usuarios. Monitorear los registros de eventos de seguridad puede ayudar a detectar actividades sospechosas a tiempo.

  • Actualizaciones y parches: Mantener el sistema operativo, las aplicaciones y el software de seguridad siempre actualizados es vital para corregir vulnerabilidades conocidas que los atacantes podrían explotar.

  • Principio de mínimo privilegio: Los usuarios y los servicios deben tener solo los permisos estrictamente necesarios para realizar sus tareas. Otorgar privilegios excesivos aumenta el riesgo de que, si una cuenta es comprometida, el atacante tenga acceso a más recursos.

  • Restringir el uso de cuentas de administrador: Las cuentas con privilegios de administrador deben usarse únicamente cuando sea necesario y no para tareas cotidianas. Esto limita el daño si una cuenta de usuario estándar es comprometida.

    Autenticación y procesamiento de credenciales

    Single Sign-On

    El hackeo de la autenticación y el procesamiento de credenciales de Single Sign-On (SSO) en Windows se centra en la explotación de cómo el sistema maneja y almacena las credenciales para permitir un acceso unificado a múltiples recursos. Los atacantes buscan obtener, reutilizar o falsificar las credenciales que se usan para la autenticación sin la necesidad de la contraseña original del usuario.


    Conceptos Clave: Autenticación de Windows y SSO

    La autenticación de Windows utiliza protocolos como Kerberos y NTLM para verificar la identidad de los usuarios y servicios. En entornos corporativos, Kerberos es el protocolo principal, ya que permite la autenticación mutua y el uso de tickets de acceso que eliminan la necesidad de reintroducir credenciales. El Single Sign-On (SSO) aprovecha esta característica para permitir que un usuario, una vez autenticado en su equipo, acceda automáticamente a aplicaciones y recursos de la red, como servidores de correo, SharePoint o impresoras, sin tener que volver a ingresar su contraseña.

    El sistema operativo almacena y gestiona estas credenciales y tokens de forma segura en la memoria del sistema y en bases de datos como el Registro de Seguridad Local (SAM) para las cuentas locales y el Directorio Activo (Active Directory) para las cuentas de dominio. El objetivo del atacante es comprometer esta cadena de confianza.


    Métodos de Ataque Comunes al SSO

    Los atacantes emplean diversas técnicas para comprometer el SSO y las credenciales de Windows:

    1. Extracción de Credenciales (Credential Dumping)

    Este es uno de los ataques más efectivos. Los atacantes utilizan herramientas para extraer hashes de contraseñas o tickets de Kerberos directamente de la memoria de un sistema comprometido. La memoria del proceso del Local Security Authority Subsystem Service (LSASS), que maneja la autenticación, es un objetivo principal. Una vez que se extraen los hashes, los atacantes pueden usarlos para autenticarse en otros sistemas.

    • Ataque de Pass-the-Hash (PtH): En lugar de descifrar el hash de la contraseña, el atacante lo reenvía a otro sistema para autenticarse. Este método funciona porque muchos servicios de Windows aceptan el hash de la contraseña para autenticación.

    • Pass-the-Ticket (PtT): Similar al PtH, pero en este caso el atacante roba un ticket de Kerberos del LSASS y lo usa para acceder a servicios en la red. El ticket, en sí mismo, actúa como prueba de que el atacante tiene los privilegios del usuario original, sin necesidad de la contraseña.

    2. Manipulación de Tokens de Acceso

    Un token de acceso es un objeto que contiene información sobre la identidad de un usuario y sus privilegios. Cuando un usuario se autentica, se crea un token de acceso que es utilizado por el sistema para validar los permisos de ese usuario. Los atacantes pueden robar o manipular estos tokens, lo que les permite realizar acciones con los permisos del usuario legítimo, e incluso escalar privilegios a un nivel de administrador.

    3. Explotación de Misconfiguraciones del Directorio Activo (Active Directory)

    El Directorio Activo es fundamental para el SSO en entornos de Windows, y su configuración incorrecta puede abrir la puerta a ataques.

    • Falsificación de Kerberos (Golden Ticket): Un atacante que ha comprometido la cuenta del KRBTGT (la cuenta que firma los tickets de Kerberos) puede crear un "Golden Ticket" que le permite forjar tickets de acceso válidos para cualquier servicio en el dominio. Esto otorga al atacante control total sobre el dominio.

    • Ataque de Silver Ticket: Similar al Golden Ticket, pero se limita a un servicio específico en lugar de a todo el dominio. El atacante forja un ticket de servicio para acceder a un recurso específico, como un servidor de archivos o una base de datos.

    • Ataque de delegación sin restricciones: En este escenario, un atacante que ha comprometido una cuenta de servicio puede utilizarla para suplantar a cualquier usuario que se autentique con ese servicio, obteniendo acceso a todos los recursos de ese usuario.


    Mitigación y Detección

    Para mitigar estos ataques, se deben implementar las siguientes medidas:

    • Autenticación Multifactor (MFA): Obligar a los usuarios a usar un segundo factor de autenticación para acceder a sistemas críticos, incluso si ya están autenticados en el dominio.

    • Restricción de Privilegios: Implementar el principio de mínimo privilegio, asegurando que los usuarios y servicios solo tengan los permisos necesarios para sus tareas.

    • Parcheo y Actualizaciones: Mantener el sistema operativo y el software de seguridad actualizados para corregir vulnerabilidades conocidas que podrían ser explotadas para el robo de credenciales.

    • Auditoría y Monitoreo: Monitorear los registros de eventos de seguridad en busca de patrones sospechosos de autenticación, como múltiples intentos fallidos o el uso inusual de cuentas de servicio.

      Local Security Authority

      La Autoridad de Seguridad Local (LSA) de Windows es un componente fundamental del sistema operativo responsable de la autenticación y la autorización de los usuarios. Su rol principal es gestionar las políticas de seguridad del sistema y verificar la identidad de los usuarios y servicios que intentan acceder a los recursos locales.


      Proceso de Autenticación de Credenciales por LSA

      El procesamiento de credenciales por parte de la LSA sigue estos pasos:

      1. Recepción de Credenciales: Cuando un usuario intenta iniciar sesión, la LSA recibe las credenciales proporcionadas (nombre de usuario y contraseña).

      2. Verificación del Hash de la Contraseña: La LSA no almacena las contraseñas en texto claro. En su lugar, utiliza funciones hash para convertirlas en una cadena de caracteres única e irreversible. Las credenciales proporcionadas se hashean y se comparan con los hashes almacenados en la base de datos de seguridad local, conocida como SAM (Security Account Manager). En entornos de red, la LSA se comunica con el controlador de dominio para autenticar las credenciales a través de protocolos como Kerberos o NTLM.

      3. Creación de un Token de Acceso: Si la verificación es exitosa, la LSA crea un token de acceso. Este token es un objeto de datos que contiene la información de seguridad del usuario, como su Identificador de Seguridad (SID), sus privilegios, y los grupos a los que pertenece. Este token se adjunta a cada proceso que el usuario inicie, y el sistema operativo lo utiliza para determinar qué recursos puede acceder el usuario.

      4. Generación de Claves de Sesión: La LSA también es responsable de generar y gestionar las claves de sesión que se usan para cifrar la comunicación en protocolos de autenticación de red.


      Métodos de Ataque y Mitigación

      Los atacantes a menudo se dirigen a la LSA para obtener credenciales, ya que esta contiene información sensible y es vital para la seguridad del sistema. Las técnicas de ataque comunes incluyen:

      • Dumping de Credenciales: Los atacantes pueden intentar extraer hashes de contraseñas y otros secretos de la memoria de la LSA. El proceso lsass.exe (Autoridad de Seguridad de Subsistemas de LSA) es un objetivo común, ya que carga la información de credenciales en la memoria. Herramientas maliciosas pueden ser diseñadas para volcar esta información.

      • Ataques de Pass-the-Hash: Como la LSA utiliza hashes para la autenticación, un atacante que obtenga el hash de la contraseña de un usuario puede usarlo para autenticarse en otros sistemas de la red sin necesidad de conocer la contraseña original. Este método es especialmente peligroso en entornos de dominio.

      • Manipulación de Tokens de Acceso: Si un atacante logra comprometer el sistema, puede intentar robar o manipular los tokens de acceso de otros usuarios o servicios con mayores privilegios para escalar sus permisos.

      Para mitigar estos riesgos, es crucial implementar medidas como la Autenticación Multifactor (MFA), el Principio de Mínimo Privilegio, y la protección de procesos como lsass.exe con tecnologías de seguridad avanzadas.

      Almacenamiento de credenciales

      Windows almacena las credenciales en diferentes ubicaciones y de diversas formas, lo que los atacantes a menudo intentan explotar.

      • Base de datos SAM: El Administrador de Cuentas de Seguridad (SAM) es una base de datos local en cada PC con Windows que almacena los hashes de las contraseñas de las cuentas de usuario locales. Para protegerla, el archivo SAM está bloqueado y no es accesible mientras el sistema operativo está en funcionamiento.

      • LSASS Memory: Cuando un usuario inicia sesión, LSASS carga las credenciales y sus hashes en la memoria RAM para su uso durante la sesión. Esto incluye hashes NTLM (NT Lan Manager), tickets Kerberos y, en algunos casos, versiones de la contraseña que pueden ser descifradas.

      • Administrador de Credenciales: Es un almacén seguro para credenciales guardadas para sitios web, aplicaciones y redes. Estas credenciales están protegidas por la API de Protección de Datos (DPAPI), que utiliza la clave de cifrado de tu cuenta de usuario.

        Robo y Suplantación de Tokens de Acceso

        Un token de acceso es un objeto que contiene información sobre la identidad de un usuario y sus privilegios. Cuando un usuario inicia sesión, se crea un token que define los recursos a los que puede acceder y las acciones que puede realizar. Este token se adjunta a cada proceso o hilo que el usuario inicie.

        El robo y la suplantación de tokens son técnicas de escalada de privilegios. Si un atacante logra obtener un token de acceso de una sesión con privilegios elevados (como un administrador), puede suplantar a ese usuario. Esto le permite ejecutar comandos y acceder a recursos como si fuera el usuario original, sin necesidad de conocer su contraseña.

        Bypass UAC

        Para listar los módulos de Metasploit relacionados con el Bypass de UAC (User Account Control), puedes usar el comando search en la consola de msfconsole.


        Cómo Buscar Módulos de Bypass UAC

        1. Abre la consola de Metasploit (msfconsole).

        2. Escribe el comando search seguido de la palabra clave bypassuac.

        Bash
        msf6 > search bypassuac
        

        Esto te mostrará una lista de módulos que contienen esa palabra clave en su nombre o descripción. La mayoría de estos módulos se encuentran en la categoría de post/windows/escalate o exploit/windows/local.


        Ejemplos de Módulos Comunes

        Metasploit incluye varios módulos para eludir el Control de Cuentas de Usuario. Algunos de los más conocidos son:

        • bypassuac: Un módulo genérico que utiliza la inyección de procesos para eludir el UAC.

        • bypassuac_eventvwr: Explota una vulnerabilidad en el Visor de Eventos de Windows (eventvwr.exe) para ejecutar un comando con privilegios elevados sin que aparezca el aviso de UAC.

        • bypassuac_fodhelper: Se aprovecha de una falla en la aplicación de ayuda de funciones de Windows (fodhelper.exe).

        Estos módulos se actualizan y se añaden nuevos constantemente. El comando search es la forma más efectiva de obtener una lista actualizada de las opciones disponibles en tu versión de Metasploit.

        Bypass UAC mediante CompMgmtLauncher

        ¿Cómo Funciona la Técnica?

        El bypass de UAC usando CompMgmtLauncher.exe es un ataque de secuestro de DLL (Dynamic-Link Library). El proceso funciona de la siguiente manera:

      • Ejecutable de confianza: CompMgmtLauncher.exe es un programa firmado digitalmente por Microsoft y se considera de confianza. Por lo tanto, se puede ejecutar con privilegios de administrador sin que se muestre la ventana de advertencia de UAC.

      • Carga de la DLL: Al ejecutarse, CompMgmtLauncher.exe busca y carga un archivo DLL llamado mmc.exe. El problema es que el sistema busca esta DLL en varias ubicaciones predefinidas antes de encontrar la versión legítima.

      • Aprovechamiento de la ruta de búsqueda: Un atacante puede colocar una DLL maliciosa, con el mismo nombre (mmc.exe), en una de estas ubicaciones de búsqueda no seguras.

      • Ejecución con privilegios elevados: Cuando el atacante ejecuta CompMgmtLauncher.exe, el sistema encuentra y carga la DLL maliciosa en lugar de la legítima. Dado que el proceso padre (CompMgmtLauncher.exe) se ejecuta con privilegios de administrador, el código malicioso en la DLL se ejecuta con los mismos permisos, eludiendo así la protección de UAC.

         


         

         

         

         

        Bypass UAC mediante App Paths 

        El "Bypass de UAC mediante App Paths" es una técnica de escalada de privilegios en Windows que explota cómo el sistema operativo maneja la ejecución de ciertas aplicaciones. No se trata de una vulnerabilidad en un solo programa, sino de un método que se aprovecha de la configuración del registro de Windows.


        ¿Cómo Funciona la Técnica?

        La técnica se basa en el registro de Windows, específicamente en la clave HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths. Esta clave permite a los desarrolladores y usuarios definir rutas de acceso a ejecutables.

        El ataque ocurre cuando un atacante puede crear una entrada en esta clave del registro. Al hacerlo, puede redirigir la ejecución de un programa legítimo a su propio ejecutable malicioso.

        1. Programa de Confianza: El atacante busca un programa legítimo que se ejecute con privilegios de administrador sin que se muestre una ventana de UAC.

        2. Modificación del Registro: El atacante crea una nueva entrada en HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths que apunta a su programa malicioso, en lugar del programa legítimo.

        3. Ejecución: Cuando un usuario o un proceso legítimo intenta ejecutar el programa de confianza, el sistema operativo consulta la clave de registro modificada, encuentra la ruta del programa malicioso y lo ejecuta con privilegios de administrador, eludiendo la protección de UAC.

         

         


         


         

        Bypass UAC fileless mediante Eventvwr

        El bypass de UAC sin archivos (fileless) mediante Eventvwr.exe es una técnica de escalada de privilegios que aprovecha un método legítimo en Windows para ejecutar código con privilegios de administrador sin que se muestre una ventana de UAC. Esta técnica es "sin archivos" porque no requiere que el atacante suba un ejecutable malicioso al disco, sino que manipula el registro de Windows para ejecutar comandos.


        ¿Cómo Funciona la Técnica?

        Esta técnica se basa en cómo Eventvwr.exe (el Visor de Eventos) maneja su configuración.

        1. Ejecutable de Confianza: Eventvwr.exe es un programa firmado digitalmente por Microsoft que se ejecuta con privilegios elevados.

        2. Manipulación del Registro: El ataque se centra en la clave del registro HKEY_CURRENT_USER\Software\Classes\mscfile\shell\open\command. Un atacante, desde una cuenta de usuario estándar, puede modificar la clave predeterminada de esta ruta para que apunte a un comando malicioso.

        3. Llamada al Visor de Eventos: El atacante ejecuta Eventvwr.exe. Cuando el Visor de Eventos se inicia, busca y carga una "vista personalizada" que está en el registro. En lugar de cargar la vista legítima, el sistema lee la clave del registro modificada y ejecuta el comando malicioso.

        4. Ejecución con Privilegios Elevados: Dado que el proceso principal (Eventvwr.exe) tiene privilegios de administrador, el comando malicioso se ejecuta con los mismos permisos, eludiendo la protección de UAC.

         

         

         


         

         Bypass UAC fileless mediante Sdclt

        El bypass de UAC sin archivos (fileless) mediante Sdclt.exe es una técnica de escalada de privilegios en Windows. Este método es "sin archivos" porque no sube un ejecutable malicioso al disco, sino que manipula el registro de Windows para ejecutar comandos.


        ¿Cómo Funciona la Técnica?

        Esta técnica se basa en una característica legítima de Windows, concretamente en la herramienta de Copia de Seguridad y Restauración de Windows (Sdclt.exe). El proceso es el siguiente:

        1. Ejecutable de Confianza: Sdclt.exe es un programa firmado digitalmente por Microsoft que, al ser ejecutado, puede lanzar un proceso con privilegios de administrador sin que se muestre una ventana de UAC.

        2. Manipulación del Registro: El atacante, desde una cuenta de usuario estándar, modifica una clave del registro de Windows (HKEY_CURRENT_USER\Software\Classes\Folder\shell\open\command). Esta clave es utilizada por Sdclt.exe para invocar un programa al que se le pasan ciertos parámetros. El atacante cambia el valor de esta clave para que apunte a un comando o programa malicioso.

        3. Ejecución con Privilegios Elevados: Cuando el atacante ejecuta Sdclt.exe, la aplicación llama al comando especificado en la clave del registro modificada. Como el proceso padre (Sdclt.exe) tiene privilegios de administrador, el comando malicioso se ejecuta con los mismos permisos, eludiendo así la protección de UAC.

           

           


         


Entradas populares de este blog

Ciberseguridad y hacking con Whatweb

Como robar contraseñas haciendo un phishing web

Arsenal software hacking NFC