GhostCode е новоидентифициран фишинг кит, който превръща нормалното влизане в Microsoft 365 в превземане на акаунт. Не е необходимо да краде парола. Вместо това той убеждава хората да потвърдят вход, който дава на киберпрестъпниците достъп до техния работен акаунт.

Кампанията започва с обикновено изглеждащи съобщения, изпратени през контактни форми на компании. Атакуващите са се представяли за служители по отдел „Покупки“, след което са изпращали искане за подписване на споразумение за конфиденциалност (NDA) и WeTransfer връзка, съдържаща защитен с парола HTML файл.

Файлът представлява примамка за споделяне на документ и насочва получателя към вход в Microsoft чрез устройство (device-code sign-in). Анализаторите от eSentire са идентифицирали активността в края на август и са нарекли фишинг кита GhostCode. Името отразява неговия скрит код и използването на инфраструктура, свързана с GHOSTnet, по време на регистрирането на устройството.

От eSentire посочват в доклад, споделен с Cyber Security News (CSN), че операцията е използвала предтекст в стил „компрометиране на служебна електронна поща“ (BEC), за да направи искането да изглежда рутинно.

Рискът е незабавен, тъй като жертвата завършва автентикацията, включително многофакторната автентикация (MFA), на легитимна страница на Microsoft.

След това GhostCode получава генерирания токен, пренасочва жертвата към фалшиво споразумение за конфиденциалност (NDA) и започва да действа, преди жертвата да има причина да се усъмни в проблем. Случаят подчертава защо фишинг кампаниите, използващи код от устройство, са трудни за забелязване чрез познатите предупредителни знаци за кражба на пароли.

Верига на атаката на GhostCode (Източник – eSentire)
Верига на атаката на GhostCode (Източник – eSentire)

Кампанията показва как доверието в позната страница за автентикация, а не технически дефект, може да се превърне в предимство за атакуващия. За организации, зависими от облачни услуги, тази разлика превръща рутинно искане за одобрение в сериозен incident със сигурността на акаунта. Той може да се развие, преди разследващите да прегледат първото предупреждение.

GhostCode Phishing Kit заобикаля Microsoft 365 MFA

GhostCode злоупотребява с OAuth процеса за авторизация на устройства, който е предназначен за устройства като смарт телевизори, които не могат лесно да показват пълен екран за вход.

Неговият сървър изисква код чрез идентификатора на приложението Microsoft Authentication Broker, вмъква този код в изпипан фалшив портал за документи и кара мишената да го автентикира. По този начин потребителят ефективно оторизира устройството на атакуващия.

Прикрепеният файл затруднява проверката. Той съдържа ненужни данни (junk data), прекъсва видимия текст с HTML коментари и държи адреса за пренасочване криптиран, докато не бъде въведена правилната парола.

След като жертвата достигне до фишинг сървъра, проверка на браузъра и проверки на местоположението филтрират автоматизираните скенери. Този подход прилича на техники, документирани по-рано в услугата за фишинг EvilTokens, но GhostCode ги комбинира с целева комуникация през форми за контакт.

Съобщение от автора на заплахата към платформа за продажби (Източник – eSentire)
Съобщение от автора на заплахата към платформа за продажби (Източник – eSentire)

След като входът бъде одобрен, фишинг китът използва адреси от жилищни прокси мрежи (residential proxy), избрани така, че да съответстват на местоположението на жертвата. Това прави подканата от Microsoft по-малко тревожна и може да отслаби известията за сигурност, базирани на местоположение.

При наблюдаваното компрометиране атакуващите са извършили девет успешни API извиквания, регистрирали са три устройства за 78 секунди и са получили Primary Refresh Token за 32 секунди. Този токен може да поддържа вход в услугите на Microsoft 365, без да иска от потребителя отново да се автентикира.

Ограничаване на бързо развиваща се атака срещу идентификационни данни

Скоростта е от съществено значение, тъй като простото отменяне на откраднат токен може да не премахне устройствата, които вече са регистрирани в организацията (tenant). Изследователите са установили, че регистрираните устройства остават, докато администраторите изрично не ги деактивират или премахнат.

Екипите, реагиращи на съмнителна активност с кодове на устройства, трябва да анулират токените, да нулират компрометираните идентификационни данни, да прегледат новорегистрираните устройства и да проверят логовете за поща и облачен достъп за последваща активност.

Препоръчителната мярка е да се блокира автентикацията с код от устройство чрез Conditional Access за всеки, който наистина няма нужда от нея, като същевременно се позволят строго дефинирани изключения за одобрени работни процеси по поддръжка или предоставяне на услуги.

Примамка с предтекст за NDA (Източник – eSentire)
Примамка с предтекст за NDA (Източник – eSentire)

Организациите трябва също така да прилагат контроли за съответствие на устройствата (device-compliance), където е подходящо. Това намалява броя на служителите, които биха могли да бъдат измамени от същия метод, използван при фишинг атаки с тематика passkey.

Екипите по сигурност трябва да генерират предупреждения при успешни събития с кодове на устройства, последвани от необичайни скриптирани заявки или няколко регистрации на устройства от една неинтерактивна сесия. Те трябва също така да търсят имена на устройства, съответстващи на модел от първо име, фамилно име, корпоративен домейн и шестнадесетичен суфикс.

Информираността на потребителите остава важна: неочаквано искане за копиране на код в страница на Microsoft трябва да се третира като съмнително, особено след като кампаниите за кражба на сесии в Microsoft 365 продължават да се фокусират върху токени, а не върху пароли.

Индикатори за компрометиране (IoCs):-

ТипИндикаторОписание
Домейнbjssourcing[.]comНаподобяващ домейн на подател, използван в предтекста за служител по обществени поръчки
Домейнgreenlightdlstribution[.]comСвързан домейн за имперсонация, регистриран по време на кампанията
Имейл адресjeremyarcher@voewo[.]comАдрес за еднократна употреба, свързан с регистрацията на свързан наподобяващ домейн
Домейнvoewo[.]comДомейн, свързан с фалшиви профили за регистрация за еднократна употреба
Име на файл3arhCt9c0p.htmlЗащитено с парола HTML прикачен файл, използван като примамка за споделяне на документ
URLhxxps://chartered.flipbookonlinevault[.]com/scanna/200e61bfe54c92fb720c77c3a1661bc0/b5ea87c2ddac3aa141bc6794b8993d1e43bd064eaae591719612becea0d106d7Декриптиран релейно URL, използвано за проследяване, филтриране и пренасочване
Път на URL/scanna/file001//Допълнителен наблюдаван път на кампанията върху същата релейна инфраструктура
Домейнchartered.flipbookonlinevault[.]comИнфраструктура за реле и филтриране на ботове, хостваща криптираната дестинация за пренасочване
Домейнaccount-access-rc3uenqi.elitechiropracticandrehab[.]comФишинг сървър за устройства (device-code), хостван под най-вероятно компрометиран сайт
Път на URL/turnstile?return_url=%2F3OnOQubA2bS4o26p3MRXyYV3XuUZ6...Път до Cloudflare Turnstile, използван преди предоставянето на фишинг портала
Път на API/api/harvester?action=geoipЗаявка към фоновата система (backend), използвана за оценка на местоположението на жертвата и задаване на маршрутизиране през прокси
Път на API/api/harvester?action=get_codeЗаявка към фоновата система (backend), използвана за получаване на код за авторизация на устройството
Път на API/api/harvester?action=pollЗаявка към фоновата система (backend), използвана за периодична проверка (polling) за завършена автентификация на устройството
Идентификатор на приложение (Application ID)29d9ed98-a469-4536-ade2-f981bc1d605eИдентификатор на приложението Microsoft Authentication Broker, с който е злоупотребено в процеса с код за устройство (device-code flow)
User-Agentpython-requests/2.34.2Сигнатура на автоматизирана заявка (скрипт), наблюдавана по време на използването на токена и активността след автентификацията
IP адрес82.33.39[.]74Резиденциален прокси IP адрес, наблюдаван по време на използването на токена
IP адрес151.225.227[.]193Резиденциален прокси IP адрес, наблюдаван по време на използването на токена
IP адрес176.253.248[.]175Резиденциален прокси IP адрес, наблюдаван по време на използването на токена
IP адрес94.9.97[.]142Резиденциален прокси IP адрес, наблюдаван по време на използването на токена
IP адрес86.132.13[.]219Резиденциален прокси IP адрес, наблюдаван по време на използването на токена
IP адрес81.96.174[.]54Резиденциален прокси IP адрес, наблюдаван по време на използването на токена
IP адрес90.215.55[.]70Резиденциален прокси IP адрес, наблюдаван по време на използването на токена
IP адрес92.40.47[.]84Резиденциален прокси IP адрес, наблюдаван по време на използването на токена
IP адрес5.230.71[.]51IP адрес, свързан с GHOSTnet, наблюдаван по време на финалното регистриране в Intune
Идентификатор на устройство (Device ID)4e537622-2514-48b8-84ed-0139549cfab0Първо устройство, регистрирано от атакуващия
Идентификатор на устройство (Device ID)6c290bcc-62d3-40bd-a774-816109af6729Второ устройство, регистрирано от атакуващия
Идентификатор на устройство (Device ID)5e83a216-f67e-43b8-a129-f67666a001ddТрето устройство, регистрирано от атакуващия, по-късно регистрирано в Intune

Забележка: IP адресите и домейните са нарочно неутрализирани (напр. [.]), за да се предотврати случайно разрешаване на имена или създаване на хипервръзки. Възстановете ги само в рамките на контролирани платформи за разузнаване за киберзаплахи като MISP, VirusTotal или вашата SIEM система.