
Una demo de POC sobre CVE-2023-38831
Una demostración de prueba de concepto de CVE-2023-38831
Breve descripción de la vulnerabilidad
¿Cómo funciona la vulnerabilidad?

Primera parte de la explotación
La primera mitad tendrá lugar en la máquina del atacante para que comience la explotación.

1) En primer lugar, necesitaremos crear la carpeta de explotación que contenga el archivo adjunto malicioso, el "pdf", el código Python de explotación y el script bat mediante el siguiente comando: "git clone https://github.com/HDCE-inc/CVE-2023-38831"

2) Esto es lo que contiene la carpeta antes de que se realice cualquier explotación:

3) Obtener la dirección IP de la máquina Kali mediante ifconfig:

4) Luego modificaremos el script existente en script.bat con la siguiente línea de comando (imagen superior)
"start" es para que el proceso de la línea de comandos comience, "/min" es para minimizar el símbolo del sistema en segundo plano, ncat es para iniciar la conexión con la dirección IP del atacante a través del puerto 4444, y por último -e cmd.exe es para ejecutar la línea de comandos en el símbolo del sistema.

5) Aquí se explica el siguiente código de exploit.py:
1 se refiere a la entrada del usuario para el nombre del archivo señuelo (document.pdf), el nombre del archivo script (bat.script) y el resultado que la víctima ve como el archivo RAR; en este caso lo guardaremos como getrich.rar.
2 se refiere a las comprobaciones realizadas para validar si existen archivos en la carpeta CVE-2023-38831 de la máquina Kali Linux con la convención de nomenclatura correcta; si el nombre es incorrecto o hay un archivo duplicado, se imprimirá un mensaje de error y el programa se detendrá y saldrá.
3 se refiere a la creación de un destino de archivo temporal usando os.mkdir() para almacenar el archivo recién creado antes de comprimirlo en un archivo comprimido y usarlo como espacio de trabajo.
4 se refiere a una línea de copia, shutil.copyfile, para copiar tanto el archivo señuelo como el script a sus respectivos directorios dentro de "tmp" para asegurar que todos los archivos necesarios estén correctos y en su lugar antes de continuar con el siguiente paso. El siguiente paso, shutil.make_archive, crea un archivo comprimido desde "tmp" llamado "tmp.zip" que contiene todo en la carpeta "tmp".
5 se refiere al éxito de ejecutar el código anterior y crear un archivo RAR como exploit mediante la entrada del usuario del nombre del archivo señuelo, del archivo script y del nombre del archivo de salida.

6) Después de obtener nuestra dirección IP y modificar el script bat, podemos proceder a crear el archivo ".rar" malicioso ejecutando el comando "python exploit.py".
El exploit.py requerirá que el usuario ingrese 3 campos: el nombre del archivo señuelo existente (document.pdf), el nombre del archivo script que hemos modificado anteriormente (script.bat) y un nombre de archivo RAR de salida para engañar a la víctima y que descargue y haga clic en el archivo; se necesita un nombre adecuado y, en este caso, usamos "steps-to-generate-income.rar". CVE-2023-38831 está entonces listo para explotar la máquina de la víctima.
Segunda parte de la explotación
La segunda mitad tendrá lugar tanto en la máquina Kali como en la máquina de la víctima, que es una máquina virtual Windows 11.

1) Primero crearemos un sitio web malicioso o enviaremos el archivo adjunto a la víctima.
En el lado izquierdo, ejecutaremos "python -m http.server 8080". Este comando es un proceso para capturar qué dirección IP accede a esta URL maliciosa, para así poder conocer la dirección IP de la víctima y escuchar diferentes solicitudes HTTP como "200" de una dirección IP específica. En el lado derecho, la víctima es atraída a esta dirección IP y se le engaña para que descargue el archivo "steps-to-generate-income.rar".

2) Una vez que la víctima ha sido engañada para descargar el archivo malicioso "steps-to-generate-income.rar", se mostrará qué dirección IP ha descargado el archivo junto con la franja horaria. Con esta información, podemos obtener la dirección IP de la víctima.

3) Luego configuraremos un ncat en el puerto 4444 en la máquina Kali, ya que el puerto 4444 está sincronizado con el mismo puerto escrito en script.bat para ejecutarse en la máquina de la víctima.
Una vez que la víctima hace clic en document.pdf, script.bat ejecutará la línea de comandos y se minimizará en segundo plano en un instante, lo que permite una conexión de puerta trasera para el atacante.

4) Luego podremos ejecutar diferentes comandos en la máquina de la víctima, como "C:\Windows" y luego "dir" para listar todos los diferentes ejecutables almacenados.
A continuación, tres comandos que se ejecutaron en la máquina de la víctima:
El primer comando, resaltado como "1", será "net user" para ver cuántas cuentas hay; de esto podemos concluir que solo hay 1 cuenta, W11.
El segundo comando, resaltado como "2", es "systeminfo" para obtener más información sobre la máquina de la víctima y los privilegios del usuario; en este caso, el usuario tiene privilegios de administrador.
El tercer comando, resaltado como "3", será navegar por carpetas aleatorias; en este caso, ejecutaremos comandos como "C:\Users\W11" y luego "dir" para saber qué tipo de archivos y carpetas hay; luego "C:\Users\W11\Documents" y luego "dir" para conocer el contenido del directorio Documentos; y tenemos suerte de que este usuario guardó su contraseña en un notepad.txt. Luego imprimimos los detalles de este bloc de notas en la línea de comandos para revelar los detalles: "type secret.txt". El resultado muestra que desde esta línea de comandos podemos leer, escribir y editar archivos en la máquina de la víctima, donde se pueden realizar acciones adicionales, como instalar un keylogger, para hacer que la máquina de la víctima sea más vulnerable y expuesta a más información sensible.

5) Por último, podemos crear un archivo de bloc de notas en el escritorio del usuario ejecutando este comando
"echo "You've been hacked, please go to testingwebsite" > C:\Users\W11\D\hacked.txt" y se creará hacked.txt en el escritorio del usuario para mostrar a la víctima que su máquina ha sido explotada.
Deland-Han. (2014, February 19). Dynamic link library (DLL) - Windows Client. Microsoft Learn. https://learn.microsoft.com/en-us/troubleshoot/windows-client/setup-upgrade-and-drivers/dynamic-link-library
Gillis, A. S. (2023, September 26). principle of least privilege (POLP). Security. https://www.techtarget.com/searchsecurity/definition/principle-of-least-privilege-POLP
GmbH, W. (n.d.). WinRAR 7.00 Final released. WinRAR Latest News. https://www.win-rar.com/singlenewsview.html?&L=0&cHash=c5bf79590657e32554c6683296a8e8aa&tx_ttnews%5Btt_news%5D=232
Lab, S. (2023, September 26). Analysis of CVE-2023-38831 Zero-Day vulnerability in WinRAR. Penetration Testing and CyberSecurity Solution - SecureLayer7. https://blog.securelayer7.net/analysis-of-cve-2023-38831-zero-day-vulnerability-in-winrar/
Patch management: benefits and best practices | Balbix. (2022, October 22). Balbix. https://www.balbix.com/insights/patch-management-benefits-and-best-practices/
Research, U. T. (2023, November 17). WinRAR CVE-2023-38831 Vulnerability: Malware Exploits & APT Attacks. https://www.uptycs.com/blog/cve-2023-38831-winrar-zero-day
Slavin, B. (2024, March 18). Common DMARC problems faced by users | DMARC Report. DMARC Report. https://dmarcreport.com/blog/common-dmarc-problems-faced-by-users/
ThreatLocker. (2023, September 11). WinRAR Remote Code Execution. ThreatLocker. https://www.threatlocker.com/blog/winrar-remote-code-execution
Traders’ Dollars in Danger: CVE-2023-38831 zero-Day vulnerability in WinRAR exploited by cybercriminals to target traders. (2023, August 23). Group-IB. https://www.group-ib.com/blog/cve-2023-38831-winrar-zero-day/
Vulnera. (2023, November 16). DarkCasino: a new APT threat leveraging WinRAR vulnerability - VULNERA. VULNERA - Vulnerability Management. Simplified. https://vulnera.com/newswire/darkcasino-a-new-apt-threat-leveraging-winrar-vulnerability/