Cobalt Strike Loader IOCs

security IOC

Недавно FortiGuard Labs столкнулись с вредоносным документом Excel, маскирующимся под инструмент для расчета заработной платы украинских военнослужащих, который при запуске выполняет многоступенчатые загрузчики, что в конечном итоге приводит к загрузке вредоносной программы Cobalt Strike Beacon на устройство жертвы.

Cobalt Strike Loader

Атака начинается с файла Excel, загруженного вредоносным макрокодом (XLSM). Файл маскируется под электронную таблицу, предназначенную для расчета денежного довольствия украинских военнослужащих. Как обычно, документ пытается обманом заставить пользователя разрешить выполнение макросов для якобы автоматического заполнения содержимого ячеек. Макрос называется sumpropua, что является аббревиатурой от Suma Propisom UA - латинской транслитерации украинского "сума прописом UA". Это старый термин для финансовых документов, в которых общая сумма уплаченных денег должна быть записана в виде слов. Преобразование денежной суммы в слова - нетривиальная задача Excel, и использование макросов для этой цели - обычное дело.

Первое, что бросается в глаза при открытии кода VBA, - это большой кусок пробела, предшествующий началу собственно кода, из-за чего на первый взгляд он кажется пустым. При прокрутке вниз обнаруживается вредоносная функция SUMMPROPIS2, которая автоматически выполняется при открытии файла с помощью функции Workbook_Open(). Кроме того, документ пытается выполнить эту функцию, ссылаясь на нее из нескольких ячеек, которые также запускаются при открытии файла. В результате вредоносная программа выполняется несколько раз после открытия.

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

Основная вредоносная функция OpenModule выполняет следующие функции:

  1. Декодирует вредоносный двоичный файл из шестнадцатеричной строки и сохраняет его в %AppData%\Microsoft\fhasbqwn.dll
  2. Создает файл ярлыка Windows (.LNK) с именем %Temp%\jdbsabdqbsmnqwdssad.lnk. Целью файла .LNK является выполнение экспортируемой функции DllUnregisterServer вредоносной DLL, которая обычно используется для удаления DLL из системы. Однако в данном случае это приводит к выполнению вредоносных функций DLL
  3. Запускается через ярлык

Как упоминалось ранее, встроенная полезная нагрузка в файле Excel была выполнена несколько раз. Угрожающие субъекты обычно не развертывают одну и ту же полезную нагрузку много раз, поскольку это может вызвать ненужный шум в системе. В результате мы копнули глубже, чтобы понять причину.

Более пристальный взгляд на фрагмент кода функции OpenModule в строке 5280 показывает, что вызывается функция Dir, первый аргумент которой содержит полный путь к папке IEHistory. Использование функции Dir здесь проверяет, существует ли папка в точности как атрибут, указанный во втором аргументе. Проверка наличия файла или каталога, созданного вредоносной программой во время заражения, обычно используется для предотвращения повторного заражения или многократного выполнения. По всей видимости, именно это и было целью разработчиков вредоносной программы.

Однако, поскольку второй аргумент здесь является неинициализированной переменной, это эквивалентно Dir(PathName, vbNormal). Это возвращает непустую строку, только если IEHistory существует как файл, а не как каталог, что приводит к многократному выполнению всей вредоносной процедуры. Если бы вместо этого использовался vbDirectory, то создание каталога IEHistory после проверки предотвратило бы многократное выполнение этой процедуры при последующих проверках.

Загрузчик первого этапа

Загрузчик первого этапа выполняется с помощью следующей команды оболочки, C:\Windows\System32\regsvr32.exe /u /s "\%AppData%\Microsoft\fhasbqwn.dll". Параметр /s позволяет выполнить программу в тишине, так что после выполнения кода не появляется окно сообщения Windows. Опция /u приводит к выполнению экспорта DLL DllUnregisterServer.

Чтобы затруднить анализ, эта DLL защищена ConfuserEx, защитником с открытым исходным кодом, используемым специально для двоичных файлов .NET.

Затем он перемещается в %Temp%\kbdlisus.dll и выполняет вторую экспортируемую функцию, DllCanUnloadNow, выполняя команду оболочки "C:\Windows\System32\rundll32.exe %Temp%\kbdlisus.dll,DllCanUnloadNow". Экспортируемая функция DllCanUnloadNow загружает безобидный на первый взгляд файл изображения JPEG с hxxps://ellechina[.]online/01_logo_HLW-300x168[.]jpg, используя определенный набор HTTP-заголовков.

Дополнительные двоичные данные (известные как наложение файла) сразу после трейлера JPEG, обозначающего конец изображения по смещению 0x16D23. Этот оверлей содержит зашифрованный и сжатый загрузчик второго этапа.

Эта вредоносная программа расшифровывает наложение с помощью AES (Advanced Encryption Standard) в режиме CBC с жестко закодированным ключом и вектором инициализации (IV). Затем полученные данные распаковываются с помощью алгоритма DEFLATE. В результате получается другой двоичный файл .NET (exe) с внутренним именем sdafsfdpieowrfb.exe, также защищенный ConfuserEx.

Затем этот исполняемый файл загружается как новый модуль с помощью Assembly.Load() и непосредственно выполняется в памяти с помощью Assembly.EntryPoint.Invoke() с аргументом в виде массива строк, содержащего "1ffawf" и "afgawkgo".

Загрузчик второго этапа

Этот образец содержит список имен из черного списка и завершает работу, если какой-либо из этих процессов запущен. Проверяемые процессы - это процессы, связанные с Avast Antivirus, и широко используемые инструменты анализа вредоносного ПО, такие как Process Explorer и Process Hacker. Он извлекает из себя аналогично зашифрованную AES и сжатую DEFLATE DLL загрузчика третьей ступени и бросает ее в один из существующих каталогов в %AppData%. Загрузчик называет DLL в честь случайно выбранного подкаталога в %AppData%, например, Adobe.dll, Microsoft.dll.

Затем он создает запланированную задачу с именем "Scheduled" и описанием "NTFS Volume Health Scan" и "Microsoft Corporation" в качестве автора, чтобы замаскироваться под легитимную задачу.

Эта задача выполняет сброшенную DLL через команду C:\Windows\System32\rundll32.exe %AppData\[RANDOM_DIRECTORY]\[RANDOM_NAME],UiaPatternRelease, когда текущий пользователь входит в Windows для поддержания постоянства.

Вместо типичного использования schtasks.exe для создания этой запланированной задачи, вредоносная программа использует COM-функцию ITaskFolder::RegisterTaskDefinition Планировщика задач. Это может быть способом скрыть создание задачи от продуктов безопасности, таких как EDR, которые могут обнаружить подозрительное использование schtasks.exe на основе аргументов командной строки.

Вредоносная программа запускает вновь созданную задачу для запуска загрузчика третьей стадии. Выполнение DLL третьей стадии косвенно через запланированную задачу, а не через загрузчик второй стадии, усложняет восстановление цепочки атак, поскольку не сразу понятно, какой процесс запустил загрузчик третьей стадии.

Инжектор процессов и загрузчик Cobalt Strike Loader

В отличие от двух предыдущих загрузчиков, эта DLL написана на C/C++ и является многоступенчатым загрузчиком для Cobalt Strike Beacon, популярного у противников инструмента для поддержания плацдарма перед развертыванием других вредоносных программ в системе жертвы.

Затем он извлекает и расшифровывает другой загрузчик, зашифрованный AES, и запускает приостановленный экземпляр SearchIndexer.exe (легитимный исполняемый файл для функции поиска Windows). Затем он внедряет и выполняет загрузчик с помощью удаленного внедрения потоков.

Внутри SearchIndexer.exe загрузчик продолжает извлекать и выполнять дополнительные этапы чисто в памяти перед выполнением окончательной полезной нагрузки Cobalt Strike Beacon.

Извлекая и разбирая конфигурацию из дампа памяти  URL-адреса сервера Cobalt Strike Team Server (C2) маяка:

  • hxxps://pedaily[.]link/daashbooard/managgemment/oknz05PqOlqLtMGB/tzJGhpVp
  • hxxps://pedaily[.]link/daashbooard/managgemment/GCLwJmax/KFKcpjlf

Indicators of Compromise

URLs

  • https://ellechina.online/01_logo_HLW-300x168.jpg
  • https://pedaily.link/daashbooard/managgemment/GCLwJmax/KFKcpjlf
  • https://pedaily.link/daashbooard/managgemment/oknz05PqOlqLtMGB/tzJGhpVp

SHA256

  • 2927794d7c550c07303199752b8226f197d7ef497d04cf038859f95b60edc9ce
  • 4cedec3e1a2f72a917ad9a59ebe116ed50c3268567946d1e493c8163486b888b
  • b03c9f7823810e3eeef3c0b1d6c00da4f16fdc2ced92f97f78e5676d0989d9b3
  • c0c455cd3e18be14d2e34cf4e3fb98e7ab0a75ef04b6049ff9f7b306d62704b8
  • de8c789ef2e1da81182a7529e7b42adf2984cd6e70b02e60fd770ebe658086ae

Filnames

  • %Temp%\jdbsabdqbsmnqwdssad.lnk
  • %AppData%\Microsoft\fhasbqwn.dll
  • %Temp%\kbdlisus.dll

 

Добавить комментарий