Författare: Santiago Pontiroli, Jozsef Gegeny, Ilia Dafchev
Sammanfattning
- Acronis Threat Research Unit (TRU) har identifierat en aktiv skadlig programkampanj som riktar sig mot användare i Colombia med hjälp av skadlig skalbar vektorgrafik-filer(SVG) som den initiala infektionsvektorn.
- Angripare spred riktade nätfiskemejl som utgav sig för att komma från betrodda institutioner i Colombia. Dessa mejl innehöll SVG-beten med inbäddade länkar till JS- eller VBS-stagers som var hostade på offentliga plattformar, eller lösenordsskyddade ZIP-filer som innehöll payloaden direkt.
- Nyttolasten inkluderade fjärråtkomstverktyg (RAT) som AsyncRAT och RemcosRAT som båda levererades genom DLL-sidoladdning och drivrutinsbaserade tekniker för privilegieeskalering.
- Nya kampanjer bygger på flerstegs- och fördolda payloads och inkluderar en .NET-loader vars beteende överensstämmer med Katz Loader. Den har funktioner för UAC-bypass, anti-analys, processinjektion och persistens, där payloads ibland är dolda som Base64 i text- eller bildfiler som hämtas från Internet Archive.
- Shadow Vector blandar traditionell social ingenjörskonst, missbruk av offentlig infrastruktur och smygande exekveringstekniker, vilket återspeglar en hög nivå av operativ flexibilitet och en utvecklad teknisk mognad hos regionala hotaktörer i Latinamerika.
- Det aktuella hotet riktar sig mot både privatpersoner och organisationer och möjliggör keylogging, stöld av autentiseringsuppgifter (inklusive bankuppgifter) och fullständig fjärråtkomst till komprometterade system. Även om den nuvarande användningen är inriktad på att stjäla känslig och konfidentiell data, tyder dess kapacitet på att den kan utvidgas till mer destruktiva åtgärder, t.ex. ransomware.
Introduktion
Acronis Threat Research Unit (TRU) har identifierat en pågående malware-kampanj med namnet Shadow Vector, som aktivt riktar sig mot användare i Colombia genom skadliga SVG-filer som utger sig för att vara brådskande domstolsmeddelanden. Dessa vilseledande mejl använder SVG smuggling, en ny subteknik i MITRE ATT&CK-ramverket.
SVG-smuggling innebär att man missbrukar skalbara vektorgrafikfiler för att dölja eller leverera skadligt innehåll. Det är visserligen ingen ny taktik, men att den nu uppmärksammas visar hur allt fler utnyttjar pålitliga men flexibla filformat i dagens phishing- och skadeprogramkampanjer. SVG-filer renderas snyggt i webbläsare, stöder inbäddade länkar eller skript och kringgår ofta traditionella säkerhetskontroller för e-post.

När SVG-filerna har öppnats leder de användarna till att ladda ner och extrahera payloads som finns på offentliga fildelningstjänster som Bitbucket, Dropbox, Discord och YDRAY. De nedladdade arkiven innehåller vanligtvis en kombination av legitima körbara filer och skadliga DLL:er, vilket initierar en flerstegsinfektionskedja som slutligen levererar AsyncRAT och RemcosRAT – två fjärråtkomstverktyg som ofta används för datastöld.

Leverans – malware serverad
Shadow Vectors leveransmetod speglar en välplanerad nätfiskeoperation som drar nytta av social ingenjörskonst och allmänhetens tillit till nationella institutioner. Mejl som observerats i denna kampanj är utformade för att se ut som legitima juridiska meddelanden och innehåller SVG-bilagor som återges direkt i webbläsaren – en taktik som hjälper till att kringgå filter för bilagor och uppmuntrar användarinteraktion utan att väcka misstankar.
Innehållet i SVG-filerna är visuellt konsistent och efterliknar ofta officiella domstolsformat med minimal variation. Varje fil innehåller en sammanfattning av ärendet följt av en inbäddad länk, vanligtvis märkt som tillgänglighet till ytterligare juridisk dokumentation. Dessa länkar omdirigerar användare till arkiv som är hostade på offentliga fildelningsplattformar som Bitbucket, Discord CDN och YDRAY – en metod som gör det möjligt för payloads att smälta in i legitim trafik och kringgå enkla detektionssystem baserade på rykte.

Varje arkiv är skyddat med ett lösenord, som ofta visas i SVG-filen eller anges i brödtexten i nätfiskemejlet. Denna taktik ökar användarens engagemang och minskar den automatiserade inspektionen genom att kräva manuell extrahering. När arkivet har packats upp innehåller det en legitim körbar fil, en godartad men sårbar DLL-fil och en enda skadlig DLL-fil som är utformad för sidoladdning, vilket gör att skadlig programvara kan köras i en betrodd process och undgå upptäckt.

I synnerhet utfärdade det högre domstolsrådet (spanska: Consejo Superior de la Judicatura) en offentlig rådgivning som varnade anställda inom rättsväsendet och medborgare för pågående phishing-aktiviteter som missbrukar rättsväsendets varumärke. Rådgivningen pekade särskilt på mejl som sprider skadliga bilagor under sken av domstolsrelaterade ärenden och uppmanade till större försiktighet vid hantering av meddelanden som uppmanar till dokumentnedladdning. Den redogjorde också för metoder för att kontrollera äktheten i sådan kommunikation och uppmuntrade rapportering av misstänkt nätfiske till officiella institutionella kanaler.
Ärendefil: AsyncRAT via DLL-sidoladdning
I denna version av Shadow Vector-kampanjen får offret ett nätfiskemejl med en SVG-fil. Därifrån laddar de ner ett lösenordsskyddat arkiv och extraherar dess innehåll. Inuti finns det en körbar fil som ser legitim ut och flera DLL-filer, varav en bär AsyncRAT-nyttolasten. Den huvudsakliga körbara filen använder ofta namn som vcredist.exe för att verka ofarlig. Ett vanligt tecken i dessa prover är förekomsten av en mscorlib.dll-fil som alltid har samma storlek och struktur. Trots namnet är den här filen inte ett riktigt .NET-bibliotek utan en specialbyggd fil som används för att dölja den skadlig programvaran. Attacken använder DLL-sideloading, där det till synes legitima körbara programmet laddar den skadliga DLL-filen och startar AsyncRAT-infektionen.

Sideloaded exekveringskedja
Den första körbara filen är en legitim applikation som anropar funktionen BrotliEncoderCreateInstance() från biblioteket ”libbrotlicommon.dll”. På grund av Windows DLL-sökordning laddar systemet en skadlig version av denna DLL som finns i samma katalog. Denna teknik för sidoladdning av DLL:er gör det möjligt att köra angriparstyrd kod inom en betrodd process och observeras konsistent i alla analyserade prover i kampanjen.
I den inlästa DLL:en är den första åtgärden att skapa ett handtag till filen mscorlib.dll som finns på samma plats och läsa dess innehåll. Även om filen innehåller en giltig PE-huvud, identifierar flera detekteringsverktyg den felaktigt som en icke-exekverbar binär fil. En manuell HEX-inspektion visade att ytterligare 9 byte infogats i början av filen, vilket avsiktligt förskjuter PE-headern. Denna manipulation stör automatisk parsing och orsakar fel i verktyg för PE-detektering och dekompilering, vilket i praktiken fungerar som en lättviktig anti-analysmekanism.

Payloaden skapar därefter en legitim process, AddInProcess32.exe, i ett pausat tillstånd och genomför process hollowing för att injicera och köra den skadliga modulen. Denna teknik innebär att man allokerar minne i målprocessen och skriver nyttolasten med hjälp av en serie Windows API-anrop, inklusive: NtAllocateVirtualMemory, GetProcessHeap, RtlAllocateHeap, Wow64GetThreadContext, NtWriteVirtualMemory, Wow64SetThreadContext och NtResumeThread. Detta gör att skadeprogrammet kan köras i kontexten av en betrodd systemfil och därmed undgå upptäckt.
Strax före anropet ”NtWriteVirtualMemory” kan vi se den inlästa DLL:en i minnet utan de första 9 byte, precis som i originalfilen. Sedan skapas en ny tråd, dess sammanhang fastställs och den återupptas inom IT. Därefter avslutas det aktuella programmet.

Efter att ha injicerats i den process som körs blir den faktiska .NET-nyttolasten synlig och känns igen som en AsyncRAT-klient, som härrör från en C#-implementering med Open Source.
Konfiguration
Vid start av körningen laddar skadeprogrammet sin konfiguration genom att dekryptera flera AES-krypterade värden, inklusive C2-servrar, installationsflaggor och andra inställningar för körning. AES-nyckeln är inbäddad i exemplet, Base64-kodad. Konfigurationen kan dekrypteras med hjälp av publika verktyg som CyberChef med ett känt AsyncRAT-recept.

När alla inställningar har dekrypterats kontrollerar skadlig programvara deras integritet genom att jämföra kondensatet i det avkodade servercertifikatet med det förväntade värdet. Nedan visas ett exempel på en dekrypterad konfiguration som erhållits under analysen:
För att kontrollera om den skadliga payloaden körs i en analysmiljö utför den flera funktioner:
Om någon av dessa funktioner returnerar true anropas Environment.FailFast(), vilket avslutar processen omedelbart.
Installation och persistens
När inställningen ’Install’ är true kommer den att gå in i en funktion som etablerar persistens. Först kopierar den sig själv till den nya sökvägen med hjälp av mappvärdet från konfigurationen, om det finns, och kör sedan kommandot ”schtasks” för att aktivera AutoStart vid inloggning.

Sedan ställer den in en AutoStart-registernyckel. Sökvägen till nyckeln lagras i omvänt format. Till exempel genom att använda ”\nuR\noisreVtenrretnuC\swodniW\tfosorciM\erawtfoS” i stället för ”Software\Microsoft\Windows\CurrentVersion\Run” – en vanlig (och enkel) teknik som används av skadeprogram för att dölja detta beteende.
Slutligen kör den ett kommandoskript som startar payloaden från den nya platsen och raderar den gamla versionen.
Varje tangenttryckning du gör, varje steg du tar – de kommer att övervaka dig.
Efter att ha slutfört den initiala konfigurationen startar payloaden två trådar. Den första övervakar och sparar kontinuerligt användarens senaste inmatningstidsstämpel. Den andra fungerar som en keylogger, genom att sätta en fönsterkrok för att spåra det aktiva programmet på skärmen och logga varje tangenttryckning som användaren gör.

För serverkommunikation stöder payloaden flera anslutningsmetoder beroende på inställningen ”Pastebin”. Om den här inställningen är satt till null faller den tillbaka till en domän som anges i -provets inbäddade IT-konfiguration. Först kontrolleras om domännamnet är giltigt med ClientSocket.IsValidDomainName(). Om den är giltig försöker den lösa domänen med hjälp av Dns.GetHostAddresses() och itererar över varje returnerad IP-adress och försöker upprätta en anslutning via ClientSocket.TcpClient.Connect(). Om anslutningen lyckas (ClientSocket.TcpClient.Connected) avbryts loopen. Om domänen inte är giltig eller om namnuppslagning misslyckas försöker den ansluta direkt med hjälp av den ursprungliga strängen och en fördefinierad port. Denna logik ger redundans för att säkerställa att den skadliga programvaran når sin kommando- och kontrollinfrastruktur.
När anslutningen har upprättats överför den skadlig programvaran information om offret, inklusive systeminformation och metadata om det exekverade provet.

Dessutom kontrollerar skadlig programvara förekomsten av kryptovalutaplånböcker och specifika webbläsartillägg genom att inspektera utsedda mappar. Om någon hittas, sätts motsvarande värde till ”true”. Nedan följer en lista över de identifierare som används:
Klienten tar emot data från servern i ett kodat format. Först dekomprimeras innehållet med hjälp av funktionen Zip.Decompress() och sedan avkodas meddelandet. Efter att ha läst en byte från meddelandet jämförs den med fördefinierade värden. Baserat på resultatet utför den olika operationer, såsom byteväxling och konvertering av data till specifika datatyper.

När ett kommando tas emot från servern extraherar nyttolasten det från paketet, beräknar dess kondensat och jämför det med lagrade värden. Varje kommando jämförs också direkt med den fördefinierade uppsättningen validerade kommandon:
När det lämpliga kommandot har identifierats anropar payloaden funktionen Plugins(), som utlöser en specifik procedur baserat på den angivna parametern.
Dessa plugins representerar de funktionella komponenterna i varje kommando. Som standard ingår inte alla pluginer i den initiala payloaden. I stället kan de laddas ner från servern när kommandona ”plugin” eller ”savePlugin” tas emot. Följande är en lista över kommandon och motsvarande åtgärder som ingår i payloaden:
Undertecknad och levererad: Missbruk av sårbara drivrutiner och sidoladdning av DLL
I ZIP-arkivet hittar vi den här gången en avledande körbar fil och två DLL-filer, en legitim och en beväpnad. Den körbara filen sideloadar den legitima ”CiscoSparkLauncher.dll”, som i sin tur triggar den skadliga DLL-filen att avkoda och placera tre filer i ”%Temp%”-katalogen: två sårbara drivrutiner som används för privilegieeskalering på kernel-nivå samt den slutliga RemcosRAT-payloaden.

Den initiala körbara filen anropar en funktion från ”CiscoSparkLauncher.dll”, en legitim fil som i sin tur anropar GetFileVersionInfoSizeW() från ”VERSION.dll”. I detta fall är ”VERSION.dll” en skadlig DLL, vilket indikerar klassisk DLL-sideloading. Den skadliga DLL-filen använder kontrollflödesförvirring i sina funktioner genom loopar och villkorssatser för att försvåra analys.

Den allokerar ett nytt minnesblock med storleken 5982208 byte och kopierar data från ”.rdata”-sektionen. I själva verket är denna sektionsstorlek 5989888 byte, och när den kopieras hoppar den över de första 7680 byte. Därför kommer endast kodade data att kopieras från detta avsnitt. Därefter börjar den att lösa flera Windows API-adresser från biblioteken ”kernel32.dll”, ”ADVAPI32.dll” och ”ole32.dll”.

Datan som kopierades från ”.rdata”-sektionen skickas sedan till avkodningsfunktionen. Här konstruerar den först en nyckel från två 16-byte-värden och avkodar sektionen med hjälp av en ”XOR”-operation.

Under körningen kommer den att avkoda ytterligare data på samma sätt, men med en annan nyckel:

De avkodade uppgifterna innehåller ytterligare kod som exekveras efter dekryptering. Denna kod utför först kontroller för virtuell maskin genom att undersöka systemnamnet efter indikatorer som ”vmware” eller ”virtualbox”, samt utvärdera tillgängligt minne, antal CPU:er och skärmupplösning. Om något av dessa villkor tyder på en virtualiserad miljö avbryter programmet exekveringen.

Den kopierar sig själv tillsammans med filerna ”CiscoSparkLauncher.dll” och ”VERSION.dll” till ”%Temp”-mappen och kör nästa kommando för att etablera persistens:
För att kringgå antivirusprogram kontrollerar den om vissa mappsökvägar finns och använder därefter funktionerna ”CreateToolHelp32Snapshot”, ”Process32First” och ”Process32Next” för att lista alla aktiva processer och avsluta dem som matchar den sparade listan över processnamn:
Sedan läser den ytterligare data från ”.rdata”-sektionen, avkodar den och skriver tre filer till ”%Temp”-mappen:
Båda de sårbara drivrutinerna startas som tjänster i kernel-mode. Exemplet använder sedan funktionen DeviceIoControl() med styrkoden 0x80002010 för att registrera den släppta svchost.exe-processen som autentiserad och avslutar därefter sig självt.
Den analyserade payloaden lagrar sin konfiguration som en krypterad resurs. Den första byten anger nyckelstorleken, följt av RC4-krypteringsnyckeln. De återstående uppgifterna innehåller den krypterade konfigurationen.

Den dekrypterade konfigurationen avslöjar flera operativa parametrar som används av skadlig kod, inklusive C2-serverns adress och port, botnätnamn, maximal storlek för keylogger-loggar, binärt namn och mutexnamn. Den anger också intervallet för skärmdump i sekunder, mappnamn för lagring av skärmdumpar och ljudinspelningar samt ett licensnummer som sannolikt används för att spåra installationer eller affiliate-användning.

Upprätthåld fördunkling
Ett nytt kapitel i Shadow Vector-kampanjen håller på att utvecklas i skrivande stund och bygger vidare på dess tidigare dokumenterade SVG-smugglingstekniker. I den här iterationen antar hotaktören ett modulärt tillvägagångssätt och distribuerar en inläsare associerad med Katz Stealer. Infektionskedjan börjar fortfarande med noggrant utformade SVG-beten, men inkluderar nu även JavaScript- och PowerShell-stagers, en UAC-bypass via cmstp.exe samt en dynamisk .NET-loader-DLL med anti-analysfunktioner, processinjektion och valfria persistensmekanismer.

Hotaktören bakom den senaste Shadow Vector-aktiviteten använder flera Bitbucket-arkiv för att vara värd för skadliga JavaScript- och VBS-stagers. Ett sådant arkiv, ”notificaciones-judiciales2025-2005”, registrerade över 170 nedladdningar av sina stegade payloads bara några timmar efter uppladdningen den 28 maj 2025. Denna aktivitetsvolym tyder på att en samordnad nätfiskekampanj sannolikt pågick under denna period. Bland de uppladdarnamn som observerats sticker ”TheMrHacker” ut jämfört med den i övrigt konsekventa användningen av det generiska namnet ”Envio” (spanska för ”leverans”), vilket potentiellt kan ge en ledtråd om operatörens identitet.

Infektionskedjan börjar med en JavaScript-fil maskerad som ett juridiskt meddelande, i det här fallet med namnet ”001-Notificacion_electronica_demanda_judicial_Departamento_Juridico.js” , som fungerar som den första dropparen. När den körs hämtar den ett andrastegsskript från Paste.ee.

Detta uppföljande fördolda skript startar ett PowerShell-kommando konfigurerat att köras tyst (‑nop ‑w hidden) med hjälp av Invoke-Expression, som därefter kan hämta ytterligare kodad information från två Paste.ee-endpoints (båda med samma SHA256-hash).

I det sista steget laddar skriptet ner en Base64-kodad DLL från Internet Archive, vanligtvis maskerad i en textfil hostad på archive[.]org/replace_202505/REPLACE[.]txt. I vissa fall hämtas istället en bildfil som innehåller en inbäddad Base64-nyttolast som är gömd i bildinnehållet. Skriptet extraherar och avkodar nyttolasten och laddar sedan DLL:en direkt i minnet med hjälp av PowerShells metod [Reflection.Assembly]::Load().

Infektionskedjan i flera steg levererar en .NET DLL som dynamiskt laddar och kör dnlib.IO.Home.VAI()-metoden, ett beteende som är konsistent med kända Katz inläsare-prover. Även om loadern matchar flera YARA-signaturer kopplade till Katz Stealer, distribuerar den inte stealern i detta fall. Istället hämtar den den slutliga nyttolasten vid körning och kör den helt i minnet, utan att lämna några artefakter på disken. Inläsaren implementerar avancerade funktioner som anti-felsökning och anti-tampering-kontroller, en valfri UAC-bypass med cmstp.exe och strängdekryptering från en krypterad resursblob. Den använder processhåltagning för att injicera kod i legitima binärfiler och upprätthåller persistens genom schemalagda uppgifter och registerändringar. Den möjliggör även konfiguration av anti-VM-kontroller under körning.

Flera strängar inbäddade i loaderns kod är skrivna på portugisiska, inklusive meddelanden som ”Baixar e executar o PuTTY a cada 1 minuto indefinidamente” (”Ladda ner och kör PuTTY varje minut på obestämd tid”), ”Extensão não suportada” (”Ej stödd filändelse”), ”Recurso ‘UAC.dll’ não encontrado!” (”Resursen ‘UAC.dll’ hittades inte!”) och ”Erro ao executar a DLL em memória” (”Fel vid körning av DLL i minnet”). Dessa meddelanden, i kombination med de parameternamn som används i VAI-metoden (t.ex. ”caminhovbs”, ”persitencia”, ”extenção”, ”nomedoarquivo”), tyder på att loadern delar designelement eller kodåteranvändning med verktyg utvecklade av portugisisktalande hotaktörer – framför allt sådana som är involverade i finansiellt motiverade skadeprogramskampanjer riktade mot Brasilien.
Avslutande argument
Som en naturlig vidareutveckling av sina tidigare SVG-smugglingstekniker har denna hotaktör övergått till att använda en modulär, minnesresident loader som kan köra payloads dynamiskt och fullständigt i minnet, vilket lämnar minimala spår efter sig. Denna loader levereras genom en flerstegs infektionskedja som förlitar sig på offentliga värdplattformar – en metod som försvårar både attribuering och nedstängningsinsatser.
Förekomsten av portugisiskspråkiga strängar och metodparametrar i inläsaren speglar TTP:er som ofta observeras i brasilianska banktrojaner, vilket tyder på möjlig kodåteranvändning, gemensamma utvecklingsresurser eller till och med samarbete mellan hotaktörer i olika regioner.
Kampanjens fortsatta fokus på latinamerikanska mål, användning av institutionell imitation och snabb, skalbar utplacering visar på ett ihållande och föränderligt hot.
Upptäckt av Acronis
RemcosRAT

Indikatorer på kompromettering
SVG
64e971f0fed4da9d71cd742db56f73b6f7da8fec3b8aebd17306e8e0d4f1d29d
4d292a785ec35530bac5f4674a97c0dffa2a2396bd8b0cc6f8b478ba13d73611
d713793b0b6dd1fe7c2432a28069745bc4bf97c098f1217de0731c7ed7c1d70a
1920d23a395aa729cc7658b8471939ef871108a94e93456793d1322dcbe9750b
fab0b6945c1ee0057349254760469b7d5a502819517b31049efc51a71b25c46d
52d2b4ac1a84449c72226e1deed8d33ebbe8fd00d4853e026adef679d7fa273d
f9b6c8f6f6a2f69286b298dd6375ebc25a07eb2012e226af1dfafd861b9edb3e
e50f96eb8fd7ca90df3db47368b413ffb875d5cd3685b9d601bb884ebe980ef9
ea81ab0c9daee3a3e5a34e1a94a5a7f1ea1ed664ee6df4596671c30f56d06f30
2ad823885a7406219944bd07a438b53495ab7440b857857f7d2b48001d43c841
15818f97142d49cbc9662d51bb0155a7a8dc650bf1daf26e07a5fff4ff15d93f
589dc2e8e4528ee6c18ac1c7cf5964a352d3cb245a8b32c7f81c12cf51f5f926
ddd31270f6150d004bd857785096d0ebd6ba68a5657ca64decce494dc26fb824
fa1bd87281ed0d2ffbed269160008cd9fa758a5a3e1702c5871cffe2b8837bb5
49abf67639aca4a12e4205b407b82d281cbc4e47d9f0dae799a6900b3c48aa13
dd5fab6baa5967e6b1d023f6d98dcbe0d7a03cedafc7bddbab6d9b5bc07f6a2d
651f8771e83fe70a57215adb225de065c9cfd3485bd041768cb5923b29449b18
d1f7e55aee74a868f8defd411231d0fbd7a9f2050a5a32660a8845e5e890efb9
4b18ac24c9626cb6bd8c675d2ebeaa8851d759546ed7a56e5b517b953277353e
ab7eecb15047095802f34d167ed84a2e3ff178cd4ec7ae45797501e9f25873d3
a1a1d0fd84ea9c839dd7a26fe91f463d1982f5596ca7214ca9ae0790c8ca51b8
350f94b1551066bd13e80926e42bd0b640c5543010e61530e12a282a2323b45d
e5b6680b9c6e8fb7c035577881fcd5380e4caa9b3d1dc382ee85de7b14c644f5
df5f4fcd04bc77fdbd14f31f19e03d4fd4508af05498a081de69c180f063c142
7f81d1379e1edb13a807d2fd5bc1195c55fb0255274fbd34a4067a90cf8dbaac
fd82191a7204eb16ad1b80962f3bc32898950ff662207d661893d6adacfb90ed
8be8cf91c4a5a70bc4c292957557c4b26aeed860c9b1de6550ce9c0a6c68bba8
faad55b273e3d73e7788046c1c5fa8da13fb0ad762c9133180c3f938d5656aed
7414296aaee2a3bf701695ec131b14ad6a47ba3b59331c881f1ce8f57807d628
1f4271082863058d45a6a18fc452759d864552aa78f8fb52588570adcb7612a5
b9c160f122a97fbbb7fe46e227dc35558e2ecdefb2bd21f642bacc7d4b266def
05c22daf06b42a6c01db9e958aee4a8ad8c061984c8c8933ec525fe880141063
dbf17c544962a57d69da0db22307c80ca51e4e7b7b0efa7448ce3ceb67835f1d
e65238a6cd94518d7a0392deb518e9073135642803fec6081f81ea8686af7861
b1a1036ffe838babb6f5828cc1df08ea89b8311274863029f86adf34500566f2
074add6a706288c31f53c44f9e62cfe421ab2525f9a06c17f862c0883320be6b
175d047506539ae42ad149380249d5d5127ac66600c77e00f302eb96a90d2d6f
06ae4560425ad72ea46be727c0f16362d9fc49f9ab19008e559449e997d59bf0
9949cda3fbb6a289556eda3a2f5c245b2cf43c81fe14227cf2ca9072e62e6651
997f264cc1381860e60affadcb9987bdf1c0da3b73ea98f43a4c5c04b4dd9015
516ba5d067adb1547e38387022fcc33c2f4372c33b8a143e4b7742b010f886f2
56e07457b7c1896e5d6e7f896c4defeb6415b8ef38c86e5547cc66c15c387c04
aa2a2c529b6bcab60081f3816ca32c02ebdf44acbd467f061ea53a99fae3b0b2
4a604c7ccd7888e060eaf2a96dc84a59e6fd1d17ca2d32d4cc88e05e9d799b95
9c5192c611aa441456679315f49c1fe317d004af4687bf9fcca99fd554cf14d9
6975e4f71baad2a96638cbe9d7dd733ee7ee6e8fa0c00156559996204750def8
d09183fd286d25181ed3bd10321d5ec67af0088906317bd441b748e1add5e67c
2227f39f00d10f8f3ee2d9c0c94537c85260dc04841651634f05f8117fd02503
8a5c70429f790dc063294866b56f09787c6413d8c1bf2ca6b58af97d442fdd7b
4353556fc7c494e4ea40c60eb3d2c0613fb56efc12b4ea94990632a021a415ef
e86c503b5980d084a56046d337a98e23e28b062f3269d2b6803653e47b26da40
b09f00521fd272fcb828200b33a5dc023511116908cbf6f3018bcc65916c0794
37f42d31210d807fa881417f2968e76ab2e92d6bbb367f4054755df52dd3519f
b2bdd564397cc993fcefbbc623b6becb874466c45e52afbc7abc7df2e7058c90
bb198d1d39c6fcc247b9231b25cc6969d622438ed7786fd05379ab3622812b7d
685d5a422f0e432b2d1172b631004deb3dee74ccfb5dd98bac51417de12ea833
ffb1776f20313a6b5fdfd13eb09e5c1255efab214e78674cd4feed2f9ef1cd6e
3fc79334c32b1a47c2e5afb03b05b6846bb23cd1aa894f2c5521b33d1b995a55
b5197648fae60fdad875beaee9496599060cc2cbf2e2d006ca1ca5a8be5bd77c
87902e0ff891ac6f23c70b0b3a6067208eeb120086b77693920a7498efddeeb3
fe1ab99480bee08ade851e1fbe699f8cca7cb3878e1b0c8fadcf9a0ad3dea108
427ed7c0e928d3afd7cddd567afd02d4ffdf7420bc76e18d5a1bdabd385cd8ae
12c6589e3c4bfab6ce56d5f5fa7a86566bf5cf50f96e06dfb9ec78101d06c7ec
9751fdc290a30c2db09f2a8090b05ae51752a4ed7248915cb6b821282aa3d9aa
bc39af555dbbea63a48c782111b30e945b1ae24acc4a4552353629981df2ae9b
232d4f650e9dc694c7509a4c704f62c462d394b46ef83995bd79ee05c557af5c
1aa926c2efc7b7d40b78aadeb1d3104ec4ae8d11cd3b75c93a046845f6ba47c0
48c4f0977fc42469404a528980efe362178da5d66fcd3c28d39de74aedadec0c
fcfccb9f4f4556fcebb9db4e38d2ac3964146e4a6060b06aea923635cfee2c14
c57fea3057e0b66a1241098a68d5d84508bd6709f7f1c35b1d4ebc3ed568bdb6
9238167a3a8b55f6900e9674eb1253564d7fc9630c005be70dc1422eebccbb9b
47a646c58037a51a06302adf723b3ce642bf395ddd5a9fcd59bcfd96a4782bae
d4839b512e1919e23a994c19667bdf674e3cd497e5473b7e50309e127af5adc4
a824ba591fd23c04dbfa9a2b3c5c6e3b3b3e756ed46f7e8add9b1af4c88a1b28
64836b852bfb8703df303d09e0f44a861a16ce93112e5bd41287df8ab193df4c
fdea172c14d158168cb10538315fa3604caa50c446c894d3ca7dc7de34b6b6b7
1109de79a8913afc45493787090363a1e13e86ccc58f8e8cbb1a1a6e772862ad
9b90a5affc7166e3d9232cbeb543b174650cde95b9ca8d21b7d1573f72bbacb8
19b20201ab1f17c7555fba64345e9cdfb999859938c0925093fb45c0aa9bfaeb
ac1ae135ac46d2f53acc37542f17ee557379b8332fb410c957e7dea02bc0499c
4424def8e312bc3faae27409ecd45a1b4dc35e264d35896e588d7e7940930cf5
8681aec2cba9395e8bcac45a8fd708dc76906a3307454ece3461b2555aae3544
c3d412f2149b985367196a228881397384617025683a767141227b8fd817391b
56f194bd4214de687b862fbd93fc67c9fc7eae1976d603f7bc33d1cd010dc4b4
658ea8a9039d8980d7b6b121a5b2cea9ea1411f4cb5bff8cc49b45cfe4c29981
69473c348ba67aac09f6c5902335b89939887241045bbf8f26e448962f7e79c6
3f0d434d47fce6159bd470fcec411594b24e8bfab5604648eda3dd44d230f0e8
6c5eb6f8e1c765afdfb3b2fc503cc3e89b8daff3781666681c0ba09e59b815e4
337cd3fb7c89d3c7776f96b1f7957a724b9eb17b3c76f1798888eb9b50e828e6
c5cb8a6fb326cbafc7dc115131f0ec805341916953155c24a246758e92db12e4
3ed8f2a66c5ad7c9b30ad2053dc213ae9ab49b93d9212f59755b27fa9904f324
7a377eb28ee152337bf10cc14628f183e28b2e572c82a1b46bce450c85fe74d6
b37c3e7a661bffb9f6b29d7580d2adf553c8660eb6a9ff6609b46d2e0de29935
193372a6ffd6f71e0dfad70bd05c089edbf14df47036c5a130d12cb28aacc892
3c8a857832e3291126bb6ecf2f00572d0606071b3f217fda48d1b796a8ef362a
3de3ad2557e10f82511513d261fc824bcaa7b316ea22c0ac517a3893a968442f
effd2162bb4c2db7210ec49092ed2c57fb60b6c7c71fcda1c270483d7355d129
81c58ba428dbe339cc079336c96caad1eeda0c0638bacf9ea849f72b018c3a30
1a8165cfa4a6abf8e5afc57a55d7a49cbb1d75cd24aa9b717498db4b79f6a53c
eb6eb6a9aa93b2220d385153e36741ded84aca845e3893587d4d05d644411a87
2ac9f96343d1d68669e319860c7456f30fbdd0407e608db6900bc2a0f7d74e9a
3ad253eea5d9f5aa29f4cf64353bb79cf3f2140f6de22b9313460015e152edfa
e4e5eda69dab8451a98390eebcf7cb098d226e214f091ade7c5bac75f16d4f33
5f09d4b86ae26e49162d3284f2aae4761eede20f275a804b73452eb29cc6273f
962bac7bb572b215e603a374166cc7f377f99c9c4273364216d86343bd003965
d410ede2519348e5e71e1bcef5df8f477e44a457903fe41c29c41c5d8d1398c3
a4fe1db085801e1a5de559f231793c167aee202ff921f5defa0a804c53b9f80e
9efa4efdc5e80d4562f6c943c86950be3cbff75862bfccaddc0140080d271617
38b45cc229a2d6ab8f401162230cd7425e0e9eebac03fe99fdd65130070cb68e
0958d9dbeccc5ca72e7821ddce9e34209e390c15e94fb6ca412666a31c44b416
70bf8c8ac0d7d9716c3d78038455ff35e94d617c55605f5edcc4ed824dc57fb4
fa526ca5cf6a35e6f2d1cd9c1f2166d2b3621666c204009d4739d6e4613e0174
239d009203c26cc7142ae50064a85a4acbab8fce738333ff912810604340c119
b7b4d0657ca3cbe74621a7a053c1957db847e688204467ad872529f0ed2897c2
b3bf27c2c2919aadc41312dcce3795f88dd716b665eae70a45134b99da918afb
737017e3ede8680e1a5c50942d30ccb12149e536566e76f75c547dafb26ae15c
e47ba6efdf931fda5fface7003fc4b483d946cffa7a09d84121022e708c4f07c
ffcb639fb16ab011897e12422a81dfdd1ea2093fb35c6ff56c712c39264967f6
ea01c816c8df75bd118ea2b849f17ac7658dd95bbe4a8f05eb4ec691c73ce3b1
e8494f672d276084d5fadba6a0e7c296db1055f513e127629a45ef3b3c9d863a
a61c395b0fca05b2bda21194c96f17110a77173b22a954efe2f59825f1ed238b
c3319a8863d5e2dc525dfe6669c5b720fc42c96a8dce3bd7f6a0072569933303
5673ad3287bcc0c8746ab6cab6b5e1b60160f07c7b16c018efa56bffd44b37aa
f3208ae62655435186e560378db58e133a68aa6107948e2a8ec30682983aa503
4795d3a3e776baf485d284a9edcf1beef29da42cad8e8261a83e86d35b25cafe
cf23f7b98abddf1b36552b55f874ae1e2199768d7cefb0188af9ee0d9a698107
b5311cadc0bbd2f47549f7fc0895848adb20cc016387cebcd1c29d784779240c
9bbbcb6eae33314b84f5e367f90e57f487d6abe72d6067adcb66eba896d7ce33
10e6587a90efa843012d32d7613c9a7089411c46ddca3e7f9855e5c32e5a418e
6d4a53da259c3c8c0903b1345efcf2fa0d50bc10c3c010a34f86263de466f5a1
829bc0d5c92591ddecdf672f506c5c0b2e1433acde354953fad07ff2b8666de1
609edc93e075223c5dc8caaf076bf4e28f81c5c6e4db0eb6f502dda91500aab4
0c9ecc1da02c0eb656fad6b29f0beaaaa8e2186700f9c63d2303e5c347c0986a
4cfeab122e0a748c8600ccd14a186292f27a93b5ba74c58dfee838fe28765061
b3e8ab81d0a559a373c3fe2ae7c3c99718503411cc13b17cffd1eee2544a787b
8e458df6ff36780bbb2a644906221149831b297350e019b008526e0558e32da0
2aae8e206dd068135b16ff87dfbb816053fc247a222aad0d34c9227e6ecf7b5b
cb035f440f728395cc4237e1ac52114641dc25619705b605713ecefb6fd9e563
60e87c0fe7c3904935bb1604bdb0b0fc0f2919db64f72666b77405c2c1e46067
1e18a1e6268178552c7d1e557299149c7524747ab0fa477eddd1a34ed02de2aa
0a7f6b4a0d5459a9c4078c134e78e35744f2021e92363a4e39374f2eb4f94744
Paket
bf596502f05062d156f40322bdbe9033b28df967ce694832a78482b47dcdd967
53cad386b6af155952380eb8050eebef368836bcb035dffe2ca8a58ae22c055c
5576f8e746f206f9a682b9bbb4a623c72b60892c96979fbe2ffab3b32d6aea7e
bb20c46a817a7c0cdffb513ec4d14bd2026ea70b8f1a0ec07bb699cd0d70a29a
Payloads
0e5a768a611a4d0ed7cb984b2ee790ad419c6ce0be68c341a2d4f64c531d8122
b04ea3c83515c3daf2de76c18e72cb87c0772746ec7369acce8212891d0d8997
ad1d1b6fea71c28a555341f8591c59272b0509df9b2c75519a813066c3053ff6
9e6aa602427a41bcf12c5ffa022941a6eb1d51be71e36ecebd714e6c9e9ab51e
3150ef6e48e403c8667aea84bfa1585878df68c0cea1925edcc2a745759b119e
17ac16f1cd25ea3b31b2a89b193d51c7b1959d48cb72364eb05081d806178f1d
1b3c1501b3fbcd0a4fbcb1f8bbc21a34f89232aa1e794dc2821cc92eee4ce44c
721df71a5491d481044c149d24e19ca6dbce34baf6ad98fe4f4cc66af0d1826b
f847d48b3007ab27c5b3207d41cb36a7f5b15f2192d1bbb7cec58f371fdce685
c5399f7e0adefb814ae8b921273f96c612e20fc66dd9d3048749a2ee9e39850e
2bbc6b9dd5e6d0327250b32305be20c89b19b56d33a096522ee33f22d8c82ff1
30aa90270ca9f04c554b2a6e17d22b49e5e3f6fb526e133fd35364b08784925d
906c7cf78cff18b7d43c4137937a75b3be41eaf654e835afb473168b7ed24f2d
5201e12cfdbeb48488599eefc84e9bafd9feabf208da15b3c25c56243de1eba7
e407403a0ab5fcd89fa7bafb82de1d6261b9260398122d105cd1a97f4258ac1f
92706a73c54332b33f845adb4ed8f0e2fbbb6cba0cae53a0e695257621ba269e
1af14cc00b1044636f6623f5f26343dfef3003f1c2a0181c995a573eae832c7a
0b188c53a446ce7b8acbc58d4e0b02ba4b87ece9c9b9bb14bf10e8d9c34d26cd
0c4eb3c0537182c4cd5281f08559534b2eb44ae20b91867c115b9fc404c1b425
11cdb65e5b007e249a51a7410da0653ec6c6b28f68b33e1de88ac3989dd745d6
YARA
rule crimeware_shadow_vector_svg
{
meta:
description = "Detects malicious SVG files associated with Shadow Vector's Colombian campaign"
author = "Acronis TRU"
date = "2025-06-06"
file_type = "SVG"
malware_family = "Shadow Vector"
threat_category = "Crimeware / Malicious Image / Embedded Payload"
tlp = "TLP:CLEAR"
strings:
$svg_tag1 = "<?xml" ascii
$svg_tag2 = "<svg" ascii
$svg_tag3 = "<!DOCTYPE svg" ascii
$svg_tag4 = "http://www.w3.org/2000/svg" ascii
//used by Shadow Vector (possibly generated in batch)
$judicial = "juzgado" ascii nocase
$judicial_1 = "citacion" ascii nocase
$judicial_2 = "judicial" ascii nocase
$judicial_3 = "despacho" ascii nocase
$generado = "Generado" ascii nocase
condition:
filesize < 3MB and
3 of ($svg_tag*) and
(1 of ($judicial*) and $generado)
}
Referenser
MuchoHacker. “Correos de hospital y Rama Judicial en Colombia son usados para enviar correos falsos con archivos SVG que podrían contener malware”. 31 oktober 2024.
SciLabs. “Red Akodon: A new threat actor distributing RAT to Colombia.” 27 maj 2024.
https://blog.scilabs.mx/en/2024/05/27/red-akodon-a-new-threat-actor-distributing-rat-to-colombia