SynkLoader, een niet eerder gedocumenteerde malwarefamilie, komt binnen via een Teams-bericht van een nep-IT-helpdesk en vist wachtwoorden met een nagemaakt Windows-vergrendelscherm, meldt beveiligingsbedrijf Expel.
Er valt aan deze aanval niets te patchen. Er wordt geen lek in Teams misbruikt; de aanvaller loopt door een deur die in de meeste bedrijven gewoon openstaat. In Microsoft Teams zijn alle externe domeinen standaard toegestaan, zodat iedereen met een eigen Microsoft 365-omgeving jouw medewerkers rechtstreeks kan aanschrijven. Bij Expel bleef het aandeel gerichte aanvallen op endpoints in april en mei nog onder de twintig procent en klom het in juni naar 38,4 procent van alle endpoint-incidenten, vrijwel volledig door Teams-phishing. De beslissing die dit tegenhoudt ligt daarmee niet bij je virusscanner maar bij het federatiebeleid in het Teams-beheercentrum.
Zo verliep de aanval
Expel kreeg op 18 augustus een melding van een EDR-systeem over een verdachte geplande taak bij een klant en rolde van daaruit de hele keten op. Het startpunt was een Teams-account op een onmicrosoft.com-domein dat zich voordeed als IT Service Desk. Het slachtoffer kreeg het verzoek een opruimprogramma te installeren en downloadde een MSI-bestand met de naam PowershellCleaner dat op Azure Blob Storage stond. Die downloadlink oogt daardoor als een adres van Microsoft zelf.
Het installatiebestand zette een PowerShell-script en een zipbestand neer. Het script ontsleutelde zijn eigen opdrachten in het geheugen, pakte een complete Python-omgeving uit in een map met een willekeurige naam onder AppData en startte de loader via pythonw.exe. Python hoefde dus niet op de computer te staan, want de malware neemt zijn eigen omgeving mee. Daarna meldt hij zich elke 90 tot 120 seconden bij een van drie stuurdomeinen, met verkeer dat versleuteld is via een aangepaste ChaCha20 waarin het slachtoffernummer de sleutel vormt.
Waarom het nep-vergrendelscherm werkt
De module die Expel PhishLocker noemt bestaat uit bijna 500 kilobyte aan schermcode. Hij leest de ingelogde gebruikersnaam op via een Windows-functie, haalt de echte achtergrondafbeelding van het vergrendelscherm uit de systeemmap van Windows en tekent daarna een schermvullend venster zonder rand. De medewerker ziet zijn eigen naam en zijn eigen achtergrond. Het oogt niet als een pop-up maar als een computer die zichzelf vergrendeld heeft.
Daar zit de kracht van de truc. Een vergrendelscherm dat midden op de werkdag om je wachtwoord vraagt is het gewoonste wat er is: geen link om te controleren, geen afzender om te wantrouwen. Het scherm accepteert bovendien elk wachtwoord dat je intikt, want het legt niets voor aan Windows. Je typt, het scherm verdwijnt, je werkt door.
Twee dingen verraden het. Alt+Tab blijft bereikbaar, wat bij een echt vergrendelscherm niet kan, en op het echte scherm vervaagt de achtergrond zodra het wachtwoordveld actief wordt, terwijl de namaak scherp blijft. Wat de aanvaller overhoudt is geen versleutelde hash maar de wachtwoordtekst zelf, direct bruikbaar op single sign-on, vpn en mail.

Wat er daarna binnenkomt
SynkLoader is een verzamelpakket. De eerste module inventariseert de computer: hostnaam, gebruikersnaam, rechtenniveau, draaiende processen en diensten, de naam van het Active Directory-domein en het aantal computers dat daarin hangt. Dat laatste getal verraadt de bedoeling. Het heeft geen technisch nut, het is een maatstaf voor de omvang van het netwerk en daarmee voor de hoogte van een losgeldeis. Expel houdt het er met beperkte zekerheid op dat hierachter een ransomwaregroep of een handelaar in toegang zit.
De rest van het pakket is gericht op blijven zitten en doorlopen. Een tweede module legt een geplande taak vast met een willekeurige naam van twaalf tekens. Die maakt hij aan via COM-interfaces in plaats van via schtasks.exe, zodat er geen opdrachtregel achterblijft om alarm op te slaan. De taak start bij het inloggen en elke dag om tien uur. Een derde module maakt van de besmette pc een doorgeefluik: de aanvaller leidt zijn verbindingen om via het IP-adres van de medewerker, waardoor toegangslijsten op IP en meldingen over een inlog vanaf een onbekende locatie stil blijven. Samen met het wachtwoord uit het vergrendelscherm levert dat een aanmelding op die er volstrekt normaal uitziet. Verder zitten er een schermdeler en een interactieve shell in.
De compilatiedatums staan allemaal op 28 juli 2026, drie weken voordat het pakket werd opgemerkt. Verfijnd is het werk niet. De bouwer liet debugpaden met zijn eigen gebruikersnaam in de bestanden staan. En toen Expel het onderzoek voortzette op een lokcomputer, keek de aanvaller ruim twaalf uur mee en haakte hij af na een stuk of vijftien mislukte pogingen om een shell te starten.
De knop die dit dichtzet
In het Teams-beheercentrum, bij Gebruikers en dan Externe toegang, vervang je de standaardstand die alle externe domeinen toelaat door een lijst met vertrouwde domeinen, of je zet alles dicht. Chatten met Teams-accounts die niet door een organisatie worden beheerd is een aparte schakelaar, en per gebruikersgroep kun je een eigen domeinlijst afdwingen. Federatie met Teams-omgevingen zonder gekochte licenties staat standaard al geblokkeerd, maar dat helpt hier niet automatisch: onmicrosoft.com is het standaarddomein van elke Microsoft 365-omgeving en zegt niets over de licenties erachter.
Buiten Teams helpt het om installaties vanaf opslag in de cloud te blokkeren, vast te leggen vanaf welke locaties Python mag draaien en te letten op pythonw.exe dat vanuit AppData start of op geplande taken met een willekeurige naam. En omdat de buit hier leesbare wachtwoorden zijn, verkleint aanmelden zonder wachtwoord de waarde van de vangst.
Het patroon zelf is niet nieuw. Eind juli ging een groep die zich in Teams voordeed als IT-helpdesk in het snelste geval binnen zeventien uur van eerste contact naar bestanden versleuteld met Chaos-ransomware. Het verschil zit in het gereedschap: daar liet de aanvaller het slachtoffer Quick Assist starten en typte hij live mee, hier installeert het slachtoffer een pakket dat blijft draaien als niemand kijkt.
Van bijlage naar adresboek
Tot nu toe eindigde de nep-helpdesk in Teams meestal bij een programma voor hulp op afstand. SynkLoader laat zien dat er inmiddels een complete gereedschapskist achter kan hangen, met een eigen Python-omgeving, een eigen versleuteling en een module die alleen bestaat om een medewerker zijn wachtwoord te laten uittypen. De keten begint niet bij een bijlage die een filter kan tegenhouden, maar bij de vraag wie jouw mensen mag aanspreken. Dat is een instelling, en die staat standaard open.
Veelgestelde vragen
Een vaste route voor elk verzoek
Een aanvraag die als los chatbericht binnenkomt is voor niemand te controleren. Ik denk met je mee over hoe verzoeken, goedkeuringen en toegang bij jou horen te lopen, ontwerp die route en bouw en automatiseer hem, self-hosted waar dat kan.
Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.
