29 марта 2023 года компания CrowdStrike сообщила, что группа угроз, базирующаяся в Северной Корее, осуществила атаку на цепочку поставок через приложение 3CX DesktopApp. С помощью этого приложения субъект угрозы установил Infostealer в целевой системе.
Центр экстренного реагирования AhnLab Security Emergency response Center (ASEC) представили анализ вредоносных программ, использованных в атаках, и журналы их заражения в Корее, собранные с помощью AhnLab Smart Defense (ASD).
Журналы, записанные в Корее
Ниже приведены журналы, записанные в КАН компании AhnLab до того, как стало известно об атаке на цепочку поставок. Журнал установки приложения 3CX Electron для Windows версии 18.12.407 был записан 9 марта, а журнал установки версии 18.12.416 - 15 марта. Было установлено, что целью атаки является университет в Корее.
Анализ вредоносного ПО
Действия агента угрозы были направлены на пользователей Windows и MAC. Для этого они вставляли вредоносное ПО в установочный файл 3CX DesktopApp для Windows и MAC. Когда пользователь устанавливает установочный файл, вредоносная программа, закодированная и сохраненная в файле, работает в памяти и устанавливает дополнительные вредоносные программы.
Windows
MSI-установщик является установочным файлом для Windows, а файлы "ffmpeg.dll" и "d3dcompiler_47.dll" внутри него являются настоящим вредоносным ПО. "3CXDesktopApp.exe", который выполняется после установки, загружает файл "ffmpeg.dll" в том же каталоге. "Ffmpeg.dll" замаскирован под обычный файл, но на самом деле является загрузчиком, отвечающим за чтение и расшифровку "d3dcompiler_47.dll" перед его выполнением в памяти. "d3dcompiler_47.dll" также является обычным файлом, но содержит закодированные данные в конце.
"Ffmpeg.dll" ищет сигнатуру "FE ED FA CE FE ED FA CE" в "d3dcompiler_47.dll", которая содержит закодированные данные. Когда закодированные данные расшифровываются, можно найти shell-код, который выполняет загрузчик в памяти.
Загрузчик загружает ico-файл с адреса GitHub. URL-адрес выглядит следующим образом, выбирается и используется случайный файл от icon1.ico до icon15.ico.
URL загрузки: hxxps://raw.githubusercontent[.]com/IconStorages/images/main/icon[число].ico
На момент анализа эти файлы не удалось загрузить, но известно, что в атаках использовались следующие ico-файлы.
Фактические адреса C&C-серверов закодированы в конце этих ico-файлов, и их расшифровка раскрывает фактические адреса C&C-серверов. Загрузчик ищет подпись "$" в конце загруженного ico-файла, прежде чем найти и расшифровать закодированную строку
Помимо "icon0.ico", который содержит обычный URL-адрес, и учитывая тот факт, что "icon10.ico" и "icon11.ico" одинаковы, среди 16 файлов ico имеется в общей сложности 14 адресов C&C-серверов. Загрузчик может подключиться к расшифрованному адресу, загрузить и выполнить дополнительное вредоносное ПО. Известно, что таким образом был установлен Infostealer.
MAC
В средах MAC агент угрозы вставлял вредоносную программу в установочный файл DMG. Из файлов общих библиотек в установочном файле libffmpeg.dylib содержит XOR-кодированный адрес C&C.
Большинство идентифицированных адресов C&C совпадают с адресами, найденными в версии для Windows.
Indicators of Compromise
URLs
- akamaitechcloudservices.com/v2/fileapi
- azuredeploystore.com/cloud/images
- azureonlinestorage.com/google/storage
- glcloudservice.com/v1/status
- https://akamaitechcloudservices.com/v2/storage
- https://azuredeploystore.com/cloud/services
- https://azureonlinestorage.com/azure/storage
- https://glcloudservice.com/v1/console
- https://msedgepackageinfo.com/microsoft-edge
- https://msstorageazure.com/window
- https://msstorageboxes.com/office
- https://officeaddons.com/technologies
- https://officestoragebox.com/api/session
- https://pbxcloudeservices.com/phonesystem
- https://pbxsources.com/exchange
- https://raw.githubusercontent.com/IconStorages/images/main/icon[Number].ico
- https://sourceslabs.com/downloads
- https://visualstudiofactory.com/workload
- https://zacharryblogs.com/feed
- msedgepackageinfo.com/ms-webview
- msstorageazure.com/analysis
- msstorageboxes.com/xbox
- officeaddons.com/quality
- officestoragebox.com/api/biosync
- pbxcloudeservices.com/network
- pbxphonenetwork.com/phone
- pbxsources.com/queue
- sourceslabs.com/status
- visualstudiofactory.com/groupcore
- zacharryblogs.com/xmlquery
SHA256
- 11be1803e2e307b647a8a7e02d128335c448ff741bf06bf52b332e0bbf423b03
- 5009c7d1590c1f8c05827122172583ddf924c53b55a46826abf66da46725505a
- 5407cda7d3a75e7b1e030b1f33337a56f293578ffa8b3ae19c671051ed314290
- 59e1edf4d82fae4978e97512b0331b7eb21dd4b838b850ba46794d9c7a2c0983
- 7986bbaee8940da11ce089383521ab420c443ab7b15ed42aed91fd31ce833896
- 87c5d0c93b80acf61d24e7aaf0faae231ab507ca45483ad3d441b5d1acebc43c
- 8ab3a5eaaf8c296080fadf56b265194681d7da5da7c02562953a4cb60e147423
- a64fa9f1c76457ecc58402142a8728ce34ccba378c17318b3340083eeb7acc67
- aa124a4b4df12b34e74ee7f6c683b2ebec4ce9a8edcf9be345823b4fdcf5d868
- aa4e398b3bd8645016d8090ffc77d15f926a8e69258642191deb4e68688ff973
- c485674ee63ec8d4e8fde9800788175a8b02d3f9416d0e763360fff7f8eb4e02
- e6bbc33815b9f20b0cf832d7401dd893fbc467c800728b5891336706da0dbcec
- fee4f9dabc094df24d83ec1a8c4e4ff573e5d9973caa676f58086c99561382d7