Помогите Взломали сервер через автодонат.

  • Автор темы Автор темы Hypex
  • Дата начала Дата начала

Hypex

Активный участник
Пользователь
Баллы
61
Ник в Minecraft
Hypex
Доброго времени суток! Не так давно у меня произошла неприятная ситуация - взломали сервер чрез автодонат trademc. Вернее его взламывали похожим образом уже два раза. Прошу помочь, если кто-то что-то знает об этом, ну или может у кого есть идеи. Заранее спасибо!

Сначала поясню за сам сервер. Находится он на VDS (debian 9). Включает в себя bungeecord, хаб и два игровых сервера (выживание и креатив). Все сервера кроме bungeecord и хаба localhost. На хабе включён RCON. Версия серверов 1.18.2.
Автодонат работает следующим образом: на bungeecord, хабе и сервере выживания стоит плагин CommandSync. С автодоната команда идёт на хаб, а от туда на сервер выживания (донат пока есть только на сервере выживания).

Первый раз взломщики каким-то образом узнали пароль от RCON, а он состоит из 18 символов. Самое забавное, что эти взломщики мне сообщили, что пароль они узнали благодаря автодонату. Кстати, прям перед взломом была совершена покупка игровой валюты на 1р. на несуществующий аккаунт (взломщики сказали, что это они были).

После данного инцидента я добавли правило в файрвол, запрещающее подключаться к порту RCON, для всех ip, кроме самого автодоната.

Во второй раз произошло уже что-то интереснее. Как и в первый раз через автодонат было совершено несколько покупок на 1р на тот же несуществующий аккаунт. Но в последнем донате в качестве ответа на высланную на сервер команду пришло не как ранее "Syncing command /eco give НикИгрока 100", а "Ответ: Ваш пароль изменён!". Т.е. купив валюты, взломщики поменяли пароль на аккаунте администратора.

Нормальный лог автодоната:
KVOXX1f6lMkdqA

Автодонат2.PNG
Лог при взломе:
M6KE5PKoHygk0g

Автодонат.PNG
Вот что в логах:

Нормальная отработка:
[02:02:01] [RCON Listener #1/INFO]: Rcon connection from: /79.137.70.179
[02:02:01] [Thread-7/INFO]: [0;32;1mSent output - localhost[m

В момент взлома:
[02:10:01] [RCON Listener #1/INFO]: Rcon connection from: /79.137.70.179
[02:10:01] [Server thread/INFO]: [AuthMe] Rcon changed password of НикАдмина

Настройка iptables:
vw4g-YuujFLV_w

iptables.PNG
Результат работы Advanced Port Scanner:
7qoKksw4jl80Qw

APS.PNG
Буду рад любым предложениям, предположениям и вопросам.
 
Последнее редактирование:
Может у них сама команда и то, что отразится в логах расположено в разных полях? Ибо логи хранятся в БД, и это поле надо проверять на SQL инъекцию, а вот команду не надо проверять. Есть такая вероятность?
У них запрос принимает только ID одного товара(не команды) и из этого товара уже извлекает команду, а затем выполняет ее и записывает в лог.
 
Думаю, вопрос примитивных SQL инъекций там проработали, иначе мы бы наблюдали не взлом какого-то игрового сервера, а всей базы trademc.
 
Думаю, вопрос примитивных SQL инъекций там проработали, иначе мы бы наблюдали не взлом какого-то игрового сервера, а всей базы trademc.
Ну я это и имел ввиду, что у них реально отправленная команда может быть отдельно от той команды, что в логе. Ибо то, что они реально кидают через RCON не надо проверять на инъекции, а вот то, что они в логи пихают - надо.
 
Ну я это и имел ввиду, что у них реально отправленная команда может быть отдельно от той команды, что в логе. Ибо то, что они реально кидают через RCON не надо проверять на инъекции, а вот то, что они в логи пихают - надо.
А в логах сервера то что пишет?
 
Советую для начала просто сверить их хэш-суммы с оригинальными плагинами с оф.сайта.
С этим есть маленькие трудности, ибо плагина не первой свежести)
Но я вот сейчас просмотрел у всех 5 плагинов Java код через jd-gui. Ничего не нашёл. Ни в одном плагине нет прослушки события RemoteServerCommandEvent. Плагин CommandSync чуть внимательнее изучил, ибо ему для доступа к прешедшей команде sync.... не обязательно что-то прослушивать. Там же реализован обработчик данной команды. И в CommandSync ничего странного не заметил. Сверил части кода обработчика команды sync с гитом разраба (но чуть более новой версии), нет отличий.
 
А в логах сервера то что пишет?
Вот что при должной обработке доната:
На хабе:
log1.jpg
На выживании:
log2.jpg

Вот что во время взлома:
На хабе:
log3.jpgНа выживании:
log4.jpg

Т.е. во время взлома на сервер выживания команда не пришла. Она была заменена (где-то, когда-то) на changepass и выполнилась сразу на хабе.
 
Прикольно, посмотрев на checkhost видно, что подключение к ркону именно через trademc, то есть, другие лица мы откидаем. Скорее всего эти "умники" нашли бэкдор в трейдмс. Лучше всего ждать ответа от поддержки. На будущее посоветую: сделай белый список команд, которые можно использовать через ркон, это явно повысит безопасность.
 
Интересная ситуация, конечно.
В ЛК трейдмц других входов нет, при этом операция выполнена якобы с трейдмц.
В таком случае вижу единственный вариант - создали отдельный магазин с собственным товаром.
Ответ на оригинальный ЛК может приходить чисто по техническим причинам.
Но тогда встаёт вопрос - каким образом узнали пароль от ркон?
ТС, ты пароль менял после первого взлома? Т.е. пароль ркона узнали два раза подряд?
В этом случае уже попахивает бекдором в плагине, как ни крути.
Проверять вручную - себя не уважать, лучше в автоматическом режиме отслеживать все сетевые подключения
 
ТС, ты пароль менял после первого взлома?
Конечно!
Т.е. пароль ркона узнали два раза подряд?
Знали ли они пароль во второй раз - ответить не могу.
лучше в автоматическом режиме отслеживать все сетевые подключения
Можно чуть подробнее?
 
Интересная ситуация, конечно.
В ЛК трейдмц других входов нет, при этом операция выполнена якобы с трейдмц.
В таком случае вижу единственный вариант - создали отдельный магазин с собственным товаром.
Ответ на оригинальный ЛК может приходить чисто по техническим причинам.
Но тогда встаёт вопрос - каким образом узнали пароль от ркон?
ТС, ты пароль менял после первого взлома? Т.е. пароль ркона узнали два раза подряд?
В этом случае уже попахивает бекдором в плагине, как ни крути.
Проверять вручную - себя не уважать, лучше в автоматическом режиме отслеживать все сетевые подключения
В запросе видно, что используется ID магазина и ID товара. ID товара трейдмс может использовать для получения команды, а ID магазина для получения данных от rcon. По этому при подделке ID товара, ID магазина не изменится и команда будет выполнена даже если пароль от rcon'a будет изменен. Т.е. им не нужно вообще знать пароль.
 
В таком случае вижу единственный вариант - создали отдельный магазин с собственным товаром.
Ответ на оригинальный ЛК может приходить чисто по техническим причинам.
В логах покупки в поле источник покупки стоит именно мой домен.
 
Отправь, пожалуйста, эти файлы.
Чуть позже скину, сейчас нет возможности.
Это все плагины, которые установлены в хабе или есть какие-то другие?
Это все плагины, других нет.

Вот я сделал выдержки из логов во время взлома. Т.е. убрал сообщения типа "[INFO] [/80.87.193.100:51236] <-> InitialHandler has pinged" и т.п. Тут логи с bungeecord, хаба и выживания.
 

Вложения

  • bc.txt
    bc.txt
    4,3 КБ · Просмотры: 6
  • hb.txt
    hb.txt
    3,8 КБ · Просмотры: 4
  • srv.txt
    srv.txt
    3 КБ · Просмотры: 2
А может ТС подхватил какой-то вирус на свой ПК? Эти "хакеры" украли куки с браузера и зашли в панель TradeMC и выполнили нужную команду... Или прямо с его ПК выполнили команду... Это конечно маловероятный вариант, но исключать его не нужно.
 
А может ТС подхватил какой-то вирус на свой ПК?
Ну у меня работает Касперский) Также я не качал ничего пиратского последний год, наверное. Ну и для майнкрафт хакеров это уж как-то слишком. Да и если бы они украли мои куки, то я бы сейчас не только с майнкрафт сервером разбирался)
 
выполнили нужную команду
Если бы они у товара поменяли команду, купли товар, вернули старую команду, то в логах покупки бы отобразилась та команда, на которую они заменили.
 
Назад
Верх Низ