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

Операцията е насочена към софтуерни разработчици, които вярват, че завършват тест за кодиране за възможност за работа.

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

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

Анализаторите на StepSecurity отбелязаха нарастващата опасност от атаки, фокусирани върху разработчиците, които крият вредното поведение, докато кодът не бъде изпълнен.

В този случай Elastic Security Labs и StepSecurity заявиха в доклад, споделен с Cyber Security News (CSN), че дейността се проследява като REF9403 и е свързана с дългогодишната операция Contagious Interview.

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

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

Севернокорейски хакери крият зловреден код OTTERCOOKIE

Атакуващите са използвали SVG файлове, изобразяващи държавни флагове, включително AE.svg и AF.svg, в папката с ресурси на проекта.

Всяко изображение е изглеждало безобидно, но блоковете с HTML коментари са съдържали Base64-кодирани части от зловредния код, което му позволява да избегне очевидна проверка и сканиране за сигурност.

JavaScript файл с име serverValidation.js чете SVG файловете, съединява фрагментите и изпълнява възстановения код.

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

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

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

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

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

Съобщава се, че кампанията е започнала със съобщения за работа, публикувани в общностен Slack канал, последвани от директен контакт и искане за завършване на оценка на кодирането.

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

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

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

Екипите, които са стартирали подозрителен проект, трябва да изолират устройството, да прегледат съхранените в браузъра идентификационни данни и разширения на портфейли и да променят изложените API ключове, SSH ключове, облачни идентификационни данни, GitHub и npm токени.

Това е особено важно предвид възможностите за кражба на идентификационни данни на OTTERCOOKIE, които включват възможности за събиране на данни от различни платформи.

Мрежовите защитници трябва да наблюдават или ограничават връзките към идентифицираната инфраструктура rightwidth[.]dev, вместо да разчитат само на контрол върху инсталационните скриптове.

Зловредният код се стартира при стартиране на сървъра, така че защитите на мениджъра на пакети, насочени към инсталационни скриптове, може да не го спрат; заплахите за злонамерени пакети по веригата за доставки също показват защо прегледът на зависимостите и хранилищата трябва да се простира отвъд първоначалната инсталация.

Екипите за сигурност могат да добавят проверки, които маркират eval() в JavaScript от страна на сървъра, и да проверяват коментарите в SVG файлове за необичайно кодирано съдържание.

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

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

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