Серия атак TeamPCP: угон облачных ключей через открытое ПО превращается в полномасштабные вторжения

APT

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

Описание

Атаки начались 19 марта с внедрения вредоносного кода в бинарные файлы, контейнерные образы и рабочие процессы GitHub Actions популярного сканера уязвимостей Trivy от Aqua Security. Вредоносная программа была нацелена на сбор облачных учётных данных, SSH-ключей, файлов конфигурации Kubernetes и секретов CI/CD, которые затем шифровались и выгружались на контролируемые злоумышленниками домены. В последующие дни по аналогичной схеме были атакованы сканер безопасности инфраструктуры как кода (IaC) KICS от Checkmarx, библиотека-прокси для языковых моделей LiteLLM и пакет Telnyx для Python. Все эти инструменты широко используются разработчиками по всему миру, что обеспечило злоумышленникам огромную потенциальную базу жертв.

Особенностью данной кампании стала необычайная скорость, с которой украденные секреты были валидированы и использованы. По данным исследователей Wiz, первые признаки активности с применением похищенных в ходе атаки на Trivy учётных данных были зафиксированы уже через несколько часов после внедрения вредоносного кода. Для автоматической проверки работоспособности ключей злоумышленники использовали открытый инструмент TruffleHog, который совершает живые вызовы API к облачным провайдерам. Например, для проверки ключа доступа AWS инструмент вызывает API "sts:GetCallerIdentity". Это стандартная практика массового сбора учётных данных, позволяющая быстро отсеять нерабочие и сфокусироваться на активных.

Как сообщают специалисты Wiz, уже через 24 часа после первоначальной кражи TeamPCP перешла к фазе разведки внутри облачных сред жертв. Используя валидные ключи, группа начала массово перечислять ресурсы в сервисах AWS. В фокусе внимания оказались службы идентификации и управления доступом (IAM), вычислительные мощности (EC2, Lambda), базы данных (RDS), DNS (Route 53), хранилища S3 и, что особенно примечательно, сервис контейнеров Amazon ECS. Активное использование таких API, как "ListClusters" и "DescribeTaskDefinition", указывает на целенаправленный поиск целей для получения интерактивного доступа к контейнерам. Также злоумышленники сканировали AWS Secrets Manager, готовя список секретов для последующей массовой выгрузки.

Получив карту среды, TeamPCP приступила к активным действиям по выполнению кода и перемещению внутри инфраструктуры. В нескольких случаях злоумышленники, используя похищенные персональные токены доступа (PAT, Personal Access Token) к GitHub, создавали pull-запросы со злонамеренными рабочими процессами. После запуска эти workflow предоставляли доступ к содержимому репозиториев и runtime-секретам, а логи затем удалялись для сокрытия следов. В облачных средах для выполнения команд Bash и Python-скриптов непосредственно в запущенных контейнерах использовалась функция ECS Exec, которая задействует агент AWS Systems Manager (SSM). Это позволило углубить разведку и выгрузить дополнительные чувствительные данные.

Финальная фаза атак была посвящена массовой эксфильтрации данных. В GitHub злоумышленники клонировали частные репозитории в огромных масштабах с помощью команды "git.clone", получая доступ к исходному коду и конфигурациям. В AWS данные выгружались напрямую из S3-бакетов, Secrets Manager и баз данных. Важно отметить, что TeamPCP не пыталась скрыть свою активность, используя инструменты с чёткими сигнатурами и присваивая ресурсам вызывающие имена вроде "pawn" или "massive-exfil". Большая часть активности группы, по наблюдениям Wiz, исходила от выходных узлов VPN-сервиса Mullvad и хостинг-провайдера InterServer.

Профиль противника указывает на группу, которая фокусируется на максимально быстром захвате секретов и данных, не заботясь о скрытности. Похищенная информация, вероятно, может быть продана или использована другими криминальными группировками для дальнейших атак. Для специалистов по реагированию на инциденты и охотникам за угрозами критически важно обеспечить включение и мониторинг журналов аудита, особенно тех, что по умолчанию отключены, например, логи доступа к облачным хранилищам. Ключевыми индикаторами компрометации являются аномальная активность перечисления ресурсов (множественные вызовы "List*", "Describe*" API), массовая валидация или доступ к секретам, подозрительное использование VPN-провайдеров, а также удаление логов рабочих процессов в GitHub. Своевременное обнаружение таких аномалий может прервать цепочку атаки до того, как злоумышленники успеют выгрузить наиболее ценные данные.

Индикаторы компрометации

IPv4

  • 103.75.11.59
  • 105.245.181.120
  • 138.199.15.172
  • 154.47.29.12
  • 163.245.223.12
  • 170.62.100.245
  • 185.77.218.4
  • 193.32.126.157
  • 209.159.147.239
  • 23.234.107.104
  • 34.205.27.48
Комментарии: 0