Wij zijn |

QR-codes: het onverwachte wapen in Device Code Phishing

Device code phishing, net als aanvallen via Adversary-in-the-middle (AiTM), vertegenwoordigt een geavanceerde vorm van cyberdreiging die zich onderscheidt van traditionele phishing. Het unieke van deze techniek ligt in het vermogen om multifactorauthenticatie (MFA) te omzeilen, wat normaal gesproken een robuuste beveiligingslaag biedt. Device code phishing exploiteert de ‘OAuth2 Device Authorization Grant flow‘ van Microsoft Azure, die gebruikers in staat stelt zich aan te melden bij apparaten met beperkte invoermogelijkheden – denk aan smart-tv’s, IoT-apparaten of printers. Gebruikers voeren een code in die door het apparaat wordt verstrekt via een computer of mobiel apparaat, waarmee het apparaat vervolgens authenticatie-tokens kan aanvragen om namens de gebruiker informatie op te halen of acties uit te voeren.

Deze phishing techniek maakt gebruik van een ‘phishing-flow’ die slechts eenmaal, bij de initiële setup op een systeem beheerd door een aanvaller, plaatsvindt. Hierdoor vinden alle volgende inlogstappen plaats op de officiële Microsoft-pagina’s, wat deze aanval moeilijk te onderscheiden maakt van een legitieme aanmeldprocedure. Dit aspect maakt device code phishing bijzonder verraderlijk, aangezien zelfs geavanceerde beveiligingsmaatregelen zoals MFA kunnen worden omzeild.

In deze blog duiken we dieper in op de werking van Device code phishing in combinatie met QR-codes. We tonen stap voor stap hoe een dergelijke aanval wordt uitgevoerd, bespreken de mogelijke gevolgen, geven advies over hoe te reageren op deze aanval en bespreken oplossingen om je organisatie hiertegen te beschermen.

Werking van Device code phishing

Device code phishing maakt slim gebruik van Microsoft’s officiële procedures. Bij deze aanvalsmethode doet een aanvaller zich voor als een apparaat en vraagt bij Microsoft een ‘device code’ aan. Vervolgens probeert de aanvaller het slachtoffer te overtuigen deze code in te voeren op de specifieke URL: https://microsoft.com/devicelogin. Wanneer een gebruiker de code invoert, wordt er door Microsoft gevraagd om in te loggen en toestemming te geven voor het apparaat om namens hen acties uit te voeren.
Hoewel deze procedure eenvoudig lijkt, heeft Microsoft de geldigheidsduur van de device code beperkt tot maximaal 15 minuten. Dit vormt een uitdaging: het slachtoffer moet snel handelen. Bovendien laat Microsoft de gebruiker zien voor welke applicatie toestemming wordt gegeven, wat extra waakzaamheid vereist.

Waarom QR-codes?

Om deze hindernissen te omzeilen, gebruiken aanvallers vaak twee phishing-e-mails gerelateerd aan het opnieuw instellen van de Microsoft Authenticator. Deze keuze valt op Microsoft Authenticator omdat het breed geaccepteerd en vertrouwd is door Microsoft, waardoor geen alarmbellen gaan rinkelen. In de eerste e-mail wordt een QR-code geplaatst, die, als onderdeel van de Authenticator-instellingsprocedure, niet verdacht lijkt. Deze QR-code leidt het slachtoffer naar een kwaadaardige website, die op haar beurt direct doorverwijst naar Microsoft’s inlogpagina voor device codes (https://microsoft.com/devicelogin). Door eerst op de kwaadaardige site te landen, kan de aanvaller volgen dat het slachtoffer actief is met de e-mail. Vervolgens wordt er een nieuwe, geldige device code via e-mail naar het slachtoffer gestuurd. Na het invoeren van deze code op de Microsoft-pagina, voltooit het slachtoffer de gebruikelijke authenticatieprocedure, inclusief eventuele MFA-verificaties, en geeft uiteindelijk toestemming voor de toegang.

Zodra het “apparaat” door het slachtoffer is geaccepteerd, krijgt de aanvaller een access token dat 90 minuten geldig is, en een refresh token dat tot 90 dagen gebruikt kan worden om nieuwe toegangstokens te genereren. Met deze tokens kan de aanvaller vervolgens handelingen uitvoeren namens het slachtoffer.

Device Code Phishing GIF

Stap voor stap: de werkwijze van Device code phishing in combinatie met QR-codes

We bieden hier een gedetailleerd stappenplan, verduidelijkt met illustraties, over hoe device code phishing in zijn werk gaat, vanuit zowel het perspectief van het slachtoffer als de aanvaller. Voor deze aanval maken we gebruik van het hulpmiddel SquarePhish. Dit programma automatiseert het proces, van het versturen van een e-mail en het opzetten van een webserver tot het onderscheppen van een sessiecookie. Voor deze operatie zijn slechts enkele basisbenodigdheden vereist: een eigen server, een domeinnaam en een e-mailserver, zoals die van Gmail.

Het proces begint met het versturen van een e-mail via SquarePhish naar het beoogde slachtoffer. De e-mail suggereert dat de Microsoft Authenticator bijgewerkt moet worden om de multifactorauthenticatie (MFA) opnieuw in te stellen. De kern van deze e-mail is een QR-code. Wanneer het slachtoffer deze code scant, wordt hij of zij doorgestuurd naar onze website.

First Device Code Phishing Email Picture

De website van de aanvaller fungeert voornamelijk als een signaal voor de aanvaller dat het slachtoffer reageert op de e-mail. Zodra de gebruiker op deze website belandt, wordt hij of zij onmiddellijk doorgestuurd naar de officiële website van Microsoft. Dit gebeurt zo snel dat het slachtoffer niet merkt dat het eerst op een tussenliggende pagina van de aanvaller was.

First Device Code Phishing Website Picture

Tegelijkertijd voert SquarePhish meerdere verzoeken uit om een unieke device code van Microsoft te verkrijgen. Zodra deze code is gegenereerd, verzendt de tool deze code naar het slachtoffer via een nieuwe e-mail.

First Device Code Phishing Terminal Picture

Deze mail ziet er als volgt uit.

Seconde Device Code Phishing Email Picture

Second Device Code Phishing Website Picture

Na het invoeren van de code krijgt het slachtoffer een melding dat er een poging is gedaan om in te loggen op de Microsoft Authenticator App vanaf een ander apparaat, gelokaliseerd in Nederland. Dit land komt overeen met de locatie van de server van de aanvaller, die eventueel gewijzigd kan zijn door het gebruik van een proxy of VPN. Als het slachtoffer al ingelogd is, kan deze via Single-Sign-On (SSO) eenvoudig inloggen.

Third Device Code Phishing Website Picture

Vervolgens ontvangt het slachtoffer nog een melding over de inlogpoging via de Microsoft Authenticator App.

Fourth Device Code Phishing Website Picture

Na deze stappen voltooid te hebben, krijgt het slachtoffer te zien dat de inlogpoging succesvol was en dat het venster gesloten kan worden.

Fifth Device Code Phishing Website Picture

In de tussentijd controleert SquarePhish of de gebruiker is geauthentiseerd. Zodra dit het geval is, worden de verkregen Access Token en Refresh Tokens opgeslagen.

Second Device Code Phishing Terminal Picture

De inhoud van het bestand ziet er als volgt uit:

First Device Code Phishing Token Picture

Deze tokens stellen ons in staat het volgende curl-commando uit te voeren naar Microsoft Graph, met een Authorization-header inclusief de ontvangen Access Token:

curl https://graph.microsoft.com/v1.0/me -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJub25jZSI6Ii1kRVBHTWE4U1UzcjlxWUJtcHFDV2Rjd2pkNk9CTWxZYmJLZG5Yak5PQW8iLCJhbGciOiJSUzI1NiIsIng1dCI6ImtXYmthYTZxczh3c1RuQndpaU5ZT2hIYm5BdyIsImtpZCI6ImtXYmthYTZxczh3c1RuQndpaU5ZT2hIYm5BdyJ9.eyJhdWQiOiIwMDAwMDAwMy0wMDAwLTAwMDAtYzAwMC0wMDAwMDAwMDAwMDAiLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC8zMWExZTgwZi1hZGVhLTRmMWYtYTY5Ny02Y2NmNDVhMjBmYWUvIiwiaWF0IjoxNzA3NDA4OTE5LCJuYmYiOjE3MDc0MDg5MTksImV4cCI6MTcwNzQxNDQ0NywiYWNjdCI6MCwiYWNyIjoiMSIsImFpbyI6IkFWUUFxLzhWQUFBQTVhU3pub1hnNEcrU1hoTW9PQVBSU2dsYmlyeDJRSE9aYm1ST005cU9lZW96aTdvOFg0VlJtdzM2alFZS1haSGZ0WEY4NjZOR0lKNlE1eHRzcWkwL0k2RTVpZDF4Sk0zdXhCRlI1Q0RkMG13PSIsImFtciI6WyJwd2QiLCJtZmEiXSwiYXBwX2Rpc3BsYXluYW1lIjoiTWljcm9zb2Z0IEF1dGhlbnRpY2F0b3IgQXBwIiwiYXBwaWQiOiI0ODEzMzgyYS04ZmE3LTQyNWUtYWI3NS0zYjc1M2FhYjNhYmIiLCJhcHBpZGFjciI6IjAiLCJpZHR5cCI6InVzZXIiLCJpcGFkZHIiOiI4Mi4yMTcuNDkuODIiLCJuYW1lIjoiSVQgQWRtaW5pc3RyYXRvciIsIm9pZCI6IjNjOTViYmM3LTUxNmUtNDhlNS05ZGVmLWZhNDcwMTg4NDY3YyIsInBsYXRmIjoiMTQiLCJwdWlkIjoiMTAwMzIwMDM0MkM0Q0UxRSIsInJoIjoiMC5BWGtBRC1paE1lcXRIMC1tbDJ6UFJhSVByZ01BQUFBQUFBQUF3QUFBQUFBQUFBQU1BVUkuIiwic2NwIjoiZW1haWwgb3BlbmlkIE9yZ2FuaXphdGlvbi5SZWFkLkFsbCBwcm9maWxlIFVzZXJBdXRoZW50aWNhdGlvbk1ldGhvZC5SZWFkIiwic3ViIjoiYkVUWE12eXZHOE1fQURwblZnTDBBLWxSSm94alNyRGJUT0o4d3NEemllZyIsInRlbmFudF9yZWdpb25fc2NvcGUiOiJFVSIsInRpZCI6IjMxYTFlODBmLWFkZWEtNGYxZi1hNjk3LTZjY2Y0NWEyMGZhZSIsInVuaXF1ZV9uYW1lIjoiSVQtYWRtaW5pc3RyYXRvckBoYWNraWZ5Lm5sIiwidXBuIjoiSVQtYWRtaW5pc3RyYXRvckBoYWNraWZ5Lm5sIiwidXRpIjoiTmV5OXpFaHY4RVdFOEVfQlBLeG1BQSIsInZlciI6IjEuMCIsIndpZHMiOlsiYjc5ZmJmNGQtM2VmOS00Njg5LTgxNDMtNzZiMTk0ZTg1NTA5Il0sInhtc19zdCI6eyJzdWIiOiJpSzdtWHZOc0MzU2NveXZrOXhBcDcyc09xWi1TTUhMRFZWV3FYdFhoMGg4In0sInhtc190Y2R0IjoxNjQ4MDI1MTY1LCJ4bXNfdGRiciI6IkVVIn0.IeXV60NJojBEfb4wqLxhPehGXgrc5HTFUM4qtMHA0MP15TWzkYst0wsec7JeD0YzH3rYbxxe7wStHeaDj_rLWpSm8mB3RTMorHpKqe6Sz6Awdpdy9_xqU5E04ZSrXlTMdf40Y0BemEyWWGw25oIvr2QDFSkBaUr3Z1d641P_PmCoNHDftpUpKj9FH7lUyeFoNlqxrgkxNR9DED7cO-c8CVzrOBGbcJCX6NMlt8OtG3jps-Mf-4bwU1dcfy5oiLvQ9aoBvU439yvvCfXGqrmUWPq5DCNfU-JJ2_ZYkQe-0Pht4CTGJnMjIkWtlOYxouhtpU5mgL5mas0JsqDUkwfsHw" | jq

Het resultaat toont aan dat de Access Token toebehoort aan het slachtoffer.

Second Device Code Phishing Token Picture

Indien onze token na 90 minuten verloopt, ontvangen we de volgende melding.

Sixth Device Code Phishing Token Picture

Aangezien we beschikken over een Refresh Token dat 90 dagen geldig is, kunnen we eenvoudig een nieuwe Access Token genereren en gebruiken. Dit doen we met het volgende curl-commando:

curl https://login.microsoftonline.com/common/oauth2/token -X POST --data-binary 'grant_type=refresh_token&refresh_token=0.AXkAD-ihMeqtH0-ml2zPRaIPrio4E0inj15Cq3U7dTqrOrsMAUI.AgABAAEAAAAmoFfGtYxvRrNriQdPKIZ-AgDs_wUA9P8BnDhKJQmt_wEDjSlJej0KswkKHAzcsVvuyJrZ8kkQdd17ZM8xLDnVw6f6MHZ1Jvd_bhpwuNBfdw4A-8ta9lgY2Ycf9hd5ViUdv9bXNX2UlJEIvBpeNdm52GLOZFs02sLkNpzN-3NCy7lUYdko1MkB6CERknfLUVxQia-pubhugUlfs8scpEUfgnSqMZfbuTnBo641KrLtLwcP_RcKIo6SfdUdkzecJmYOX7zs_Df9flSHGJjqF9qvFEtVwNWPrHeCbUsN7tiTQvA-a7UtIjZ55KQnLsrN73YwcSrh49EZojnGMOE-6ysB4EX4hr9eHTTmeeSPToMskDabuONzsE8QclLx01jsamHTZyRTKnWK3N_8JzFSsYSVKNpFVo7gJrnpfjY1Gdd5qD4enAJH2kRqHNc4VAwxOj0n5Llh1k0Zs4o44ogdE40RFsxKZsE4NwapN2DOcH7Bl5AFe_SHaNmDEpLSzSc1tZVw2PINTMN87Q9tJE0h8ik55ni2HuBSmPomCMZ0kVSC-YEE3JalyVJy-hzrLJQ53EfnwwHVnBuSrotG9x5JtPg8S3mgRWkhCRvqqaEq87D8dJ0e1ZBH4hwuMMjlBFDITXP1WwP18W6ndBoVDgbSpfJ5oxXKwtYJ4979pGgxuGX0LdXxetXJiJCGLOm4gA-2EuDICNOM3X8iqBbvebKn9xs5AC_7KsqSuWxKq7KcrzTt0k1-w6ocE5W1iiUh4GEooaSwqGyYBgMhEfhi2FwxdinF1eQM_pUGdOnnUbOFDjSXLbJKiyAblAdPC7550S4FCjOeB_EP7BI&client_id=4813382a-8fa7-425e-ab75-3b753aab3abb&scope=openid' | jq

Deze aanpak zorgt ervoor dat we voortdurend toegang kunnen behouden tot de rechten van het slachtoffer, zonder dat deze het merkt.

Third Device Code Phishing Token Picture

Het risico en de mogelijke gevolgen van Device Code Phishing

Bij het aanvragen van een device code heeft een aanvaller de mogelijkheid om specifieke rechten te specificeren die zij van het slachtoffer willen verkrijgen. Zo kunnen zij bijvoorbeeld rechten aanvragen om toegang te krijgen tot alle gebruikers binnen de Tenant, of om Teams-berichten te lezen en te versturen.

Compass Security heeft een methode ontwikkeld waardoor, door het aanvragen van de juiste rechten voor de Access Token, het mogelijk wordt om een beveiligingssleutel aan de account van een gebruiker toe te voegen. Dit stelt een aanvaller in staat om opnieuw toegang te krijgen tot het account van de gebruiker, zonder de noodzaak om inloggegevens in te voeren of multifactorauthenticatie (MFA) te doorlopen.

De gevolgen van dergelijke aanvallen kunnen ernstig zijn, vaak resulterend in datalekken. Aanvallers kunnen toegang krijgen tot documenten op SharePoint of OneDrive van het slachtoffer, of E-mails en Teams-berichten lezen. Bovendien wordt deze methode vaak gebruikt om vanuit het account van het slachtoffer phishing-e-mails te versturen naar andere werknemers of partners. Dit kan leiden tot frauduleuze financiële transacties naar malafide rekeningnummers of het installeren van malware, wat uiteindelijk kan resulteren in een ransomware-aanval.

Detectie en respons: effectief omgaan met Device Code Phishing

Om het bewustzijn te vergroten, is het essentieel om alle medewerkers duidelijk te maken dat ze nooit een device code moeten invoeren, tenzij ze daadwerkelijk een smart-tv of een vergelijkbaar apparaat aan het koppelen zijn. Over het algemeen zou een gemiddelde werknemer deze functie nooit moeten gebruiken binnen de organisatie.

Daarnaast kunnen er op het gebied van detectie regels worden ingesteld om authenticatie via device code te monitoren, dit kan via de sign-in logs van Azure. In de Azure sign-in logs wordt authenticatie via Device Code op een specifieke manier weergegeven.

First Device Code Phishing Azure Picture

Wat betreft het reageren op incidenten, is het aan te raden om het wachtwoord van de betreffende gebruiker te wijzigen en diens sessies te ‘revoken’. Het ‘revoken’ van sessies heeft echter alleen effect op de refresh tokens, die 90 dagen geldig zijn, en niet op de access tokens, die slechts 90 minuten geldig zijn. Wanneer sessies zijn geannuleerd en de aanvaller probeert een nieuwe access token te genereren met een refresh token, verschijnt de volgende melding:

Fifth Device Code Phishing Picture

Hoewel het niet mogelijk is om direct access tokens te annuleren, kan de geldigheidsduur van deze tokens wel verkort worden of kan de gebruiker worden gedeactiveerd. Als een gebruiker gedeactiveerd is, verschijnt er bij gebruik van de tokens de volgende melding:

Fourth Device Code Phishing Token Picture

 

Bescherming tegen Device Code Phishing

Het creëren van bewustzijn over de menselijke factor is een essentiële beveiligingsmethode. Het is cruciaal dat gebruikers niet klakkeloos op links of knoppen in e-mails klikken en altijd goed letten op de website of URL waar zij hun inloggegevens invoeren. Omdat bij Device code phishing de gebruiker een Device Code moet invullen voordat inloggegevens worden ingevuld, is het makkelijk te herkennen of dit om een Device Code Phishing aanval gaat.

Hoewel het niet haalbaar is om de device code flow volledig te blokkeren voor first-party applicaties zoals Microsoft Authenticator, kunnen de volgende Conditional Access-instellingen effectief bijdragen aan de bescherming tegen Device Code Phishing:

Conditional Access (CA) instellen met beleid op:

    • Vereisen dat het apparaat wordt aangemerkt als compliant.
    • Vereisen dat het apparaat wordt aangemerkt als Hybrid Azure AD Joined device.
    • Vertrouwde locaties/IP-adressen, aangezien het IP-adres van de initieerder van de device code phishing flow gecontroleerd wordt.

Vraag vrijblijvend een phishing simulatie of Azure review aan

Wil je weten of jouw gebruikers zich bewust zijn van phishing-aanvallen en technieken die MFA omzeilen? Of wil je jouw collega’s of leidinggevenden overtuigen van het nut van FIDO-keys? Dan is een AiTM-phishing simulatie de perfecte aanpak. Zo’n simulatie kan ook dienen als een wake-up call en bijdragen aan meer draagvlak voor phishing trainingen.

Naast het simuleren van een phishing-aanval kunnen we ook een grondige analyse uitvoeren van de Azure-omgeving. We beoordelen dan de weerbaarheid tegen Device Code Phishing en identificeren mogelijke verbeterpunten in de beveiliging.

Hoe kunnen wij u helpen?

CORS: het belang van Cross-Origin Resource Sharing

Bij onze klanten zien we een toenemende implementatie van Cross-Origin Resource Sharing (CORS). Helaas constateren we ook een stijging in het aantal onveilig geconfigureerde CORS-implementaties. In deze blog duiken we dieper in wat CORS is, de meest voorkomende misconfiguraties en hun potentiële risico’s, en hoe je sterke CORS-regels kunt instellen om je webapplicaties te beschermen.

read more

Security headers: het wat en waarom

In deze blogpost lees je het hoe en waarom van de Content Security Policy (CSP). Met deze HTTP security header kan je de webbrowser van gebruikers fijnmazige instructies geven die bescherming bieden tegen hackaanvallen.

read more