
На этой неделе все крупные сервера Minecraft встряхнула шокирующая новость об уязвимости, которая позволяет получить абсолютно любой предмет на сервере. Один из крупных проектов подвергнулся таком взлому...
В результате была собрана группа людей для поиска уязвимости. Ночь, потраченная на поиск прошла не зря. Поиски увенчались успехом. Было обнаружено целых три уязвимости.
Авторизация как решето
Помимо уязвимости двойного хендшейка, обнаруженной 1.5 года назад, нашлась новая, добавляемая Forge.
Думаю, многие знают о том, что Forge обменивается списком модов с сервером, благодаря чему Вы могли видеть сообщения вида "Моды приведённые ниже не найдены", "ID и мода отсутствует". Нормальным образом авторизация на сервере происходит так (отправка пакетов): проверка сессии -> обмен списком модов, но вот очерёдность этого не проверяется. Разработчики Forge посчитали, что если произошёл успешный обмен списком модов, значит авторизация пройдена успешно и игрока можно пускать на сервер. Но про проверку очерёдности они забыли...
Таким образом, если мы отправим сначала список модов, а только потом авторизуемся - мы успешно подключимся к серверу, несмотря на неудачную проверку сессии. Уязвимость работает только на версии 1.6.4 и ниже.
Дюп и гриферство с помощью модов - это только лишь цветочки
Пришло время ягодок. Как Вы знаете, большинство модификаций пишется любителями из-за чего модификации полны багов. В этот раз нас больше всего "порадовала" модификация BiblioCraft, используемая на Magic серверах. Мод позволяет получить абсолютно любой предмет на сервере - достаточно лишь отправить ему один пакет. Стандартными методами этого конечно не сделать, но написав клиентскую модификацию за 10 мин. можно отправлять такой пакет. Удобный способ получения вещей не правда ли?
Мод Custom NPCs тоже имеет аналогичную уязвимость, позволяющую заспаунить любого моба, отправив один пакет. К счастью, эта проблема решается штатными средствами мода.
Таким образом открывается новая линейка способов взлома - с помощью пакетов. Благо, что обычному школьнику без навыков программирования анализа кода не под силу его осуществить.
Заключение
Администрация RedServer следит за всеми новостями и своевременно применяет исправления, благодаря чему мы уберегли наши сервера от взлома, а те, кто не следит сейчас занимаются их восстановлением. За это время было зафиксировано 10 попыток взлома, но все они провалились.
Выражаем свою благодарность _Shevchik_ за фикс авторизации, TechoMan за фикс BiblioCraft (на его базе был сделан фикс для версии 1.7.10 и предоставлен сообществу).