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

Веригата завършва със стартирането на зловредния софтуер за кражба на пароли XLoader вътре в доверена програма на Windows. XLoader е софтуер за кражба на информация от семейството на FormBook.

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

Изследователи от Morphisec отбелязаха, че през последните месеци са наблюдавали повишена активност на XLoader, изградена около множество имейл примамки с бизнес тематика.

Една от веригите, които са проучили, започва с имейл на гръцки език, който моли читателя да потвърди поръчка 001828. Темата започва с „RE:“, което го кара да изглежда като част от текущ разговор. Същата кампания е доставяла също Agent Tesla, Remcos и XWorm.

Хакери крият зловредния софтуер XLoader във фалшиви бизнес поръчки

Съобщението е кратко и моли читателя да прегледа прикачената поръчка и да отговори бързо. То е изпратено до „undisclosed-recipients“ (скрити получатели), така че не е известна нито една конкретна цел.

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

Когато жертвата отвори скрипта, Windows Script Host го стартира. Скриптът се опитва да изтрие собствения си поток Zone.Identifier, който е маркировката, използвана от Windows за обозначаване на файлове, дошли от интернет.

Верига на заразяване (Източник - Morphisec)
Верига на заразяване (Източник – Morphisec)

След това той разопакова два файла от собственото си тяло в папката Documents: интерпретатор LuaJIT и програма на Lua без файлово разширение. На този етап нищо не се изтегля, така че мрежовите филтри трудно могат да засекат нещо. Скриптът стартира интерпретатора в скрит прозорец.

Програмата на Lua скрива своя конзолен прозорец и се опитва да заслепи инструментите за сигурност. Тя търси в паметта сканиращите функции на AMSI и се опитва да изтрие техните имена. Също така се опитва да презапише 12 функции в ntdll, включително няколко, които Windows използва за проследяване на събития, така че записването на логове да се провали.

От Morphisec казват, че това показва намерението на зареждащия модул (лоудъра), като не са наблюдавали тези модификации да работят върху реален хост. Много други кампании са използвали фалшиви поръчки като примамка, както във веригата на атака Cascading Shadows, която също доставяше XLoader.

Трикове само в паметта, които помагат на XLoader да избегне засичане

След това зареждащият модул на Lua декодира голям скрит бинарен обект (blob) и го зарежда директно в паметта като пакетирана програма. Тази пакетирана програма няма таблица за импортиране, така че изглежда празна за скенерите.

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

След това XLoader избира 32-битова програма на Windows, в която да се скрие. Сред 12-те кандидата са cleanmgr.exe, clip.exe, getmac.exe, mshta.exe, ftp.exe и find.exe.

Два примера за обфускация на JScript (Източник - Morphisec)
Два примера за обфускация на JScript (Източник – Morphisec)

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

От Morphisec казват, че това не е изпразване на процес (process hollowing), тъй като оригиналният образ на хост програмата остава на мястото си. Методът също така избягва обичайното извикване на WriteProcessMemory, за което следят много инструменти. Основният код също е криптиран и декриптира ключова подпрограма само докато тази подпрограма се изпълнява.

Веднъж активиран, XLoader може да чете записи от Windows Vault и да подготвя записи на бисквитки за кражба. В настройките му са изброени 64 възможни хоста плюс още един, като той започва с 16 от тях.

Много от тях са примамки, така че самият списък не разкрива реалния сървър. По-ранни доклади показаха, че XLoader е надградил тактиките си за обфускация по същия начин. Zscaler ThreatLabz също са документирали мрежовия протокол на XLoader и от Morphisec казват, че тази проба отговаря на този дизайн.

Третирайте архивите със скриптови файлове вътре като подозрителни, дори когато имейлът споменава реално изглеждащ номер на поръчка. Блокирайте JS файлове в RAR и ZIP прикачени файлове на ниво имейл шлюз.

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

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

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

Тъй като XLoader краде запазени данни за вход, всяка заразена машина се нуждае от пълно нулиране на паролите за браузър и имейл акаунти. Друга кампания използваше уязвимост в Equation Editor за постигане на същата цел, така че инсталирането на корекции за сигурност за стари грешки в Office все още има значение.

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

ИндикаторТипКонтекст
6d7aaf1e563032ba46d8e0f1c8eab2b91d383fb2e5d00a1d4fff891f78a3572bSHA-256EML
78f08bdefb127c96a64229b591de7b3f984a451796ad132cb26ff54c76d073d4SHA-256EML
e834ea9cd3025f8070778cf7ef8219976568cc28085feaf974912b64e5b77bc8SHA-256RAR архив, прикачен към двете съобщения
d447a06cba8d3dbe80e09d73dd64576836b258961ee0d3ba56cf26cea7962b49SHA-256Пуснат изпълним файл на LuaJIT
685c989f4d89b2402c167075d5d6d6e1f4573c0450adc1de3d8c08c65ed8ee9fSHA-256Пуснат Lua зареждач
d87299e4a6457caccb6960c351003cb109748be9ab378cf31611461fce30ac28SHA-256Παραγγελί623768193.rar
05ecf6621bc2f2303db6bab33cdc231cb1cd08895b4d089f7410b98b21c38c24SHA-256Παραγγελί623768193.rar
78cb203de34c4a4c1961fe0e3700e6c76ab9b8b71dae9e2de408197fbc82733eSHA-256Παραγγελία 00182`8.rar |
46e8d2bd454926641176ea67b2e357089ff411c89e524def0158a04b6103d7d4SHA-256Naročilo_180SW_2828-501.JS
896a4ddd93ab1d6fda5d57e71c5b2cf5db32970093350a1111396b2e80dc6686SHA-256EML
be40d790d265afba64626b4e10fa2ff06e80119eb0056974407cf7d8e834745eSHA-256EML
21eb09400f387066649bec4c7fa63e4d4fd2171fb21a2b2ba182941325d76205SHA-256ROQ_O 2828-501.zip
38a498b126f8fc799a4f36f37b6d955fba6410d7eb02a9922eb21767897a8769SHA-256180SW_2828-501.rar
33dbb7d0c78bfa2e124b78409ecc7152a80016bbcccf39e960a2790d1efb8a22SHA-256S0_283723919.JS
08aadfcffb61f90b0d3b34758048e0f699f241216d164c82919a6934488a52e9SHA-256Посочен в източника без етикет за контекст
Παραγγελία 00182`8.rar | Име на файл | Прикачен файл в двата прихванати EML файла
Παραγγελία 00182`8.JS | Име на файл | Единственият файл в RAR архива
%MyDocuments%\EHFTUOMQDRXVTJSF.exeПът до файлПуснат хост на LuaJIT
%MyDocuments%\FSJTVXRDQMOUTFHEПът до файлПуснат Lua зареждач
%MyDocuments%\EHFTUOMQDRXVTJSF.muiПът до файлМаркер за условна устойчивост (persistence)
%MyDocuments%\FSJTVXRDQMOUTFHE.vbsПът до файлVBS стартер за постигане на устойчивост
EHFTUOMQDRXVTJSFПланирана задачаПланирана задача за условна устойчивост
RE: Παραγγελία 001828Тема на имейлИ двете прихванати съобщения
66.113.160.32IP адресРелей за доставка, не е C2
focused-albattani.66-113-160-32.plesk.pageИме на хостИнфраструктура за доставка, не е C2
webmail.bekdachegroup.comИме на хостХост от веригата Received, не е C2
hxxp://iqos-one[.]com/gf2n/URLКонфигурирана крайна точка, слот 1
hxxp://offon33fv[.]club/6yav/URLКонфигурирана крайна точка, слот 2
hxxp://eolienzaer[.]com/jrsi/URLКонфигурирана крайна точка, слот 3
hxxp://tori[.]fi/8yfp/URLКонфигурирана крайна точка, слот 4
hxxp://okbajegame[.]com/l3iy/URLКонфигурирана крайна точка, слот 5
hxxp://komplek[.]id/gkws/URLКонфигурирана крайна точка, слот 6
hxxp://sonhero[.]top/xc0y/URLКонфигурирана крайна точка, слот 7
hxxp://grandseosite91[.]shop/1ud5/URLКонфигурирана крайна точка, слот 8
hxxp://moreultras[.]store/2r3a/URLКонфигурирана крайна точка, слот 9
hxxp://bagolone[.]it/qbqm/URLКонфигурирана крайна точка, слот 10
hxxp://tomatox[.]com[.]tw/upw6/URLКонфигурирана крайна точка, слот 11
hxxp://511mma[.]ru/dnir/URLКонфигурирана крайна точка, слот 12
hxxp://hahashoe[.]com/r0zm/URLКонфигурирана крайна точка, слот 13

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