Содержание
Введение
В поиске нужного софта пользователи часто заходят на сайты и торрент-трекеры, кажущиеся им безопасными, скачивают с них программы, устанавливают и пользуются. Но действительно ли безопасны эти программы? С пиратским ПО можно «подцепить» угрозу любого уровня: от майнера до сложного руткита. Проблема распространения ВПО через серое ПО не нова и имеет на сегодняшний день мировой масштаб. Расскажем о ней на примере исследования одной атаки.
В августе 2023 года наш SOC с помощью MaxPatrol SIEM зафиксировал аномальную сетевую активность. Была привлечена команда по расследованию инцидентов (PT CSIRT). В результате обработки инцидента нами было установлено, что пользователь компании Х был скомпрометирован достаточно простым, но неизвестным ранее ВПО. В ходе расследования не было обнаружено следов фишинга, взлома внешнего контура и других техник — пользователь всего лишь установил программу, скачанную через торрент.
ВПО «вело себя» достаточно шумно: собирало информацию о компьютере жертвы, устанавливало RMS (программу для удаленного управления) и майнер XMRig, архивировало содержимое пользовательской папки Телеграма (tdata) — и это лишь наиболее деструктивные действия. ВПО отправляло собранную информацию в телеграм-бот, который выступал в роли контрольного сервера.
В результате детального исследования ВПО, цепочки заражения и телеграм-бота нашей команде удалось установить большое число жертв по всему миру и определить вероятного автора ВПО, которое мы назвали autoit stealer.
Жертвы
Всего мы зафиксировали более 250 000 зараженных устройств в 164 странах. Подавляющее их число (более 200 тысяч) находится в России, Украине, Белоруссии, Узбекистане. В топ-10 стран также вошли Индия, Филиппины, Бразилия, Польша, Германия.
Большинство жертв — некорпоративные пользователи, которые скачивают пиратское ПО с сайтов на свои домашние компьютеры. Однако среди жертв мы обнаружили государственные структуры, образовательные учреждения, нефтяные и газовые компании, медицинские учреждения, строительные, горнодобывающие компании, ритейл, IT и др. Все идентифицированные компании получили соответствующее уведомление.
Цепочка заражения
ВПО попадает на машину пользователя через торрент-клиент; торрент-файл скачивается с сайта topsoft[.]space.
Сайт topsoft[.]space был перерегистрирован в октябре 2022 года на украинском регистраторе.
После докачки торрента на компьютер жертвы попадает зараженный установщик программы, которую хотел получить пользователь. Помимо легитимного, установщик также содержит вредоносный компонент, который состоит из множества отдельных программ, представляющих собой по большей части скомпилированные AutoIt-скрипты, дополнительно накрытые пакером Themida. Реализация ВПО не выглядит сложной, оно сделано в некоторой степени «по методичке» и использует простые тактики реализации атаки. В цепочке заражения выполняются следующие действия (наиболее важные пункты будут сопровождаться скриншотами из MaxPatrol SIEM).
- Проверка окружения. ВПО завершает выполнение, если истинно одно из следующих условий:
- Имя пользователя совпадает с одним перечисленных: Peter Wilson, Acme, BOBSPC, Johnson, John, John Doe, Rivest, mw, me, sys, Apiary, STRAZNJICA.GRUBUTT, Phil, Customer, shimamu.
- Имя компьютера совпадает с одним из перечисленных: RALPHS-PC, ABC-WIN7, man-PC, luser-PC, Klone-PC, tpt-PC, BOBSPC, WillCarter-PC, PETER-PC, David-PC, ART-PC, TOM-PC.
- На рабочем столе текущего пользователя присутствуют файлы с именем: secret.txt, report.odt, report.rtf, Incidents.pptx.
- Текущая ОС — Windows XP.
- Подготовка системы: ВПО отключает отображение файлов, имеющих одновременно атрибуты «скрытый» и «системный» (для ключа HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\
ShowSuperHidden устанавливается значение 0). В дальнейшем всем каталогам, создаваемым данным скриптом, присваиваются атрибуты SuperHidden («скрытый» + «системный»). Создаваемые каталоги: C:\ProgramData\WindowsTask, C:\ProgramData\ReaItekHD, C:\ProgramData\ReaItekHD, C:\ProgramData\Setup. - Закрепление через Task Scheduler:
- Задача Microsoft\Windows\WindowsBackup\BackUpFiles: выполнение процесса C:\ProgramData\ReaItekHD\taskhost.exe каждую минуту.
- Задача Microsoft\Windows\WindowsBackup\CheckUP: выполнение процесса C:\ProgramData\ReaItekHD\taskhostw.exe раз в две минуты.
- Задача Microsoft\Windows\WindowsBackup\GlobalData: выполнение процесса C:\Windows\SysWOW64\unsecapp.exe каждую минуту.
- Задача Microsoft\Windows\WindowsBackup\WinlogonCheck: выполнение процесса C:\ProgramData\ReaItekHD\taskhost.exe при каждом входе пользователя в систему.
- Задача Microsoft\Windows\WindowsBackup\OnlogonCheck: выполнение процесса C:\ProgramData\ReaItekHD\taskhostw.exe при каждом входе пользователя в систему.
- Отключение AppLocker: PowerShell.exe -command "Import-Module applocker" ; "Set-AppLockerPolicy -XMLPolicy C:\ProgramData\WindowsTask\new.xml"
- Установка клиента RMS: C:\ProgramData\windows tasks service\winserv.exe.
- Закрепление клиента RMS:
- Задача Microsoft\Windows\Wininet\winser — запуск процесса C:\ProgramData\Windows Tasks Service\winserv.exe каждую минуту.
- Задача Microsoft\Windows\Wininet\winser — запуск процесса C:\ProgramData\Windows Tasks Service\winserv.exe при каждом входе в систему.
- Попытка создания локального пользователя John и добавления его в группы:
- Администраторы,
- Пользователи удаленного рабочего стола,
- Administrators,
- Remote Desktop Users.
- Установка запрета на доступ текущего пользователя и пользователя SYSTEM к следующим папкам и файлам (вероятно, с целью противодействия средствам защиты узлов):
- C:\Program Files (x86)\Microsoft JDX
- C:\Program Files\Common Files\System\iediagcmd.exe
- C:\Windows\Fonts\Mysql
- C:\Program Files \Internet Explorer\bin
- C:\Program Files\ByteFence
- C:\Program Files (x86)\360
- C:\ProgramData\360safe
- C:\Program Files (x86)\SpyHunter
- C:\Users\[USERNAME]\Desktop\AV_block_remover
- C:\Users\[USERNAME]\Downloads\AV_block_remover
- C:\Program Files\HitmanPro
- C:\Program Files\Malwarebytes
- C:\Program Files\COMODO
- C:\Program Files\Enigma Software Group
- C:\Program Files\SpyHunter
- C:\Program Files\AVAST Software
- C:\Program Files (x86)\AVAST Software
- C:\ProgramData\AVAST Software
- C:\Program Files\AVG
- C:\Program Files (x86)\AVG
- C:\ProgramData\Norton
- C:\ProgramData\Kaspersky Lab Setup Files
- C:\ProgramData\Kaspersky Lab
- C:\ProgramData\Kaspersky Lab Setup Files
- C:\Program Files\Kaspersky Lab
- C:\Program Files (x86)\Kaspersky Lab
- C:\Program Files\DrWeb
- C:\Program Files\Bitdefender Agent
- C:\Program Files\Common Files\Doctor Web
- C:\Program Files\Common Files\AV
- C:\ProgramData\Doctor Web
- C:\ProgramData\grizzly
- C:\Program Files (x86)\Cezurity
- C:\Program Files\Cezurity
- C:\ProgramData\McAfee
- C:\Program Files\Common Files\McAfee
- C:\Program Files \Rainmeter
- C:\Program Files \Loaris Trojan Remover
- C:\ProgramData\Avira
- C:\Program Files\Process Lasso
- C:\Program Files (x86)\GRIZZLY Antivirus
- C:\Program Files\ESET
- C:\Program Files\Ravantivirus
- C:\ProgramData\Evernote
- C:\ProgramData\WavePad
- C:\ProgramData\RobotDemo
- C:\ProgramData\PuzzleMedia
- C:\ProgramData\BookManager
- C:\ProgramData\ESET
- C:\ProgramData\FingerPrint
- C:\Program Files (x86)\Panda Security
- C:\Program Files (x86)\IObit\Advanced SystemCare
- C:\Program Files (x86)\IObit\IObit Malware Fighter
- C:\Program Files (x86)\Transmission
- Сокрытие локального пользователя john с экрана приветствия: для ключа реестра software\microsoft\windows nt\currentversion\winlogon\specialaccounts\userlist\john установлено значение 0, что обнаруживается правилом Hide_Account_from_Logon_Screen.
- Создание и запуск файла C:\ProgramData\rdpwinst.exe с параметром -i (установщик RDP Wrapper).
- Добавление исключений в Windows Defender.
- Пути:
- 1. C:\ProgramData
- 2. C:\ProgramData\windows tasks service\winserv.exe
- 3. C:\ProgramData\reaitekhd\taskhost.exe
- 4. C:\ProgramData\windowstask\microsofthost.exe
- 5. C:\ProgramData\windowstask\appmodule.exe
- 6. C:\ProgramData\windowstask\audiodg.exe
- 7. C:\Windows\syswow64\unsecapp.exe
- 8. C:\ProgramData\windowstask\amd.exe
- 9. C:\Program Files\rdp wrapper
- 10. C:\Windows\system32
- Процессы:
- 1. C:\ProgramData\reaitekhd\taskhost.exe
- 2. C:\ProgramData\windows tasks service\winserv.exe
- 3. C:\Windows\syswow64\unsecapp.exe
- 4. C:\ProgramData\windowstask\microsofthost.exe
- 5. C:\ProgramData\windowstask\audiodg.exe
- 6. C:\ProgramData\windowstask\appmodule.exe
- 7. C:\ProgramData\windowstask\amd.exe
- 8. C:\Windows\syswow64\unsecapp.exe
- 9. C:\ProgramData\rdpwinst.exe
- Отключение компонентов Windows Defender. Данная активность сопровождается изменениями в соответствующих ветках реестра, что вызывает сработку правила Windows_Defender_Disable.
- Удаление сервисов, связанных с антивирусным ПО Malwarebytes (mbamservice, bytefenceservice).
- Удаление службы теневого копирования (swprv).
- Изменение правил брандмауэра Windows.
- Разрешение входящих подключений для процессов:
- 1. C:\ProgramData\WindowsTask\AppModule.exe,
- 2. C:\ProgramData\WindowsTask\AMD.exe.
- Блокирование остальных входящих подключений по портам 139, 445.
- Создание и выполнение скрипта C:\ProgramData\install\delete.bat для зачистки следов.
- Архивация данных клиента Телеграма и их отправка в телеграм-бот атакующих. Из итогового архива исключаются файлы *.exe, .*bat, *.lnk, каталоги emoji, tdummy, user_data: 7z.exe a «C:\ProgramData\Setup\[USERNAME]_[COMPUTERNAME].7z» «C:\Users\[USERNAME]\AppData\Roaming\Telegram Desktop\tdata\*» -r -x!*. -x!*.exe -x!*.bat -x!*.lnk -x!dumps\* -x!emoji\* -x!tdummy\* -x!user_data\*
- Очистка DNS-кэша: ipconfig /flushdns
- Если текущая операционная система — Windows 7, то производятся следующие действия: из одного из стейджей извлекается запароленный SFX-архив (пароль — naxui) scaner.dat, который сохраняется в файл C:\ProgramData\RunDLL\sc.exe. Данный архив содержит файлы Eternalblue-2.2.0.exe, Doublepulsar-1.3.1.exe, которые реализуют одноименные эксплойты. Сам скрипт их только извлекает, не производя запуск. Затем с FTP-сервера загружается неизвестный исполняемый файл, зашифрованный алгоритмом RC2 (ключ — bc216a5ae848fab1d2dbd8e7b5a91142). Он сохраняется в файл C:\ProgramData\RunDLL\scupdate.exe, который впоследствии запускается. Реквизиты доступа к FTP: IP — 193.32.188.10, логин — alex, пароль — easypassword. Реквизиты доступа к FTP скрипт также получает с URL:
- http://unsecapp.xyz/blue/Login.html,
- http://unsecapp.xyz/blue/Password.html,
- http://unsecapp.xyz/blue/Server.html.
- Установка майнера XMRig.
- В бесконечном цикле сканируется системный буфер обмена и подменяются строки, которые могут представлять собой идентификаторы криптокошельков. Актуальные криптокошельки для подмены скрипт получает с сервера taskmgr.xyz или rundll.xyz. Если при обращении к URL http://taskmgr.xyz/clipdata/STATUS.html либо http://rundll.xyz/clipdata/STATUS.html сервер в теле ответа возвращает строку «ONLINE», реквизиты кошельков для подмены берутся со следующих URL:
- http://taskmgr.xyz/LTC.html,
- http://taskmgr.xyz/BTC.html,
- http://taskmgr.xyz/BTC2.html,
- http://taskmgr.xyz/BTC3.html,
- http://taskmgr.xyz/ETH.html,
- http://taskmgr.xyz/ZEC.html,
- http://taskmgr.xyz/DOGE.html,
- http://taskmgr.xyz/TRX.html,
- http://taskmgr.xyz/BCH.html.
Данная активность была зафиксирована MaxPatrol SIEM с помощью правила Schtasks_Commandline, которое обнаруживает подозрительную работу с задачами по расписанию.
Правило Add_new_user_in_commandline обнаружило события добавления нового пользователя и события работы с группами пользователей через интерпретатор командной строки, что и вызвало сработку.
Для работы с правами пользователей применялась утилита icacls.exe, поэтому данная активность зафиксирована правилом Permission_Groups_Discovery.
Для обнаружения подобных действий в MaxPatrol SIEM предусмотрено правило Data_Compression, которое срабатывает при использовании утилит для создания архивов.
Стоит отметить пункт с кражей пользовательской папки Телеграма — tdata. Получив эту папку, злоумышленник может попасть в телеграм-сессию пользователя и незаметно для жертвы следить за перепиской, выгружать данные из аккаунта. В списке устройств не будет отражено устройство злоумышленника. Если у пользователя настроен второй фактор доступа к переписке в виде пароля, хакер может его успешно и незаметно сбрутфорсить. При обнаружении следов компрометации необходимо завершить текущую сессию и зайти в Телеграм заново.
Вероятная цель атаки — перепродажа доступов как в сети, так и в Телеграме. На теневых форумах можно найти много сообщений о скупке tdata:
Анализ бота и поиски автора ВПО
При анализе компонента вредоноса, который отвечает за передачу собранной информации с зараженной машины, мы получили token_id бота, в который отправлялась вся информация. Получив все сообщения из этого бота, мы обнаружили первого юзера, который его запустил, — splokk.
Простым поиском были найдены комментарии «пользователя_X», который публиковал их под постами торрент-сайтов в ВК и предлагал связаться с ним через аккаунт @splokk.
В другой соцсети у этого же «пользователя_X» есть ник cdjsend. Выяснив, что этот же «пользователь_X» использует другой ник, можно посмотреть, какого рода сообщения он оставлял на форумах. Никнейм является уникальным и используется преимущественно на русскоязычных форумах, посвященных тематикам, связанным с компонентами ПК, администрированием ПК и т. п.
Но есть и сообщения, которые относятся к разработке ВПО, в том числе и вышеописанного:
Одна из функций этого ВПО — установка программы для удаленного доступа с помощью RMS (Remote Manipulator System) на компьютер жертвы.
В 2017 году на форуме BHF, который позиционирует себя как форум о взломах, раздачах, продажах и разработке, появилось сообщение от пользователя Cdjsend по поводу RMS следующего содержания:
Также этот пользователь искал информацию про RAT (remote access trojan) — DarkComet.
На другом форуме cdjsend просил помощи со взломом новой версии RMS:
Стоит особо выделить активность на форуме autoit-script.ru, посвященном AutoIt, языку программирования для Windows, который предназначен для создания автоматических скриптов для Windows-программ. (Исходная вредоносная программа была написана на AutoIt.) На данный момент cdjsend оставил там 67 сообщений.
В день, когда был запущен исследуемый бот, 3 апреля 2023 года, на форуме AutoIt появилась следующая серия постов от cdjsend:
Как видно из переписки, у cdjsend возникает ошибка с пустым msgbox. Если посмотреть код из вредоносной программы, которую мы анализируем, и код в переписке, то они окажутся почти идентичными. В оригинальном коде $Query предается напрямую со ссылкой и токеном к телеграм-боту, а во вредоносном коде это происходит через функцию. Также в коде другим способом реализован возврат функции, как раз в том месте, где у cdjsend были проблемы, как видно из сообщений выше.
Если сравнить код с форума (слева) и код из программы (справа) — они практически совпадают.
Учитывая сам код вместе с исправлением, посты в соцсетях, сообщения на других форумах, можно сказать, что мы имеем значительное пересечение между «пользователем_X» и пользователем splokk, который связан с вредоносной программой.
Заключение
Использование пиратского софта несет в себе риск заражения ВПО. Обычный антивирус может помочь защититься от заражения, однако это не панацея: необходимо более осознанно подходить к выбору источника софта. Идеальным вариантом, конечно же, будет приобретение лицензионных программ, но в современных реалиях это не всегда возможно.
Использованное в атаке ВПО не является сложным для анализа, при этом, изучив всего лишь одну атаку с его использованием, мы получили информацию о более чем 250 тысячах жертв по всему миру. Мы уверены, что жертв значительно больше, и прогнозируем рост атак с применением зараженного пиратского ПО.
Индикаторы IoC
topsoft.space |
taskmgr.xyz |
idserver.xyz |
wmiprvse.xyz |
winhost.xyz |
rundll.xyz |
ftpsystem.xyz |
gototopweb.xyz |
unsecapp.xyz |
Вердикты продуктов Positive Technologies
MaxPatrol SIEM
Run_Executable_File_without_Meta |
Masquerading_Microsoft_Signed_Library |
Schtasks_Commandline |
Scheduled_task_Manipulation |
Windows_Autorun_Modification |
Script_Files_Execution |
Service_Created_or_Modified |
Permission_Groups_Discovery |
Abnormal_Directory_for_Process |
Add_new_user_in_commandline |
Account_Created_on_Local_System |
Suspicious_Connection |
Windows_Defender_Disable |
Hide_Account_from_Logon_Screen |
Security_State_Discovery |
Data_Compression |
Copied_or_Renamed_Executable |
System_Network_Configuration_Discovery |
Windows_Service_Installed |
Malware_Detect_And_Clean |
Suspicious_ShortHanded_Process_Started |
Token_Manipulation |
Suspicious_Connection_System_Process |
Windows_firewall_enable_local_RDP |
PT Sandbox
Trojan.MachineLearning.Generic.a |
Trojan.Win32.Generic.a |
Trojan.Win32.Generic.f |
Trojan.Win32.Evader.a |
Trojan.Win32.DefenseImpair.a |
Trojan.Win32.DefenseImpair.b |
Create.Process.Masquerading.Evasion |
Write.Registry.Key.DisableShowSuperHidden |
Write.Registry.Key.NotificationSuppress |
Write.Registry.Key.ModifyETWProvider |
Write.Registry.Key.DisableWindowsDefender |
Write.Registry.Key.DisableAppLaunch |
Write.Thread.Info.AntiDebug |
Read.File.Module.CheckVM |
Read.Window.Name.CheckDbg |
Read.Thread.Info.AntiDebug |
Read.Registry.Key.CheckBios |
Read.Process.Info.AntiDebugQueryInfo |
Write.File.Script.Launcher |
Write.Registry.Key.Persistence |
Create.Process.Schtasks.Persistence |
Create.Process.ServiceControl.Services |
Create.Process.Taskkill.TerminateProcess |
Create.Process.Netsh.NetShell |
Create.Process.IpConfig.IpProtocolConfiguration |
YARA:
tool_win_ZZ_Themida__RiskTool__2 |
tool_win_ZZ_ConfuserEx__RiskTool |
tool_win_ZZ_VMProtect__Risktool |
tool_multi_ZZ_XMRig__Risktool |
tool_win_ZZ_CryptoMiner__RiskTool__Strings |
tool_win_RU_RDPWrapper |
Техники и тактики MITRE ATT&CK
ID | Имя | Описание |
Initial access | ||
T1189 | Drive-by Compromise | Для распространения ВПО использовались зараженные установочные файлы с торрентов |
Execution | ||
T1204.002 | User Execution: Malicious File | Для исполнения ВПО пользователю необходимо было запустить скачанный установочный файл |
T1053.005 | Scheduled Task/Job: Scheduled Task | Установленное ВПО запускалось по расписанию с помощью Windows Task Scheduler |
Persistence | ||
T1053.005 | Scheduled Task/Job: Scheduled Task | ВПО закреплялось через Task Scheduler |
T1547.001 | Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder | ВПО закреплялось через реестр |
Defence evasion | ||
T1222.001 | File and Directory Permissions Modification: Windows File and Directory Permissions Modification | ВПО меняло уровень доступа к некоторым папкам |
T1562.001 | Impair Defenses: Disable or Modify Tools | ВПО пыталось отключить средства антивирусной защиты |
T1140 | Deobfuscate/Decode Files or Information | ВПО декодирует и устанавливает встроенные в себя компоненты |
T1036.004 | Masquerading: Masquerade Task or Service | Названия директорий, файлов, задач, создаваемых ВПО, похожи на системные |
T1112 | Modify Registry | ВПО закреплялось через реестр и меняло там настройки безопасности |
T1027.002 | Obfuscated Files or Information: Software Packing | ВПО обфусцировано с помощью протектора Themida |
T1070.004 | Indicator Removal: File Deletion | ВПО запускало BAT-скрипт для удаления следов установки ВПО |
Discovery | ||
T1083 | File and Directory Discovery | ВПО собирало сведения о файлах и каталогах на скомпрометированном узле |
T1057 | Process Discovery | ВПО собирало сведения о процессах, запущенных на зараженном узле |
T1033 | System Owner/User Discovery | ВПО получало и передавало на С2 имя текущего пользователя скомпрометированного узла |
T1497.001 | Virtualization/Sandbox Evasion: System Checks | ВПО проверяло окружение, имя пользователя, файлы для определения запуска себя в песочнице |
Collection | ||
T1560.001 | Archive Collected Data: Archive via Utility | ВПО собирало папку tdata в архив с помощью 7zip |
T1005 | Data from Local System | ВПО собирало данные с зараженного узла |
Command and control | ||
T1071.001 | Application Layer Protocol: Web Protocols | ВПО использовало стандартные протоколы для связи с C2 |
T1219 | Remote Access Software | ВПО устанавливало RMS в качестве резервного канала для управления зараженным узлом |
Exfiltration | ||
T1567 | Exfiltration Over Web Service | ВПО использовало телеграм-бот в качестве C2 |