Специалисты Cado Security Labs (ныне в составе Darktrace) обнаружили новую кампанию вредоносного ПО GuLoader, нацеленную на промышленные и инжиниринговые компании Европы. С помощью целевых фишинговых писем злоумышленники распространяют сложный загрузчик, использующий обфусцированные скрипты PowerShell и методы против отладки для внедрения в легальные процессы и доставки троянов удаленного доступа (RAT).
Описание
Атака начинается с персонализированных писем, направленных предприятиям электронной промышленности, машиностроения и других секторов в Румынии, Польше, Германии и Казахстане. Сообщения маскируются под запросы о заказах и содержат вложения в формате архивов (ISO, 7Z, GZIP, RAR). Злоумышленники используют поддельные адреса и скомпрометированные учетные записи, нередко встраиваясь в существующую переписку, что повышает доверие жертв.
Первым этапом атаки является исполняемый пакетный файл, извлеченный из архива. Он содержит сильно обфусцированный скрипт PowerShell, предназначенный для затруднения обнаружения. Для деобфускации используется специальная функция, извлекающая каждый пятый символ, в то время как остальные символы являются ложными. После восстановления логики скрипта становится видно, что он загружает второй файл с внешнего ресурса и сохраняет его в папке AppData/Roaming под именем «Knighting.Pro».
Второй этап включает более сложную обфускацию с применением XOR-шифрования с ключом 173. Скрипт проверяет разрядность PowerShell и при необходимости запускает 32-битную версию процесса, что позволяет обеспечить совместимость с последующими этапами атаки. Далее используется прямое обращение к Windows API - функция VirtualAlloc - для выделения памяти и последующего копирования в неё шелл-кода с помощью метода Marshal::Copy. Это классический метод обхода детектирования, поскольку действия выполняются непосредственно в памяти, минуя дисковые операции.
Первый шелл-код содержит несколько методов против отладки, что значительно усложняет как статический, так и динамический анализ. Его основная задача - расшифровка и загрузка второго шелл-кода. Последний, в свою очередь, прописывает скрипт в реестр (раздел HKCU/Software) для обеспечения устойчивости, а также указывает путь к 32-битному PowerShell в переменных среды. Затем происходит инъекция в легитимный процесс msiexec.exe, через который осуществляется попытка загрузки финальной полезной нагрузки. На момент анализа запрос возвращал ошибку 404, однако, по данным предыдущих исследований, GuLoader обычно доставляет такие трояны, как Remcos, NetWire или AgentTesla.
Устойчивость и постоянное развитие GuLoader подчеркивают необходимость внедрения проактивных мер защиты. Организациям рекомендуется усилить фильтрацию вложений в электронной почте, мониторить аномальную активность PowerShell, а также использовать решения класса EDR (Endpoint Detection and Response) для обнаружения инъекций в процессы и подозрительных действий в памяти. Осведомленность сотрудников о фишинговых угрозах также остается ключевым элементом защиты.
Индикаторы компрометации
IPv4
- 137.184.191.215
- 185.248.196.6
- 91.109.20.161
URLs
- http://inversionesevza.com/wp-includes/blocks_/Dekupere.pcz
- https://careerfinder.ro/vn/Traurigheder.sea
- https://filedn.com/lK8iuOs2ybqy4Dz6sat9kSz/Frihandelsaftalen40.fla
- https://rareseeds.zendesk.com/attachments/token/G9SQnykXWFAnrmBcy8MzhciEs/?name=PO++380.101483.bat
SHA256
- 0327db7b754a16a7ae29265e7d8daed7a1caa4920d5151d779e96cd1536f2fbe
- 038113f802ef095d8036e86e5c6b2cb8bc1529e18f34828bcf5f99b4cc012d6a
- 0546b035a94953d33a5c6d04bdc9521b49b2a98a51d38481b1f35667f5449326
- 0996e7b37e8b41ff0799996dd96b5a72e8237d746c81e02278d84aa4e7e8534e
- 09a3bb4be0a502684bd37135a9e2cbaa3ea0140a208af680f7019811b37d28d6
- 0b1c44b202ede2e731b2d9ee64c2ce333764fbff17273af831576a09fc9debfa
- 0f0dfe8c5085924e5ab722fa01ea182569872532a6162547a2e87a1d2780f902
- 140dcb39308d044e3e90610c65a08e0abc6a3ac22f0c9797971f0c652bb29add
- 18c0a772f0142bc8e5fb0c8931c0ba4c9e680ff97d7ceb8c496f68dea376f9da
- 1bf09bcb5bfa440fc6ce5c1d3f310fb274737248bf9acdd28bea98c9163a745a
- 229c4ce294708561801b16eed5a155c8cfe8c965ea99ac3cfb4717a35a1492f3
- 26500af5772702324f07c58b04ff703958e7e0b57493276ba91c8fa87b7794ff
- 31a72d94b14bf63b07d66d023ced28092b9253c92b6e68397469d092c2ffb4a6
- 33ed102236533c8b01a224bd5ffb220cecc32900285d2984d4e41803f1b2b58d
- 36a9a24404963678edab15248ca95a4065bdc6a84e32fcb7a2387c3198641374
- 36c464519a4cce8d0fcdb22a8974923fd51d915075eba9e62ade54a9c396844d
- 40b46bae5cca53c55f7b7f941b0a02aeb5ef5150d9eff7258c48f92de5435216
- 45b7b8772d9fe59d7df359468e3510df1c914af41bd122eeb5a408d045399a14
- 48dca5f3a12d3952531b05b556c30accafbf9a3c6cda3ec517e4700d5845ab61
- 4a4c0918bdacd60e792a814ddacc5dc7edb83644268611313cb9b453991ac628
- 4c697bdcbe64036ba8a79e587462960e856a37e3b8c94f9b3e7875aeb2f91959
- 4c90504c86f1e77b0a75a1c7408adf1144f2a0e3661c20f2bf28d168e3408429
- 4ddd3369a51621b0009b6d993126fcb74b52e72f8cacd71fcbc401cda03108cb
- 4f1b5d4bb6d0a7227948fb7ebb7765f3eb4b26288b52356453b74ea530111520
- 51244e77587847280079e7db8cfdff143a16772fb465285b9098558b266c6b3f
- 535dd8d9554487f66050e2f751c9f9681dadae795120bb33c3db9f71aafb472c
- 54b8b9c01ce6f58eb6314c67f3acb32d7c3c96e70c10b9d35effabb7e227952e
- 5854d9536371389fb0f1152ebc1479266d36ec4e06b174619502a6db1b593d71
- 6370cbcb1ac3941321f93dd0939d5daba0658fb8c85c732a6022cc0ec8f0f082
- 643cd5ba1ac50f5aa2a4c852b902152ffc61916dc39bd162f20283a0ecef39fe
- 6977043d30d8c1c5024669115590b8fd154905e01ab1f2832b2408d1dc811164
- 74d468acd0493a6c5d72387c8e225cc0243ae1a331cd1e2d38f75ed8812347dd
- 7f06382b781a8ba0d3f46614f8463f8857f0ade67e0f77606b8d918909ad37c2
- 85d1877ceda7c04125ca6383228ee158062301ae2b4e4a4a698ef8ed94165c7c
- 8bedbdaa09eefac7845278d83a08b17249913e484575be3a9c61cf6c70837fd2
- 8d7324d66484383eba389bc2a8a6d4e9c4cb68bfec45d887b7766573a306af68
- 8dd5fd174ee703a43ab5084fdaba84d074152e46b84d588bf63f9d5cd2f673d1
- 8ef4cb5ad7d5053c031690b9d04d64ba5d0d90f7bf8ba5e74cb169b5388e92c5
- 9493ad437ea4b55629ee0a8d18141977c2632de42349a995730112727549f40e
- 949cdd89ed5fb2da03c53b0e724a4d97c898c62995e03c48cbd8456502e39e57
- 9617fa7894af55085e09a06b1b91488af37b8159b22616dfd5c74e6b9a081739
- a2127d63bc0204c17d4657e5ae6930cab6ab33ae3e65b82e285a8757f39c4da9
- a60dbbe88a1c4857f009a3c06a2641332d41dfd89726dd5f2c6e500f7b25b751
- a7268e906b86f7c1bb926278bf88811cb12189de0db42616e5bbb3dc426a4ef5
- a9af33c8a9050ee6d9fe8ce79d734d7f28ebf36f31ad8ee109f9e3f992a8d110
- b0e69f895f7b0bc859df7536d78c2983d7ed0ac1d66c243f44793e57d346049d
- b1be65efa06eb610ae0426ba7ac7f534dcb3090cd763dc8642ca0ede7a339ce7
- b45d9b5dbe09b2ca45d66432925842b0f698c9d269d3c7b5148cc26bdc2a92d0
- bde5f995304e327d522291bf9886c987223a51a299b80ab62229fcc5e9d09f62
- c1f810194395ff53044e3ef87829f6dff63a283c568be4a83088483b6c043ec8
- c415127bde80302a851240a169fff0592e864d2f93e9a21c7fd775fdb4788145
- e0d9ebe414aca4f6d28b0f1631a969f9190b6fb2cf5599b99ccfc6b7916ed8b3
- e5ebe4d8925853fc1f233a5a6f7aa29fd8a7fa3a8ad27471c7d525a70f4461b6
- e5f5d9855be34b44ad4c9b1c5722d1a6dff2f4a6878a874df1209d813aea7094
- e98fa3828fa02209415640c41194875c1496bc6f0ca15902479b012243d37c47
- e9fc754844df1a7196a001ac3dfbcf28b80397a718a3ceb8d397378a6375ff62
- efd80337104f2acde5c8f3820549110ad40f1aa9b494da9a356938103bda82e7
- f20670ed0cdc2d9a2a75884548e6e6a3857bbf66cfbfb4afe04a3354da9067c9
- f3e046a7769b9c977053dd32ebc1b0e1bbfe3c61789d2b8d54e51083c3d0bed5
- f43b78e4dc3cba2ee9c6f0f764f97841c43419059691d670ca930ce84fb7143b
- f5feabf1c367774dc162c3e29b88bf32e48b997a318e8dd03a081d7bfe6d3eb5
- f78319fcb16312d69c6d2e42689254dff3cb875315f7b2111f5c3d2b4947ab50
- f87448d722e160584e40feaad0769e170056a21588679094f7d58879cdb23623
- fda4e04894089be87f520144d8a6141074d63d33b29beb28fd042b0ecc06fbbc
- ff6c4c8d899df66b551c84124e73c1f3ffa04a4d348940f983cf73b2709895d3
Yara
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | rule GuLoader_Obfuscated_Powershell { meta: description = "Detects Obfuscated GuLoader Powershell Scripts" date = "2024-10-14" strings: $hidden_window = { 7374617274202f6d696e20706f7765727368656c6c2e657865202d77696e646f777374796c652068696464656e2022 } $for_loop = /for\s\\(\s\$[a-zA-Z0-9_]+\s=\s\d+;\s\$[a-zA-Z0-9_]+\s-lt\s\$[a-zA-Z0-9_]+\s;\s\$[a-zA-Z0-9_]+\s\\+=\s\d+\s\\)/ condition: $for_loop and $hidden_window } |