Уязвимости Not Enough Items

Уязвимости Not Enough Items
Уязвимости Not Enough Items
Этой статьёй мы снова продолжаем тему взломов с помощью модов. На этих выходных наши RedPower сервера подверглись взлому - была проведена раздача большого количества ресурсов.

Это не дюп
Первое, что нас насторожило - среди ресурсов, которые раздавали были квантовые генераторы. Это сразу отвергло теорию дюпа, так как предмет сначала нужно получить, чтобы его дюпнуть. А как это сделать с предметом из творческого режима у которого ещё нет крафта?

Первый поиск - безрезультатно
Тут напрашивается вывод только один - взлом. Была проведена большая проверка, которая никаких результатов не дала. Оставался только один вариант взлома - с помощью пакетов (о чём мы писали в предыдущей статье). Позже выяснилось, что у игрока (и его аккаунтов), проводившего раздачу был творческий режим. Это значительно сузило круг поиска, потому что игровой режим можно переключить только двумя способами: с помощью команды gamemode и с помощью кнопки в NEI. Повторный поиск тоже ничего не дал. Банить аккаунты взломщика не имело смысла - это не решить проблему: он может создать новые, либо его последователи продолжать это дело. Выход из ситуации только один - искать уязвимость и фиксить её.
Решено было установить "капкан" и ждать визита взломщика.

"Капкан" сработал
Взломщик заходит в очередной раз проверить работу уязвимости и успешно попадает в наш "капкан". Правда, сам взловщик при его срабатывании ничего не заметил, а вот мы увидели, где находится сама дырка. Верным помощником взломщика отказался мод Not Enough Items (который стоит не только на клиенте, но и на сервере для полноценной интеграции). Взлом осуществлялся с помощью одного пакета, который серверная часть NEI принимала без каких-либо проверок.

Что же нам ChickenBones приготовил?
Давайте рассмотрим, как работает серверная часть NEI.

ServerPacketHandler - обработчик пакетов, присланных клиентом (игроком). На первый взгляд здесь всё хорошо. Проверка прав доступа есть. Мы выяснили, что взломщик использовал пакет с type=13, который переключает творческий режим. Но как он это сделал, если тут есть проверка доступа?

А теперь посмотрим, как работает функция проверки доступа authenticatePacket() в NEIServerConfig. И тут мы видим, что на некоторые type пакетов она тупо возвращает true не делая никаких проверок! Как раз на наш пакет с type=13 она всегда возвращает true (даёт добро на выполнение действия).

Вот и вся суть взлома. Сервер спокойно принимает пакет от клиента и включает игроку творческий режим.

Со стороны клиента отправка пакета очень проста. Остаётся лишь назначить клавишу, которая будет выполнять этот код и установить мод на клиент (лаунчеры не помеха).


Исследуя этот код, мы нашли ещё одну аналогичную уязвимость. Отправив пакет с type=15 можно изменить тип моба, который создаёт спаунер. Этот пакет тоже не прверяется на наличие прав доступа. Отправка пакета со стороны клиента уже немного отличается - нужно указать местоположение и тип моба, который будет создавать спаунер.
Этот пакет используется NEI для установки спаунеров мобов игроком, так как в свойства предмета нельзя записать тип моба, который он будет создавать - это не предусмотрено игрой.

Неудивительно, что автор мода допустил такие ошибки. Проверка доступа к функциями раскидана по разным частям мода, поэтому так легко не заметить отсутствующую проверку. Благо, в версии 1.6.4 автор во время переписывания этой функции, исправил проблему. Таким образом уязвимость работает только на версии Minecraft 1.5.2 и ниже.

Осторожно! Вымогатели
Некоторые администраторы серверов уделяют очень много времени на поиск всевозможных уязвимостей и багов в модах. Потом их фиксят. Это всё конечно хорошо, но сейчас пошла мода практиковать найденные уязвимости на чужих серверах и предлагать их администрации фикс за деньги, что по сути является вымогательством. Принцип таков: "Либо ты у нас покупаешь фикс и всё будет хорошо, либо твой сервер будут всё время ломать". Самое интересное, что на просьбы прекратить взламывать сервер они отвечают "Это не мы ломаем, это всё игроки. Мы к этому не вообще не причастны. Мы всего-лишь предлагаем Вам фикс. Покупать фикс или нет - это уже ваше дело.". Хотя на самом деле продавец и те, кто ломают ещё как связаны друг с другом. Таким образом вымогатели ставят администрацию серверов в безвыходное положение: купить фикс или закрыть сервер. Вымогатели делают деньги на продаже фиксов (ценник почти всегда завышен) и уязвимости игрокам, которые хотят "пошалить".

Выход есть! Где используют уязвимость? Правильно! На вашем сервере. А знаете, за кем в таком случае преимущество? - За вами. Взломщики играют на вашем сервере, а значит, по вашим правилам. Вы можете следить абсолютно за всем, что они делают на сервере. Просто установите слежку за всеми действиями игроков (включая присылаемые ими пакеты). С системой слежки взломщик сам выведет Вас на уязвимость совершенно бесплатно! Далее останется только написать фикс. Таким образом вымогатель останется с носом.

Заключение
Публикуйте найденные уязвимости в свободном доступе. Это в первую очередь сорвёт продажи вымогателям, потому что число серверов, где будет работать уязвимость значительно сократится, ведь есть на свете добрые люди, которые выкладывают фиксы бесплатно.
Публикуя уязвимости Вы помогаете другим проектам, а они Вам, если будут это делать тоже.
Стоит отметить, что при таком раскладе схема вымогательства потеряет свою актуальность, а игроки всех серверов перестанут страдать от регулярных откатов и вайпов.

Комментарии

2
BOOM96
Не хило, ёлки палки
1
Demon13
Ясно теперь,как на других серверах получали вещи с креатива,по крайней мере тут пофиксили...
1
Zetonator
А как показать фикс уязвимости другим? Ну чтобы вымогатели остались без хлеба?
Или ссылку сюда прислать?
1
guineafrom
Цитата: Zetonator
А как показать фикс уязвимости другим? Ну чтобы вымогатели остались без хлеба?
Или ссылку сюда прислать?
Гайд?Не?
1
TheAndrey Автор
Цитата: Zetonator
А как показать фикс уязвимости другим?
Фикс делается элементарно. Нормальные проекты сами могут написать его, а школопроэктам я не помогаю. Самое сложное сделано мною - найти уязвимость (которую продают за деньги).
1
_nanoDOK_
надеюсь больше проблем нет,и вы сможете взяться за вайп остальных серверов....
1
Zetonator
Цитата: Andrey
Цитата: Zetonator
А как показать фикс уязвимости другим?
Фикс делается элементарно. Нормальные проекты сами могут написать его, а школопроэктам я не помогаю. Самое сложное сделано мною - найти уязвимость (которую продают за деньги).
А, ну то есть скинуть ссылку сюда?
1
maxiMAN113
будем осторожны
1
Andy_eng
Цитата: maks550a
Нам всем очень повезло, что у нас такая хорошая администрация...
согласен
1
TheDeino
Тут администрация намного лучше чем на *одном известном мне проекте*, там они только на HiTech сидят и им и занимаются, а на остальные им плевать, читер? пусть играет! Админам пофигу. А тут вот как за серверами следят!)
1
edgar5
loooooooooooooooooooooool
1
paramime777
</s>молодцыхорошо справились<s>
1
Karasi
Красавчики!
1
MRC
Хорошо Справились! Молодцы! Хорошая Администрация!
1
STickFeeD
Я же взламывал :D
1
AILKAIII
да хорошая админестрация!
1
lord_Bana
наконец то исправили а то из за етих читеров сервера постоянно откатывают
1
Eniology
ммм прикольненько классная тема разоблачения читеров-глиферов
1
TURALEX31
Да уж - бывает же **** в жизни
2
Puft
Пытался взламывать ваш серв через ForgeOMB , отправляет пакеты , заставляет админов меня опать . Я ставл крет раздаю вещи . Мой план провалился лолООЛЛОЛ!
2
TheAndrey Автор
Цитата: Puft
Пытался взламывать ваш серв через ForgeOMB , отправляет пакеты , заставляет админов меня опать . Я ставл крет раздаю вещи . Мой план провалился лолООЛЛОЛ!
Пичаль, беда pla4et
1
raquzzic2
Цитата: Andrey
Цитата: Puft
Пытался взламывать ваш серв через ForgeOMB , отправляет пакеты , заставляет админов меня опать . Я ставл крет раздаю вещи . Мой план провалился лолООЛЛОЛ!
Пичаль, беда pla4et
Печалька
1
Darksyders
как устанавливат моды на таких лаунчерах?

админ как устанавливат моды на таких лаунчерах кто знает????
1
TheAndrey Автор
Цитата: hitman59
админ как устанавливат моды на таких лаунчерах кто знает???
Просто обходят защиту лаунчера и ставят. Абсолютно любой лаунчер можно обойти, какая бы защита там не была.
1
Darvin3355
админы я могу дать ва сылку на эту неуязвимость

Я могу дать сылку вам не на уязвимость она бесплатная я даже знаю кто взламывал сер чтоб связаться со мной вот скайп gaponenko228

Цитата: Andrey
Цитата: Zetonator
А как показать фикс уязвимости другим?
Фикс делается элементарно. Нормальные проекты сами могут написать его, а школопроэктам я не помогаю. Самое сложное сделано мною - найти уязвимость (которую продают за деньги).
ее не продают а качают кое-скакого сайта могу дать вам сылку на него скайп gaponenko228
2
TheAndrey Автор
Цитата: Darvin3355
админы я могу дать ва сылку на эту неуязвимость
Спасибо за поднятое настроение wink

Цитата: Darvin3355
Я могу дать сылку вам не на уязвимость она бесплатная я даже знаю кто взламывал сер чтоб связаться со мной вот скайп gaponenko228
Бесплатная, потому что она сделана по примеру, который описан здесь. До этого её наверняка продавали.
Свой 228-й скайп оставь себе.
1
BigRussianBoss
Спасибо Андрей :)
1
niqoar
хорошая администрация
1
maks550a
Кажется я знаю, что будет с теми проектами, которые копируют RS...
1
Imare
Цитата: maks550a
Кажется я знаю, что будет с теми проектами, которые копируют RS...
а таковые существуют?!
1
Ksemuil
Цитата: Imare
Цитата: maks550a
Кажется я знаю, что будет с теми проектами, которые копируют RS...
а таковые существуют?!
Да, в сеть утек шаблон сайта RedServer
1
MrMaDFace
Цитата: BOOM96
Не хило, ёлки палки
ем я тут не понел как они в креатив зашли
1
RedMers23
Спасибо за креатив На Стримкрафте, ванленде, ФростЛенде Самый богатый я на серве
1
Thauncraft_Lord
блин я даже не знаю он ничего компу не сделает этот серв я боюсь
1
luntic0
Я не понял сделайте гайд
1
serkir4
Цитата: BOOM96
Не хило, ёлки палки
хм ага!
0
erikstorac229
как голосовать скажите плес
0
baffu
Цитата: RedMers23
Спасибо за креатив На Стримкрафте, ванленде, ФростЛенде Самый богатый я на серве
И как ты это сделал?
1
zeeeeet
также на майнцентре взломали серв и там всем дают творческий p_down и вот из за этого я ушёл с серва и начал играть в ред!!! p_up o4ki music
1
Mixenix
Зря вы показали я показал другу и он стал богом простите но ник не помню pla4et