Фон
Согласно сообщениям СМИ, 18 марта 2019 года Norsk Hydro, одна из крупнейших в мире интегрированных алюминиевых групп, подверглась атакам вымогателей на нескольких заводах в США и Европе [1], что привело к недоступу ИТ-системы, многократному отключению оборудования и заводскому частичному переключению установки в ручной режим. Компания временно отключила несколько заводов и изменила часть модели работы завода в таких странах, как Норвегия, Катар и Бразилия, на пригодный ручной режим, чтобы смягчить воздействие на производство. Вымогатель, похоже, также атаковал американские химические компании Hexion и Momentive, в результате чего некоторые сотрудники не могут войти в систему. [3]
Центр разведки угроз 360 провел дальнейший подробный анализ вымогателей (LockerGoga) и обнаружил, что вымогателю вполне возможно принадлежать к деструктивным вымогателям для направленных атак. Он просматривает файлы в родительском процессе вируса и затем шифрует их в нескольких дочерних процессах. Файлы использованы вымогателем для повышения скорости и эффективности шифрования, вымогатель в полной мере использует многоядерный характер ЦП для ускорения эффективности уничтожения (количество дочерних процессов всегда будет равно числу процессоров).
Анализ образца
360 Центр разведки угроз провел подробный анализ соответствующих образцов, и отчет об анализе покажен следующим образом.
Основная информация PE
Образец имеет цифровую подпись и его основные свойства как на картине:
Это 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 текущего пользователя
Затем он запустит перемещенную программу с параметром -m:
Наконец, вызовет функцию по адресу 0x410D40, создает и запишит пользовательскую документацию, то есть файл README_LOCKED.txt на рабочем столе:
Параметр -m
Сначала он создает мьютекс (MX-zzbdrimp) для синхронизации с дочерним процессом:
Затем он создает поток для обхода файла на диске:
Затем параметр -m запустит цикл для создания дочернего процесса и передает параметр «-iSM-zzbdrimp -s». Данный код гарантирует, что количество дочерних процессов не превысит количество ядер процессора.
Также он следит за состоянием дочернего процесса и воссоздает его, если процесс прерывается:
Параметр -i SM-zzbdrimp -s
Сначала параметр -i SM-zzbdrimp -s попробует открыть именованный мьютекс (MX-zzbdrimp), чтобы получить дескриптор мьютекса, если он не существует, то это приведет к неправильной работе функции, программа выйдет напрямую:
Дочерний процесс получает путь к зашифрованному файлу, который передается от родительского процесса, и имя пути должно быть декодировано Base64:
Затем он загрузит динамическую библиотеку Rstrtmgr.dll, вызовет функции RmStartSession, RmRegisterResources и RmGetList, чтобы отменить использование зашифрованного файла, предотвращая сбой шифрования, поскольку файл используют другие программы:
При шифровании он сначала создает 32-байтовое случайное число для генерации ключа AES:
Затем декодирован жестко-закодированный и открытый ключ RSA в программе :
Соответствующее содержание открытого ключа:
——BEGIN PUBLIC KEY——
MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQC9dR7jfOdn8AZTi0plXQRQKHWJAxLlykYr
9V4ZMXLJ9d9kmyHUoKturoTYNZZisiW5ncP6/2YtG5ezGSXnQXUQtZTAnVesTalNvLyd6tBe
t81p8mxflulX99T2WKubEnc2OR0Yj2a6EJppt2IVx6H/BiF7G3Z2z4qg/tsXBant4wIBEQ==
——END PUBLIC KEY——
Зашифрованное имя файла со суффиксом .locked:
LockerGoga шифрует файлы, используя алгоритм AES в режиме CES, с первыми 16 байтами случайного числа в качестве исходного вектора iv и последними 16 байтами случайного числа в качестве ключа:
Ключ AES и начальный вектор (т.е. сгенерированное 32-байтовое случайное число) будут зашифрованы AES и добавлены в конец соответствующего файла:
Другие параметры
Используем скрипт Ollydbg для проверки параметров и обнаружим, что допустимы только 3 параметра:
-i SM-zzbdrimp -s
-m SM-zzbdrimp -s
-l SM-zzbdrimp -s
После тестирования мы обнаружили, что между первыми двумя параметрами нет разницы. Третий параметр создаст файл журнала C: \. В корневом каталоге диска C, чтобы записать, сколько файлов не было зашифровано, как показано на следующем рисунке:
Типы зашифрованных файлов
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