Вредоносное ПО, поражающее NetBeans для внедрения бэкдоров в собираемые проекты

GitHub выявил вредоносное ПО, поражающее проекты в интегрированной среде разработки NetBeans и использующее процесс сборки для своего распространения. Расследование показало, что при помощи рассматриваемого вредоносного ПО, которому присвоено имя Octopus Scanner, были скрыто интегрированы бэкдоры в 26 открытых проектов, имеющих репозитории на GitHub. Первые следы проявления Octopus Scanner датированы августом 2018 года.

Вредоносное ПО способно выявлять файлы с проектами NetBeans и добавлять свой код в файлы проекта и собираемые JAR-файлы. Алгоритм работы сводится к нахождению каталога NetBeans с проектами пользователя, перебору всех проектов в данном каталоге, копированию вредоносного сценария в nbproject/cache.dat и внесению изменений в файл nbproject/build-impl.xml для вызова этого сценария при каждой сборке проекта. При сборке копия вредоносного ПО включается в результирующие файлы JAR, которые становятся источником дальнейшего распространения. Например, вредоносные файлы были размещены в репозиториях вышеупомянутых 26 открытых проектов, а также различными другими проектами при публикации сборок новых релизов.

При загрузке и запуске проекта с вредоносным JAR-файлом другим пользователем, на его системе начинался очередной цикл поиска NetBeans и внедрения вредоносного кода, что соответствует модели работы самораспространяющихся компьютерных вирусов. Кроме функциональности для самораспространения, вредоносный код также включает функции бэкдора для предоставления удалённого доступа к системе. На момент разбора инцидента управляющие бэкдором серверы (C&C) не были активны.

https://www.opennet.ru/opennews/pics_base/0_1590785768.png

Всего при изучении поражённых проектов было выявлено 4 варианта инфицирования. В одном из вариантов для активации бэкдора в Linux создавался файл автозапуска "$HOME/.config/autostart/octo.desktop", а в Windows для запуска применялся запуск заданий через schtasks. Среди других создаваемых файлов:

Бэкдор мог использоваться для добавления закладок в развиваемый разработчиком код, организации утечки кода проприетарных систем, кражи конфиденциальных данных и захвата учётных записей. Исследователи из GitHub не исключают, что вредоносная деятельность не ограничивается NetBeans и могут существовать другие варианты Octopus Scanner, внедряющиеся для своего распространения в процесс сборки на базе Make, MsBuild, Gradle и других систем.

Названия поражённых проектов не упоминается, но их легко можно найти через поиск в GitHub по маске "cache.dat". Среди проектов, в которых найдены следы вредоносной активности: V2Mp3Player, JavaPacman, Kosim-Framework, Punto-de-venta, 2D-Physics-Simulations, PacmanGame, GuessTheAnimal, SnakeCenterBox4, Secuencia-Numerica, CallCenter, ProyectoGerundio, pacman-java_ia, SuperMario-FR-.