Инициаторы атаки пытаются перебором выбить различные учетные данные на неправильно сконфигурированных устройствах Linux, выходящих в интернет. При компрометации целевого устройства они отключают историю оболочки и получают с удаленного сервера скомпрометированный архив OpenSSH под названием openssh-8.0p1.tgz. Архив содержит доброкачественный исходный код OpenSSH и несколько вредоносных файлов: сценарий оболочки inst.sh, двоичные файлы бэкдора для различных архитектур (x86-64, arm4l, arm5l, i568 и i686), а также архив со сценарием оболочки vars.sh, содержащий встроенные файлы для работы бэкдора.
ZiggyStarTux Botnet
После установки полезной нагрузки сценарий оболочки inst.sh запускает двоичный файл бэкдора, соответствующий архитектуре целевого устройства. Бэкдор представляет собой сценарий оболочки, скомпилированный с помощью проекта с открытым исходным кодом под названием Shell Script Compiler (shc), и позволяет субъектам угроз выполнять последующие вредоносные действия и устанавливать дополнительные инструменты на пораженные системы.
После запуска на устройстве бэкдор сценария оболочки проверяет доступ к /proc, чтобы определить, является ли устройство honeypot. Если он не может получить доступ к /proc, он определяет, что устройство является honeypot, и выходит из программы. В противном случае происходит утечка информации об устройстве, включая версию операционной системы, конфигурацию сети и содержимое /etc/passwd и /etc/shadow, по электронной почте на жестко заданный адрес dotsysadmin[@]protonmail[.]com, а также на любой адрес электронной почты, указанный агентом угрозы в качестве аргумента сценария.
На поддерживаемых системах бэкдор загружает, компилирует и устанавливает два руткита с открытым исходным кодом, доступных на GitHub, Diamorphine и Reptile. Бэкдор настраивает Reptile на подключение к C2-домену rsh.sys-stat[.]download на порт 4444 и скрывает дочерние процессы, файлы или их содержимое. По оценкам исследователей Microsoft, руткит Diamorphine также используется для скрытия процессов.
Чтобы обеспечить постоянный SSH-доступ к устройству, бэкдор добавляет два открытых ключа в конфигурационные файлы authorized_keys всех пользователей системы.
Бэкдор скрывает свою деятельность, удаляя записи из журналов Apache, nginx, httpd и системных журналов, содержащие IP и имя пользователя, указанные в качестве аргументов скрипта. Кроме того, он способен установить утилиту с открытым исходным кодом под названием logtamper для очистки журналов utmp и wtmp, в которые записывается информация о сеансах входа пользователей в систему и системных событиях.
Бэкдор устраняет конкуренцию криптомайнинга со стороны других майнеров, которые могут существовать на устройстве, монополизируя ресурсы устройства и предотвращая связь с жестко заданным списком хостов и IP-адресов, связанных с этой деятельностью. Это достигается путем добавления правил iptables для прекращения связи с хостами и IP-адресами и настройки /etc/hosts так, чтобы хосты разрешались в адрес localhost. Он также идентифицирует процессы и файлы майнеров по их именам и либо завершает их, либо блокирует доступ к ним, а также удаляет SSH-доступ, настроенный в authorized_keys другими противниками.
Бэкдор использует утилиту Linux patch для применения файла исправлений ss.patch, встроенного в vars.sh, к файлам исходного кода OpenSSH, входящим в его пакет. После применения патчей бэкдор компилирует и устанавливает на устройство модифицированный OpenSSH.
Скомпрометированный OpenSSH предоставляет злоумышленникам постоянный доступ к устройству и к учетным данным SSH, которые обрабатывает устройство. Патчи устанавливают крючки, которые перехватывают пароли и ключи SSH-соединений устройства, как клиента, так и сервера. Затем пароли и ключи хранятся в зашифрованном виде в файле на диске. Кроме того, патчи позволяют осуществлять вход root по SSH и скрывать присутствие злоумышленника путем подавления протоколирования SSH-сессий угрожающих субъектов, которые отличаются специальным паролем.
Модифицированная версия OpenSSH имитирует внешний вид и поведение легитимного сервера OpenSSH и поэтому может представлять большую проблему для обнаружения, чем другие вредоносные файлы. Исправленный OpenSSH также может позволить участникам атаки получить доступ и скомпрометировать дополнительные устройства. Этот тип атаки демонстрирует технику и настойчивость противников, которые стремятся проникнуть в открытые устройства и контролировать их.
Бэкдор запускает вторичную полезную нагрузку, встроенную в shell-сценарий vars.sh, который представляет собой слегка модифицированную версию ZiggyStarTux, IRC-бота с открытым исходным кодом, основанного на вредоносной программе Kaiten. Среди его особенностей - выполнение команд bash, отдаваемых с C2, и возможность распределенного отказа в обслуживании (DDoS).
Бэкдор использует различные механизмы для обеспечения устойчивости ZiggyStarTux на взломанных системах. Он копирует двоичный файл ZiggyStarTux в несколько мест на диске и устанавливает задания cron для его регулярного запуска. Более того, он запускает сценарий bash, который регистрирует ZiggyStarTux как службу systemd, создавая и настраивая служебный файл /etc/systemd/system/network-check.service.
Анализ ZiggyStarTux показал, что участники угрозы очистили двоичный файл от строк, связанных с ведением журнала, и включили функцию, которая записывает идентификатор процесса бота в файл /var/run/sys_checker.pid, что позволяет бэкдору читать этот файл и скрывать идентификатор процесса с помощью установленных руткитов.
Боты ZiggyStarTux общаются с C2 через IRC-сервер, размещенный на различных доменах и IP-адресах, расположенных в разных географических регионах. Есть свидетельства того, что участники угрозы маскируют свой трафик, используя поддомен финансового учреждения Юго-Восточной Азии, который размещен на одном из их собственных серверов.
Чтобы получить команды, боты ZiggyStarTux подключаются к IRC-серверу и присоединяются к скрытому защищенному паролем каналу под названием ##...##. На сервере были замечены команды bash, которые предписывали ботам загрузить и запустить два сценария оболочки с удаленного сервера. Первый скрипт, lscan, извлекает с сервера файл lssh.tgz - архив скриптов, которые сканируют каждый IP-адрес в подсети на предмет доступа к SSH с использованием списка паролей. Сценарии записывают результаты каждой попытки подключения в файл журнала.
Второй скрипт, zaz, извлекает скомпрометированный пакет OpenSSH со встроенным бэкдором с удаленного сервера. Для установки используется адрес электронной почты ancientgh0st@yahoo[.]com в качестве аргумента, который служит дополнительной точкой утечки информации об устройстве. Кроме того, zaz извлекает архив под названием hive-start.tgz, который содержит вредоносное ПО для майнинга, созданное для систем Hiveon OS - операционной системы с открытым исходным кодом на базе Linux, предназначенной для криптомайнинга.
Indicators of Compromise
IPv4
- 139.180.185.24
- 149.28.239.146
- 185.161.208.234
- 199.247.30.230
- 209.250.234.77
- 70.34.220.100
Domains
- 2018.rawdot.net
- amsterdam.nl.socialfreedom.party
- blog.rawdot.net
- cler.madagent.cc
- clients.rawdot.net
- donate.xmr.rawdot.net
- dumpx.madagent.cc
- dumpx.madagent.tm
- frankfurt.de.socialfreedom.party
- ftp.rawdot.net
- irc.socialfreedom.party
- losangeles.us.socialfreedom.party
- madagent.cc
- mh.madagent.cc
- mumbaitravelers.org
- ns1.madagent.cc
- ns2.madagent.cc
- ns3.madagent.cc
- ns4.madagent.cc
- pool.rawdot.net
- psql01.rawdot.net
- reg.madagent.cc
- reg.madagent.tm
- rsh.sys-stat.download
- sh.0xbadc0de.stream
- sh.madagent.tm
- sh.rawdot.net
- sh.sys-stat.download
- sidney.au.socialfreedom.party
- singapore.sg.socialfreedom.party
- ss.0xbadc0de.stream
- ssh.madagent.cc
- ssh.madagent.tm
- sshm.madagent.cc
- sshm.madagent.tm
- ssho.madagent.cc
- ssho.madagent.tm
- ssho.rawdot.net
- sshr.madagent.cc
- sshr.madagent.tm
- sshu.madagent.cc
- sshu.madagent.tm
- user.madagent.cc
- user.madagent.tm
- www.madagent.cc
- www.rawdot.net
- z.madagent.tm
Emails
SHA256
- 0027edb4a3c33f3d0cb5cc6fc85b58a8f7c70b8e57a2d28bed53f11c5f649848
- 081ad11e67af3fd98cb34cae89a5d26699f132a7ada62b1409eb85eaa4431437
- 0a565ebae65fb5fbb34801c2948d35a0b7b5762a9ce51bd55a43181f46bc9723
- 1782930bc2d46da541c980c09b13811f504b743e485a2befb0df1e5865a95847
- 1f6a52ce5ee017f88bd5f9028e3741e69837437cc48444d31d50ef28f1ed03f4
- 22c2115becd1d0ff9dfe70d14a52ab0354e420f4bfe0df70ca0d55d3c557c6b3
- 28616594b320b492c04429ab2f569d22d56bd9a047903f214d8b0eacab9b9c14
- 2eb5a4766dd7b90674f16eea62ba4e9c33dac8023e1692ed67c917bca448d14f
- 3033bb18554ce62f2f96338af682efb647c98d126734bb20426da8ec49ec1cdd
- 30d456d6dbd492923972d5f3ceb72c0f7e80d1f6391d6f9c0f5e889b6f71be66
- 32aa3e5fd9b79dcfd9ebe590b6784527cb17217cdeb61a1791bd4a5f721f0099
- 336928c813f3c0ab9aaad5a9853ed96b3f82e7b2b6d96139a7ebb146337dd248
- 39b640f62c0046139c41bccd0f98f96165597d50c4823ed88154160c0cae6bd1
- 3ba302f533fcf065fe3f80b4bbea4653e86a5a8c1c752e4798a64a6be3d06e5d
- 4b23d2126a6aec79396630dc10bdf279d9dafc71358145ab0b726cdf0a90dedf
- 52fb0dcd929d57e32c8383873897963dd671b626d7e31dd98d2b092a9b57be43
- 55448d04183a253c939a6463c8992cbc007be237c80de92ff31e3f6606ebd470
- 58b9622960e1bb189a403da6cd73e6ec2cb446680a18092351e5a9fa1a205cbc
- 5e11731e570fc79ad07da4f137e103e0ebfa45530fabd8fa9a9fece4e497bce0
- 6101fcda212f2ee2340e85eaac071ffa95507166ba253d555a69c9ab6c16b148
- 635b3dfadeab6b3c2574b1689607b776518d42c2b9fdb895e25c04a8ae9dee92
- 6e9b692b401a57db306bd6c95409042aa6ed075088a40a6ceb74f96895116b62
- 722b1970caa804154d85fb3dba88cf192bf3eedd2fea40c8c49c98130797649d
- 74f4b030529435a8872c3e10d3341a1988d4fdbba89d9afd876458980f6f7a49
- 75385bb1548c567c4814ad5c13fde6bf64e47694c244e1c26e903abc4523c667
- 78701d6cafb3e477a033d63b99d480c2d7647079133ecabdcb54cd7a520e46de
- 7ca66932d9015bf14b89b8650408e39a65c96f59f9273feaede28cabca8a3bbc
- 7ea1db1581afb977ec6d4abadf98660526205f23c366f7ba6aa04061762b5a7e
- 85877eb8f60c903ccb256e776c3e077295cf10eccff8d8ce4400edc699e8021f
- 8cb1df542bc60eb187066c136ae413540b33dd28c856ee472dd073affb96a84b
- 8e7c6cbbb17ffe5ea98986dd36c3e979bc348626637ff9bfd55cb08414f3494c
- 8ff06c7f0c105301397d15b1be3f6fe3ba081bbe042136c5b0fa4478ab59650d
- 9564172445e66f0d3cb64c42f2298f14093c342b95b023bcb82408b6f2a66cd3
- 9967921339799ed6f510c8a567f8bd69129d75d113f5c63612ceef0d5c4bf019
- a26631dcc1aef92a92d2d37476fb1e9becae54541e0411224a441d3afc20b02a
- b72f21077f9f4d85d555cc6c18677e285b61f980ca99d0495d52f0cbbe66517a
- b77f991a9e0533a7bb39480ba7e96c29a1c1c9e2e212497cfbf6221751a196a2
- b8a360e7094e27857c7daacf624f2d9916e002201caf8a88c5aa3bd37f7bc264
- bc1e444ab92bb40e41e08846f3e485ffa17ab98563f2ed2129ef1b02c3d5a878
- c775964fe1207b6a6f9faf818c63874b2bf5612581e3c3b2d9f6eeee969229d8
- d335c83c0dd5bc9a078e796016f9a9f845ff89ee434c63c7a2e7b360e8be3e95
- e22148ae0cb1a5cc7743351909cd0ae99ba6a84e181dded1cfa9fa0ed9e4f0e2
- fdfed7c2bf55d0f2440f623e265ab8b8006987f94d23982688914feffb3c549e