Детальный анализ Вымогателя LockerGoga: целенаправленные, эффективные, разрушительные атаки

29 Мар. 2019 г.kate
Подробнее о 360 Total Security

Фон

Согласно сообщениям СМИ, 18 марта 2019 года Norsk Hydro, одна из крупнейших в мире интегрированных алюминиевых групп, подверглась атакам вымогателей на нескольких заводах в США и Европе [1], что привело к недоступу ИТ-системы,  многократному  отключению оборудования и заводскому частичному переключению установки в ручной режим. Компания временно отключила несколько заводов и изменила часть модели работы завода в таких странах, как Норвегия, Катар и Бразилия, на пригодный ручной режим, чтобы смягчить воздействие на производство. Вымогатель, похоже, также атаковал американские химические компании Hexion и Momentive, в результате чего некоторые сотрудники не могут войти в систему. [3]

Центр разведки угроз 360 провел дальнейший подробный анализ вымогателей (LockerGoga) и обнаружил, что вымогателю вполне возможно принадлежать к  деструктивным вымогателям для направленных атак. Он просматривает файлы в родительском процессе вируса и затем шифрует их в нескольких дочерних процессах. Файлы использованы вымогателем для повышения скорости и эффективности шифрования, вымогатель в полной мере использует многоядерный характер ЦП для ускорения эффективности уничтожения (количество дочерних процессов всегда будет равно числу процессоров).

Анализ образца

360 Центр разведки угроз провел подробный анализ соответствующих образцов, и отчет об анализе покажен следующим образом.

Основная информация PE

Основная информация PEОбразец имеет цифровую подпись и его основные свойства как на картине:

 основные свойства образца

Это 32-битный исполняемый файл, скомпилированный VS2015:

32-битный исполняемый файл, скомпилированный VS2015

Введение процесса исполнения:

При первом запуске Lockergoga переместится в каталог% UserTemp%. Перемещенный файл переименовывается в zzbdrimpxxxx.exe (xxxx — 4 случайных числа), и переименованная программа будет запущена и передана в параметрах. -m». Процесс будет проходить через файл и запускать дополнительные дочерние процессы с параметром -iSM-zzbdrimp -s для шифрования пользовательских файлов.

После запуска программа получит параметры командной строки и выполнит разные процессы в соответствии с разными параметрами:

Введение процесса исполнения

Строка, связанная с параметром:

Строка, связанная с параметром

затем проверил параметры, и программа выйдет напрямую, если параметры недействительны:

проверил параметры

Наконец, функция вызывается динамически в соответствии с различными параметрами для выполнения соответствующего процесса:

функция вызывается динамически

Детальный анализ параметров

Процесс с параметром -m в основном предназначен для планирования: сначала он создает мьютекс (MX-zzbdrimp), затем создает поток для обхода файла на диске и введет цикл, в этом цикле параметр будет «-iSM-zzbdrimp — s «, чтобы создать больше дочерних процессов. Родительский процесс определяет количество дочерних процессов и состояние дочерних процессов, чтобы убедить, что количество дочерних процессов совпадает с количеством ядер ЦП.

Дочерний процесс с параметром «-iSM-zzbdrimp -s» используется для шифрования файла. Путь для шифрования предоставляется родительским процессом, а связь между ними синхронизируется мьютексом (MX-zzbdrimp). Родительский процесс выполняет кодирование Base64 по пути к файлу, который должен быть зашифрован, и передает его дочернему процессу. Дочерний процесс использует случайно сгенерированный ключ AES для шифрования файла с использованием алгоритма AES_128. Ключ AES шифруется встроенным открытым ключом RSA и добавляется в конец зашифрованного файла.

Параметр без команды

Соответствующая рутинная функция сначала выполняет различные настройки прав доступа:

Параметр без команды

Затем он сгенерирует имя целевого файла, процесс создания переместится в каталог Temp текущего пользователя

сгенерирует имя целевого файлапроцесс создания переместится в каталог Temp текущего пользователя

Затем он запустит перемещенную программу с параметром -m:

запустит перемещенную программу с параметром -m

Наконец, вызовет функцию по адресу 0x410D40, создает и запишит пользовательскую документацию, то есть файл README_LOCKED.txt на рабочем столе:

вызовет функцию по адресу 0x410D40

Параметр -m

Сначала он создает мьютекс (MX-zzbdrimp) для синхронизации с дочерним процессом:

Параметр -m

Затем он создает поток для обхода файла на диске:

 создает поток для обхода файла на диске

Затем параметр -m запустит цикл для создания дочернего процесса и передает параметр «-iSM-zzbdrimp -s». Данный код гарантирует, что количество дочерних процессов не превысит количество ядер процессора.

 запустит цикл для создания дочернего процесса

Также он следит за состоянием дочернего процесса и воссоздает его, если процесс прерывается:

 следит за состоянием дочернего процесса

Параметр -i SM-zzbdrimp -s

Сначала параметр -i SM-zzbdrimp -s попробует открыть именованный мьютекс (MX-zzbdrimp), чтобы получить дескриптор мьютекса, если он не существует, то это приведет к неправильной работе функции, программа выйдет напрямую:

Параметр -i SM-zzbdrimp -s

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

Дочерний процесс получает путь к зашифрованному файлу

Затем он загрузит динамическую библиотеку Rstrtmgr.dll, вызовет функции RmStartSession, RmRegisterResources и RmGetList, чтобы отменить использование зашифрованного файла, предотвращая сбой шифрования, поскольку файл используют другие программы:

 загрузит динамическую библиотеку Rstrtmgr.dll, вызовет функции RmStartSession, RmRegisterResources и RmGetList

При шифровании он сначала создает 32-байтовое случайное число для генерации ключа AES:

создает 32-байтовое случайное число для генерации ключа AES

Затем декодирован жестко-закодированный и открытый ключ RSA в программе :

 декодирован жестко-закодированный и открытый ключ RSA

Соответствующее содержание открытого ключа:

——BEGIN PUBLIC KEY——

MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQC9dR7jfOdn8AZTi0plXQRQKHWJAxLlykYr

9V4ZMXLJ9d9kmyHUoKturoTYNZZisiW5ncP6/2YtG5ezGSXnQXUQtZTAnVesTalNvLyd6tBe

t81p8mxflulX99T2WKubEnc2OR0Yj2a6EJppt2IVx6H/BiF7G3Z2z4qg/tsXBant4wIBEQ==

——END PUBLIC KEY——

Зашифрованное имя файла со суффиксом .locked:

Зашифрованное имя файла со суффиксом .locked

LockerGoga шифрует файлы, используя алгоритм AES в режиме CES, с первыми 16 байтами случайного числа в качестве исходного вектора iv и последними 16 байтами случайного числа в качестве ключа:

LockerGoga шифрует файлы, используя алгоритм AES в режиме CES

Ключ AES и начальный вектор (т.е. сгенерированное 32-байтовое случайное число) будут зашифрованы AES и добавлены в конец соответствующего файла:

Ключ AES и начальный вектор (т.е. сгенерированное 32-байтовое случайное число) будут зашифрованы AES

Другие параметры

Используем скрипт Ollydbg для проверки параметров и обнаружим, что допустимы только 3 параметра:

-i SM-zzbdrimp -s

-m SM-zzbdrimp -s

-l SM-zzbdrimp -s

После тестирования мы обнаружили, что между первыми двумя параметрами нет разницы. Третий параметр создаст файл журнала C: \. В корневом каталоге диска C, чтобы записать, сколько файлов не было зашифровано, как показано на следующем рисунке:

Другие параметры

Типы зашифрованных файлов

LockerGoga сравнивает файловые суффиксы при шифровании файлов, но мы обнаружили, что все типы файлов шифруются (включая exe, dll и т. Д.) во время фактической отладки, и некоторые файлы могут быть зашифрованы несколько раз.

Типы зашифрованных файлов LockerGoga сравнивает файловые суффиксы при шифровании файлов, но мы обнаружили, что все типы файлов шифруются (включая exe, dll и т. Д.) во время фактической отладки, и некоторые файлы могут быть зашифрованы несколько раз.

Резюме

По анализу LockerGoga очень разрушительный, что шифрует различные типы файлов, в том числе PE-файлы, системные каталоги и файлы в каталоге автозагрузки. Он увеличивает скорость и эффективность шифрования, обходя файлы в родительском процессе, затем шифруя файлы в нескольких дочерних процессах и используя несколько ядер ЦП (количество дочерних процессов всегда равно количеству процессоров). В ответ на характеристики этой вирусной технологии и комбинацию прошлых методов передачи вируса мы даем следующие рекомендации по безопасности:

1. Не запускайте неизвестное программное обеспечение

2. Своевременно обновлять исправления безопасности операционной системы, чтобы предотвратить использование вирусов.

3. Установите 360 Total Security и внедрите анализ угроз, регулярно проверяйте компьютер, своевременно обновляйте антивирусные базы, чтобы антивирусное программное обеспечение работало нормально.

4. Повышите осведомленности о безопасности, поддержите хорошие привычки в Интернете и резервно копируйте важные данные

IOCs

SHA256:

14e8a8095426245633cd6c3440afc5b29d0c8cd4acefd10e16f82eb3295077ca

47f5a231f7cd0e36508ca6ff8c21c08a7248f0f2bd79c1e772b73443597b09b4

5b0b972713cd8611b04e4673676cdff70345ac7301b2c23173cdfeaff564225c

6e69548b1ae61d951452b65db15716a5ee2f9373be05011e897c61118c239a77

7852b47e7a9e3f792755395584c64dd81b68ab3cbcdf82f60e50dc5fa7385125

7bcd69b3085126f7e97406889f78ab74e87230c11812b79406d723a80c08dd26

8cfbd38855d2d6033847142fdfa74710b796daf465ab94216fbbbe85971aee29

9128e1c56463b3ce7d4578ef14ccdfdba15ccc2d73545cb541ea3e80344b173c

ba15c27f26265f4b063b65654e9d7c248d0d651919fafb68cb4765d1e057f93f

bdf36127817413f625d2625d3133760af724d6ad2410bea7297ddc116abc268f

c3d334cb7f6007c9ebee1a68c4f3f72eac9b3c102461d39f2a0a4b32a053843a

eda26a1cd80aac1c42cdbba9af813d9c4bc81f6052080bc33435d1e076e75aa0

f3c58f6de17d2ef3e894c09bc68c0afcce23254916c182e44056db3cad710192

Ссылка

[1].  https://mp.weixin.qq.com/s/_LYg3kuKdeTyqPR1r0IWpA [2].  https://www.recordedfuture.com/lockergoga-ransomware-insight/

[3].  https://motherboard.vice.com/en_us/article/8xyj7g/ransomware-forces-two-chemical-companies-to-order-hundreds-of-new-computers

[4].  https://www.bleepingcomputer.com/news/security/lockergoga-ransomware-sends-norsk-hydro-into-manual-mode/

[5].  https://www.bleepingcomputer.com/news/security/new-lockergoga-ransomware-allegedly-used-in-altran-attack/

[6].  https://go.recordedfuture.com/hubfs/reports/cta-2019-0320-yara-rules.yar

[7].  https://gist.github.com/Blevene/7b0221bd1d79bec57fb555fe3613e102#file-lockergoga-csv

 

Подробнее о 360 Total Security