Цільовий регіон і збіг у поведінці та коді свідчать про те, що інструмент використовується сумнозвісною групою APT, пов’язаною з Північною Кореєю
Дослідники ESET виявили одне з корисних навантажень Завантажувач Wslink який ми виявили ще в 2021 році. Ми назвали це корисне навантаження WinorDLL64 на основі його імені файлу WinorDLL64.dll. Wslink, який мав назву файлу WinorLoaderDLL64.dll, це завантажувач для бінарних файлів Windows, який, на відміну від інших подібних завантажувачів, працює як сервер і виконує отримані модулі в пам’яті. Як випливає з формулювання, завантажувач служить інструментом для завантаження корисного навантаження або фактичного шкідливого програмного забезпечення у вже скомпрометовану систему. Початковий компрометований вектор Wslink не ідентифіковано.
Спочатку невідоме корисне навантаження Wslink було завантажено до VirusTotal із Південної Кореї невдовзі після публікації нашого блогу та відповідало одному з наших правил YARA на основі унікальної назви Wslink WinorDLL64. Що стосується Wslink, телеметрія ESET зафіксувала лише кілька виявлень – у Центральній Європі, Північній Америці та на Близькому Сході.
Команда WinorDLL64 корисне навантаження служить бекдором, який, головним чином, отримує обширну системну інформацію, надає засоби для маніпулювання файлами, наприклад викрадання, перезаписування та видалення файлів, а також виконує додаткові команди. Цікаво, що він спілкується через з’єднання, яке вже було встановлено завантажувачем Wslink.
У 2021 році ми не знайшли жодних даних, які б припускали, що Wslink є інструментом від відомого загрозливого актора. Однак після ретельного аналізу корисного навантаження ми приписали WinorDLL64 до групи Lazarus APT з низькою достовірністю на основі цільового регіону та збігу поведінки та коду з відомими зразками Lazarus.
Активна щонайменше з 2009 року, ця сумнозвісна група, пов’язана з Північною Кореєю, несе відповідальність за резонансні інциденти, такі як Злом Sony Pictures Entertainment і десятки мільйонів доларів кіберграбіжці в 2016 році, WannaCryptor (він же WannaCry) спалах у 2017 році та довга історія підривних атак проти Громадська та критична інфраструктура Південної Кореї принаймні з 2011 року. US-CERT і ФБР називають цю групу ПРИХОВАНА КОБРА.
На основі нашого широкі знання діяльності та операцій цієї групи ми вважаємо, що Lazarus складається з великої команди, яка систематично організована, добре підготовлена та складається з кількох підгруп, які використовують великий набір інструментів. Минулого року ми виявив інструмент Лазаря що скористався CVE-2021-21551 вразливість до співробітника аерокосмічної компанії в Нідерландах і політичного журналіста в Бельгії. Це було перше зафіксоване зловживання уразливістю; у поєднанні цей інструмент і вразливість призвели до засліплення моніторингу всіх рішень безпеки на скомпрометованих машинах. Ми також надали розгорнутий опис структура віртуальної машини використовується у зразках Wslink.
У цьому блозі пояснюється присвоєння WinorDLL64 Lazarus і надається аналіз корисного навантаження.
Посилання на Lazarus
Ми виявили збіги в поведінці та коді із зразками Lazarus із Операція GhostSecret і Імплантат Bankshot описаний McAfee. Опис імплантатів у статтях GhostSecret і Bankshot містить збіги у функціональності з WinorDLL64, і ми виявили деякі збіги коду в зразках. У цьому блозі ми будемо використовувати лише FE887FCAB66D7D7F79F05E0266C0649F0114BA7C зразок із GhostSecret для порівняння з WinorDLL64 (1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F), якщо не вказано інше.
Наступні деталі підсумовують факти, які підтверджують наше приписування Лазаря з низькою достовірністю:
1. Віктимологія
- Колеги-дослідники з AhnLab підтвердили південнокорейські жертви Wslink у своїй телеметрії, що є релевантним показником з огляду на традиційні цілі Lazarus і те, що ми спостерігали лише кілька влучень.
2. Зловмисне програмне забезпечення
- Останній зразок GhostSecret, про який повідомляє McAfee (FE887FCAB66D7D7F79F05E0266C0649F0114BA7C) з лютого 2018 року; ми помітили перший зразок Wslink наприкінці 2018 року, а колеги-дослідники повідомили про звернення в серпні 2018 року, про що вони розкрили після нашої публікації. Отже, ці зразки були помічені з відносно коротким проміжком часу.
- Команда PE багаті заголовки вказують на те, що те саме середовище розробки та проекти подібного розміру використовувалися в кількох інших відомих зразках Lazarus (наприклад, 70DE783E5D48C6FBB576BC494BAF0634BC304FD6; 8EC9219303953396E1CB7105CDB18ED6C568E962). Ми виявили це збіг, використовуючи наступні правила, які охоплюють лише ці зразки Wslink і Lazarus, що є показником із низькою вагою. Ми перевірили їх на Ретрополювання VirusTotal і наш внутрішній файловий корпус.
rich_signature.length == 80 і
pe.rich_signature.toolid(175, 30319) == 7 і
pe.rich_signature.toolid(155, 30319) == 1 і
pe.rich_signature.toolid(158, 30319) == 10 і
pe.rich_signature.toolid(170, 30319) >= 90 і
pe.rich_signature.toolid(170, 30319) <= 108
Це правило можна перекласти на наступну нотацію, яка є більш зрозумілою та використовується VirusTotal, де можна побачити версію продукту та ідентифікатор збірки (VS2010 збірка 30319), кількість і тип використовуваних вихідних/об'єктних файлів ([LTCG C++] де LTCG означає Generation Time Code Generation, [ASM], [ C ]), і кількість експортів ([EXP]) у правилі:
[LTCG C++] VS2010 build 30319 count=7
[EXP] VS2010 build 30319 count=1
[ASM] VS2010 build 30319 count=10
[ C ] VS2010 build 30319 кількість у [ 90 .. 108 ]
- У статті GhostSecret описано «унікальний компонент для збору даних і встановлення імплантатів, який прослуховує порт 443 для вхідних з’єднань із сервером керування», який додатково запускався як служба. Це точний опис поведінки завантажувача Wslink, окрім номера порту, який може змінюватися залежно від конфігурації. Підсумовуючи, хоча реалізація різна, обидва служать одній меті.
- Завантажувач віртуалізовано за допомогою Oreans Code Virtualizer, який є комерційним захисником, який використовується часто від Лазаря.
- Навантажувач використовує Модуль пам'яті бібліотека для завантаження модулів безпосередньо з пам'яті. Бібліотека зазвичай не використовується шкідливим програмним забезпеченням, але вона досить популярна серед груп, пов’язаних із Північною Кореєю, таких як Lazarus і Kimsuky.
- Збіг у коді між WinorDLL64 і GhostSecret, який ми виявили під час аналізу. Результати та значення в атрибуції наведено в таблиці 1.
Таблиця 1. Подібності між WinorDLL64 і GhostSecret і їхнє значення для віднесення обох до того самого суб’єкта загрози
Інші подібності між WinorDLL64 і GhostSecret | Impact |
---|---|
Перекриття коду в коді відповідає за отримання архітектури процесора | низький |
Перекриття коду під час маніпулювання поточним каталогом | низький |
Перекриття коду в отриманні списку процесів | низький |
Перекриття коду при надсиланні файлу | низький |
Перекриття поведінки в процесах лістингу | низький |
Перекриття поведінки під час маніпулювання поточним каталогом | низький |
Збіги поведінки в списку файлів і каталогів | низький |
Збіги поведінки в обсягах лістингу | низький |
Збіги поведінки під час читання/запису файлів | низький |
Перекриття поведінки в процесах створення | низький |
Значні перекриття поведінки під час безпечного видалення файлів | низький |
Значне перекриття поведінки при завершенні процесів | низький |
Значне дублювання поведінки при зборі системної інформації | низький |
Перекриття коду у функції надсилання файлів виділено на рисунках 2 і 3.
Технічний аналіз
WinorDLL64 служить бекдором, який, зокрема, отримує велику інформацію про систему, надає засоби для маніпулювання файлами та виконує додаткові команди. Цікаво, що він спілкується через TCP-з’єднання, яке вже було встановлено його завантажувачем, і використовує деякі функції завантажувача.
Бекдор — це DLL з єдиним експортом без назви, який приймає один параметр — структуру для зв’язку, яка вже була описана в нашому попередня публікація в блозі. Структура містить TLS-контекст – сокет, ключ, IV – і зворотні виклики для надсилання та отримання повідомлень, зашифрованих за допомогою 256-бітного AES-CBC, які дозволяють WinorDLL64 безпечно обмінюватися даними з оператором через уже встановлене з’єднання.
Наступні факти змушують нас з високою впевненістю вважати, що бібліотека справді є частиною Wslink:
- Унікальна структура використовується скрізь очікуваним чином, наприклад, TLS-контекст та інші значущі параметри надаються в очікуваному порядку до правильних зворотних викликів.
- Ім'я DLL є WinorDLL64.dll а ім'я Wslink було WinorLoaderDLL64.dll.
WinorDLL64 приймає кілька команд. На малюнку 5 показано цикл, який приймає та обробляє команди. Кожна команда прив’язана до унікального ідентифікатора та приймає конфігурацію, яка містить додаткові параметри.
Список команд із нашими мітками наведено на малюнку 6.
Таблиця 2 містить короткий перелік команд WinorDLL64, де змінено, а старі категорії стосуються зв’язку з раніше задокументованою функціональністю GhostSecret. Ми виділяємо лише значні зміни в модифікованій категорії.
Таблиця 2. Огляд бекдор-команд
Категорія | Ідентифікатор команди | Функціональність | Опис |
---|---|---|---|
Нові | 0x03 | Виконайте команду PowerShell | WinorDLL64 наказує інтерпретатору PowerShell працювати без обмежень і читати команди зі стандартного введення. Після цього бекдор передає вказану команду інтерпретатору та надсилає вихідні дані оператору. |
0x09 | Стисніть і завантажте каталог | WinorDLL64 рекурсивно повторює заданий каталог. Вміст кожного файлу та каталогу стискається окремо та записується у тимчасовий файл, який потім надсилається оператору, а потім безпечно видаляється. | |
0x0D | Відключити сеанс | Від’єднує вказаного зареєстрованого користувача від сеансу служб віддаленого робочого стола користувача. Команда також може виконувати різні функції на основі параметра. | |
0x0D | Список сеансів | Збирає різні відомості про всі сеанси на пристрої жертви та надсилає їх оператору. Команда також може виконувати різні функції на основі параметра. | |
0x0E | Виміряйте час підключення | Використовує Windows API GetTickCount для вимірювання часу, необхідного для підключення до вказаного хосту. | |
Модифікований | 0x01 | Отримайте інформацію про систему | Збирає вичерпну інформацію про систему жертви та надсилає її оператору. |
0x0A | Безпечно видаліть файли | Перезаписує вказані файли блоком випадкових даних, перейменовує кожен файл на випадкове ім’я та, нарешті, надійно видаляє їх один за іншим. | |
0x0C | Знищити процеси | Завершує всі процеси, імена яких відповідають наданому шаблону та/або з певним PID. | |
Старий | 0x02/0x0B | Створіть процес | Створює процес як поточний або вказаний користувач і, за бажанням, надсилає його результат оператору. |
0x05 | Встановити/отримати поточний каталог | Намагається встановити та згодом отримати шлях до поточного робочого каталогу. | |
0x06 | Список томів | Перебирає диски від C: до Z: і отримує тип диска та назву тому. Команда також може виконувати різні функції на основі параметра. | |
0x06 | Список файлів у каталозі | Перебирає файли у вказаному каталозі та отримує таку інформацію, як імена, атрибути тощо. Команда також може виконувати різні функції на основі параметра. | |
0x07 | Записати в файл | Завантажує та додає вказаний обсяг даних у вказаний файл. | |
0x08 | Читати з файлу | Зазначений файл читається та надсилається оператору. | |
0x0C | Список процесів | Отримує деталі про всі запущені процеси на пристрої жертви та додатково надсилає ідентифікатор поточного процесу. |
Висновок
Корисне навантаження Wslink призначене для забезпечення засобів для маніпулювання файлами, виконання подальшого коду та отримання обширної інформації про базову систему, яка, можливо, може бути використана пізніше для бокового переміщення через особливий інтерес до мережевих сеансів. Завантажувач Wslink слухає порт, указаний у конфігурації, і може обслуговувати додаткових клієнтів, що підключаються, і навіть завантажувати різні корисні дані.
WinorDLL64 містить перекриття середовища розробки, поведінки та коду з кількома зразками Lazarus, що вказує на те, що це може бути інструмент із великого арсеналу цієї групи APT, пов’язаної з Північною Кореєю.
IoCs
SHA-1 | Назва виявлення ESET | Опис |
---|---|---|
1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F | Win64/Wslink.A | Дамп пам'яті виявленого корисного навантаження Wslink WinorDll64. |
Методи MITER ATT & CK
Ця таблиця була побудована за допомогою версія 12 рамки ATT&CK. Ми знову не згадуємо техніки завантажувача, лише корисне навантаження.
Тактика | ID | ІМ'Я | Опис |
---|---|---|---|
Розвиток ресурсів | T1587.001 | Розвивайте можливості: шкідливі програми | WinorDLL64 — це спеціальний інструмент. |
Виконання | T1059.001 | Інтерпретатор команд і сценаріїв: PowerShell | WinorDLL64 може виконувати довільні команди PowerShell. |
T1106 | Native API | WinorDLL64 може виконувати подальші процеси за допомогою CreateProcessW та CreateProcessAsUserW API. | |
Ухилення від захисту | T1134.002 | Маніпуляція маркером доступу: створення процесу за допомогою маркера | WinorDLL64 може викликати API WTSQueryUserToken та CreateProcessAsUserW щоб створити процес під імітованим користувачем. |
T1070.004 | Видалення індикатора: Видалення файлу | WinorDLL64 може безпечно видаляти довільні файли. | |
Відкриття | T1087.001 | Виявлення облікового запису: локальний обліковий запис | WinorDLL64 може нумерувати сеанси та список пов’язаних користувачів і імен клієнтів, серед інших деталей. |
T1087.002 | Виявлення облікового запису: обліковий запис домену | WinorDLL64 може нумерувати сеанси та перераховувати пов’язані доменні імена – серед інших деталей. | |
T1083 | Виявлення файлів і каталогів | WinorDLL64 може отримати списки файлів і каталогів. | |
T1135 | Виявлення спільного доступу до мережі | WinorDLL64 може виявляти спільні мережеві диски. | |
T1057 | Відкриття процесу | WinorDLL64 може збирати інформацію про запущені процеси. | |
T1012 | Реєстр запитів | WinorDLL64 може запитувати реєстр Windows для збору системної інформації. | |
T1082 | Виявлення системної інформації | WinorDLL64 може отримати таку інформацію, як ім’я комп’ютера, ОС і остання версія пакета оновлень, архітектура процесора, назва процесора та обсяг місця на фіксованих дисках. | |
T1614 | Виявлення розташування системи | WinorDLL64 може отримати назву країни жертви за замовчуванням за допомогою GetLocaleInfoW API. | |
T1614.001 | Виявлення розташування системи: виявлення мови системи | WinorDLL64 може отримати стандартну мову жертви за допомогою GetLocaleInfoW API. | |
T1016 | Виявлення конфігурації мережі | WinorDLL64 може перераховувати інформацію про мережевий адаптер. | |
T1049 | Виявлення мережевих підключень системи | WinorDLL64 може збирати список прослуховуваних портів. | |
T1033 | Виявлення власника/користувача системи | WinorDLL64 може нумерувати сеанси та виводити список пов’язаних імен користувачів, доменів і клієнтів – серед інших деталей. | |
COLLECTION | T1560.002 | Архів зібраних даних: Архів через бібліотеку | WinorDLL64 може стискати та ексфільтрувати каталоги за допомогою quicklz бібліотека |
T1005 | Дані з локальної системи | WinorDLL64 може збирати дані на пристрої жертви. | |
Impact | T1531 | Видалення доступу до облікового запису | WinorDLL64 може відключити користувача, який увійшов у систему, від певних сеансів. |
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- Платоблокчейн. Web3 Metaverse Intelligence. Розширені знання. Доступ тут.
- джерело: https://www.welivesecurity.com/2023/02/23/winordll64-backdoor-vast-lazarus-arsenal/
- 1
- 10
- 2011
- 2017
- 2018
- 2021
- 7
- 9
- a
- МЕНЮ
- зловживання
- Приймає
- доступ
- точний
- набувати
- Набуває
- діяльності
- Додатковий
- Додатково
- Перевага
- Авіаційно-космічний
- після
- проти
- вирівняні
- ВСІ
- вже
- Америка
- серед
- кількість
- аналіз
- та
- Очікуваний
- крім
- API
- Інтерфейси
- APT
- архітектура
- архів
- арсенал
- стаття
- статті
- асоційований
- нападки
- Атрибути
- Серпня
- назад
- закулісний
- заснований
- Бельгія
- Вірити
- між
- Блокувати
- пов'язаний
- будувати
- побудований
- C + +
- call
- можливості
- категорії
- Категорія
- центральний
- центральна європа
- CGI
- Зміни
- СНД
- клієнт
- клієнтів
- код
- збирати
- Збір
- поєднання
- комерційний
- зазвичай
- Комунікація
- компанія
- порівняння
- компонент
- всеосяжний
- компроміс
- Компрометація
- комп'ютер
- довіра
- конфігурація
- Підтверджено
- З'єднуватися
- З'єднувальний
- зв'язку
- Зв'язки
- беручи до уваги
- містить
- зміст
- контроль
- країна
- обкладинка
- створювати
- створення
- критичний
- Поточний
- виготовлений на замовлення
- дані
- присвячених
- дефолт
- описаний
- description
- робочий стіл
- деталі
- розробка
- пристрій
- DID
- різний
- безпосередньо
- каталоги
- відкрити
- відкритий
- відкриття
- дисплеїв
- руйнівний
- домен
- ДОМЕННІ ІМЕНА
- скачати
- управляти
- дамп
- під час
- кожен
- Схід
- або
- Співробітник
- включіть
- зашифрованих
- розваги
- Навколишнє середовище
- встановлений
- і т.д.
- Європа
- Навіть
- обмін
- виконувати
- Виконує
- виконання
- очікуваний
- Пояснює
- експорт
- експорт
- обширний
- fbi
- лютого
- fellow
- кілька
- Рисунок
- філе
- Файли
- в кінці кінців
- знайти
- Перший
- фіксованою
- після
- знайдений
- Рамки
- від
- функціональність
- Функції
- далі
- покоління
- отримати
- отримання
- Group
- Групи
- Ручки
- Високий
- гучний
- Виділіть
- Виділено
- історія
- хіт
- число переглядів
- господар
- Однак
- HTTPS
- ідентифікований
- реалізація
- in
- вказувати
- вказує
- індикатор
- ганебний
- інформація
- початковий
- спочатку
- вхід
- Інтелект
- інтерес
- внутрішній
- IT
- журналіст
- ключ
- відомий
- Корея
- корейський
- етикетки
- мова
- великий
- останній
- Минулого року
- Пізно
- останній
- Лазар
- вести
- Led
- довжина
- бібліотека
- LINK
- список
- Перераховані
- Прослуховування
- список
- оголошення
- загрузка
- завантажувач
- місцевий
- розташування
- Довго
- низький
- Машинки для перманенту
- made
- головний
- шкідливих програм
- Маніпуляція
- матч
- макс-ширина
- Макафі
- значущим
- засоби
- вимір
- пам'ять
- повідомлення
- Середній
- середній Схід
- може бути
- модифікований
- Модулі
- моніторинг
- більше
- найбільш
- руху
- ім'я
- Названий
- Імена
- Нідерланди
- мережу
- На північ
- Північна Америка
- особливо
- номер
- отримувати
- отримання
- Пропозиції
- Старий
- ONE
- операції
- оператор
- порядок
- Організований
- OS
- Інше
- інакше
- спалах
- огляд
- Pack
- параметр
- параметри
- частина
- проходить
- шлях
- Викрійки
- виконувати
- period
- фотографії
- plato
- Інформація про дані Платона
- PlatoData
- політичний
- популярний
- Порти
- PowerShell
- підготовлений
- раніше
- приватний
- процес
- процеси
- процесор
- Product
- проектів
- за умови
- забезпечує
- забезпечення
- громадськість
- Публікація
- мета
- випадковий
- Читати
- отримано
- отримує
- отримання
- записаний
- про
- регіон
- реєстру
- відносини
- щодо
- доречний
- віддалений
- видалення
- видаляти
- Вилучено
- видалення
- Повідомляється
- Звіти
- вимагається
- дослідження
- дослідник
- Дослідники
- відповідальний
- результати
- Багаті
- Правило
- Правила
- прогін
- біг
- то ж
- безпечний
- безпечно
- безпеку
- відправка
- окремо
- служити
- служить
- обслуговування
- Послуги
- Сесія
- сесіях
- комплект
- кілька
- Поділитись
- загальні
- Короткий
- Незабаром
- значення
- значний
- аналогічний
- схожість
- з
- один
- Розмір
- Рішення
- деякі
- Південь
- South Korea
- південнокорейський
- Простір
- конкретний
- зазначений
- standard
- стенди
- заявив,
- структура
- Згодом
- такі
- Запропонує
- підсумовувати
- РЕЗЮМЕ
- поставляється
- Підтримуючий
- система
- таблиця
- Мета
- цільове
- цілі
- команда
- методи
- тимчасовий
- Команда
- Нідерланди
- їх
- загроза
- час
- до
- знак
- інструмент
- традиційний
- при
- що лежить в основі
- створеного
- БЕЗ ІМЕНИ
- завантажено
- us
- використання
- користувач
- використовувати
- різний
- величезний
- версія
- через
- Жертва
- жертви
- Віртуальний
- візуалізації
- обсяг
- вразливість
- вага
- який
- широкий
- волі
- windows
- формулювання
- робочий
- б
- письмовий
- рік
- зефірнет