NetamLoader abuzon me loading të .NET në një Windows 10 të personalizuar
NetamLoader, një framework për loading të malware që nuk ishte dokumentuar më parë, është gjetur në një sistem të personalizuar Windows 10, të rezervuar për përdorim qeveritar në Azi. Kaspersky e zbuloi artefaktin gjatë gjysmës së parë të vitit 2026 dhe përshkroi një zinxhir të ndërlikuar me dy faza, i cili ekzekuton software keqdashës Microsoft .NET brenda proceseve legjitime, ndërkohë që përpiqet të fshehë aktivitetin e vet.
Telemetry e Kaspersky identifikoi një sistem të prekur. Studiuesit nuk përcaktuan nëse ishin komprometuar kompjuterë të tjerë, nëse ishte vjedhur informacion apo kush e kishte kryer sulmin. Edhe metoda fillestare e shpërndarjes është e panjohur. Kaspersky dyshon për një supply-chain attack, në të cilin një sulmues komprometon software ose shërbime që konsiderohen të besueshme nga objektivi përfundimtar, por rruga e dyshuar nuk është konfirmuar dhe asnjë ofrues i palës së tretë nuk u identifikua si pikë hyrëse.
Artefakti fillestar ishte një arkiv cabinet i Windows, ose CAB file, i vendosur në `C:\Windows\SoftwareDistribution\Download\e4537a1762fcafd2fd96bfc825bad34f9db9a24`. Përmbajtja e tij u ekstraktua në `C:\Windows\SoftwareDistribution\Download\Install\`, në vendndodhje që zakonisht lidhen me përditësimet e sistemit operativ. Arkivi përmbante shtatë skedarë: `fabric.config`, `Microsoft.HostIntegration.Connectors.dll`, `PatchMyPC-Enum.dll`, `PatchMyPC-Models.dll`, `PatchMyPC-ScriptRunner.exe`, `PatchMyPC-ScriptRunner.exe.config` dhe `Resources.resx`. Katër prej tyre ishin komponentë legjitimë të lidhur me software-in e endpoint-management Patch My PC. Kaspersky gjeti kod keqdashës vetëm brenda `Resources.resx`, megjithëse skedarët e tjerë ndihmuan në nisjen ose përpunimin e tij.
Ekzekutimi filloi me `PatchMyPC-ScriptRunner.exe`. Skedari shoqërues i konfigurimit përdori AppDomainManager injection, një teknikë që ndryshon mënyrën se si inicializohet një aplikacion .NET, në mënyrë që një assembly i kontrolluar nga sulmuesi të mund të ekzekutohet kur nis programi legjitim. Kjo ngarkoi `Microsoft.HostIntegration.Connectors.dll`, i cili lexoi `fabric.config` dhe më pas përpunoi `Resources.resx`. Rezultati i ngjan DLL sideloading, ku një proces legjitim shtyhet të ekzekutojë kod të padëshiruar, por ky zinxhir shfrytëzoi në vend të kësaj mekanizmin e startup të application-domain të .NET Framework.
Skedari i burimeve përmbante disa shtresa me përmbajtje të koduar, të kompresuar ose të enkriptuar, duke përfshirë skedarë XAML, assembly .NET dhe të dhëna JSON. XAML-1 ngarkoi një payload të integruar XAML-2. Më pas, XAML-2 hapi dy skedarë të kompresuar dhe të koduar me Base64, të quajtur XAML-2-1 dhe XAML-2-2. I pari synonte të anashkalonte Antimalware Scan Interface (AMSI), ndërfaqen e Windows që u mundëson software-ve të sigurisë të kontrollojnë disa script-e dhe përmbajtje të tjera përpara ekzekutimit. I dyti përmbante një .NET 1 Loader dhe një paketë të dhënash JSON-1.
JSON-1 ishte i ndarë në një konfigurim command-and-control, të quajtur JSON-1-c, dhe JSON-1-p, i cili përmbante një .NET 2 Plugin të koduar me Base64, së bashku me template XAML të enkriptuara dhe të kompresuara. .NET 1 Loader dekriptoi dhe ndërtoi XAML-3, raportoi statusin e infektimit te command-and-control server dhe hoqi provat. Pastrimi i tij përfshinte skedarët e ekstraktuar nga arkivi CAB, log-et që regjistronin përdorimin e Common Language Runtime dhe skedarët e cache të Windows Prefetch.
XAML-3 u ekzekutua brenda procesit legjitim `dllhost.exe` dhe dekodoi, dekompresoi dhe ngarkoi .NET 2 Plugin. Ky plugin mblodhi hollësi të sistemit nga Windows Registry, verifikoi se po ekzekutohej brenda `dllhost.exe` dhe lexoi cilësimet command-and-control. Ai priti për një periudhë të zgjedhur rastësisht prej 20 deri në 40 minuta përpara se të kontaktonte `openaigpt4v[.]com`. Më pas kërkoi në mënyrë të përsëritur një payload tjetër XAML dhe mund të ekzekutonte një përgjigje të vlefshme brenda një AppDomain të izoluar, një zonë e ndarë ekzekutimi .NET.
Kaspersky zbuloi se një përgjigje e suksesshme nga server-i bënte që malware të priste edhe 5 deri në 6 minuta përpara se të kontaktonte përsëri server-in. Nëse nuk merrte një përgjigje të vlefshme, ai kalonte në një pauzë shumë më të gjatë prej 22 deri në 28 orësh, duke kontrolluar çdo 10 minuta nëse ai interval kishte përfunduar. Këto vonesa, payload-et e shtresëzuara, ekzekutimi brenda proceseve të besuara dhe fshirja e artefakteve lokale e bëjnë më të vështirë një hetim të drejtpërdrejtë, megjithëse Kaspersky nuk përcaktoi se çfarë kodi vijues i dërgoi server-i viktimës së identifikuar.
Shteti aziatik i prekur nuk u bë i ditur. Kaspersky vlerësoi se Kina ishte një vendndodhje e mundshme, sepse Microsoft ofron Windows 10 China Government Edition për organet qeveritare dhe subjektet shtetërore, por kjo nuk u konfirmua. Çështja më e gjerë teknike është se mjediset me sisteme operative të personalizuara në masë të madhe kërkojnë procese të pjekura dhe të posaçme mirëmbajtjeje dhe sigurie, veçanërisht kur përditësimet dhe mjetet e menaxhimit janë pjesë e software supply chain.
Për ekipet e IT-së, treguesit më konkretë janë path-i i përmendur i skedarit, kombinimi i pazakontë i skedarëve, ekzekutimi përmes `dllhost.exe` dhe kontakti me domain-in e raportuar command-and-control. Prania e tyre duhet të hetohet sipas kontekstit, sepse disa komponentë në arkiv janë legjitimë dhe vetëm emrat e tyre nuk provojnë një infektim. Për organizatat që kërkojnë mbështetje të jashtme lidhur me këtë lloj rreziku operacional, AEU-I ofron IT, infrastrukturë dhe konsulencë me sigurinë në plan të parë.
NetamLoader mbetet një kërcënim i vërejtur në një numër të kufizuar rastesh dhe jo një fushatë masive e dokumentuar. Operatori i tij, mekanizmi fillestar i shpërndarjes, numri i plotë i viktimave dhe ndikimi mbeten ende të panjohura, por rasti tregon se si komponentët e besuar të aplikacioneve dhe sjellja e startup të .NET mund të kombinohen për të fshehur një zinxhir malware me shumë shtresa në një instalim të specializuar Windows.