Киберпрестъпниците се представят за специалисти по подбор на персонал (рекрутери), за да превърнат рутинните интервюта за работа в капани със зловреден код за софтуерни разработчици.
Тяхната най-нова кампания разпространява два кросплатформени инструмента за отдалечен достъп — NodeRabbit и PollCat — чрез задачи за програмиране, които изглеждат като автентични тестове за домашна работа.
Активността е засегнала жертви в секторите на авиацията, аерокосмическата промишленост и финансовите технологии в Египет, Етиопия и Афганистан.
Тя също така показва как наглед обикновено изтегляне на проект може да даде на атакуващите възможност за проникване в работната станция на разработчик, откъдето изходният код, идентификационните данни за облачни услуги и корпоративният достъп могат да станат лесно достъпни.
Изследователи от Securelist са идентифицирали непубликуваните досега семейства зловреден код NodeRabbit и PollCat, докато са проследявали групата Mirage Kitten.
В доклад на Securelist, споделен с Cyber Security News (CSN), се посочва, че това е първото публично документирано използване на Node.js и JavaScript импланти от тази група.
Промяната е важна, тъй като зловредният код работи под Windows, Linux и macOS, съответствайки на смесените среди, които са често срещани в инженерните екипи.
Тя също така разширява утвърдения модел на социално инженерство, наблюдаван при предишни кампании с фалшиви рекрутери, но го комбинира с по-траен достъп и трикове, насочени специално към разработчици.
Хакери се представят за рекрутери и изпращат фалшиви тестове за програмиране
Инфектирането започва с фалшив профил на специалист по подбор в LinkedIn или друга платформа за търсене на работа. На мишената се предлага инженерна роля и се изпраща връзка към задача за оценяване на уменията по програмиране, съхранявана в Amazon S3 хранилище, след което кандидатът бива подтикван да изтегли и стартира проекта възможно най-бързо.
Един от използваните капани, наречен TaskFlow, твърди, че е упражнение за отстраняване на грешки във фронтенд частта. Файлът README поставя тричасов лимит, указва на кандидатите да не използват асистенти с изкуствен интелект и настоява, че файлът server.js вече е коригиран. Тези инструкции отклоняват вниманието от модифицирания код.
Първият ред на server.js импортира colorized_terminal версия 2.1.0 — зловреден пакет, включен директно в node_modules, вместо да бъде публикуван в npm.
Тихото импортиране стартира NodeRabbit във фонов режим от скрит път в кеша, напомняйки за рисковете при атаката срещу веригата за доставки през binding.gyp, където обичайните действия на разработчика задействат изпълнение на зловреден код.
Други архиви използват втори компрометиран пакет, pretty-log, за стартиране на по-напреднали варианти на NodeRabbit. Изследователите са открили свързани зловредни проби от системи в Афганистан, Египет и Етиопия, свързвайки кампанията с по-широки действия срещу организации в Близкия изток и Африка.
NodeRabbit и PollCat разширяват достъпа
NodeRabbit събира подробности за хоста, комуникира с отдалечени сървъри и може да изпълнява команди, да изброява процеси, да преглежда файлове и да прехвърля данни.
Неговата по-късна версия също така търси местоположения на проекти за разработка, може да добави фалшиво разширение за редактор и инжектира стартови скриптове в Git куки (Git hooks), така че рутинната работа по разработка да рестартира зловредния код.
PollCat пристига чрез отделен React-базиран тест, наречен RankChallenge-react. Проектът иска от кандидата да изпълни команда за инсталация и след това показва изтичащ еднократен код, предоставен от рекрутера — дизайн, който създава чувство за спешност, докато скритият компонент започва да се свързва с инфраструктурата на атакуващите.
След като бъде активиран, PollCat може да изпълнява шел команди, да премества или изтрива файлове, да събира системна информация и да прехвърля файлове между жертвата и операторите си.
Той осигурява персистентност чрез планирани задачи в Windows, cron задачи в Linux или LaunchAgent в macOS. Резултатът наподобява компрометирания пакет node-ipc, където зареден JavaScript модул разкриваше тайни на разработчиците и позволяваше отдалечен контрол.
Разработчиците трябва да третират непоисканите архиви с тестови задачи като несигурен софтуер, дори когато подателят има убедителен професионален профил.
Потвърждавайте възможността за работа през официалните канали на работодателя, проверявайте зависимостите и стартовите файлове, преди да стартирате даден проект, и използвайте изолирана среда (пясъчник), която не съдържа производствени идентификационни данни или частни репозитории.
Екипите трябва също така да прегледат скорошно изтеглените тестове за програмиране, да проверят за неочаквани планирани задачи, разширения на редактора и променени Git куки, както и да подменят идентификационните данни, съхранявани на машина, на която е стартирано съмнително задание.
Тази предпазливост е особено важна след кампанията със зловредния пакет undicy-http, която по подобен начин показа как подвеждащ JavaScript пакет може да запази присъствие и да изложи на риск чувствителни данни.
Работодателите трябва да осъзнаят, че процесът по подбор на персонал вече е част от повърхността за атака. Екипите по сигурност могат да осигурят на кандидатите безопасни среди за тестване и лесни начини за проверка дали даден рекрутер, задача и връзка за изтегляне са автентични.