Как взломать сервер Minecraft эксплуатируя уязвимость Log4j

Minecraft

Сегодня, на примере намеренно уязвимой машины Crafty с платформы Hack The Box  я покажу, как атаковать сервер Minecraft эксплуатируя уязвимость Log4j.

Еще по теме: Установка сканера уязвимости Log4J

Подключение и сканирование

Итак, мы подключились к машине с Hack The Box через VPN. Добавили IP-адрес машины в /etc/hosts:

10.10.11.249 crafty.htb

Подробнее о подключении к Hack The Box, см. в статье «Как использовать Hack The Box».

И запустили сканирование портов Nmap:

Этот скрипт сначала выполняет быстрое сканирование, а затем более тщательное с использованием имеющихся скриптов (опция -A).

Сканер смог найти 2 открытых порта:

  • 80 — веб-сервер Microsoft IIS 10.0;
  • 25565 — сервер Minecraft 1.16.5.

Сначала мы проверили веб-сервер и обнаружили одностраничный сайт, который раскрыл еще один поддомен.

Добавили новый поддомен в файл /etc/hosts:

Сканирование ни первого, ни второго сайта ничего не дало, поэтому мы перешли к серверу Minecraft.

Взлом Minecraft через уязвимость Log4j

Проверили, есть ли для обнаруженного софта готовые эксплоиты. Существуют специальные базы данных уязвимостей, такие как Exploit-DB, но для начала просто выполнили поиск в Google. По запросу «Minecraft 1.16.5 exploit» узнали, что в этой версии сервера есть уязвимый компонент Log4j.

Теперь на GitHub находим экс­пло­ит, который поз­воля­ет получить уда­лен­ное выпол­нение кода (RCE).

Log4J — это библиотека для логирования в Java, широко используемая в различных программных приложениях для записи и управления логами. В конце 2021 года была обнаружена серьезная уязвимость в Log4J, известная как Log4Shell, которая позволяет удаленно выполнять произвольный код, что представляет серьезную угрозу для безопасности множества систем по всему миру.

О том, как устро­ена уяз­вимость Log4Shell в средс­тве логиро­вания Log4j, в статье «Способы эксплуатации уязвимости Log4j».

Ав­тор экс­пло­ита под­разуме­вает, что сер­вер раз­вернут на Linux, а в нашем слу­чае исполь­зует­ся Windows. Поэто­му в исходном коде нуж­но изме­нить интер­пре­татор коман­дной обо­лоч­ки с /bin/sh на cmd.exe (стро­ка 26).

Из­менен­ный код экс­пло­ита
Из­менен­ный код экс­пло­ита

При запус­ке кода нуж­но исполь­зовать парамет­ры —userip и —lport, зада­ющие адрес и порт лис­тенера для под­клю­чения реверс‑шел­ла. Порт веб‑сер­вера, с которо­го будет заг­ружать­ся наг­рузка, необ­ходимо передать в парамет­ре --webport.

За­пуск экс­пло­ита
За­пуск экс­пло­ита

По­луча­ем сооб­щение об ошиб­ке: исполня­емый файл Java не най­ден. Дело в том, что у нас не уста­нов­лен JDK, кача­ем его с сай­та Oracle.

Ес­ли пов­торить запуск экс­пло­ита, он оста­новит­ся и будет слу­шать порт 1389 и ждать зап­рос от наг­рузки Log4j.

Так как мы ожи­даем под­клю­чение от реверс‑шел­ла, запус­тим лис­тенер:

За­тем исполь­зуем кон­соль­ный кли­ент для под­клю­чения к сер­веру Minecraft. Пос­ле запус­ка зада­ем адрес сер­вера 10.10.11.249:25565, а ког­да соеди­нение уста­нов­лено, отправ­ляем наг­рузку:

Под­клю­чение к сер­веру Minecraft
Под­клю­чение к сер­веру Minecraft

Поч­ти момен­таль­но получа­ем зап­рос от наг­рузки, а затем и сес­сию на лис­тенере.

Ра­бота экс­пло­ита
Ра­бота экс­пло­ита

Мы можем зай­ти от име­ни поль­зовате­ля и заб­рать флаг.

Взлом Minecraft Log4j уязвимость
Взлом Minecraft Log4j уязвимость

Заключение

Мы успешно провели разведку и сканирование портов машины Crafty с Hack The Box, выявив открытые порты веб-сервера Microsoft IIS 10.0 и сервера Minecraft 1.16.5. Обнаружили уязвимость в компоненте Log4j на сервере Minecraft, что предоставило нам точку входа для дальнейших атак.

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

Дима (Kozhuh)

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

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