Cybersecurity-onderzoekers hebben ontdekt dat wat zij zeggen de eerste bekende kwaadaardige Microsoft Outlook-invoegtoepassing is die in het wild is gedetecteerd.
Bij deze ongewone supply chain-aanval, beschreven door Koi Security, claimde een onbekende aanvaller het domein dat geassocieerd is met een nu verlaten legitieme invoegtoepassing om een valse Microsoft-inlogpagina te bedienen, waarbij hij meer dan 4.000 inloggegevens stal. De activiteit heeft de codenaam gekregen Akkoord met stelen door het cyberbeveiligingsbedrijf.
De Outlook-invoegtoepassing in kwestie is AgreeTo, die door de ontwikkelaar wordt geadverteerd als een manier voor gebruikers om verschillende agenda’s op één plek te verbinden en hun beschikbaarheid via e-mail te delen. De invoegtoepassing is voor het laatst bijgewerkt in december 2022.
Idan Dardikman, mede-oprichter en CTO van Koi, vertelde The Hacker News dat het incident een verbreding van de aanvalsvectoren in de toeleveringsketen vertegenwoordigt.
“Dit is dezelfde aanvalsklasse die we hebben gezien in browserextensies, npm-pakketten en IDE-plug-ins: een vertrouwd distributiekanaal waar de inhoud na goedkeuring kan veranderen”, zei Dardikman. “Wat Office-invoegtoepassingen bijzonder zorgwekkend maakt, is de combinatie van factoren: ze draaien in Outlook, waar gebruikers hun meest gevoelige communicatie verwerken, ze kunnen toestemming vragen om e-mails te lezen en te wijzigen, en ze worden gedistribueerd via de eigen winkel van Microsoft, die impliciet vertrouwen uitstraalt.”
“De AgreeTo-zaak voegt nog een dimensie toe: de oorspronkelijke ontwikkelaar deed niets verkeerd. Ze bouwden een legitiem product en gingen verder. De aanval maakte gebruik van de kloof tussen het moment waarop een ontwikkelaar een project verlaat en het moment waarop het platform het opmerkt. Elke marktplaats die externe dynamische afhankelijkheden host, is hiervoor vatbaar.”
In de kern maakt de aanval gebruik van de manier waarop Office-invoegtoepassingen werken en van het gebrek aan periodieke inhoudscontrole van invoegtoepassingen die op de Marketplace zijn gepubliceerd. Volgens de documentatie van Microsoft zijn ontwikkelaars van invoegtoepassingen verplicht een account aan te maken en hun oplossing in te dienen bij het Partnercentrum, waarna deze wordt onderworpen aan een goedkeuringsproces.
Bovendien maken Office-invoegtoepassingen gebruik van een manifestbestand dat een URL declareert, waarvan de inhoud in realtime wordt opgehaald en weergegeven vanaf de server van de ontwikkelaar, elke keer dat het wordt geopend binnen een iframe-element in de applicatie. Niets weerhoudt een slechte actor er echter van om de controle over een verlopen domein over te nemen.
In het geval van AgreeTo verwees het manifestbestand naar een URL die werd gehost op Vercel (“outlook-one.vercel(.)app”), die claimbaar werd nadat de Vercel-implementatie van de ontwikkelaar was verwijderd omdat deze ergens rond 2023 in wezen verlatenheidsware werd. De infrastructuur is op het moment van schrijven nog steeds actief.

De aanvaller maakte misbruik van dit gedrag door op die URL een phishing-kit te plaatsen die een nep-aanmeldingspagina van Microsoft weergaf, ingevoerde wachtwoorden vastlegde, de details via de Telegram Bot API exfiltreerde en het slachtoffer uiteindelijk doorverwees naar de daadwerkelijke inlogpagina van Microsoft.
Maar Koi waarschuwt dat het incident erger had kunnen zijn. Gezien het feit dat de invoegtoepassing is geconfigureerd met ‘ReadWriteItem’-machtigingen – waardoor deze de e-mails van de gebruiker kan lezen en wijzigen – zou een bedreigingsacteur deze blinde vlek kunnen hebben misbruikt om JavaScript in te zetten dat heimelijk de mailboxinhoud van een slachtoffer kan overhevelen.
De bevindingen brengen opnieuw de noodzaak naar voren van het opnieuw scannen van pakketten en tools die naar marktplaatsen en opslagplaatsen zijn geüpload om kwaadaardige/verdachte activiteiten te signaleren.
Dardikman zei dat hoewel Microsoft het manifest beoordeelt tijdens de eerste indieningsfase, er geen controle is over de daadwerkelijke inhoud die live wordt opgehaald van de server van de ontwikkelaar elke keer dat de invoegtoepassing wordt geopend, nadat deze is ondertekend en goedgekeurd. Als gevolg hiervan opent het ontbreken van voortdurende monitoring van waar de URL voor dient de deur voor onbedoelde beveiligingsrisico’s.
“Office-invoegtoepassingen verschillen fundamenteel van traditionele software”, aldus Dardikman. “Ze leveren geen statische codebundel. Het manifest declareert eenvoudigweg een URL, en welke URL dan ook op een bepaald moment wordt gebruikt, wordt in Outlook uitgevoerd. In het geval van AgreeTo ondertekende Microsoft het manifest in december 2022, verwijzend naar Outlook-one.vercel.app. Diezelfde URL levert nu een phishing-kit en de add-in staat nog steeds in de winkel.”
Om de beveiligingsproblemen van de dreiging tegen te gaan, beveelt Koi een aantal stappen aan die Microsoft kan nemen:
- Activeer een herbeoordeling wanneer de URL van een invoegtoepassing andere inhoud begint te retourneren dan tijdens de beoordeling.
- Verifieer het eigendom van het domein om er zeker van te zijn dat het wordt beheerd door de ontwikkelaar van de invoegtoepassing, en markeer invoegtoepassingen waar de domeininfrastructuur van eigenaar is veranderd.
- Implementeer een mechanisme voor het verwijderen of markeren van invoegtoepassingen die na een bepaalde periode niet zijn bijgewerkt.
- De installatie van een display telt mee als een manier om de impact te beoordelen.
The Hacker News heeft contact opgenomen met Microsoft voor commentaar en we zullen het verhaal bijwerken als we iets horen.
Het is vermeldenswaard dat het probleem niet beperkt blijft tot Microsoft Marketplace of de Office Store alleen. Vorige maand kondigde Open VSX plannen aan om veiligheidscontroles af te dwingen voordat Microsoft Visual Studio Code (VS Code)-extensies worden gepubliceerd naar de open-source repository. Microsoft’s VS Code Marketplace voert op vergelijkbare wijze periodiek een bulkherscan uit van alle pakketten in het register.
“Het structurele probleem is hetzelfde op alle marktplaatsen die dynamische afhankelijkheden op afstand hosten: één keer goedkeuren, voor altijd vertrouwen”, aldus Dardikman. “De details verschillen per platform, maar de fundamentele kloof die AgreeTo mogelijk maakte, bestaat overal waar een marktplaats een manifest beoordeelt bij indiening, zonder achteraf te controleren wat de URL’s waarnaar wordt verwezen, daadwerkelijk dienen.”