Nieuwe SLEEPWALKER-achterdeur wacht op één vervaardigd pakket en voert vervolgens zijn eigen bytecode uit

Een onafhankelijke malware-onderzoeker heeft een voorheen niet gerapporteerde Windows-achterdeur gedocumenteerd, genaamd SLAAPWANDELAARdat inert blijft in het geheugen totdat een specifiek vervaardigd netwerkpakket de machine bereikt en vervolgens opdrachten uitvoert die zijn geschreven in een eigen ontwerptaal met 23 instructies.

Het voorbeeld is een niet-ondertekende 64-bits Windows Dynamic-Link Library (DLL) van 59.904 bytes, gebouwd om side-loaded te worden in ERAAgent.exe, het Windows-uitvoerbare bestand voor ESET Management Agent.

Het imiteert Microsoft’s dpapi.dll, exporteert dezelfde zeven gegevensbeschermingsfuncties als de echte systeembibliotheek, en bevat een versiebron die is gekopieerd van ESET Management Agent.

Er zijn geen domeinen, IP-adressen of URL’s in het bestand ingebouwd, en het maakt zelf geen uitgaande verbinding, dus een geïnfecteerde host kan er schoon uitzien als het gaat om tools die letten op verbindingen met een bekende slechte infrastructuur.

Commando’s arriveren als bytecode in plaats van als leesbare tekst, dus het herstellen van de encryptiesleutel levert opcodes op in een formaat dat nergens anders bestaat dan in dit ene bestand. Dominik Reichel, een voormalige malwareonderzoeker van Palo Alto Networks Unit 42, zei dat de aanpak “consistent is met een gerichte, goed uitgeruste operatie in plaats van een opportunistische operatie.”

De beoordeling berust op één enkel binair getal dat zonder verzamelcontext wordt geleverd, en Reichel kon de steekproef niet aan een bekende actor toeschrijven, een slachtoffer, een bedrijfstak of een land vaststellen, of bepalen of de steekproef ooit is ingezet.

De ingebedde configuratie decodeert met behulp van AES-256-CCM in een enkele instructie die de achterdeur vertelt elke netwerkinterface voor onbepaalde tijd te controleren op dat pakket.

De luisteraar legt alles vast dat elke bekeken interface passeert, inclusief verkeer dat naar andere machines wordt geadresseerd. Een gateway, VPN-server of host die twee netwerksegmenten overbrugt, kan daarom een ​​trigger zien die geheel voor een andere machine bedoeld is.

SLEEPWALKER controleert alleen de hostprocesnaam, niet de handtekening of het pad. Voor het schrijven van het bestand naar die map zijn lokale beheerdersrechten nodig die een operator al moet hebben, en de achterdeur vertrouwt op de beveiligingscontext van het hostproces in plaats van deze rechten zelf te verkrijgen.

De achterdeur is daarom eerder een post-compromis-implantaat dan een toegangspunt, en hoe een operator voor het eerst de machine bereikte en de DLL in die map schreef, blijft onbekend.

Side-loading is ook het enige persistentiemechanisme, en de DLL wordt telkens opnieuw geladen wanneer de ESET Management Agent-service wordt gestart.

Het side-loaden is afhankelijk van de zoekvolgorde van Windows DLL’s in plaats van een fout in de software van ESET, dus er valt niets te patchen en de reactie op een bevestigde match is een incidentrespons en een herbouw.

De producten van ESET zijn al eerder misbruikt voor side-loading, onder meer door ToddyCat, die volgens Kaspersky misbruik maakte van een fout in de zoekvolgorde in de opdrachtregelscanner van het bedrijf om een ​​kwaadaardige DLL in ESET te laden.

The Hacker News heeft contact opgenomen met ESET voor commentaar over de vraag of het telemetrie op het monster heeft en zal dit verhaal bijwerken bij elk antwoord.

ESET heeft vanaf 26 augustus geen advies of openbare verklaring over de malware afgegeven.

De 23 instructies omvatten planning, verschillende manieren om gegevens te verplaatsen, gefaseerde bestandslevering, geverifieerd aan de hand van een SHA-256-hash voordat deze wordt uitgevoerd, en het rechtstreeks uitvoeren van code in het geheugen. Ze rijden op zes transporten, bestaande uit TCP-, UDP-, ICMP-, SMB-naampijpen met gelegitimeerde laterale beweging, onbewerkte promiscue opname en VMware’s Virtual Machine Communication Interface (VMCI).

VMCI-verkeer passeert de virtualisatielaag in plaats van een netwerkadapter, zodat een pakketopname tussen twee machines deze volledig mist. UNC3886 gebruikte VMCI-sockets voor persistentie tussen gecompromitteerde ESXi-hosts en hun virtuele gastmachines bij inbraken gedocumenteerd door Mandiant.

Er is geen instructie in de taal die naar schijf schrijft, dus alles wat de achterdeur op een gecompromitteerde machine verwacht te vinden, moet daar door een ander onderdeel worden geplaatst.

Twee van de instructies letten op de trigger. De opcode die in het geanalyseerde voorbeeld is opgeslagen, maakt alleen de onbewerkte pakketlistener mogelijk. Tegelijkertijd maakt een tweede opcode ook een DNS-gebaseerde trigger mogelijk die in het binaire bestand is geïmplementeerd, maar niet actief is in deze build.

Om niet-geverifieerde bellers het genoemde pipe-kanaal te laten bereiken, stelt SLEEPWALKER de registerwaarde EveryoneIncludesAnonymous in en voegt de pipe-naam toe aan NullSessionPipes. De opschoonroutine registreert of het eigen schrijven naar NullSessionPipes is geslaagd en niet of er al een item aanwezig was, zodat een verwijdering een legitiem item kan verwijderen dat dateert van vóór de infectie.

Reichel publiceerde de volgende gastheerindicatoren –

  • Een onverwachte dpapi.dll naast ERAAgent.exe
  • Een onverwachte dpapisvc.dll in dezelfde map
  • SHA-256: d347170752a28e2b8c4b8b9f3cab2e3a6541ba11682c94498d26eb9002779d60
  • MD5: 2318327b29bb1c0e2d2b5f0211fc7fac
  • IedereenIncludesAnonymous ingesteld op 1
  • Een onverwachte vermelding in NullSessionPipes

De twee registerwaarden hebben alleen gewicht in vergelijking met een basislijn waarvan bekend is dat deze goed is.

Het artikel bevat een YARA-regel en een alleen-lezen PowerShell-scanner die deze indicatoren in een landgoed controleert. Reichel zei dat de detectiedekking voor het bestand bij publicatie laag was, zonder een basis voor die beoordeling te geven.

Hij merkte op dat de YARA-regel gedeeltelijk op een statische AES-sleutel en op gecompileerde protocolcode sleutelt, die bij een herbouw met verschillende compilerinstellingen kapot zou kunnen gaan.

The Hacker News vond geen publieke release van de analysetoolkit of de mitigatiegids die wordt beschreven in het bericht op de site van Reichel of zijn GitHub-profiel van 26 augustus. Reichel zei dat iedereen die denkt dat ze het doelwit zijn, rechtstreeks contact met hem moet opnemen.

Dit soort magische pakketimplantaten zijn opgedoken op Linux-systemen, waaronder Red Menshen’s gebruik van passieve achterdeurtjes zoals BPFDoor binnen netwerken van telecomoperatoren, zoals gedocumenteerd door Rapid7.

Thijs Van der Does