
Une démo POC sur CVE-2023-38831
Une démonstration POC de CVE-2023-38831
Brève description de la vulnérabilité
Comment fonctionne la vulnérabilité ?

Première partie de l'exploitation
La première moitié se déroule sur la machine de l'attaquant pour commencer l'exploitation.

1) Tout d'abord, nous devons créer le dossier d'exploitation contenant la pièce jointe malveillante, « pdf », le code python d'exploitation et le script bat avec la commande suivante : « git clone https://github.com/HDCE-inc/CVE-2023-38831 »

2) Voici ce que contient le dossier avant toute exploitation,
Voici trois commandes qui ont été exécutées sur la machine victime : Chromium Docs - Severity Guidelines for Security Issues. (n.d.). Consulté le 20 février 2024, sur https://chromium.googlesource.com/chromium/src/+/HEAD/docs/security/severity-guidelines.md#:~:text=High%20severity%20(S1)%20vulnerabilities%20allow,be%20rated%20as%20high%20severity.

3) Trouver l'adresse IP de la machine Kali via ifconfig :

4) Nous allons ensuite modifier le script existant dans script.bat avec la ligne de commande suivante (image ci-dessus)
« start » démarre le processus en ligne de commande, « /min » minimise l'invite de commande en arrière-plan, ncat permet de se connecter à l'adresse IP de l'attaquant via le port 4444, et enfin -e cmd.exe exécute la ligne de commande dans l'invite de commande.

5) Ceci montre le code exploit.py expliqué ci-dessous :
1 correspond à la saisie utilisateur du nom du fichier appât (document.pdf), du nom du script (bat.script) et du nom du fichier RAR que la victime verra ; dans ce cas, nous l'enregistrerons sous getrich.rar.
2 correspond aux vérifications effectuées pour valider si les fichiers existent dans le dossier CVE-2023-38831 sur la machine Kali Linux avec la bonne convention de nommage ; si le nom est incorrect ou en double, un message d'erreur est affiché et le programme s'arrête.
3 correspond à la création d'un dossier temporaire avec os.mkdir() pour stocker le fichier nouvellement créé avant compression et l'utiliser comme espace de travail.
4 correspond à une ligne de copie, shutil.copyfile, pour copier le fichier appât et le fichier script dans leurs répertoires respectifs dans « tmp », afin de s'assurer que tous les fichiers nécessaires sont corrects et en place avant de passer à l'étape suivante. L'étape suivante, shutil.make_archive, crée une archive à partir de « tmp » appelée « tmp.zip » contenant tout ce qui se trouve dans le dossier « tmp ».
5 correspond à la réussite de l'exécution du code ci-dessus et à la création du fichier RAR comme exploit via les entrées utilisateur du fichier appât, du fichier script et du nom du fichier de sortie.

6) Après avoir obtenu notre adresse IP et modifié le script bat, nous pouvons maintenant créer le « .rar » malveillant en exécutant la commande « python exploit.py »
Le exploit.py demandera à l'utilisateur de saisir 3 champs : le nom du fichier appât existant (document.pdf), le nom du fichier script que nous avons modifié précédemment (script.bat) et un nom de fichier RAR de sortie pour attirer la victime à télécharger et cliquer sur le fichier, nécessitant un nom approprié ; dans ce cas, nous avons utilisé « steps-to-generate-income.rar ». CVE-2023-38831 est alors prêt à exploiter la machine victime.
Deuxième partie de l'exploitation
La seconde moitié se déroule à la fois sur la machine Kali et sur la machine victime, qui est une VM Windows 11.

1) Nous allons d'abord soit créer un site web malveillant, soit envoyer la pièce jointe à la victime.
Sur le côté gauche, nous exécutons « python -m http.server 8080 ». Cette commande permet de capturer l'adresse IP qui accède à cette URL malveillante, ce qui nous permet de connaître l'adresse IP de la victime, et écoute les différentes requêtes HTTP comme « 200 » provenant d'une adresse IP spécifique. Sur le côté droit, la victime est attirée vers cette adresse IP et est incitée à télécharger le fichier « steps-to-generate-income.rar ».

2) Une fois que la victime a été incitée à télécharger le fichier malveillant « steps-to-generate-income.rar », l'interface indique quelle adresse IP a téléchargé le fichier ainsi que l'intervalle de temps. À partir de ces informations, nous pouvons obtenir l'adresse IP de la victime.

3) Nous allons ensuite configurer un ncat sur le port 4444 de la machine Kali, car le port 4444 est synchronisé avec celui écrit dans le script.bat qui sera exécuté sur la machine victime.
Une fois que la victime clique sur document.pdf, le bat.script exécute la ligne de commande et se minimise en arrière-plan instantanément, ce qui permet une connexion backdoor pour l'attaquant.

4) Nous pouvons ensuite exécuter différentes commandes sur la machine victime, comme « C:\Windows » puis « dir » pour lister tous les différents exe qui y sont stockés.
Première commande signalée par « 1 » : « net user » pour voir combien de comptes existent ; on en conclut qu'il n'y a qu'un seul compte W11.
Deuxième commande signalée par « 2 » : « systeminfo » pour en savoir plus sur la machine victime et les privilèges de l'utilisateur ; dans cet exemple, il s'agit d'un privilège administrateur.
Troisième commande signalée par « 3 » : navigation dans des dossiers aléatoires ; nous exécutons des commandes comme « C:\Users\W11 » puis « dir » pour connaître les fichiers et dossiers, puis « C:\Users\W11\Documents » puis « dir » pour voir le contenu du dossier Documents ; nous avons la chance que cet utilisateur ait enregistré son mot de passe dans un notepad.txt. Nous affichons ensuite le contenu de ce bloc-notes avec « type secret.txt ». Le résultat montre qu'à partir de cette ligne de commande, nous pouvons lire, écrire et modifier des fichiers sur la machine victime, où d'autres actions comme l'installation d'un keylogger peuvent être réalisées pour rendre la machine plus vulnérable et exposer davantage d'informations sensibles.

5) Enfin, nous pouvons créer un fichier texte sur le bureau de l'utilisateur en exécutant cette commande
« echo "You've been hacked, please go to testingwebsite" > C:\Users\W11\D\hacked.txt » et un fichier hacked.txt sera créé sur le bureau de l'utilisateur pour montrer à la victime que sa machine a été exploitée.
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/