CARBANAK Продовження аналізу вихідного коду: Частина друга

У попередній частині було описано те, як хешування послідовності використовувалося в CARBANAK для управління Windows API по всьому вихідному коду.

Антивірус Evasions

Вихідний код безперечно прискорює аналіз хеш-рядків. Для прикладу, функція AVDetect в AV.cpp прискорює процес виявлення за хешем назви процесу, як ілюстровано на зображені 1.

Зображення 1: Виявлення за хешем назви процесу

Що робить CARBANAK, з цією інформацією? Він ухиляється від AV-сканерів відповідно до того, що встановлено в ОС. Зображення 2 показує код для ухилення від AVG, що розробники відключили можливість його коментувати. Виходячи з цього начебто ухилення AVG було ліквідовано, але член команди FLARE Раян Ворнс підтвердив в листопаді 2017, що це все ще працювало з одним незначним налаштуванням. FLARE розкрила це для AVG безпосередньо після його підтвердження. Avast вказує, що після розкриття, вони оновили змінене DLL, щоб проігнорувати DLL_PROCESS_DETACH і залишили його на місці.

Зображення 2: Коментування вихідного коду для вивантаження AVG-інтерфейсу користувача

У листопаді 2017 року компанія FLARE оголосила про ухилення від виявлення ін'єкцій процесу, які залишалися активними у вихідному коді CARBANAK. Ухилення віддзеркалює техніку, що використовується в Carberp, яка замінює віддалене виділення та виклик CreateRemoteThread з відображенням пам'яті та чергуванням асинхронної процедури виклику через QueueUserAPC. Після детального розбору від FIREEYE, компанія Trend Micro зазначила, що оновила свої правила моніторингової поведінки і випустила OfficeScan XG SP1 у грудні 2017 року з новою функцією виявлення "Aggressive Event", яка покриває цю поведінку.

Характеристика автора

Наявність вихідного коду могло надати унікальні можливості та більш детальну інформацію про розробників. З цією метою був проведений пошук артефактів в дампі вихідного коду. Велику частину інформації було найдено у Visual Studio. Були знайдені такі шляхи:

• C:\Users\hakurei reimu\AppData\Local\Temp
• C:\Users\Igor\AppData\Local\Temp
• E:\Projects\progs\Petrosjan\WndRec\...
• E:\Projects\progs\sbu\WndRec\...

На жаль, ці дані не дають багато відповідей та якщо вони спостерігаються в більш пізніших артефактах, то можливо зробити висновок про зв'язки з тим же автором.

Огляд вихідного коду

Вихідний код CARBANAK містив численні експлойти, хости C2, паролі і ключову інформацію. Було вирішено всебічно знайти їх і визначити, чи приведуть вони до будь-яких нових висновків або підтвердять будь-які попередні спостереження.

Експлойти

Хотілось би дізнатись чи володіють автори CARBANAK будь-якими експлойтами, які не були публічно розкриті. Але навпаки, було виявлено, що всі експлойти були добре документовані. Таблиця 1 ілюструє код експлойтів, який було розглянуто в дампі вихідного коду CARBANAK.

Таблиця 1: Експлойт знайдений у вихідному коді CARBANAK

Вихідний код CARBANAK також містить скопійований код від Mimikatz, що включає модуль sekurlsa для дампа паролів з lsass.exe та служби віддалених робочих столів, що виправляють код для того, щоб дозволити декілька з'єднань по протоколу віддаленого робочого столу.

Секрети

Аналіз включав аудит паролів і ключового матеріалу, знайденого у вихідному коді і супровідні двійкові файли. Таблиця 2 показує відновлені паролі, що було використано для RC2-зашифрованих комунікацій та інших цілей поряд з відповідним ім'ям у вихідному коді.

Таблиця 2: Паролі, знайдені в вихідному коді CARBANAK та двійкових файлах

Було знайдено зашифрований сертифікат сервера в каталозі debug. Пароль був знайдений менше ніж за 1 секунду, тому що це був односимвольний пароль "1" . Сертифікат показано на зображені 3 з деталями в таблиці 3.

Зображення 3: Сертифікат компанії
Таблиця 3: Деталі сертифіката компанії(1)

Таблиця 3: Деталі сертифіката компанії(2)

FireEye стежив, як останнім часом сертифікат обслуговується на наступних IP-адресах (таблиця 4):

Таблиця 4: Використання сертифікату Recent Test Company

Хоча ці IP-адреси і не відстежувались в будь-якій активності CARBANAK, це може вказувати на спільного розробника, який використовується для тестування різних шкідливих програм. Деякі з цих IP-адрес спостерігалися при завантаженні даних Cobalt Strike BEACON. IP-адреси віртуального приватного сервера (VPS) можуть часто змінюватися, і додаткові шкідливі ПЗ, розміщені на цих IP-адресах, навіть близькі по часу, можуть бути не пов'язані з тими самими користувачами.

Також був проаналізований незахищений секретний ключ в дампі вихідного коду. Зображення 4 і Таблиця 5 ілюструють параметри з секретним ключем.

Зображення 4: Проаналізований 512-розрядний секретний ключ
Таблиця 5: Параметри секретних ключів

Значення під назвою PUBLIC_KEY, визначений у заголовку конфігурації, з коментарями, що вказують на нього, було для налагодження цілей. Проаналізовані значення ілюстровані в Таблиці 6.

Таблиця 6: Ключові параметри для PUBLIC_KEY, визначені в заголовку конфігурації

Базові мережеві індикатори

Вихідний код та двійкові файли містять декілька мережевих індикаторів, які мають суттєве перекриття з CARBANAK backdoor activity і операціями FIN7, які раніше спостерігалися і документувалися FireEye. Таблиця 7 ілюструє ці показники разом з відповідною документацією FireEye. Це включає в себе статус кожного мережевого індикатора, який зустрічався (активний у вихідному коді, коментар або компіляція в двійковому).

Таблиця 7: Мережеві індикатори

Чотири з цих
80.84.49 [.] 50: 443
52.11.125 [.] 44: 443
85.25.84 [.] 223
37.1.212 [.] 100: 700, були новими, хоча деякі були зареєстровані в іншому місці.

Висновок:

Аналіз даного дампу вихідного коду підтвердив, що це був CARBANAK. Відбулось повідомлення постачальників про наступні індикатори компрометації, як раніше зафіксовані мережеві індикатори, Windows API function, бекдор, що керує хеш- значеннями функції, використання API Windows так і інші артефакти, пов'язані з CARBANAK. Автори аналізу називають шкідливе програмне забезпечення "ботом" в проекті Visual Studio, іменах файлів, коментарях вихідного коду, вихідних бінарниках, призначених для користувача інтерфейсів і посібниках.

Джерело: FIREEYE