Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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-2023-38831 — CVE-2023-38831 - WinRAR | Kitploit
Herramientas/GitHubGitHub/mishra0230/cve-2023-38831
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebAnálisis ForenseAnálisis de MalwarePruebas de PenetraciónInteligencia de AmenazasPapers e InvestigaciónAprendizaje y EducaciónRespuesta a IncidentesExplotación de Binarios
52hace 8 mesesAún no revisado
GitHubmishra0230/cve-2023-38831

CVE-2023-38831

CVE-2023-38831 - WinRAR

Ver Repositorio

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

Lógica de detección para el exploit CVE-2023-38831 de WinRAR

Este repositorio contiene una lógica de detección para CVE-2023-38831 (explotación de suplantación de archivos ZIP / doble extensión de WinRAR) con consultas sin procesar / bloques de código y nombres de proveedores específicos de ETW + ID de eventos. Una versión vulnerable de WinRAR (< 6.23) en el sistema objetivo

Resumen del comportamiento

CVE-2023-38831 se explota cuando:

  • El usuario abre un ZIP malicioso en WinRAR

  • El archivo comprimido contiene:

    ● Un archivo señuelo (por ejemplo, invoice.pdf )

    ● Un directorio con el mismo nombre (por ejemplo, invoice.pdf )

    ● Dentro del directorio "dos" archivos con el mismo nombre pero nombres ligeramente diferentes (para un archivo, un espacio y que termina con cualquier extensión; por ejemplo, si el primer archivo es "invoice.pdf ", el segundo puede ser cualquier script o ejecutable como "invoice.pdf .cmd")

  • WinRAR ejecuta el script o ejecutable en lugar de abrir el documento (“PDF” en este caso)

  • Esta ejecución se desencadena al llamar a la función ShellExecuteExW para ejecutar el archivo, pasando shExecInfo (ShellExecute a través del Explorador)

  • WinRAR genera un proceso hijo (cmd, powershell, mshta, wscript, exe, igual que cualquier cosa presente dentro de la carpeta)

  • La ejecución a menudo ocurre desde Temp / AppData / ruta extraída

Resumen del ataque

Resumen del flujo El usuario abre el archivo

  ↓
  
WinRAR muestra el archivo señuelo

  ↓
  
El usuario hace doble clic en el documento

  ↓
  
WinRAR extrae el directorio con el mismo nombre
  ↓
  
Ejecutable escrito en *.pdf\*.pdf .exe
  ↓
  
ShellExecute vía Explorador
  ↓
  
ImageLoad del ejecutable

  ↓
  
Ejecución del payload

Por qué este flujo es importante para la detección

●	Sin uso de macros

●	Sin dependencia de la creación de procesos

●	El exploit se basa en el enmascaramiento del sistema de archivos

●	Señal de alta confianza y bajo ruido

Detalles técnicos importantes

  • Los archivos se escriben en una estructura especial

    Es como tener dos objetos (archivo/directorio) con el mismo nombre; cuando tienes un archivo y un directorio con el mismo nombre en un archivo comprimido y quieres abrir el archivo temporalmente, al hacer doble clic en él (archivo objetivo) dentro del archivo comprimido abierto, WinRAR extrae ese archivo por ti y también extrae todos los archivos que tienen el mismo nombre que el archivo objetivo. Todos se escriben en un directorio temporal en la ruta %tmp%.

      	| Nombre de archivo/directorio                          | Ruta de extracción                                                              |
      	
      	| ------------------------------------------------------ | --------------------------------------------------------------------------------- |
      	
      	| CLASSIFIED_DOCUMENTS.txt <– archivo objetivo en el que se hizo clic | `C:\Users\UsersName\AppData\Loca\Temp\Rar$DIa8432.13968\CLASSIFIED_DOCUMENTS.txt\`|
      	
      	| CLASSIFIED_DOCUMENTS.txt .cmd <– el archivo en el directorio | `C:\Users\UsersName\AppData\Loca\Temp\Rar$DIa8432.13968\CLASSIFIED_DOCUMENTS.txt\`|
      	
    
  • Si hay dos archivos en un directorio temporal (de descompresión) con el mismo nombre pero diferente tamaño (por ejemplo, 20k y 12k), y abres el archivo comprimido y abres el primer archivo, 1.txt, que tiene 20k bytes, WinRAR te pedirá que reemplaces un archivo con el segundo archivo, 1.txt, que tiene 10K. Si haces clic en "Sí", solo se abrirá el segundo archivo, 1.txt. Esta condición se puede añadir como exclusión.

Punto importante para la lógica de detección

  • Ejecución de procesos desencadenada desde una ruta de extracción ZIP o un directorio temporal, con una extensión engañosa o una carpeta que se hace pasar por un archivo

  • Cuando WinRAR libera un archivo para descompresión en el directorio temporal, debe contener dos archivos con el mismo nombre pero nombres ligeramente diferentes (un espacio y que termina con cualquier extensión), como un nombre igual al del archivo principal con un “ ” (CLASSIFIED_DOCUMENTS.pdf ) al final de su nombre y luego un “.cmd” (CLASSIFIED_DOCUMENTS.pdf .cmd).

  • Cuando WinRAR carga una DLL y llama a la función ShellExecuteExA, el parámetro "pExecInfo" tiene una ruta con un espacio y que termina con cualquier extensión, como "CLASSIFIED_DOCUMENTS.pdf .cmd."

  • Proveedores ETW y filosofía de detección (solo ETW) Proveedores ETW

      	| Propósito                     | Proveedor ETW                          |
      	
      	| -------------------------- | ------------------------------------- |
      	
      	| Creación de procesos           | `Microsoft-Windows-Kernel-Process`    |
      	
      	| Visibilidad de la línea de comandos    | `Microsoft-Windows-Security-Auditing` |
      	
      	| Operaciones de archivo (opcional) | `Microsoft-Windows-Kernel-File`       |
      	
    
     La detección se basará en (si no hay ProcessStart, CreateProcess o lógica de padre/hijo estilo EDR):
     
      	●	ETW del sistema de archivos
      	
      	●	ETW de Shell / Explorador
      	
      	●	ETW de carga de imagen (opcional, sin creación)
      	
      	●	ETW de línea de comandos (opcional)
      	
      
     Proveedores ETW principales
     
      	| Propósito                     | Proveedor ETW                          |
      	
      	| -------------------------- | ------------------------------------- |
      	
      	| Creación de directorios         | `Microsoft-Windows-Kernel-File`       |
      	
      	| Creación de EXE               | `Microsoft-Windows-Kernel-File`       |
      	
      	| Ejecución de Shell            | `Microsoft.Windows.ShellExecute`      |
      	
      	| Carga de imagen               | `Microsoft-Windows-Kernel-Image`      |
      	
      	| Explorador                    | `Microsoft-Windows-Explorer`          |
      	
      	| Shell                         | `Microsoft-Windows-Shell-Core`        |	
    

Lógica de detección sin procesar

A alto nivel, la lógica detecta:

			●	WinRAR.exe iniciando escrituras de archivos

			●	Creación de un directorio y un archivo con el mismo nombre base

			●	Extensión de ejecutable que se materializa después de un renombrado o sobrescritura

			●	Secuencia que ocurre dentro de una ventana de tiempo estrecha (<2 s)

Este patrón es extremadamente raro en flujos de trabajo benignos, pero es fundamental para la ruta de ejecución del exploit.

			●	La regla evita intencionalmente:

			●	Inspección de la línea de comandos

			●	Seguimiento de procesos hijos

			●	Hash completo de archivos

Lógica de detección principal

La lógica de detección principal se menciona a continuación, junto con un nivel de confianza y una breve justificación.

Descargar herramienta