Inhoud
- Introductie
- Belangrijkste doelen.
- Getroffen sectoren.
- Geografische focus.
- Infectieketen.
- Eerste bevindingen.
- Kijken naar het afleidingsdocument
- Technische Analyse
- Fase 1 – Kwaadaardig LNK-script
- Fase 2 – Kwaadaardige .NET-implantatie
- Jacht en infrastructuur.
- Conclusie
- Seqrite Bescherming.
- IOCs
- MITRE ATT&CK.
- auteurs
Introductie
SEQRITE Het onderzoeksteam van Labs heeft onlangs een campagne ontdekt die zich richt op de Russische auto-industrie, met name op commerciële en autogerelateerde transacties. We hebben daarbij gebruikgemaakt van onbekende .NET-malware die we de naam CAPI Backdoor hebben gegeven.
In deze blog gaan we dieper in op de technische details van deze campagne die we tegenkwamen tijdens onze eerste analyse. Ook onderzoeken we de verschillende fasen van de infectieketen. We beginnen met een diepgaande analyse van het afleidingsdocument en analyseren de CAPI-backdoor. Vervolgens kijken we naar de infrastructuur en de algemene tactieken, technieken en procedures (TTP's).
Belangrijkste doelstellingen
Getroffen sectoren
- Auto industrie
- E-commerce-industrie
Geografische focus
- Russische Federatie
Infectieketen

Eerste bevindingen
Op 3 oktober 2025 ontdekte ons team een kwaadaardig ZIP-archief op Virustotal . Dit archief werd gebruikt als basis voor een spear-phishing-aanval met lokbestanden met PDF- en LNK-extensies en een uiteindelijke .NET DLL-implantatie, bekend als CAPI Backdoor.
Het ZIP-bestand heet Перерасчет заработной платы 01.10.2025, wat zich vertaalt naar herberekening van de salarisadministratie per 1 oktober 2025. Het bevat een schadelijke LNK met de naam Перерасчет заработной платы 01.10.2025.lnk, wat ook hetzelfde betekent, en is verantwoordelijk voor de uitvoering van het schadelijke .NET-implantaat met behulp van de LOLBIN, bekend als rundll32.exe. Vervolgens wordt er een verbinding gemaakt met de command-and-control-server. Laten we nu het decoy-document bekijken.
Kijken naar het afleidingsdocument
Als ik in eerste instantie naar het afleidingsdocument kijk dat bekend staat als Уведомление для налоговой №P4353.pdf, wat 'Kennisgeving voor het belastingkantoor nr. P4353.pdf' betekent, is het document helemaal leeg. Een ander afleidingsdocument, adobe.xml, blijkt een lokaas te zijn dat verband houdt met belastingwetgeving en andere vergelijkbare concepten.

Toen we naar de eerste pagina keken, zagen we de misleidende vermelding dat er vanaf 1 oktober 2025 voor alle werknemers belastinggerelateerde wijzigingen zullen zijn. Er wordt ook vermeld dat de volgende pagina's van dit document de wijzigingen en verdere berekeningen zullen vermelden.

Vervolgens zagen we op de tweede pagina berekeningen met betrekking tot het percentage inkomstenbelasting (PB). Deze berekeningen illustreren hoe het nieuwe belastingtarief het jaarinkomen van werknemers beïnvloedt. Het document vergelijkt het vorige tarief van 13% met het nieuwe tarief van 15% voor inkomens boven de 3,000,000 roebel, en toont de resulterende veranderingen in de totale belasting en het nettoloon.

De laatste pagina vermeldt inkomensgerelateerde wijzigingen en legt uit hoe het nieuwe tarief van de inkomstenbelasting leidt tot een verlaging van het nettoloon. Het biedt ook richtlijnen voor werknemers en moedigt hen aan hun budgetten te plannen op basis van de bijgewerkte belastingverplichtingen en contact op te nemen met de afdeling HR of boekhouding als ze verduidelijking of hulp nodig hebben met betrekking tot de nieuwe regels.
In het volgende gedeelte gaan we dieper in op technische analyse.
Technische Analyse
We hebben de technische analyse in twee fasen verdeeld. Eerst onderzoeken we het kwaadaardige LNK-script in het ZIP-bestand. Vervolgens analyseren we het kwaadaardige .NET-implantaat, dat wordt gebruikt om een backdoor te behouden en vele andere mogelijkheden biedt die we in detail zullen beschrijven.
Fase 1 – Kwaadaardig LNK-script
Het ZIP-bestand bevat een LNK met de naam Перерасчет заработной платы 01.10.2025.lnk. Bij nader onderzoek werd het ons al snel duidelijk dat het enige doel van de LNK is om de schadelijke DLL implant CAPI uit te voeren met behulp van een Windows-hulpprogramma met de naam rundll32.exe.

Als we naar de opdrachtregelargumenten kijken, is het duidelijk dat er geprobeerd wordt de exportfunctie, bekend als config, uit te voeren. Deze functie zal schadelijke taken uitvoeren door gebruik te maken van LOLBIN.
In het volgende gedeelte gaan we dieper in op de technische mogelijkheden van het DLL-implantaat, ook wel CAPI genoemd.
Fase 2 – Kwaadaardige .NET-implantatie
Bij een eerste analyse kwamen we erachter dat het bestand adobe.dll het laatste stadium is, ook wel bekend als client6.dll, en dat het geprogrammeerd is in .NET.

Na analyse van het binaire bestand ontdekten we dat de .NET-implementatie genaamd CAPI een aantal interessante functionaliteiten bevat.

Laten we nu eens kijken naar deze interessante functie en de functionaliteiten ervan analyseren.
- IsAdmin – Deze functie controleert of het binaire bestand bepaalde beheerdersrechten heeft met behulp van de zogenaamde beveiligings-ID. Dit gebeurt door de huidige beveiligings-ID te vergelijken met de beveiligings-ID van de beheerder.

- av – Deze functie controleert op alle geïnstalleerde antivirussoftware in het huidige gebruikersaccount met behulp van de query SELECT * FROM AntiVirusProduct met behulp van WMI en retourneert de lijst naar de C2-server.

- OpenPdfFile – Met deze functie wordt het afleidingsdocument op het gebruikersscherm geopend als pdf

- Verbinden en ontvangen van opdrachten – De functie Connect maakt contact met de C2-server 223.75.96 via TCP Client op poort 443. De door de C2-server verzonden instructies worden door de functie ReceiveCommands ontvangen in een byte-array. Vervolgens worden de instructies gedecodeerd in een string en dienovereenkomstig geïmplementeerd.


- UitvoerenOpdracht – Deze functie implementeert de instructies die worden ontvangen van het kwaadaardige IP-adres, zoals het verbreken van de verbinding, het verzenden van het huidige directorypad, het maken van een persistente achterdeur, het stelen van gegevens van browsers zoals Chrome, Edge en Firefox, het ophalen van huidige gebruikersinformatie, het maken van een screenshot van het huidige scherm en tot slot het verzenden van alle informatie via command and control.

- dmp1, dmp2 en dmp3 – Deze drie functies zijn verantwoordelijk voor het stelen van de browsergegevens van de huidige gebruiker op de machine.
De functie dmp1 maakt een map met de naam edprofile_yyyyMMddHHmmss aan en doorloopt alle bestanden en mappen in de map Local State , inclusief de versleutelde sleutel van de Edge-browser. Alle verzamelde gegevens worden opgeslagen in een ZIP-bestand met de naam edprofile.zip en naar de C2-server verzonden.

De functie dmp2 maakt op vergelijkbare wijze een ZIP-bestand met de naam chprofile_safe.zip en slaat alle gegevens op, zoals bladwijzers, geschiedenis, favorieten, topsites, voorkeuren en extensies.

Op dezelfde manier zoekt de dmp3-functie naar het Firefox-browserprofiel van de gebruiker. Als het profiel wordt gevonden, kopieert het de bestanden zoals profiles.ini, installs.ini en andere gegevens zoals extensies, cachebestanden, miniaturen, minidumps en slaat deze op in het ZIP-bestand met de naam ffprofile_safe.zip en verstuurt dit naar de C2-server.

- scherm – Met deze functie kunt u een schermafbeelding maken van het huidige gebruikersscherm, de datum en tijd markeren en de afbeelding in png-formaat naar de C2-server sturen.

- IsWaarschijnlijkVm – Deze functie is verantwoordelijk voor het controleren van de beschikbaarheid van de virtuele machine. Het gebruikt verschillende functionaliteiten om het systeem van het slachtoffer te bekijken, die we één voor één zullen bekijken.
- ControleerHypervisorPresent – Deze functie gebruikt de query SELECT HypervisorPresent FROM Win32_ComputerSystem om de aanwezigheid van Hypervisor te controleren. Hypervisor is software voor het beheren van meerdere virtuele machines in een systeem.

-
-
- CheckGuestRegistryStrong – Deze functie controleert de registersleutelpaden die specifiek betrekking hebben op de virtuele machine in het systeem. De functie bevat een lijst met de meest waarschijnlijk bekende registerpaden die bij de virtuele machine horen en vergelijkt deze met de systeempaden.
- CheckSmbiosMarkers – Deze functie controleert op de Systeembeheer BIOS , die de lijst met fabrikanten en modellen van virtuele machines bevat die in het systeem aanwezig zijn. Vervolgens worden de opgehaalde gegevens vergeleken met de algemene lijst met virtuele machines die deze functie bevat.
- CheckPnPMarkers – Deze functie verzamelt alle PNP (Plug and Play)-apparaten en hun naam, fabrikant en PNPDeviceID, die uniek is voor elk apparaat in het systeem. Vervolgens worden de gegevens vergeleken met de meest voorkomende strings die beschikbaar zijn om de aanwezigheid van een virtuele machine te detecteren.
- CheckDiskMarkers – Met deze functie wordt gecontroleerd op PNP-apparaten (Plug and Play) die gerelateerd zijn aan virtuele machines die aanwezig zijn op de schijfeenheid.
- CheckVideoMarkers – Met deze functie worden alle Video_controller-apparaten opgesomd die in het systeem aanwezig zijn en worden alle apparaten vergeleken met de algemene lijst met virtuele machines die de functie bevat.
- ControleerVmMacOui – Deze functie verzamelt alle MAC-adressen van de netwerkadapter en vergelijkt deze met een aantal hard gecodeerde MAC-adressen die specifiek zijn gemaakt voor virtuele machines.
- HeeftRealGpu – Deze functie controleert of de slachtoffermachine over een echte GPU beschikt door een inventarisatie te maken van alle GPU-leveranciers om na te gaan of deze op een legitiem systeem of een virtuele machine draait.
- HeeftRealDiskVendor – Deze functie controleert of de slachtoffercomputer een echte schijfleverancier heeft door alle schijfleveranciers in Disk Drive op te sommen.
- HeeftBatterijOfLaptopChassis – Met deze functie wordt gecontroleerd welk type batterij of laptopbehuizing in het systeem beschikbaar is.
- HasOemPcVendor – Deze functie zoekt naar de bekende echte fabrikantnaam van het systeem, bijvoorbeeld DELL, HP, LENOVO, enz. om te concluderen dat het systeem legitiem is of een virtuele machine.
-
Vervolgens stelt het bestand de persistentie zo in dat de kwaadaardige bewerkingen kunnen doorgaan, zelfs als het originele DLL-bestand wordt verwijderd. Hiervoor worden twee technieken gebruikt die we verderop zullen bespreken.
- persist1 – Deze functie haalt het adres van CAPI Backdoor (.NET-implantaat) op met behulp van GetExecutingAssembly().Locatie methode en kopieert vervolgens het implantaat naar de Microsoft-map onder de roaming van de gebruiker Applicatiegegevens map. Vervolgens wordt een LNK-bestand met de naam Microsoft.lnk aangemaakt, dat wordt opgeslagen in de opstartmap van de huidige gebruiker. Vervolgens wordt het doelpad van Microsoft.lnk ingesteld op de Windows Utility rundll32.exe en worden de argumenten gebruikt als de locatie van de opgeslagen backdoor.

- persist2 – Vergelijkbaar met de persist1-functie slaat deze functie de CAPI Backdoor ook eerst op in de Microsoft-map onder de roaming-map van de gebruiker. Applicatiegegevens Vervolgens wordt een exemplaar van het geplande taakobject gemaakt en wordt een nieuwe taakdefinitie met de naam AdobePDF, en configureert een trigger die één uur na aanmaak start en zeven dagen lang elk uur wordt herhaald. Vervolgens wordt een actie toegevoegd die C:\Windows\System32\rundll32.exe uitvoert met opgeslagen CAPI Backdoor en deze geplande taak registreert in de hoofdmap van de scheduler.

Dit zijn enkele interessante functies die de CAPI-backdoor uitvoert. Er zijn ook andere functies, zoals het verzamelen van computer- en andere cruciale informatie en het verzenden ervan naar de C2-server.
Jacht en infrastructuur
In eerste instantie ontdekten we dat er twee netwerkgerelateerde artefacten verbonden zijn met dit kwaadaardige DLL-implantaat. Eén daarvan is een willekeurig domein dat gegenereerd is door het DGA-algoritme.

We hebben de campagne vanaf 3 oktober gevolgd. We zagen dat de kwaadwillende actor, na in het begin het domein te hebben gebruikt en enkele handelingen te hebben uitgevoerd, het kwaadaardige domein omleidde naar het oorspronkelijke domein.

Na enige tijd hostte de kwaadwillende partij de CAPI Backdoor op poort 443 en voegde een hyperlink toe naar de oorspronkelijke website voor de spearphishingcampagne.

De kwaadaardige infrastructuur wordt gehost onder het ASN AS 197695 door de organisatie AS-REG.

De latere infrastructuur, waar het implantaat een terugbelverzoek verstuurde en alle van het slachtoffer gestolen informatie doorsluisde, werd gehost onder ASN 39087 bij de organisatie Pakt LLC.
Conclusie
We volgen deze campagne sinds 3 oktober en hebben ontdekt dat er gebruik wordt gemaakt van een nepdomein, carprice[.]ru, dat sterk lijkt op het legitieme domein carprice[.]ru. Dit wijst erop dat de aanvaller zich richt op de Russische automobielsector . De schadelijke payload is een .NET DLL die fungeert als een stealer en persistentie creëert voor toekomstige kwaadaardige activiteiten.
SEQRITE Bescherming
- Trojan.49992.SL
- RatCiR
IOCs
| MD5 | Bestandsnaam |
| c6a6fcec59e1eaf1ea3f4d046ee72ffe | Pereraschet_zarabotnoy_platy_01.10.2025.zip |
| 957b34952d92510e95df02e3600b8b21 | Перерасчет заработной платы 01.10.2025.lnk |
| c0adfd84dfae8880ff6fd30748150d32 | adobe.dll |
C2
hxxps://carprlce[.]ru
91.223.75[.]96
MITRE ATT & CK
| Tactiek | Techniek-ID | Naam |
| Eerste toegang | T1566.001 | Spearphishing-bijlage |
| Uitvoering | T1204.002 | Gebruikersuitvoering: kwaadaardig bestand (LNK) |
| T1218.011 | Ondertekende binaire proxy-uitvoering: rundll32.exe | |
| Volharding | T1564.001 | Verberg artefacten: verborgen bestanden en mappen |
| De reis van mijn leven | T1047 | Windows Management Instrumentatie (WMI) |
| T1083 | Bestands- en directorydetectie | |
| Toegang tot inloggegevens | T1555.003 | Inloggegevens van webbrowsers |
| Collectie | T1113 | Screen Capture |
| Command and Control | T1071.001 | Applicatielaagprotocol: webprotocollen |
| exfiltratie | T1041 | Exfiltratie via C2-kanaal |
Auteurs.
Priya Patel
Subhajeet Singha



