Ny bakdør våkner først når den rette pakken passerer i nettverket

En analyse publisert 24. august 2026 beskriver en tidligere ukjent bakdør for Windows, kalt Sleepwalker. Filen er en usignert 64-bits DLL på 59 904 byte som utgir seg for å være Microsofts dpapi.dll, og som er laget for å bli sidelastet inn i ERAAgent.exe, programfilen til ESET Management Agent. Bakdøren kontakter ingen fast tjener og åpner ingen åpenbar lytteport av seg selv. Den leser i stedet all trafikk som passerer nettverkskortet, og venter på én bestemt kryptert pakke før den gjør noe som helst. Analysen oppgir at det ikke ble funnet noen tidligere offentlig omtale av bakdøren, og at deteksjonsdekningen for filen fortsatt var lav ved publiseringen.

Hva som skjer teknisk

Sidelasting av DLL-filer bygger på en velkjent egenskap ved Windows. Et program som ber om et bibliotek ved navn, finner en fil i sin egen mappe før operativsystemet leter i systemkatalogen. Sleepwalker er laget for nettopp den rekkefølgen. Filen bærer en versjonsressurs kopiert fra ESETs ekte agent, med selskapsnavnet ESET og filbeskrivelsen ESET Management Agent Module, og den eksporterer de samme sju funksjonene som den ekte dpapi.dll. Kompileringstidsstempelet i filen er 10. juni 2024, mens analysen først ble publisert i august 2026. Det eneste bakdøren kontrollerer, er navnet på prosessen som lastet den inn. Verken signatur eller sti blir sjekket. Heter prosessen noe annet enn ERAAgent.exe, gjør koden ingenting, og da våkner den heller ikke i en sandkasse eller under en debugger. De sju eksporterte funksjonene er tomme mellomledd som forsøker å hente den ekte funksjonen fra en fil ved navn dpapisvc.dll. Noen slik fil følger ikke med Windows, og analysen påpeker at et mislykket forsøk avslutter hele vertsprosessen i stedet for bare det ene kallet. Sidelastingen er samtidig det eneste varige fotfestet bakdøren har. Ligger filen ved siden av ERAAgent.exe, lastes den inn på nytt hver gang ESET-tjenesten starter.

Konfigurasjonen som er bygget inn i filen, er på 2 048 byte og kryptert med AES-256-CCM. Dekryptert består den av én eneste instruksjon på fem byte: lytt på alle nettverksgrensesnitt, uten tidsgrense, etter en bestemt pakke. Bakdøren leser rå trafikk fra inntil åtte grensesnitt om gangen, og hopper over loopback og de adressene en maskin gir seg selv når den ikke finner et nett. Hver pakke måles mot et mønster i flere trinn. Den må være minst 48 byte. To 16-bits verdier bakerst i pakken kombineres til en lengdeverdi, og lengden må ligge innenfor et gyldig område. Bytene på det stedet lengden peker ut, må stemme med summen av de to verdiene bakerst, og blokken de peker på må bestå en CRC-32-kontroll. Først da forsøker bakdøren å dekryptere innholdet. Feiler ett av trinnene, forkastes pakken uten noe svar tilbake. Kontrollen kjøres på råinnholdet før Windows har avgjort om pakken er TCP, UDP eller noe annet, og derfor kan signalet ligge inni nesten hvilken som helst IP-trafikk. En andre utløserkanal, der signalet ligger kodet inni vanlige DNS-oppslag, er bygget inn i filen. Analysen presiserer at den ikke er slått på i prøven som er undersøkt: den innebygde instruksjonen velger den rå lytteren alene, og DNS-varianten har sin egen instruksjonskode.

Det pakken bærer, er ikke en lesbar kommando. Det er et lite program skrevet i et instruksjonsspråk bakdøren har helt for seg selv, med 23 instruksjoner som dekker tidsstyring, flere måter å flytte data på, oppdelt levering av filer med SHA-256-kontroll og kjøring av kode rett i minnet. Å finne krypteringsnøkkelen er ikke nok. Nøkkelen viser hvordan bytene skal leses, mens betydningen først kommer fram når selve språket er kartlagt, skriver analysen. Instruksjonene kan velge mellom seks transportkanaler: TCP, UDP, ICMP med data gjemt i ping-forespørsler, named pipes over SMB, VMwares interne VMCI-kanal mellom gjest og vert, og rå pakkelesing. Ingen av dem har en innebygd adresse. Målet oppgis i programmet som kommer utenfra. For at uautentiserte oppkoblinger skal nå fram til denne kanalen, endrer bakdøren to sikkerhetsinnstillinger i Windows, EveryoneIncludesAnonymous og NullSessionPipes. Analysen påpeker at opprydningen etterpå er mangelfull, fordi koden noterer om oppføringen ble lagt til og ikke om den fantes fra før, og derfor kan fjerne en oppføring maskinen hadde i utgangspunktet. Filen inneholder ingen kode for å skaffe seg høyere rettigheter. Endringene krever lokale administratorrettigheter, som bakdøren arver fra vertsprosessen.

Preparert pakkeSendes inn i trafikkenBakdør i ERAAgentLeser all trafikk passivtKommandoene kjøresBytekode, 23 instruksjoner
Figur: Forløpet slik analysen beskriver det. Pakken må bestå flere kontroller før innholdet dekrypteres og kjøres.

Hva det betyr for deg som drifter ESET-agenten

Har du ESET PROTECT i drift, står ERAAgent.exe på et stort antall maskiner hos deg, og nettopp den utbredelsen gjør sidelasting inn i agenten attraktiv. Vår vurdering er at den viktigste lærdommen ikke er ett filnavn, men hvilken type deteksjon som svikter her. Bygger overvåkningen din på utgående trafikk mot kjente skadelige adresser, ser du ingenting. Analysen sier det rett ut: fravær av utgående forbindelser til kjent ondsinnet infrastruktur utelukker ikke en infeksjon, og en maskin kan være fullstendig kompromittert uten å gi nettverksovervåkningen noe å reagere på. Legg også merke til at den ekte ESET-agenten fortsetter å snakke med ESET PROTECT som normalt mens bakdøren ligger stille. Trafikkbildet fra maskinen ser altså riktig ut hele tiden.

Finner du denne filen hos deg, er selve funnet bare begynnelsen. Bakdøren kan ikke installere seg selv, og endringene den gjør krever lokale administratorrettigheter den arver fra vertsprosessen. Noen har med andre ord allerede hatt tilgang til en beskyttet programkatalog på maskinen din før filen havnet der. Samtidig er det mye analysen ikke kan si. Den bygger på én enkelt fil, uten hendelsesdata og uten trafikkopptak, og den navngir verken offer, aktør eller leveringsmåte. De 23 instruksjonene beskriver hva bakdøren kan gjøre, ikke hva noen faktisk har gjort med den. For deg betyr det at et treff er starten på en hendelseshåndtering med ukjent omfang. Vær også oppmerksom på at to av indikatorene er registerverdier som bare betyr noe når de sammenlignes med en kjent god grunnlinje. Analysen presiserer selv at de ikke er bevis alene.

Berigo anbefaler

  • Kjør PowerShell-skanneren og YARA-regelen fra analysen mot maskinene der ESET Management Agent er installert. Begge er publisert i artikkelen, og skanneren skriver ingenting til systemet.
  • Se etter en dpapi.dll eller en dpapisvc.dll i samme mappe som ERAAgent.exe. Ingen ekte Windows-komponent heter dpapisvc.dll.
  • Sammenlign EveryoneIncludesAnonymous og NullSessionPipes med en kjent god grunnlinje før du konkluderer. Mangler du en slik grunnlinje, er det den oppgaven du bør ta først.
  • Kontroller om deteksjonen din ser noe annet enn utgående trafikk mot kjente adresser. Logg hvilke prosesser som laster hvilke biblioteker, og følg med på hvilke maskiner som setter nettverkskortet i promiskuøs modus.
  • Behandle et treff som en hendelse der omfanget er ukjent, og øv på den rutinen før du trenger den.

Sikkerhet som forstås, styres og virker.

La oss hjelpe dere å gjøre sikkerhet til et fortrinn, ikke en kostnad. Ta kontakt for en uforpliktende samtale om hvor virksomheten står, og hva som bør prioriteres først.

Ta kontakt