IT администратори, търсещи PuTTY в Google, може да видят убедителен фалшив резултат за изтегляне, смесен с легитимни връзки. Изследователи документираха кампания, която използва сайт с подобен на оригинала вид, за да достави злонамерен инсталатор за Windows, маскиран като популярния SSH клиент.

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

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

Страницата копира заглавието на истинския сайт за изтегляне на PuTTY, което помага на фалшивия резултат да изглежда правдоподобен. Този метод повтаря по-ранни кампании, включващи фалшиви PuTTY изтегляния, насочени към IT администратори, но новооткритата верига използва Node.js и различна командна система.

Анализатори от Unit 42 идентифицираха кампанията и съобщиха, че MSI инсталира обфускиран Node.js зареждач заедно с непроменена, подписана програма PuTTY 0.85.

Техните открития описват многоетапна инфекция, която може да даде на атакуващия възможност да изпраща нови JavaScript инструкции към заразения компютър. Докладът отбелязва също използването на Ethereum смарт договори за намиране на активния сървър за командване и контрол, или C2.

Хакери злоупотребяват с Google Търсене

Съобщеният сайт за доставка, puty[.]ink, имитира страницата за изтегляне на PuTTY. Кликването върху връзката за изтегляне извлича Putty-x86_64.msi от Backblaze B2 хранилище.

Когато жертвата отвори инсталатора, Windows Installer поставя четири файла в папка под директорията Local AppData на потребителя. MSI също така отваря putty.exe, легитимно, подписано от Sectigo копие на PuTTY 0.85. Тъй като програмата изглежда и работи нормално, потребителят може да повярва, че инсталацията е безопасна.

Междувременно инсталаторът стартира пакетен файл, наречен 44JYYsqg.cmd. Скриптът скрива конзолата си, проверява дали Node.js вече е инсталиран и изтегля официалния Node.js 18.20.5 runtime, ако не е.

След това използва малък JScript файл, за да стартира Node.js с обфускиран злонамерен код на JavaScript. Самият runtime е легитимен; опасността идва от скрипта на атакуващия и начина, по който се използва. Този подход прилича на други случаи, при които атакуващи използват Node.js като стартер на зловреден софтуер.

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

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

Техниката, известна като EtherHiding, се е появила и в други кампании, които скриват инфраструктура за зловреден софтуер в Ethereum. След като намери сървър, зловредният софтуер се свързва на всеки около 500 милисекунди.

Неговите заявки приличат на изтегляния на обикновени изображения или стилови файлове, като използват разширения като .png, .jpg, .css и .ico.

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

Защо IT екипите трябва да обърнат внимание

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

Изследователите също така наблюдаваха събиране на профили на браузъри и бисквитки, инсталиране на WebSocket пакет и PowerShell рутина, която заснемаше приблизително пет екранни снимки на работния плот в секунда.

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

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

Подобни примамки с резултати от търсене са използвани за доставка на троянизирани помощни програми, както се вижда в по-ранни кампании с фалшиви PuTTY и WinSCP, насочени към IT екипи.

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

Екипите по сигурността могат да разследват неочаквана node.exe активност от папките AppData на потребителя, особено когато тя работи с аргумент .ini файл.

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

Легитимната страница за изтегляне на PuTTY и официалният източник за издаване на Node.js могат да помогнат на потребителите да проверят откъде трябва да идва надеждният софтуер: официалният сайт на PuTTY и Node.js 18.20.5 за Windows.

Съобщението за кампанията на Unit 42 е достъпно на X. Познат прозорец на програма или валиден подпис на един обединен файл не доказва, че самият инсталатор е безопасен.

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

ТипИндикатор
Фалшив сайт на PuTTYputy[.]ink
Домейн за пренасочванеputredirhelps[.]online
Наблюдаван резервен C2presanis[.]com
Модел на хостване на MSIhxxps[:]//<id>.s3.us-east-005.backblazeb2[.]com/
Наблюдаван Backblaze bucketmnb61ak51
Ethereum четец на договори0x89F5664d6fD8d990FA04F53253Be4855ed481A74
Избирател на функция0x7d434425
Аргумент на кампанията за извикване на договор0x4e7b6e29ab5f4c01e3b9f86a3558a2d99ae0cbaf
Идентификатор на изграждане на кампания1835187f-121a-4103-832f-24649a461cac
Ethereum RPC крайни точкиmainnet.gateway.tenderly[.]co; rpc.flashbots[.]net; rpc.mevblocker[.]io; eth-mainnet.public.blastapi[.]io; ethereum-rpc.publicnode[.]com; eth.drpc[.]org; eth.merkle[.]io
Път на C2 заявка/api/<4-byte-hex>/<client-UUID>/<4-byte-hex>.<png\|jpg\|gif\|css\|ico\|webp>?<key>=<build-id>
Име на MSI файлPutty-x86_64.msi
Файлове на зареждача44JYYsqg.cmd; BdbEinqaL7.js; k3TjneJGcwI7.ini
Папка за стейджингC:\Users\<user>\AppData\Local\idejDHjFnNXb\
Път на Node.js runtimeC:\Users\<user>\AppData\Local\idejDHjFnNXb\vXA8Jj\node.exe
Заглавие на прозореца на инсталатораKS2FyWDqck
SHA-256 — злонамерен MSIb59d9c911f11ddbe5ac0cd7e2e6e311093a44ac31453b5cab801c31f6a170750
SHA-256 — пакетен зареждач71049ac72adad0c0c4c7a0763a4a9c806ba0687e7146237174d6252b45fb39db
SHA-256 — JScript трамплинd5197f58b4c2d760f61f7cf0ff9e2a78fcaade12a05057d6e33e8e84c3be084d
SHA-256 — злонамерен код на JavaScriptcbc1f7909cb2460e4fb371f3159ea00a167eb4feefea2011f1f6eae3a3449ec6

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

Актуализирайте защитите срещу нов зловреден софтуер веднага щом се появи. Интегрирайте информационни канали за заплахи (TI Feeds) с данни от 16K SOCs.