Билдър на зловреден софтуер, базиран на Python, може да превърне един-единствен стийлър във Windows програми за различни оператори. Инструментът пакетира злонамерен код, предназначен да взема запазени пароли, данни за платежни карти и бисквитки от браузъра, след което да ги изпраща към контролиран от атакуващия уебхук, зададен от неговия оператор.

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

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

Неговият дизайн тип „билдър и злонамерен код“ наподобява други операции за кражба на идентификационни данни от типа „малуеър като услуга“ (MaaS), които позволяват на потребителите да създават отделни компилации. Анализаторите от K7 Security Labs са идентифицирали инструмента от две части, докато са изследвали вложения пакет.

От K7 Security Labs заявиха в доклад, споделен с Cyber Security News (CSN), че операторите могат да компилират вградения Python стийлър във Windows изпълним файл с помощта на Nuitka или PyInstaller, или да го оставят като скрипт. Тази гъвкавост може да накара един и същ код да се появява под различни форми.

Инсталиране на зависимости (Източник – K7 Security Labs)
Инсталиране на зависимости (Източник – K7 Security Labs)

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

Python MaaS Infostealer Builder

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

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

Firefox също е в обхвата, но отделно от тези 17 браузъра. Стийлърът чете историята и записите за бисквитки на Firefox, докато процедурите за Chromium са насочени и към пароли и карти.

Подобен обхват се появява и в други разследвания на стийлъри, фокусирани върху браузъри, но числото 17 в този случай се отнася конкретно за браузъри, базирани на Chromium. Зловредният софтуер търси Discord токени, проверява дали те все още работят и събира бисквитки от сесии на Roblox.

Механизъм за инжектиране на уебхук (Източник – K7 Security Labs)
Механизъм за инжектиране на уебхук (Източник – K7 Security Labs)

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

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

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

Builder Evasion and Detection

Билдърът инсталира липсващите Python зависимости автоматично и съхранява избрания уебхук за по-късни сесии на изграждане.

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

След като бъде стартиран, стийлърът се опитва да избегне изследване. Той проверява за дебъгер, търси признаци за виртуални машини, излиза на системи с по-малко от 50 GB дисково пространство и варира времето си за забавяне (sleep time).

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

За да се върне след рестартиране, злонамереният код използва както запис в системния регистър за стартиране на Windows (startup registry entry), така и планирана задача (scheduled task), която се изпълнява при вход в системата. Това му дава втори шанс, ако единият елемент бъде премахнат.

Команда за създаване на планирана задача (Източник – K7 Security Labs)
Команда за създаване на планирана задача (Източник – K7 Security Labs)

Подобно на Python стийлър, насочен към Discord, той също третира токените на профили като данни, които си струва да бъдат проверени преди изпращането им към оператора.

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

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

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

ТипИндикаторОписание
SHA-2561ab7846f93678fb727c95df133c1b0a050760b11dd164ca5f6408e84398b676eАрхив, изследван от изследователите, идентифициран чрез връзка във VirusTotal.
SHA-2567053dc55b4ba193ea162f01a329427fd244d8163a65cbf2a7f86c04c849c8114Вложен архив с конструктор (builder), идентифициран чрез връзка във VirusTotal.
SHA-2569e471343255259f7fb388f1f07b0e023261630dbdc01f5d647dc99f452119effОбразец на инфостийлър на Python, идентифициран чрез връзка във VirusTotal.
MD5610f0c65a3f8e88559f89ed90ea9ee5cОбозначен като Password-Stealer ( 006dba241 ).
MD5429ed63ab3fbda8d22d0ac750ecfe8ccОбозначен като Password-Stealer ( 006dba241 ).
MD59ffe0e45c7a3f20e4481206c1c3b0854Обозначен като Trojan ( 006e632e1 ).
Име на файлmy new program called 2.rarВъншен архив, изследван от изследователите.
Име на файлTokenGrabberBuilder.zipВложен архив, съдържащ конструктора.
Име на папкаTokenGrabber BuilderПапка във вложения архив.
Име на файлstealer.pyСкрипт на инфостийлъра на Python.
Име на файлwebhook.txtФайл на конструктора, използван за съхраняване на конфигуриран адрес за уебхук.
Шаблон за име на архивStolenData_<USERNAME>.zipИме, присвоено на архива с откраднати данни, сглобен в паметта.
Стойност в системния регистърHKCU\Software\Microsoft\Windows\CurrentVersion\Run\WindowsUpdateМестоположение за автоматично стартиране и подвеждащо име на стойност, използвани за персистентност.
URLhttps://pastebin.com/api/api_post.phpЛегитимен API адрес на услуга, показан в декодираните низове на зловредния софтуер като вторична крайна точка за ексфилтрация; не е уникален URL адрес, контролиран от ата float атака субект.
Целеви файлLocal StateФайл на браузър Chromium, достъпен за материали за криптиращи ключове.
Целеви файлLogin DataБаза данни на Chromium, целева за запазени данни за вход.
Целеви файлHistoryБаза данни на Chromium, целева за хронология на сърфирането.
Целеви файлWeb DataБаза данни на Chromium, целева за данни за платежни карти.
Целеви файлCookiesБаза данни за бисквитки на Chromium, целева за сесии.
Целеви файлNetwork/CookiesАлтернативно местоположение на базата данни за бисквитки на Chromium.
Целеви файлplaces.sqliteБаза данни с хронология на Firefox, таргетирана от инфостийлъра.
Целеви файлcookies.sqliteБаза данни за бисквитки на Firefox, таргетирана от инфостийлъра.
Име на процесpip.exeНеочаквано изпълнение от приложение, което не е за разработка, представлява поведенческа улика, а не само по себе си доказателство за инфекция.

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