Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2024-6768 — Exploit de prueba de concepto para CVE-2024-6768, una vulnerabilidad del controlador Windows CLFS.sys que provoca BSoD mediante un archivo .BLF manipulado. Incluye código fuente y análisis técnico. | Kitploit
Herramientas/GitHubGitHub/fortra/cve-2024-6768
Análisis de VulnerabilidadesExplotaciónExplotación de Binarios
GitHubfortra/cve-2024-6768

CVE-2024-6768

Exploit de prueba de concepto para CVE-2024-6768, una vulnerabilidad del controlador Windows CLFS.sys que provoca BSoD mediante un archivo .BLF manipulado. Incluye código fuente y análisis técnico.

Ver Repositorio
165hace 2 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2024-6768: La validación incorrecta de la cantidad especificada en la entrada produce un estado irrecuperable en CLFS.sys causando un BSoD.

Introducción:

CVE-2024-6768 es una vulnerabilidad en el controlador del sistema de archivos de registro común (CLFS.sys) de Windows, causada por una validación incorrecta de las cantidades especificadas en los datos de entrada. Este defecto provoca una inconsistencia irrecuperable, desencadenando la función KeBugCheckEx y dando lugar a una pantalla azul de la muerte (BSoD). El problema afecta a todas las versiones de Windows 10 y Windows 11, Windows Server 2016, Server 2019 y Server 2022 incluso con todas las actualizaciones aplicadas. Una prueba de concepto (PoC) muestra que al modificar valores específicos dentro de un archivo .BLF, un usuario sin privilegios puede inducir un bloqueo del sistema. Los problemas potenciales incluyen inestabilidad del sistema y denegación de servicio, ya que usuarios maliciosos pueden explotar esta vulnerabilidad para bloquear repetidamente los sistemas afectados, interrumpiendo las operaciones y potencialmente causando pérdida de datos.

En las dos últimas investigaciones sobre el sistema de archivos de registro común (CLFS), pude lograr RCE en ambos casos. (Si estás interesado, aquí está el que hice para CLFS CVE-2023-28252 y CLFS CVE-2022-37969). Sin embargo, cuando modifiqué algunos valores en la PoC en la que estaba trabajando, observé que desencadenaba un BSoD en el sistema de destino. En consecuencia, decidí reportar este problema. Este documento ayuda a entender el BSoD y proporciona orientación sobre cómo reproducirlo.

Detalles de la vulnerabilidad:

Esta vulnerabilidad se produce por una validación incorrecta de la cantidad especificada en la entrada (CWE-1284)

lo que causa una inconsistencia irrecuperable en el controlador CLFS.sys, forzando una llamada a la función KeBugCheckEx, lo que permite a un usuario sin privilegios producir un BSoD en Windows. En este documento, estoy usando CLFS.sys versión 10.0.19041.3324 como ejemplo, pero este problema afecta a todas las versiones hasta la última versión de Windows 10 y Windows 11 con todas las actualizaciones aplicadas.

Puntuación base: CVSS 4.0: 6.8 Medio

Cadena de vector CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Vector de ataque (AV): Local

Complejidad del ataque (AC): Baja

Requisitos del ataque (AT): Ninguno

Privilegios requeridos (PR): Bajos

Interacción del usuario (UI): Ninguna

Confidencialidad (VC): Ninguna

Integridad (VI): Ninguna

Disponibilidad (VA): Alta

Confidencialidad (SC): Ninguna

Integridad (SI): Ninguna

Disponibilidad (SA): Ninguna

Después de que el sistema detecta el estado irrecuperable, llama a la función KeBugCheckEx lo que conduce a un BSoD como se describe en este artículo de Microsoft: https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-kebugcheckex.

Captura de pantalla de un error de computadora Descripción generada automáticamente

CClfsLogFcbPhysical::FlushLog+6F2 es la dirección en CLFS.sys versión 10.0.19041.3324 donde se produce la llamada a KeBugCheckEx:

CClfsLogFcbPhysical::FlushLog+6D5

CClfsLogFcbPhysical::FlushLog+6D5 loc_FFFFF8062EED4F35: ; BugCheckParameter2

CClfsLogFcbPhysical::FlushLog+6D5 mov r8d, eax

CClfsLogFcbPhysical::FlushLog+6D8 and [rsp+0A8h+Timeout], 0

CClfsLogFcbPhysical::FlushLog+6DE mov r9, rbx ; BugCheckParameter3

CClfsLogFcbPhysical::FlushLog+6E1 mov edx, 3Ah ; ':' ; BugCheckParameter1

CClfsLogFcbPhysical::FlushLog+6E6 mov ecx, 0C1F5h ; BugCheckCode

CClfsLogFcbPhysical::FlushLog+6EB mov r10, cs:__imp_KeBugCheckEx

CClfsLogFcbPhysical::FlushLog+6F2 call near ptr nt_KeBugCheckEx

Construcción de la PoC:

Para comenzar el análisis, es necesario conocer el formato del archivo .BLF, que es manejado por el controlador vulnerable del sistema de archivos de registro común llamado CLFS.sys ubicado en la carpeta %windir%\system32. Para obtener más información sobre esto, consulta la sección de referencias al final de este artículo.

En nuestro repositorio de prueba de concepto, el archivo 54.blf tiene un valor manipulado (0xffffffff00ff01) en el offset 0x1c10.

Captura de pantalla de una computadora Descripción generada automáticamente

Este valor manipulado está en el offset 0x38 de la estructura _CLFS_CLIENT_CONTEXT, se copia en CClfsLogFcbPhysical::Initialize al offset 0x538 de la estructura CClfsLogFcbPhysical.

La zona marcada en azul a continuación comienza con cidNode = 0xC1FDF006 es la estructura CLFSHASHSYM

Captura de pantalla de una computadora Descripción generada automáticamente

Después de eso, comenzando con cidNode == 0xC1FDF007 se encuentra la estructura _CLFS_CLIENT_CONTEXT

En el offset 0x38 está el campo lsnOwnerPage que se llenará con el valor manipulado 0xffffffff00ff01:

struct _CLFS_CLIENT_CONTEXT

{

CLFS_NODE_ID cidNode;

CLFS_CLIENT_ID cidClient;

USHORT fAttributes;

ULONG cbFlushThreshold;

ULONG cShadowSectors;

ULONGLONG cbUndoCommitment;

LARGE_INTEGER llCreateTime;

LARGE_INTEGER llAccessTime;

LARGE_INTEGER llWriteTime;

*CLFS_LSN **lsnOwnerPage; ***// offset 0x38

CLFS_LSN lsnArchiveTail;

CLFS_LSN lsnBase;

CLFS_LSN lsnLast;

CLFS_LSN lsnRestart;

CLFS_LSN lsnPhysicalBase;

CLFS_LSN lsnUnused1;

CLFS_LSN lsnUnused2;

CLFS_LOG_STATE eState;

union

{

HANDLE hSecurityContext;

ULONGLONG ullAlignment;

};

};

Cuando se ejecuta la PoC, manipula el valor de lsnOwnerPage, llama a CreateLogFile y el valor mencionado se utiliza en UpdateCachedOwnerPage como se ve en la pila de llamadas a continuación:

Captura de pantalla de una computadora Descripción generada automáticamente

Esta es la dirección donde la PoC llama a CreateLogFile y el valor manipulado comienza a ser utilizado:

Captura de pantalla de una computadora Descripción generada automáticamente

Captura de pantalla de una computadora Descripción generada automáticamente

Captura de pantalla de una computadora Descripción generada automáticamente

Dentro de AddLsnOffset devuelve un ulloffset calculado a partir de este valor manipulado:

Captura de pantalla de una computadora Descripción generada automáticamente

El ulloffset devuelto es 0xFFFFFFFF00000000

Después de eso, este valor se compara y sale de la función CClfsLogFcbPhysical::UpdateCachedOwnerPage

Captura de pantalla de una computadora Descripción generada automáticamente

Después de eso, regresa a la PoC en modo usuario, y cuando sale llama a CClfsLogFcbPhysical::FlushLog cuando se utiliza el ulloffset original manipulado

Captura de pantalla de una computadora Descripción generada automáticamente

Esto se compara en un bucle y, si no es igual en ningún ciclo, como el sistema está en un estado irrecuperable, llama a KeBugCheck que produce un BSoD para reiniciarse:

Captura de pantalla de un programa de computadora Descripción generada automáticamente

Captura de pantalla de una pantalla de computadora Descripción generada automáticamente

Puedes encontrar la PoC funcional con fuentes y BLF manipulado en el GitHub de Fortra.

  • https://github.com/fortra/CVE-2024-6768

  • https://github.com/fortra/CVE-2024-6768/blob/main/clfs_eopNEW/x64/Release/clfs_eop.exe

Espero que te sea útil. Por favor, contacta a [email protected] con cualquier pregunta.

Referencias:

Referencias del sistema de archivos de registro común (CLFS):

  • https://www.zscaler.com/blogs/security-research/technical-analysis-windows-clfs-zero-day-vulnerability-cve-2022-37969-part

  • https://learn.microsoft.com/en-us/windows-hardware/drivers/kernel/introduction-to-the-common-log-file-system

  • https://github.com/ionescu007/clfs-docs/blob/main/README.md

  • https://www.coresecurity.com/core-labs/articles/understanding-cve-2022-37969-windows-clfs-lpe

  • https://www.youtube.com/watch?v=N5bcibiDVaw

  • https://github.com/fortra/CVE-2024-6768

  • https://www.fortra.com/security/advisories/research/fr-2024-001

  • https://www.cve.org/CVERecord?id=CVE-2024-6768

Descargar herramienta