Почти 150 npm пакета, представящи се за инструменти за заобикаляне на училищни Wi-Fi ограничения, са били използвани за превръщането на браузърите на посетителите в потенциални инструменти за DDoS атаки.

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

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

Всеки, който е отворил някой от хостваните сайтове, е можел да бъде изложен на popunder реклами, проследяване и, по време на ключов период, код за генериране на голям мрежов трафик. Изследователи от JFrog и SafeDep са идентифицирали различни етапи на активността.

SafeDep първоначално документално е доказала 141 свързани пакета като злоупотреба с хостване на рекламен софтуер (adware) през май, докато по-късно JFrog деобфускира приложението и разкри отдалечено зареждане на код и DDoS функции, които са работили в края на май.

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

Кампанията е използвала имена и страници, свързани с Lucide Proxy, Riverbend Tutoring и Northstar Tutoring.

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

От JFrog заявиха, че първата вълна е започнала на 27 май, а по-късна вълна се е появила на 8 юли, което е увеличило общия брой на пакетите до 148.

Освен това много пакети са били премахнати, но някои са останали достъпни, когато изследването е било публикувано.

По-ранният анализ на SafeDep не е открил компоненти за кражба на идентификационни данни или инсталационни куки. Вместо това пакетите са съдържали уеб файлове, които са могли да бъдат обслужвани от инфраструктура, поддържана от npm.

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

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

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

Анализът на JFrog е разкрил обфускиран JavaScript пакет, който зарежда два скрити модула преди появата на интерфейса на проксито.

Единият е извличал отдалечено хостван скрипт от променлив клон в GitHub без проверка за интегритет. Това е дало на операторите начин да променят кода, доставян на всеки посетител, без да препубликуват npm пакета.

Архивиран зловреден код от втория етап е изпращал повтарящи се големи POST заявки към целеви образователен сайт на всеки половин секунда.

JFrog оценява, че един активен браузър е можел да генерира около 2 MB трафик за качване в секунда, а хиляда посетители са могли да произведат приблизително 2 GB в секунда. Такъв трафик може да забави или претовари публично достъпна услуга.

Отделен компонент е извличал настройки за WebSocket на живо и е инструктирал браузърите да отварят връзки към прокси крайна точка, съвместима с Wisp. Той е можел да създава и затваря връзки с висока скорост, упражнявайки натиск върху капацитета за сокети на сървъра и неговите логове.

Отдалеченият зареждач и генераторът на трафик по-късно са били премахнати, но зареждането на външни скриптове остава повод за безпокойство.

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

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

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

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