Ejemplo de explotación de Hijacking DLL

| Última modificación: 4 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

En este artículo te mostraremos un ejemplo de explotación de Hijacking DLL. Las DLL son librerías dinámicas muy utilizadas en los binarios y servicios de Windows. El problema que se encuentra habitualmente con estas librerías es que, por una incorrecta configuración o debido a compatibilidad en múltiples sistemas, en ocasiones hay binarios que buscan DLL necesarios para la versión o sistema en cuestión.

Explotación de Hijacking DLL [Ejemplo]

Para revisar las DLL que se le están pidiendo al sistema y no están siendo encontradas en la Explotación de Hijacking DLL, se pueden usar múltiples herramientas, entre ellas el Process Monitor (SysInternals).

Hijacking DLL del proceso IKE: Privesc

Explotación de Hijacking DLL

Invoke-IkeextCheck

Invoke-IkeextCheck es un cmdlet de PowerShell en la explotación de Hijacking DLL, que verifica una máquina con Windows en busca de la vulnerabilidad conocida como IKEEXT DLL Hijacking. Esta vulnerabilidad permite que un usuario autenticado eleve sus privilegios a Sistema colocando una DLL maliciosa en una carpeta con permisos débiles.

El servicio IKEEXT en la explotación de Hijacking DLL es un servicio de Windows que brinda soporte para IPsec, un protocolo de seguridad que se puede usar para cifrar el tráfico de la red. El servicio IKEEXT carga varias DLL en tiempo de ejecución y, si falta una de estas DLL, el servicio no podrá iniciarse.

La vulnerabilidad de secuestro de DLL de IKEEXT explota esto mediante la creación de una DLL maliciosa que tiene el mismo nombre que una de las DLL que carga IKEEXT. Luego, la DLL maliciosa se coloca en una carpeta con permisos débiles, como la variable de entorno PATH del usuario. Cuando se inicie el servicio IKEEXT, cargará la DLL maliciosa, que luego ejecutará código con privilegios de Sistema.

🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴

Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Ciberseguridad por una semana

El cmdlet Invoke-IkeextCheck comprueba la vulnerabilidad de secuestro de DLL de IKEEXT realizando los siguientes pasos:

  • Comprueba la versión del sistema operativo para ver si es vulnerable.
  • Comprueba el estado y el tipo de inicio del servicio IKEEXT para ver si está habilitado.
  • Comprueba las carpetas PATH con permisos débiles.
  • Comprueba si el archivo wlbsctrl.dll está presente en alguna carpeta del sistema.

Si alguna de estas comprobaciones arroja un resultado positivo significa que la máquina es vulnerable a la vulnerabilidad de secuestro de DLL de IKEEXT.

El cmdlet Invoke-IkeextCheck es una herramienta útil en la explotación de Hijacking DLL para los administradores de sistemas que desean verificar sus máquinas en busca de esta vulnerabilidad. Si el cmdlet detecta que una máquina es vulnerable, el administrador puede tomar medidas para mitigar el riesgo, como deshabilitar el servicio IKEEXT o cambiar los permisos en la variable de entorno PATH.

Invoke-IkeextExploit-Verbose

Invoke-IkeextExploit-Verbose es un comando de PowerShell en la explotación de Hijacking DLL que se usa para ejecutar la herramienta de explotación Ikeext-Privesc. Esta herramienta está diseñada para detectar y explotar la vulnerabilidad de DLL faltante del servicio de módulos de llavero IPsec de IKE y AuthIP (IKEEXT).
La opción -Verbose se usa para habilitar el modo detallado, que imprime los detalles de cada cheque en la consola.
El comando Invoke-IkeextExploit está preconfigurado para agregar un nuevo usuario con privilegios administrativos, pero esta acción se puede modificar.

Comando de explotación de Hijacking DLL

El exploit en la explotación de Hijacking DLL está definido para realizar la siguiente acción:

net user hacker SuperP@ss123 /ADD. Veamos en qué consiste esto.

El comando “net user” es una utilidad de línea de comandos en los sistemas operativos Windows que permite administrar las cuentas de usuario locales. Con este comando, los administradores pueden crear, modificar y eliminar cuentas de usuario, así como realizar otras operaciones relacionadas con la administración de usuarios.

En el ejemplo proporcionado, el comando “net user hacker SuperP@ss123 /ADD” se utiliza para crear una nueva cuenta de usuario llamada “hacker” en el sistema.

La opción “/ADD” indica que se está agregando una nueva cuenta de usuario. Esto significa que se creará una nueva entrada de usuario en la base de datos de usuarios del sistema operativo.

¿Quieres seguir aprendiendo?

Ahora que conoces este ejemplo de explotación de Hijacking DLL, puedes seguir formándote en el ámbito de la ciberseguridad hasta convertirte en un profesional. Para lograrlo, accede a nuestro Ciberseguridad Full Stack Bootcamp y aprende todo lo necesario a nivel tanto teórico como práctico para impulsar tu carrera en poco tiempo gracias a la guía constante de nuestros profesores expertos en el sector. ¡Entra ahora para pedir más información y da el paso que te cambiará la vida!

Carlos Cilleruelo

CEO and co-founder of Byron Labs & Coordinador del Bootcamp en Ciberseguridad.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Ciberseguridad

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado