Новая угроза: Разбираемся с вредоносным ПО, написанном на Golang

Новая угроза: Разбираемся с вредоносным ПО, написанном на Golang

Go-зловреды способны атаковать сразу на несколько платформ, при этом долго оставаясь незамеченными.

image

Автор: Loraine Balita-Centeno

В последнее время разработчики вредоносного ПО все чаще выбирают язык программирования Golang для создания вредоносных программ. По данным компании Intezer, занимающейся кибербезопасностью, с 2017 года количество штаммов вредоносного ПО, написанных на Go, увеличилось почти на 2000 процентов.

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

Что такое Golang?

Go (он же Golang) – относительно новый язык программирования с открытым исходным кодом. Go был разработан Робертом Гриземером, Робом Пайком и Кеном Томпсоном в Google в 2007 году. В 2009 году язык Go был официально представлен публике.

Новый язык программирования разрабатывался в качестве альтернативы C ++ и Java. Создатели Go хотели сделать удобный и легкий для чтения язык программирования, облегчающий жизнь разработчиков.

Почему киберпреступники выбирают Golang?

В настоящее время существуют тысячи вредоносных программ, написанных на Golang. Как правительственные, так и негосударственные хакерские банды используют Go для создания множества штаммов, включая трояны удаленного доступа (RAT), похитители(stealers), майнеры, а также ботнеты.

Особенно мощным данный тип вредоносного ПО делает его способность атаковать Windows, macOS и Linux с использованием одной и той же кодовой базы. Разработчик вредоносного ПО может написать код один раз, а затем использовать единую кодовую базу для компиляции бинарных файлов для нескольких платформ. Код, написанный разработчиком для Linux, с помощью статического связывания (static linking), успешно работает на Mac или Windows.

Мы видели крипто-майнеры на Go, работающие как под Windows, так и под Linux. Также встречались многоплатформенные похитители криптовалюты с троянскими приложениями, которые работают с MacOS, Windows и Linux.

Помимо этой универсальности, штаммы, написанные на Go, очень сложно обнаружить.

Go-зловреды могут длительное время оставаться необнаруженными по причине большого размера. Из-за статического связывания двоичные файлы в Go крупнее, чем в других языках. Многие антивирусные программы такие объемные файлы не сканируют.

Кроме того, большинству антивирусов сложнее найти подозрительный код в бинарном коде на Go. Двоичные файлы на Go значительно отличаются от подобных файлов на других более распространенных языках.

Обнаружению также препятствуют особенности языка Go, затрудняющие обратное проектирование и анализ двоичных файлов.

Хотя многие инструменты обратного проектирования хорошо приспособлены для анализа двоичных файлов, скомпилированных из C или C ++, анализ двоичных файлов на Go по-прежнему проблематичен. Данный фактор значительно снижает уровень обнаружения вредоносных программ, написанных на Golang.

Штаммы вредоносных программ на Go и векторы атак

До 2019 года обнаружение вредоносных программ, написанных на Go, было большой редкостью. В последние годы наблюдается устойчивый рост штаммов вредоносных программ на Go.

Исследователь вредоного ПО обнаружил в «дикой природе» около 10700 уникальных штаммов вредоносных программ, написанных на Go. Наиболее распространенными из них традиционно являются RAT и бэкдоры. Однако, в последние месяцы данная тенденция изменилась. Было обнаружено множество коварных программ-вымогателей.

ElectroRAT

ElectroRAT – чрезвычайно назойливый зловред, написанный на Golang, и используемый злоумышленниками для воровства информации. Среди другого вредоносного ПО данный зловред отличает способность атаковать сразу несколько операционных систем.

Зловред ElectroRAT, обнаруженный в декабре 2020 года обладает целым арсеналом вредоносных возможностей, одинаковых для его Linux, macOS и Windows версий.

Вредоносная программа способна вести кейлоггеры, делать снимки экрана, загружать файлы с дисков, загружать файлы и выполнять команды. Основной целью ElectroRAT является опустошение криптовалютных кошельков. Зловред оставался незамеченным в течение года.

Для распространения ElectroRAT киберпреступники применили изощренную тактику. Злоумышленники создали поддельный веб-сайт и поддельные учетные записи в социальных сетях. Также были созданы три зараженных троянами приложения, связанные с криптовалютой (для Windows, Linux и macOS). Киберпреступники продвигали зараженные приложения на форумах по криптовалюте и блокчейну, таких как Bitcoin Talk, заманивая жертв на веб-страницы троянизированного приложения.

После загрузки и запуска приложения пользователем, открывался графический интерфейс, а вредоносное ПО проникало в фоновый режим.

РоббинГуд

Зловещая программа-вымогатель Robbinhood попала в заголовки газет в 2019 году после атаки на компьютерные системы города Балтимор.

Операторы Robbinhood, потребовали 76000 долларов за расшифровку файлов. Правительственные системы были отключены и практически месяц не работали. Как сообщается, город потратил 4,6 миллиона долларов на восстановление данных на пораженных компьютерах.

Согласно другим источникам, ущерб из-за потери дохода мог стоить городу гораздо больше - до 18 миллионов долларов.

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

Zebrocy

В 2020 году оператор вредоносного ПО Sofacy разработал вариант Zebrocy, написанный на Go.

Штамм маскировался под документ Microsoft Word и распространялся с помощью фишинговых приманок с информацией о COVID-19. Зловред работал в качестве загрузчика - собирал данные из системы зараженного хоста, а затем их загружал на командно-управляющий сервер.

Арсенал Zebrocy, состоящий из дропперов, бэкдоров и загрузчиков, используется уже много лет. Однако, его Go-версия была обнаружена только в 2019 году.

Go-вариант Zebrocy был разработан группами киберпреступников поддерживаемыми государством. Зловред использовался для атак на компьютерные сети министерств иностранных дел, посольств и других правительственных организаций.

В будущем появятся новые вредоносные программы на Golang

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

Поэтому советую читателям применять основные меры предосторожности, чтобы избежать заражения вредоносным ПО. Не нажимайте на подозрительные ссылки и не загружайте вложения из электронных писем или веб-сайтов. Не стоит доверять даже письмам от семьи и друзей. Их учетные записи могли быть скомпрометированы, а письма заражены вредоносными программами.


на нашем Телеграм канале мы рассказываем о самых актуальных угрозах и событиях, которые оказывают влияние на обороноспособность стран, бизнес глобальных корпораций и безопасность пользователей по всему миру.