Een nep LastPass Authenticator-installatieprogramma dat op GitHub wordt aangeboden, installeert een Windows-kernelstuurprogramma dat antivirus- en andere beveiligingssoftware afsluit voordat een wachtwoorddief wordt uitgevoerd als een slachtoffer het downloadt en uitvoert, zeiden onderzoekers van LastPass en Delphos Labs op 17 september.
Microsofts eigen hardware-compatibiliteitsprogramma ondertekent de driver, scoorde nul detecties op VirusTotal toen onderzoekers het in augustus controleerden, en stond niet op de lijst van Microsoft met geblokkeerde drivers. LastPass zegt dat geen van zijn eigen systemen, diensten of klantenkluizen zijn aangeraakt en dat de aanvallers alleen zijn naam hebben geleend.
De aantrekkingskracht is een nep-GitHub-pagina (github.com/LastPass-Authenticator) die in de zoekresultaten scoort op termen als “LastPass Authenticator download” en eruitziet als een echte LastPass-productpagina.
Door op de downloadknop te klikken, wordt de bezoeker via verschillende GitHub-pagina’s naar een aanvallerserver gestuurd, die een groot ZIP-bestand serveert. De echte LastPass Authenticator komt van lastpass.com en de officiële appstores, niet van GitHub.
In de ZIP bevindt zich een hernoemde kopie van een echte Microsoft-foutopsporingstool, vsdbg.exe, naast een kwaadaardig bestand met de naam vsdbg.dll. Wanneer het nep-installatieprogramma wordt uitgevoerd, laadt Windows de DLL van de aanvaller vanuit dezelfde map, een truc die DLL side-loading wordt genoemd. De lader probeert vervolgens op drie manieren beheerdersrechten te verkrijgen, bereikt SYSTEEM, het hoogste niveau op een Windows-machine, en installeert de kerneldriver als een service.
De gevonden archieven waren 148 MB en 127,9 MB groot, opgevuld met ongewenste bestanden, zodat scanners met maximale grootte deze overslaan.
Wat het stuurprogramma doet en waarom Windows het vertrouwt
Een kernelstuurprogramma draait onder het niveau waarop antivirus- en eindpuntdetectie- en responshulpmiddelen (EDR) werken. Deze, die de onderzoekers Alinubx.sys noemden, bevat een lijst met 145 namen van antivirus- en beveiligingsprocessen en beëindigt alle actieve processen.
Het doet dit vanuit de kernel, onder het niveau waarop beveiligingssoftware draait, zodat deze tools in de gebruikersmodus de kill niet kunnen blokkeren of zien. Het laden van een legitiem ondertekend maar misbruikbaar stuurprogramma om toegang te krijgen is een bekende techniek genaamd ‘bring your own vulnerability driver’ (BYOVD), waarover The Hacker News eerder heeft bericht.
Het stuurprogramma is ondertekend via de Microsoft Windows Hardware Compatibility Publisher-keten, met als ondertekeningsdatum maart 2023, jaren vóór deze campagne. Zoals de onderzoekers het verwoordden: “Microsoft-attestatie bewijst dat een bestuurder door een vertrouwenspijplijn is gegaan. Het bewijst niet dat de bestuurder veilig is.”
De dodenlijst is het enige deel van de chauffeur dat hier reed. De code kan ook bestanden verbergen, in andere programma’s injecteren en webverkeer omleiden, maar die hebben een configuratiebestand nodig dat de aanvallers niet hebben toegevoegd, dus bleven ze weg.
Wat het heeft gedaan is genoeg. Toen de beveiligingssoftware niet beschikbaar was, verzamelde de dief opgeslagen wachtwoorden van meer dan twintig browsers, cryptocurrency-portemonneebestanden en inlogsessies voor Discord, Steam en Telegram, samen met de inhoud van Windows Credential Manager en bestanden met de naam ‘wachtwoord’, ‘seed’ of ‘herstel’.
Voor Chrome en Edge, die de app-gebonden encryptie van Google gebruiken om precies dit te stoppen, injecteert de dief code in de browser en vraagt de eigen service van de browser om de wachtwoorden te decoderen. De gegevens worden in een ZIP-bestand verpakt en naar een aanvallerserver verzonden.
Waarom niets het ving
De driver is een hernoemde kopie van CcProtect.sys, een driver van het Chinese schijfversleutelingsproduct CnCrypt dat al in de LOLDrivers-catalogus staat vermeld als procesmoordenaar, met openbare proof-of-concept-code. De twee delen dezelfde productnaam, versie en indiener; alleen de bestandsnaam en beschrijving zijn gewijzigd.
Door die verandering werden de antivirusdetecties van het bestand verwijderd: het bekende origineel toonde 7 van de ongeveer 70 zoekmachines die het in augustus markeerden, terwijl het hernoemde stuurprogramma nul liet zien.
De blokkeerlijst is een andere zaak. De blokkeringslijst voor kwetsbare stuurprogramma’s van Microsoft, die sinds de Windows 11 2022-update standaard is ingeschakeld, zorgt ervoor dat de vermelde stuurprogramma’s niet worden geladen. Delphos controleerde het op 20 augustus en vond noch de hernoemde driver, noch het bekende origineel erop. De hernaam kwam niet voorbij de blokkeerlijst, omdat het origineel er ook nooit op stond.
De blokkeerlijst komt overeen met bekende bestandshashes, en een hernoemd of opnieuw gecompileerd stuurprogramma produceert een nieuwe hash die de lijst niet bevat. In het rapport van 17 september stond Alinubx.sys nog steeds niet op de blokkeerlijst.
Delphos rapporteerde de driver op 19 augustus aan Microsoft. Microsoft antwoordde dat het gedrag niet voldoet aan de definitie van een beveiligingsprobleem, omdat de driver geen Microsoft-component is, en wees de onderzoekers op het aparte kanaal dat drivers voor de blokkeerlijst beschouwt. Delphos diende daar dezelfde dag opnieuw in.
Als u het nep-installatieprogramma hebt uitgevoerd
Behandel elk wachtwoord dat in de browser op die machine is opgeslagen als gestolen, samen met eventuele cryptocurrency-portemonneebestanden, Discord-, Steam- en Telegram-sessies en alles in Windows Credential Manager. De dief kopieert deze voordat het chauffeurswerk begint.
Wijzig deze wachtwoorden vanaf een afzonderlijk, schoon apparaat, niet het betreffende apparaat, en controleer de accountactiviteit op alles wat u niet heeft gedaan. De driver blijft geladen, schakelt beveiligingstools opnieuw uit en voert de stealer opnieuw uit bij elke herstart, waarbij hij de tools verslaat die deze normaal gesproken zouden opruimen.
Een machine die deze payload draaide, moet worden behandeld als een compromis op kernelniveau en, waar mogelijk, aan een forensische controle op kernelniveau worden onderworpen of opnieuw worden opgebouwd.
Waar verdedigers op kunnen jagen
De onderzoekers zeggen dat ze moeten zoeken naar de afstamming en het gedrag van de bestuurder in plaats van naar één bestandsnaam, omdat de operators de naam weer kunnen veranderen zoals ze hier deden. Tekenen waar u op moet letten:
- Dienst: een service gemaakt als NvFsFilter
- Bestand: een stuurprogramma geschreven naar C:WindowsSystem32driversnvfsflt64.sys
- Ondertekenaar: een bestuurder waarvan de ondertekeningsgegevens Henan Dafeng Software heten of “CnCrypt” bevatten
- Apparaat: het pad \.Alinubx
- Gedrag: een driverbelasting gevolgd door het beëindigen van beveiligingsprocessen
Een community-detectie voor het exacte stuurprogramma wordt gepubliceerd op LOLDrivers, hoewel deze overeenkomt op basis van hash en dus dezelfde zwakte deelt zodra het bestand verandert. De volledige indicatoren staan in het gezamenlijke rapport.
Waar het vandaan kwam
De LastPass-pagina was een van de vele lokmiddelen. De server van de aanvaller bood imitatiepagina’s aan voor minstens veertig merken, zei LastPass, en een bijna identieke tweede neppagina voor een ‘macOS LastPass’-product werd verwijderd voordat het team deze kon onderzoeken.
Valse GitHub-repository’s die deze familie van stealer leveren, zijn niet nieuw: Trend Micro documenteerde dat de BoryptGrab-stealer zich in maart op deze manier verspreidde, en Arctic Wolf rapporteerde in juli een afzonderlijke golf van bijna 300 van dergelijke repository’s.
Delphos beoordeelt met groot vertrouwen dat de lader is gebouwd met de Cruciferra-crypter, een betaalde tool waarvan de standaard kill-lijst ook 145 namen bevat en waarvan het stuurprogramma uitwisselbaar is, en met gematigd vertrouwen dat de stealer, die LastPass Rapuncel noemt, eerder een familielid is van BoryptGrab dan dezelfde build. Hoeveel mensen besmet zijn geraakt, is onbekend; het rapport vermeldt geen aantal slachtoffers.