Эксперты Arctic Wolf Labs выявили новую операцию под названием Caminho - сервис загрузки вредоносного кода (Loader-as-a-Service, LaaS) бразильского происхождения, который использует стеганографию для сокрытия .NET-полезных нагрузок в графических файлах, размещенных на легитимных платформах. С начала марта 2025 года кампания доставила множество вредоносных программ, включая REMCOS RAT, XWorm и Katz Stealer, жертвам в Южной Америке, Африке и Восточной Европе.
Описание
Атрибуция операции к бразильским угрозам подтверждается обширными португалоязычными артефактами в коде всех образцов. Эксперты с высокой степенью уверенности связывают эту кампанию с португалоязычными операторами из Бразилии. Наиболее значительное развитие операции произошло в июне 2025 года, когда злоумышленники начали использовать стеганографию LSB (Least Significant Bit - метод наименьших значащих битов) для сокрытия вредоносных нагрузок в изображениях, что значительно повысило их возможности уклонения от обнаружения.
Цепочка заражения начинается с целевых фишинговых писем, содержащих архивированные JavaScript или VBScript файлы с социальной инженерией на бизнес-тематику. При выполнении начальный скрипт извлекает зашифрованную полезную нагрузку PowerShell из сервисов типа pastebin, которая затем загружает стеганографические изображения с archive.org - легитимного некоммерческого интернет-архива.
PowerShell извлекает скрытый .NET-загрузчик Caminho (в переводе с португальского - "путь") из изображения с помощью LSB-стеганографии, загружает его непосредственно в память и вызывает с аргументами, указывающими URL-адрес конечной полезной нагрузки. Загрузчик извлекает и внедряет окончательное вредоносное ПО в адресное пространство calc.exe (легитимный исполняемый файл калькулятора Windows) без записи файлов на диск, устанавливая устойчивость через запланированные задачи, которые повторно выполняют цепочку заражения.
Анализ 71 образца загрузчика Caminho выявил согласованные архитектурные паттерны, несмотря на различные методы обфускации. Все образцы содержат строки на португальском языке и отличительный артефакт пространства имен HackForums[.]gigajew. Загрузчик реализует расширенные проверки на анализ, включая обнаружение виртуальных машин, песочниц и инструментов отладки.
Операционная модель четко указывает на бизнес-модель Loader-as-a-Service, а не на кампанию единичного субъекта угроз. Стандартизированный интерфейс вызова принимает произвольные URL-адреса полезных нагрузок в качестве аргументов, позволяя нескольким клиентам развертывать разные семейства вредоносных программ с использованием одной и той же инфраструктуры доставки.
Наблюдаемое разнообразие полезных нагрузок включает REMCOS RAT (Remote Control and surveillance - удаленный доступ и наблюдение), доставляемый через пуленепробиваемую хостинговую инфраструктуру командования и управления, XWorm с вредоносных доменов и Katz Stealer - похититель учетных данных, документированный Nextron Systems в мае 2025 года. Анализ инфраструктуры показывает повторное использование идентичных стеганографических изображений в кампаниях с разными конечными полезными нагрузками, что подтверждает модульную сервисную архитектуру.
Подтвержденные жертвы на сегодняшний день охватывают Бразилию, Южную Африку, Украину и Польшу. Хронология кампании показывает географическую экспансию из Южной Америки в много континентальные операции. Это совпадает с внедрением стеганографических механизмов доставки в июне 2025 года операторами загрузчика Caminho, что свидетельствует об операционной зрелости и возможном росте клиентской базы.
Атрибуция бразильского происхождения подтверждается обширным португалоязычным кодом во всех образцах, паттернами targeting, сфокусированными на регионах Южной Америки, и операционным временем, согласованным с бразильскими рабочими часами. Эксперты отмечают, что инвестиции в стеганографические методы, возможности антианализа и разнообразие инфраструктуры указывают на профессиональную разработку, нацеленную на долгосрочную операционную устойчивость, а не на оппортунистическую активность.
Использование некоммерческого сайта Internet Archive для хостинга полезных нагрузок представляет политическую проблему для традиционной защиты на основе периметра, поскольку полная блокировка archive.org может повлиять на легитимные бизнес-операции, в то время как выборочная блокировка URL-адресов в конечном итоге окажется неэффективной против продемонстрированных возможностей ротации инфраструктуры оператором. Злоупотребление легитимными сервисами для вредоносной инфраструктуры, вероятно, продолжится, поскольку субъекты угроз признают преимущества уклонения от обнаружения, предоставляемые этой техникой.
Кампания остается активной по состоянию на октябрь 2025 года, с постоянной ротацией инфраструктуры и обновлениями обфускации, демонстрируя устойчивую операционную приверженность. Развертывание разнообразных семейств полезных нагрузок, включая похитители информации и трояны удаленного доступа, поддерживает кражу учетных данных, эксфильтрацию данных и постоянный доступ к системе для последующей преступной деятельности.
Индикаторы компрометации
IPv4
- 198.46.173.60
- 66.63.187.166
Domains
- cestfinidns.vip
- serverdata-cloud.cloud
URLs
- http://dn721709.ca.archive.org/0/items/optimized_msi_pro_with_b64_202509/optimized_MSI_PRO_with_b64.png
- http://files.catbox.moe/hejh36.jpg
- http://paste.ee/d/BfcImbCm/0
- https://198.46.173.60/arquivo_4353c11f6e74407a25e9fb10a09487e.txt
- https://archive.org/download/universe-1733359315202-8750/universe-1733359315202-8750.jpg
- https://dn721205.ca.archive.org/0/items/wp4096799-lost-in-space-wallpapers_202507/wp4096799-lost-in-space-wallpapers.jpg
- https://ia601001.us.archive.org/25/items/msi-pro-with-b-64_20250923/MSI_PRO_with_b64.png
- https://ia803206.us.archive.org/14/items/msi_20250801/MSI.png
- https://paste.ee/d/2hfodTFT/0
- https://pastefy.app/W8gaihTD/raw
- https://serverdata-cloud.cloud/arquivo_6cf86d291e714ebbb9b685af41e74a4b.txt
- https://serverdata-cloud.cloud/output_image.bmp
SHA256
- 003cd08d0e4e3e53b5c2dd7e0ea292059f88f827d0cb025adf478d1f8e005fbd
- 0df13fd42fb4a4374981474ea87895a3830eddcc7f3bd494e76acd604c4004f7
- 134c29f52884adc5a3050e5c820229e060308e7377c7125805a6bfccd0859361
- 1d6e6f058ccb021143872bd068367bff6d665b742a34b2ad84d33e741d3841a8
- 1ebab46691a0b5edd2b941c68180da9f6f38ca22b1de6c1804ccb0fda4956fe1
- 418fec787e2c694eb7b1c8c5d5afcc023a88a53ed4d29bac8260ff49d3682671
- 42761793d309a0e10b664de61fb25f8d915c65a86b4c5b6229c73d3992519fd5
- 44d77dad67d9f0bf41999c3510dddb208889bcca22f56adbaf18945a08ba8984
- 592a21ec08f7f1755e4cb396da5e0d48ed6b9a3949c82ae6616eda95913416ee
- 6216afeff2697e4010be6f4a76646360114bd73d555901c91cf26828531f0c24
- 6291a85dd9c6288c9997c930cb243d29d671a1c3e0dbd6e0c2fb707355c400a3
- 6513a6862e7cd9494566e56b6ccf2a88727f442ed217b73dc878d0097e7b0343
- 74b48909de2532080d55fc85fb7f24665d68701c1c59c910ee7ad5b83c86695d
- 780438284cea7d935c900df9b61529664c533762e1dbc9bbec3085e6c19448d1
- 87c9bede1feac2e3810f3d269b4492fe0902e6303020171e561face400e9bdb4
- 89959ad7b1ac18bbd1e850f05ab0b5fce164596bce0f1f8aafb70ebd1bbcf900
- a0e2b00951c6327788e3cc834a2d5294c2b7f94aad344ec132fe78b30cce18cc
- a6574dd934a98fc0421e771f30ad6db97af6714f919a6cc722f2213933b9e839
- b932adbdbb14644366daed1bede62d9293868c9a3eecbffc7c4e6604d6d5b243
- bbed1022d04cdfb0d11550ada9f5c1d0a9437839b1e42bb80e057438055a382c
- c2bce00f20b3ac515f3ed3fd0352d203ba192779d6b84dbc215c3eec3a3ff19c
- c3560bfa9483e7894243e613c55744b7f1705a53969f797f5fe8b2cb4fb336cc
- c5208189f4851b8ff525bf3cd74767e89af4ef256b256ed1143f4c8f3a48b01f
Yara
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | rule Caminho_Loader { meta: description = "Rule for detecting Caminho Loader containing strings in Portuguese Language" last_modified = "2025-07-16" author = "The Arctic Wolf Labs team" version = "1.0" sha256 = "c2bce00f20b3ac515f3ed3fd0352d203ba192779d6b84dbc215c3eec3a3ff19c" strings: $a1 = "startupreg" ascii wide $a2 = "caminhovbs" ascii wide $a3 = "namevbs" ascii wide $a4 = "netframework" ascii wide $a5 = "nativo" ascii wide $a6 = "nomenativo" ascii wide $a7 = "persitencia" ascii wide $a8 = "caminho" ascii wide $a9 = "nomedoarquivo" ascii wide $a10 = "minutos" ascii wide $a11 = "startuptask" ascii wide $a12 = "taskname" ascii wide condition: (uint16(0) == 0x5A4D) and (filesize < 8MB) and (all of ($a*)) } |
