Pastebin / Raw Text C2 Server

Pastebin_C2 Вредоносное ПО (Malware) HIGH +7 очков

🎮 Влияние на механику Minecraft

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

Pastebin_C2 выявляет модификации, содержащие прямые ссылки на эндпоинты открытого текста (pastebin.com/raw/). Во вредоносном коде анонимные сервисы публикации текста могут использоваться как динамические конфигураторы: создатели мода размещают в пасте актуальные адреса вебхуков Discord, флаги деактивации или ссылки на дополнительные файлы. Мод обращается к пасте при запуске клиента через сетевой поток (например, URL.openStream()) и применяет полученные строки как параметры работы.

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

🔍 Анализируемые функции и API

ConstantPool CONSTANT_Utf8

Строковый литерал в пуле констант класса с адресом pastebin.com/raw.

💻 Реализация в моде (Исходный код)

package com.example.config;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URI;
import java.nio.charset.StandardCharsets;

public class RemoteTextConfigReader {
    private static final String PASTE_URL = "hxxps://pastebin[.]com/raw/<redacted_paste_id>";

    public static String fetchConfiguration() {
        try {
            URI uri = URI.create(PASTE_URL);
            try (InputStream in = uri.toURL().openStream();
                 BufferedReader reader = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8))) {
                StringBuilder builder = new StringBuilder();
                String line;
                while ((line = reader.readLine()) != null) {
                    builder.append(line).append("\n");
                }
                return builder.toString().trim();
            }
        } catch (Exception e) {
            return "";
        }
    }
}

🛡️ Сигнатура байткода и статический детект

Детектор анализирует строковые константы в пуле констант класса (CONSTANT_Utf8) на совпадение с шаблоном прямых ссылок публичного сервиса паст:

https?://(?:www\.)?pastebin\.com/raw/[a-zA-Z0-9]+

Правило выявляет явные строковые литералы, указывающие на этот конкретный эндпоинт открытого текста. Главное техническое ограничение заключается в строгой привязке к домену Pastebin: если конфигурация считывается с альтернативных сервисов (Rentry, Hastebin, GitHub Gists) или URL собирается динамически из отдельных строк, это правило не сработает.