Должен остаться только один: техники и тактики хакерской группировки TeamTNT

Должен остаться только один: техники и тактики хакерской группировки TeamTNT
Ажиотаж вокруг майнинга криптовалют заметно поутих: даже энтузиасты признают, что заработать серьёзные деньги таким способом стало значительно сложнее — с большой степени из-за сопутствующих легальному майнингу расходов на оборудование и электроэнергию. Однако если переложить эти расходы на кого-то другого, захватив контроль над подключенными к интернету вычислительными устройствами с помощью нелегального ПО для майнинга, то при наличии доступа к достаточному количеству устройств можно получить вполне приличный доход. Конкуренция среди киберпреступников на этом поле высока в силу относительной простоты и низкого риска такого рода кампаний. Тем более интересно изучить методы и инструменты тех группировок, которые добиваются больших успехов. Одна из таких — TeamTNT. Познакомимся с нею поближе.


О TeamTNT
Участники TeamTNT позиционируют себя либо как «честных робингудов», не желающих причинить вреда, либо как «Red Team» — команду экспертов по тестированию на проникновение.Точное количество участников группы неизвестно, однако на основании некоторых постов группы в Twitter можно сделать вывод, что в группе не менее 12 человек. Скрипты и тексты программ, а также некоторые посты, написанные на немецком языке, позволяют сделать вывод, что по крайней мере для нескольких членов группы немецкий язык является родным.


Тактики TeamTNT
Выбор цели

Главным направлением для атак TeamTNT являются Linux-серверы, включая облачные инфраструктуры организаций. Практически все кампании TeamTNT реализуются в соответствии со стандартным алгоритмом:
  1. Поиск легкодоступной цели с небезопасной конфигурацией или с уязвимостями в развёрнутых системных сервисах (например, NoSQL СУБД Redis).
  2. Внедрение в систему.
  3. Закрепление в системе.
  4. Маскировка.
  5. Целевая деятельность — майнинг криптовалюты.
Похищение учётных записей

Основной способ проникновения в системы, который использует TeamTNT — это использование похищенных или тайно созданных учётных записей:

Для SSH, чтобы создать возможность возврата в систему после заражения; во многих случаях злоумышленники используют свои собственные открытые ключи SSH;
Для AWS — начиная с последнего квартала 2020 года, многие образцы вредоносного кода TeamTNT содержали функции для поиска учётных данных AWS в заражённой системе. Последние обнаруженные версии вредоносного ПО теперь ищут учётные данные AWS в нескольких местах и проверяют переменные среды, в которых клиенты могли разместить учётные данные AWS. Основной целью при этом являются пользователи, использующие инструмент интерфейса командной строки AWS или фреймворки AWS, которые позволяют сохранять информацию об авторизации на машине пользователя либо в текстовых файлах, либо в текстовых переменных;
Для Docker API. В январе 2021 года мы получили образец кода TeamTNT, который демонстрировал интересное поведение: он искал на скомпрометированных системах не только учётные данные SSH и AWS, но и учётные данные Docker API; все найденные файлы с учётными данными отправлялись на управляющий сервер хакеров. Интерес TeamTNT к пользователям Docker объясняется тем, что желающие управлять сервисом удалённо могут настроить API по своему усмотрению от полного отсутствия безопасности до включения шифрования и строгих требований к учётным данным. По статистике Shodan, количество небезопасных инсталляций Docker уменьшается, однако злоумышленники также приспосабливаются к ситуации, совершенствуя свои вредоносные программы.
Для других служб: в 2021 году мы обнаружили кампанию TeamTNT с расширенными возможностями сбора учётных данных, направленную на клиентов различных облачных сервисов и других служб, которыми могли пользоваться потенциальные жертвы, — среди них AWS, Cloudflare, Google Cloud, Git, службы SMB, FTP и другие службы, в которых могут присутствовать учётные данные




Устранение конкурентов
Если в подключённом к интернету устройстве имеется слабое место в системе безопасности, велика вероятность того, что несколько злоумышленников будут использовать его в своих целях. Поскольку криптовалютные майнеры интенсивно используют аппаратные ресурсы, злоумышленники часто считают необходимым убедиться, что система не содержит аналогичных приложений, поскольку это приведёт к разделению ресурсов между полезными нагрузками.

Чтобы не допустить конкуренции за ресурсы, TeamTNT внедрила собственные функции для вытеснения конкурирующих криптовалютных майнеров. Например, в кампании Kinsing Killer TeamTNT удаляет майнеры конкурирующей группировки в целевой системе с помощью следующего скрипта:





Техники
Внедрение бэкдоров
Чтобы иметь возможность контролировать работу установленного во взломанную систему майнера, первым шагом после компрометации становится установка бэкдора в виде командного процессора (шелла) с возможностью удалённого доступа. Один из зафиксированных нами бэкдоров называется tsh (tiny shell). Используя ключевые слова из двоичного файла, мы смогли отследить его до проекта на GitHub.  Другой бэкдор базируется на Q-shell, удалённой оболочке, которая передаёт данные с использованием шифрования Blowfish.




Diamorphine руткит

Скрытность является решающим фактором для добычи криптовалюты, поскольку без введения ограничений процесс майнинга быстро привлечёт внимания, создавая 100-процентную загрузку процессора. Даже если такое аномальное поведение не будет замечено администратором, оно, скорее всего, вызовет появление предупреждений в системе облачного провайдера, который затем отправит уведомление пользователю. Чтобы обойти эту проблему, авторы вредоносных программ внедряют новые функции, позволяющие скрыть процесс от администраторов и системных инструментов. Одним из способов скрытия является внедрение в систему руткитов.

TeamTNT использует руткит с открытым исходным кодом в режиме ядра под названием Diamorphine. Этот руткит создаёт собственные обработчики (хуки) для следующих системных вызовов:
  • getdents/getdents64: этот хук позволяет скрыть операции записи файловой системы от приложений пользовательского режима;
  • kill: этот хук реализует основную функциональность руткита, которая зависит от сигнала, посылаемого процессу:
    • Сигнал SIGINVIS = 31 перебрасывает пользовательский флаг PF_INVISIBLE процесса на задачу, связанную с указанным идентификатором процесса (pid),
    • Сигнал SIGMODINVIS = 63 скрывает/раскрывает наличие модуля ядра.
    • Сигнал SIGSUPER = 64 получает привилегии root путём фиксации новых учётных данных с uids = 0,
После запуска криптовалютного процесса, использующего XMRig, процессу майнинга посылается сигнал SIGINVIS.


Это делается с помощью вызова утилиты kill с аргументом SIGINVIS и идентификатором целевого процесса. Утилита вызывает linux syscall, который затем перехватывается Diamorphine, делая процесс невидимым для приложений пользовательского режима:


Если сравнить вывод утилиты top до отправки сигнала скрытия в модуль руткита и после отправки сигнала, можно заметить, что процесс XMRig (pid = 12254) вызывает скачок загрузки процессора:


Однако после отправки сигнала скрытия процесс не показывается в списке, выводимом top, и остаётся необнаруженным. Разработчики TeamTNT оптимизировали XMRig для использования в облачных средах, уменьшив максимальный процент использования процессора, чтобы остаться незамеченными и не вызывать нежелательных сигналов тревоги.


Закрепление в системе
Второй этап работы полезной нагрузки TeamTNT, как правило, рассчитан на закрепление в системе таким образом, чтобы выполняться даже после перезапуска поражённого устройства. Для этого майнер криптовалюты включается в систему в качестве системной службы:



Маскировка
Первые версии полезных нагрузок TeamTNT выглядели довольно наивно и распространялись без какой-либо обфускации, шифрования или упаковки, все сценарии оболочки были написаны открытым текстом. Со временем группа усовершенствовала свои полезные нагрузки, заменив открытый текст в скриптах на фрагменты, закодированные Base64. Для упаковки исполняемых файлов Linux в формате ELF TeamTNT использует популярный многоплатформенный пакер UPX (Ultimate Packer for Executables). Поверх упакованного исполняемого файла UPX хакеры добавили ещё один слой — написанный на Go двоичный файл с полезной нагрузкой, зашифрованный с помощью AES с жёстко закодированным ключом и вектором инициализации.

IRC бот

Один из популярных в среде хакеров инструментов — IRC-боты. Благодаря открытым спецификациям протоколов и открытому коду IRC-боты часто используют злоумышленники для развёртывания каналов связи с управляющим сервером.

Примером подобного вредоносного IRC-бота — печально известный Dorkbot, который через IRC-сообщения выводит учётные данные из заражённой системы. TeamTNT использует в кампаниях собственного IRC-бота, основанного на боте, разработанном группировкой Kaiten. Более поздние версии бота основаны на усовершенствованном варианте Kaiten под названием Ziggy StarTux. В нём поддерживаются новые команды и простое шифрование для конфиденциальных строк. Помимо модификации кода, TeamTNT добавила в код бота собственную «подпись»:




Доходность нелегального майнинга

Большая часть подключённых к интернету устройств не обладает достаточной вычислительной мощностью для эффективного майнинга криптовалюты. Чтобы компенсировать этот недостаток, злоумышленникам приходится либо выбирать самые мощные и производительные устройства, либо использовать крупную бот-сеть, руководствуясь принципом «количество важнее качества».

Капитализация мирового рынка криптовалют по состоянию на июнь 2021 года составляет 1,63 триллиона долларов США. В ходе расследования деятельности TeamTNT мы обнаружили несколько идентификаторов кошельков, подключённых к одному и тому же криптовалютному пулу. Используя статистику этого одного из этих кошельков, удалось выяснить, что группа добыла более 17,86 монет Monero (XMR), что по текущему курсу составляет порядка 5000 долларов США.



Хотя 17,86 монеты Monero могут показаться не слишком большой суммой, реальная стоимость майнинга может удивить. Чтобы оценить соответствующую стоимость, мы провели эксперимент с использованием 3-гигагерцового 6-ядерного процессора Intel i5-8500B Coffee Lake с 8 гигабайтами оперативной памяти, который не является платформой высокого класса и не имеет GPU, способного повысить эффективность майнинга. Наше модельное оборудование было способно производить 1000 хэшей в секунду. Эта производительность выше средней по сравнению с количеством хэшей в секунду от заражённых узлов, показанных на рисунке.

За 24 часа наше оборудование смогло добыть 0,0005 монет Monero. Чтобы добыть 17,86 монеты Monero, потребуется примерно 35 600 заражённых устройств со сходными техническими характеристиками, которые будут работать в течение 24 часов. Если предположить, что потребляемая мощность процессора составляет 100 Вт, электрическая энергия, необходимая для этого, составит 85,44 мегаватт-часа (МВт·ч). Средняя стоимость 1 Вт·ч в РФ составляет 3 рубля, следовательно, затраты на такой майнинг составят более 256 млн рублей. И это без учёта ущерба оборудованию, нанесённого работой при 100-процентной нагрузке.


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



Выводы
Монетизация вредоносного ПО остаётся сильным стимулом для злоумышленников. В условиях массового перехода организаций на облачные технологии группы злоумышленников также переносят свои операции в облако, следуя за более прибыльными и доступными целями.

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


Для предприятия успешная атака TeamTNT может быть чрезвычайно неприятным событием, поскольку, помимо платы за чрезмерный расход электроэнергии, несанкционированный захват ресурсов может привести к нарушению работы систем.
Alt text

Internet Archive увидел мрачное будущее интернета в 2046, хакеры слили данные о заработках в Twitch, Conti встали на тропу войны, а США готовятся к ежедневной борьбе с кибервымогателями. И как всегда еженедельные конкурсы с крутыми призами для подписчиков канала! Смотрите 35-й выпуск наших новостей.

Trend Micro

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