[{"data":1,"prerenderedAt":2395},["ShallowReactive",2],{"sc:header-data-nl":3,"sc:footer-data-nl":489,"author-nl-thomas-naunheim-10be1ec7c4454b":519,"content-nl-thomas-naunheim":549,"content-events-nl-thomas-naunheim":2374,"authors_data:Christopher Brumm|Fabian Bader|Thomas Naunheim":2375},{"lang":4,"home":5,"navigation":17,"meta":479,"contact":485},"de",{"name":6,"folderSwitch":7,"imgLight":10,"img":11,"languages":12},"home",[8,9],"authors","blog","/logos/gk-Logo-sw.svg","/logos/gk-Logo-rgb.svg",{"nl":13},{"title":14,"url":15,"alt":16},"Home","/nl","glueckkanja Logo",[18,127,231,316,395,402],{"name":19,"languages":20,"children":24},"workplace",{"nl":21},{"title":22,"description":23},"Workplace","Slimme, veilige en flexibele werkplekken op basis van Microsoft 365, waarin moderne technologie en identiteitsdiensten samenkomen.",[25,55,91],{"name":26,"languages":27,"children":30},"portfolio",{"nl":28},{"title":29},"Portfolio",[31,37,43,49],{"name":32,"languages":33},"managed-intune",{"nl":34},{"title":35,"url":36},"Managed Intune","/nl/entra-intune/managed-intune",{"name":38,"languages":39},"managed-entra",{"nl":40},{"title":41,"url":42},"Managed Entra","/nl/entra-intune/managed-entra",{"name":44,"languages":45},"managed-workplace",{"nl":46},{"title":47,"url":48},"Managed Workplace","/nl/workplace/managed-workplace",{"name":50,"languages":51},"consulting-services",{"nl":52},{"title":53,"url":54},"Consulting Services","/nl/workplace/consulting-services",{"name":56,"languages":57,"children":60},"microsoft-365-endpoint",{"nl":58},{"title":59},"Microsoft 365 Endpoint",[61,67,73,79,85],{"name":62,"languages":63},"microsoft-entra-suite",{"nl":64},{"title":65,"url":66},"Microsoft Entra Suite","/nl/workplace/microsoft-entra-suite",{"name":68,"languages":69},"microsoft-intune",{"nl":70},{"title":71,"url":72},"Microsoft Intune","/nl/workplace/microsoft-intune",{"name":74,"languages":75},"microsoft-windows",{"nl":76},{"title":77,"url":78},"Microsoft Windows","/nl/workplace/microsoft-windows",{"name":80,"languages":81},"windows-365-cloud-pc",{"nl":82},{"title":83,"url":84},"Windows 365 Cloud PC","/nl/workplace/windows365-cloud-pc",{"name":86,"languages":87},"cloud-workplace-foundation",{"nl":88},{"title":89,"url":90},"Cloud Workplace Foundation","/nl/workplace/cloud-workplace-foundation",{"name":92,"languages":93,"children":96},"microsoft-365-collaboration",{"nl":94},{"title":95},"Microsoft 365 Collaboration",[97,103,109,115,121],{"name":98,"languages":99},"microsoft-copilot",{"nl":100},{"title":101,"url":102},"Microsoft 365 Copilot","/nl/workplace/microsoft-365-copilot",{"name":104,"languages":105},"microsoft-teams",{"nl":106},{"title":107,"url":108},"Teams","/nl/workplace/microsoft-teams",{"name":110,"languages":111},"sharepoint-powerplatform",{"nl":112},{"title":113,"url":114},"SharePoint & Power Platform","/nl/workplace/sharepoint-power-platform",{"name":116,"languages":117},"exchange-online",{"nl":118},{"title":119,"url":120},"Exchange Online","/nl/workplace/exchange-online",{"name":122,"languages":123},"information-protection-compliance",{"nl":124},{"title":125,"url":126},"Information Protection & Compliance","/nl/workplace/information-protection-compliance",{"name":128,"languages":129,"children":133},"azure",{"nl":130},{"title":131,"description":132},"Azure","Groeien met Azure: lagere cloudkosten, meer efficiëntie en ruimte voor innovatie met IaaS en PaaS.",[134,151,181],{"name":135,"languages":136,"children":138},"azure-portfolio",{"nl":137},{"title":29},[139,145],{"name":140,"languages":141},"azure-managed-services",{"nl":142},{"title":143,"url":144},"Azure Managed Services","/nl/azure/azure-managed-services",{"name":146,"languages":147},"azure-consulting",{"nl":148},{"title":149,"url":150},"Azure Consulting","/nl/azure/azure-consulting",{"name":152,"languages":153,"children":156},"azure-scenarios",{"nl":154},{"title":155},"Scenario's",[157,163,169,175],{"name":158,"languages":159},"plan-your-cloud",{"nl":160},{"title":161,"url":162},"Plan je cloud","/nl/azure/plan-your-cloud",{"name":164,"languages":165},"migrate-to-the-cloud",{"nl":166},{"title":167,"url":168},"Migreren naar de cloud","/nl/azure/migrate-to-the-cloud",{"name":170,"languages":171},"innovate-your-business",{"nl":172},{"title":173,"url":174},"Vernieuw je business","/nl/azure/innovate-your-business",{"name":176,"languages":177},"vmware-exit",{"nl":178},{"title":179,"url":180},"Herzie je VMware-strategie","/nl/azure/vmware-exit",{"name":182,"languages":183,"children":186},"azure-practices",{"nl":184},{"title":185},"Practices",[187,193,199,202,208,213,219,225],{"name":188,"languages":189},"azure-foundation",{"nl":190},{"title":191,"url":192},"Azure Foundation","/nl/azure/azure-foundation",{"name":194,"languages":195},"azure-ai-foundation",{"nl":196},{"title":197,"url":198},"Azure AI Foundation","/nl/azure/azure-ai-foundation",{"name":86,"languages":200},{"nl":201},{"title":89,"url":90},{"name":203,"languages":204},"azure-data-foundation",{"nl":205},{"title":206,"url":207},"Azure Data Foundation","/nl/azure/azure-data-foundation",{"name":188,"languages":209},{"nl":210},{"title":211,"url":212},"Azure Container Foundation","/nl/azure/azure-container-foundation",{"name":214,"languages":215},"dark-tenant",{"nl":216},{"title":217,"url":218},"Managed Dark Tenant","/nl/azure/managed-dark-tenant",{"name":220,"languages":221},"azure-cloud-adoption-framework",{"nl":222},{"title":223,"url":224},"Cloud Adoption Framework","/nl/azure/cloud-adoption-framework",{"name":226,"languages":227},"azure-cloud-competence-center",{"nl":228},{"title":229,"url":230},"Cloud Competence Center","/nl/azure/cloud-competence-center",{"name":232,"languages":233,"children":242},"security",{"nl":234},{"title":235,"description":236,"emergency":237},"Security","Waakzaam in de cloud met een bekroonde 24/7 managed service, incident response en moderne bescherming van je infrastructuur.",{"text":238,"href":239,"skin":240,"icon":241},"Onder aanval?","/nl/security/are-you-under-attack","primary","emergency",[243,268,289],{"name":244,"children":245},"security-security-consulting",[246,252,256,262],{"name":247,"languages":248},"managed-red-tenant",{"nl":249},{"title":250,"url":251},"Managed Red Tenant","/nl/security/managed-red-tenant",{"name":214,"languages":253},{"nl":254},{"title":255,"url":218},"Dark Tenant",{"name":257,"languages":258},"sentinel-data-lake",{"nl":259},{"title":260,"url":261},"Sentinel Data Lake","/nl/security/sentinel-data-lake",{"name":263,"languages":264},"security-consulting",{"nl":265},{"title":266,"url":267},"Security Consulting","/nl/security/security-consulting",{"name":269,"children":270},"security-cloud-security-operations-center",[271,277,283],{"name":272,"languages":273},"cloud-security-operations-center",{"nl":274},{"title":275,"url":276},"Cloud Security Operations Center","/nl/security/cloud-security-operations-center",{"name":278,"languages":279},"global-secure-access",{"nl":280},{"title":281,"url":282},"Global Secure Access","/nl/security/global-secure-access",{"name":284,"languages":285},"my-work-id",{"nl":286},{"title":287,"url":288},"MyWorkID","/nl/security/my-work-id",{"name":290,"children":291},"security-preventive-services",[292,298,304,310],{"name":293,"languages":294},"preventive-services",{"nl":295},{"title":296,"url":297},"Preventive Services","/nl/security/preventive-services",{"name":299,"languages":300},"data-security-services",{"nl":301},{"title":302,"url":303},"Data Security Service","/nl/security/data-security-service",{"name":305,"languages":306},"security-copilot-agents",{"nl":307},{"title":308,"url":309},"Security Copilot Agents","/nl/security/security-copilot-agents",{"name":311,"languages":312},"nis2",{"nl":313},{"title":314,"url":315},"NIS2 implementeren","/nl/security/red-dark-tenant-nis2",{"name":317,"languages":318,"children":322},"products",{"nl":319},{"title":320,"description":321},"Producten","Companion-producten voor een volledig beveiligde, 100% cloud-native Microsoft-omgeving die samenwerking, netwerkauthenticatie en softwarebeheer versterken.",[323,360],{"name":324,"products":325,"children":326},"lorem ipsum 1",true,[327,336,344,352],{"name":328,"img":329,"target":330,"languages":331},"realmjoin","products/realmjoin/realmjoin-nav-logo.svg","_blank",{"nl":332},{"title":333,"url":334,"subtitle":335},"RealmJoin","https://www.realmjoin.com","Softwaredistributie vanuit de cloud",{"name":337,"img":338,"target":330,"languages":339},"scepman","products/scepman/scepman-nav-logo.svg",{"nl":340},{"title":341,"url":342,"subtitle":343},"SCEPman","https://www.scepman.com","Certificaatdistributie vanuit de cloud",{"name":345,"img":346,"target":330,"languages":347},"konnekt","products/konnekt/konnekt-nav-logo.svg",{"nl":348},{"title":349,"url":350,"subtitle":351},"KONNEKT","https://www.konnekt.io","Werk met je lokale Office 365-data",{"name":353,"img":354,"target":330,"languages":355},"realmigrator","products/realmigrator/realmigrator-nav-logo.svg",{"nl":356},{"title":357,"url":358,"subtitle":359},"RealMigrator","https://www.realmigrator.com","Migreer je data van de ene server naar de andere",{"name":361,"products":325,"children":362},"lorem ipsum 2",[363,371,379,387],{"name":364,"img":365,"target":330,"languages":366},"terraprovider","products/terraprovider/terraprovider-nav-logo.svg",{"nl":367},{"title":368,"url":369,"subtitle":370},"TerraProvider","https://www.terraprovider.com","Terraform Provider voor Microsoft 365",{"name":372,"img":373,"target":330,"languages":374},"radiusaas","products/radius/radius-nav-logo.svg",{"nl":375},{"title":376,"url":377,"subtitle":378},"RADIUSaaS","https://www.radius-as-a-service.com","Authenticatie voor je netwerk",{"name":380,"img":381,"target":330,"languages":382},"unifiedcontacts","products/unified-contacts/unifiedcontact-nav-logo.svg",{"nl":383},{"title":384,"url":385,"subtitle":386},"Unified Contacts","https://www.unified-contacts.com","Contacten vinden in Microsoft Teams",{"name":388,"img":389,"target":330,"languages":390},"autopilotmonitor","products/autopilot-monitor/AutopilotMonitor-nav-logo.svg",{"nl":391},{"title":392,"url":393,"subtitle":394},"Autopilot Monitor","https://www.autopilotmonitor.com","Windows Autopilot-monitoring in realtime",{"name":396,"languages":397},"casestudies",{"nl":398},{"title":399,"url":400,"description":401},"Case studies","/nl/casestudies","Pionier in de cloud: je Microsoft-partner voor doordachte cloudoplossingen met een blueprint-gebaseerde aanpak en expertise in Infrastructure-as-Code.",{"name":403,"languages":404,"children":407},"company",{"nl":405},{"title":406,"description":401},"Bedrijf",[408,438,462],{"name":409,"languages":410,"children":413},"company-about-us",{"nl":411},{"title":412},"Over ons",[414,420,426,432],{"name":415,"languages":416},"company-facts-figures",{"nl":417},{"title":418,"url":419},"Facts & Figures","/nl/company/facts-and-figures",{"name":421,"languages":422},"company-contact",{"nl":423},{"title":424,"url":425},"Contact & locaties","/nl/company/contact-and-locations",{"name":427,"languages":428},"switzerland",{"nl":429},{"title":430,"url":431}," glueckkanja Zwitserland","/nl/company/switzerland",{"name":433,"languages":434},"austria",{"nl":435},{"title":436,"url":437},"glueckkanja Oostenrijk","/nl/company/austria",{"name":439,"languages":440,"children":443},"company-career",{"nl":441},{"title":442},"Carrière",[444,450,456],{"name":445,"languages":446},"company-career-overview",{"nl":447},{"title":448,"url":449},"Carrière-overzicht","/nl/career",{"name":451,"languages":452},"company-young-professionals",{"nl":453},{"title":454,"url":455},"Young Professionals","/nl/young-professionals",{"name":457,"languages":458},"company-jobs",{"nl":459},{"title":460,"url":461},"Vacatures","/nl/job-offers",{"name":463,"languages":464,"children":467},"company-latest",{"nl":465},{"title":466},"Actueel",[468,474],{"name":469,"languages":470},"company-blog",{"nl":471},{"title":472,"url":473},"Blog","/nl/blog",{"name":469,"languages":475},{"nl":476},{"title":477,"url":478},"Events","/nl/events",[480],{"name":481,"languages":482},"career-meta",{"nl":483},{"title":442,"url":449,"active":484},false,{"languages":486},{"nl":487},{"title":488,"url":425,"active":484},"Contact",{"data":490},{"bgColor":491,"number":492,"mail":493,"brandLogos":494,"logos":495,"links":499,"linksNl":509},"var(--color-gk-mid-blue)","+49 69 4005520","info@glueckkanja.com",null,[496],{"img":10,"alt":16,"url":497,"class":498},"index.html","max-w-19rem",[500,503,506],{"title":501,"url":502},"Datenschutz","/de/privacy",{"title":504,"url":505},"Impressum","/de/imprint",{"title":507,"url":508},"No Cookies","/de/cookies",[510,513,516],{"title":511,"url":512},"Privacy","/nl/privacy",{"title":514,"url":515},"Juridische informatie","/nl/imprint",{"title":517,"url":518},"Geen cookies","/nl/cookies",{"id":520,"title":521,"body":522,"description":528,"extension":533,"meta":534,"name":521,"navigation":325,"otherLanguages":535,"path":545,"seo":546,"stem":547,"__hash__":548},"authors/thomas-naunheim.md","Thomas Naunheim",{"type":523,"value":524,"toc":529},"minimal",[525],[526,527,528],"p",{},"Thomas Naunheim ist Cyber Security Architect und Microsoft MVP mit Schwerpunkt auf Identitäts- und Sicherheitslösungen in der Microsoft Cloud. Sein Wissen teilt er gerne mit der Community in Vorträgen auf Konferenzen und in Artikel auf seinem Blog \"cloud-architekt.net”, wie auch als Co-Autor des “Microsoft Entra Attack & Defense Playbook”. Im Organisation-Team von \"Azure Meetup Bonn\" sowie dem \"Cloud Identity Summit\" ist er ebenfalls aktiv und ist Co-Host des Podcasts “Cloud Inspires”.",{"title":530,"searchDepth":531,"depth":531,"links":532},"",2,[],"md",{},{"en":536,"es":537,"sv":538,"fi":539,"da":540,"ko":541,"nl":542,"no":543,"ja":544},"Thomas Naunheim is a Cyber Security Architect and Microsoft MVP specializing in identity and security solutions within the Microsoft Cloud. He actively shares his expertise with the community through conference talks, articles on his blog \"cloud-architekt.net\", and as a co-author of the \"Microsoft Entra Attack & Defense Playbook\". He is also part of the organization team for the \"Azure Meetup Bonn\" and the \"Cloud Identity Summit\" and co-hosts the podcast \"Cloud Inspires\".","Thomas Naunheim es Cyber Security Architect y Microsoft MVP, especializado en soluciones de identidad y seguridad en la Microsoft Cloud. Comparte con gusto su conocimiento con la comunidad en ponencias en conferencias y en artículos de su blog \"cloud-architekt.net\", así como en calidad de coautor del \"Microsoft Entra Attack & Defense Playbook\". También participa activamente en el equipo organizador de \"Azure Meetup Bonn\" y del \"Cloud Identity Summit\", y es coanfitrión del podcast \"Cloud Inspires\".","Thomas Naunheim är Cyber Security Architect och Microsoft MVP med inriktning på identitets- och säkerhetslösningar i Microsoft Cloud. Han delar gärna med sig av sin kunskap till communityn i föredrag på konferenser och i artiklar på sin blogg \"cloud-architekt.net\", liksom som medförfattare till \"Microsoft Entra Attack & Defense Playbook\". Han är även aktiv i organisationsteamet för \"Azure Meetup Bonn\" och \"Cloud Identity Summit\" och är medvärd för podcasten \"Cloud Inspires\".","Thomas Naunheim on Cyber Security Architect ja Microsoft MVP, jonka painopisteenä ovat identiteetti- ja tietoturvaratkaisut Microsoft Cloudissa. Hän jakaa mielellään tietämystään yhteisölle esityksissä konferensseissa ja artikkeleissa blogissaan \"cloud-architekt.net\", samoin kuin \"Microsoft Entra Attack & Defense Playbook\" -teoksen toisena kirjoittajana. Hän toimii aktiivisesti myös \"Azure Meetup Bonn\"- ja \"Cloud Identity Summit\" -tapahtumien järjestelytiimissä ja on \"Cloud Inspires\" -podcastin toinen juontaja.","Thomas Naunheim er Cyber Security Architect og Microsoft MVP med fokus på identitets- og sikkerhedsløsninger i Microsoft Cloud. Han deler gerne sin viden med community'et i foredrag på konferencer og i artikler på sin blog \"cloud-architekt.net\", samt som medforfatter til \"Microsoft Entra Attack & Defense Playbook\". Han er også aktiv i organisationsteamet for \"Azure Meetup Bonn\" og \"Cloud Identity Summit\" og er medvært på podcasten \"Cloud Inspires\".","Thomas Naunheim은 Cyber Security Architect이자 Microsoft MVP로, Microsoft Cloud의 ID 및 보안 솔루션을 중점적으로 다룹니다. 그는 컨퍼런스 강연과 자신의 블로그 \"cloud-architekt.net\" 게시글을 통해 커뮤니티와 기꺼이 지식을 공유하며, \"Microsoft Entra Attack & Defense Playbook\"의 공동 저자이기도 합니다. 또한 \"Azure Meetup Bonn\"과 \"Cloud Identity Summit\"의 조직 팀에서 활동하고 있으며, 팟캐스트 \"Cloud Inspires\"의 공동 진행자입니다.","Thomas Naunheim is Cyber Security Architect en Microsoft MVP met een focus op identity- en securityoplossingen in de Microsoft Cloud. Zijn kennis deelt hij graag met de community, in lezingen op conferenties en in artikelen op zijn blog \"cloud-architekt.net”, en ook als co-auteur van het “Microsoft Entra Attack & Defense Playbook”. Daarnaast is hij actief in het organisatieteam van \"Azure Meetup Bonn\" en van de \"Cloud Identity Summit\", en is hij co-host van de podcast “Cloud Inspires”.","Thomas Naunheim er Cyber Security Architect og Microsoft MVP med tyngdepunkt på identitets- og sikkerhetsløsninger i Microsoft cloud. Kunnskapen sin deler han gjerne med community-en i foredrag på konferanser og i artikler på bloggen sin \"cloud-architekt.net”, samt som medforfatter av “Microsoft Entra Attack & Defense Playbook”. Han er også aktiv i organisasjonsteamet for \"Azure Meetup Bonn\" og \"Cloud Identity Summit”, og er medvert for podkasten “Cloud Inspires”.","Thomas NaunheimはCyber Security ArchitectでありMicrosoft MVPです。専門はMicrosoft Cloudにおけるアイデンティティとセキュリティのソリューションです。その知見は、カンファレンスでの講演やブログ「cloud-architekt.net」の記事、さらに「Microsoft Entra Attack & Defense Playbook」の共著者として、コミュニティに積極的に共有しています。「Azure Meetup Bonn」と「Cloud Identity Summit」の運営チームでも活動しており、ポッドキャスト「Cloud Inspires」の共同ホストも務めています。","/thomas-naunheim",{"title":521,"description":528},"thomas-naunheim","wOs1-l_EjYboGLXMCGBeomaKEG_WQm6SbnP6GUz3vZo",[550,1294,1553],{"id":551,"title":552,"author":553,"body":556,"cta":494,"description":530,"eventid":494,"extension":533,"hideInRecent":484,"layout":1217,"meta":1218,"moment":1222,"navigation":325,"path":1286,"seo":1287,"stem":1288,"tags":1289,"webcast":484,"__hash__":1293},"content_nl/posts/2025-01-14-compliant-device-bypass.md","Compliant Device Bypass - alles wat je moet weten",[554,555,521],"Fabian Bader","Christopher Brumm",{"type":523,"value":557,"toc":1199},[558,563,566,620,624,626,639,647,658,664,667,671,673,678,681,684,688,754,757,760,764,766,770,772,787,794,797,800,802,805,808,811,819,830,833,835,838,842,844,847,852,856,858,861,864,867,1030,1034,1036,1039,1079,1083,1085,1092,1095,1098,1113,1116,1119,1173,1181,1185,1187,1190,1193,1196],[559,560,562],"h2",{"id":561},"wat-is-er-tot-nu-toe-gebeurd","Wat is er tot nu toe gebeurd?",[526,564,565],{},"{: .h3-font-size}",[567,568,569,593,608,617],"ul",{},[570,571,572,573,580,581,586,587,592],"li",{},"In december 2024 gaf ",[574,575,579],"a",{"href":576,"rel":577},"https://x.com/TEMP43487580",[578],"nofollow","Yuya Chudo"," zijn talk “",[574,582,585],{"href":583,"rel":584},"https://www.blackhat.com/eu-24/briefings/schedule/#unveiling-the-power-of-intune-leveraging-intune-for-breaking-into-your-cloud-and-on-premise-42176",[578],"Unveiling the Power of Intune: Leveraging Intune for Breaking Into Your Cloud and On-Premise","” op de conferentie Black Hat Europe. In die sessie liet hij zien hoe je een hardcoded en nauwelijks bekende uitzondering in Conditional Access (CA) voor device compliance kunt misbruiken in combinatie met de ongedocumenteerde “",[574,588,591],{"href":589,"rel":590},"https://github.com/secureworks/family-of-client-ids-research",[578],"FOCI-Feature","” in Entra ID. In de talk presenteerde hij ook de reactie van Microsoft MSRC (VULN-123240) dat dit gedrag by design is en nodig is voor een geslaagde Intune Enrollment van nieuwe devices.",[570,594,595,596,601,602,607],{},"Een paar dagen na de conferentie publiceerde Sunny Chau de proof-of-concept-tool ",[574,597,600],{"href":598,"rel":599},"https://github.com/JumpsecLabs/TokenSmith",[578],"TokenSmith",", inclusief een ",[574,603,606],{"href":604,"rel":605},"https://labs.jumpsec.com/tokensmith-bypassing-intune-compliant-device-conditional-access/",[578],"begeleidende blogpost",", waarmee de techniek voor een breder publiek beschikbaar werd.",[570,609,610,611,616],{},"Daarnaast is er een ",[574,612,615],{"href":613,"rel":614},"https://github.com/zh54321/PoCEntraDeviceComplianceBypass/blob/main/poc_entra_compliance_bypass.ps1",[578],"PoC geschreven in PowerShell"," gepubliceerd.",[570,618,619],{},"Sinds eind december onderzoeken wij bij glueckkanja AG hoe deze techniek te voorkomen en te detecteren is. In deze blogpost delen we een deel van onze inzichten over de aanval en bespreken we opties voor mitigatie en detectie.",[559,621,623],{"id":622},"tldr","TL;DR",[526,625,565],{},[526,627,628,629,634,635],{},"Er zijn resources met een ingebouwde uitzondering op bepaalde Grant Controls/Conditions in Conditional Access, bedoeld om specifieke problemen op te lossen. Een daarvan is de uitzondering van de Company Portal App voor Device Compliance, die het kip-en-eiprobleem oplost om devices in Intune te enrollen voordat ze als compliant worden beschouwd. Dit gedrag is ",[574,630,633],{"href":631,"rel":632},"https://learn.microsoft.com/en-us/entra/identity/conditional-access/policy-alt-all-users-compliant-hybrid-or-mfa#:~:text=You%20can%20enroll,Company%20Portal%20application",[578],"hier gedocumenteerd",".\n",[636,637,638],"strong",{},"Dit betekent dat je vanaf een unmanaged device een access token en een refresh token voor deze app kunt krijgen, zelfs als een CA-policy Device Compliance voor “All resources” afdwingt.",[526,640,641,646],{},[642,643],"img",{"alt":644,"src":645},"image.png","https://res.cloudinary.com/c4a8/image/upload/blog/pics/company-portal-ca-bypass-02.png","{: .post__screenshot}",[526,648,649,650,654,655],{},"Microsoft heeft een feature geïmplementeerd die Family of Client IDs (FOCI) heet en waarmee een groep Microsoft OAuth-clientapplicaties met hun refresh token access tokens kan opvragen als elke andere client in de family. Gedrag dat in de OAuth2-standaard verder niet is toegestaan. Lees het ",[574,651,653],{"href":589,"rel":652},[578],"originele werk van Secureworks"," voor meer details.\n",[636,656,657],{},"Omdat de Company Portal App een “family member” is, kunnen de daarvoor opgevraagde Refresh Tokens worden gebruikt om tokens voor andere apps in de family te krijgen.",[526,659,660,661],{},"De FOCI-feature is beperkt en de consent tussen de client id en de resource moet expliciet worden geconfigureerd en gegeven. In het geval van de Company Portal App is die consent onder andere gegeven voor toegang tot Microsoft Graph met een beperkte scope en tot de Azure AD Graph API met de permissies van de huidige gebruiker.\n",[636,662,663],{},"Dit betekent dat een Company Portal refresh token gebruikt kan worden om bijvoorbeeld access tokens voor de Azure AD Graph API met de scope user_impersonation te verkrijgen, waarmee we een hoop dingen kunnen doen met bijvoorbeeld AADInternals of ROADrecon",[526,665,666],{},"Om de aanval uit te voeren heeft de aanvaller óf geldige credentials van het slachtoffer plus de mogelijkheid om MFA uit te voeren als Conditional Access dat vereist, óf een geldig refresh token nodig.",[559,668,670],{"id":669},"welk-risico-en-welke-blast-radius-bestaan-er","Welk risico en welke blast radius bestaan er?",[526,672,565],{},[674,675,677],"h3",{"id":676},"welke-van-de-mogelijke-resources-scopes-worden-geraakt-door-de-compliance-uitzondering","Welke van de mogelijke resources (scopes) worden geraakt door de compliance-uitzondering?",[526,679,680],{},"{: .h4-font-size}",[526,682,683],{},"De aanvaller heeft de mogelijkheid om tokens voor een andere FOCI-applicatie op te vragen, zoals hiervoor al beschreven. Microsoft heeft de bypass voor de device compliance-vereisten echter alleen geïmplementeerd voor het opvragen van tokens naar bepaalde resource-applicaties met verschillende API-permission scopes. Met name de volgende delegated API-permissies zijn gevoelig en interessant voor aanvallers:",[685,686,687],"style",{},"\ntable {\n  font-family: arial, sans-serif;\n  border-collapse: collapse;\n  width: 100%;\n}\n\ntd, th {\n  border: 1px solid #dddddd;\n  text-align: left;\n  padding: 8px;\n}\n\ntr:nth-child(even) {\n  background-color: #dddddd;\n}\n",[689,690,691,707],"table",{},[692,693,694],"thead",{},[695,696,697,701,704],"tr",{},[698,699,700],"th",{},"Resource Application",[698,702,703],{},"Application Id",[698,705,706],{},"Delegated Permission Scope",[708,709,710,722,733,744],"tbody",{},[695,711,712,716,719],{},[713,714,715],"td",{},"AADGraph",[713,717,718],{},"00000002-0000-0000-c000-000000000000",[713,720,721],{},"user_impersonation",[695,723,724,727,730],{},[713,725,726],{},"Microsoft Graph API",[713,728,729],{},"00000003-0000-0000-c000-000000000000",[713,731,732],{},"“email\", \"openid\", \"profile\",\"Device.Read.All\", \"DeviceManagementConfiguration.Read.All\", \"DeviceManagementConfiguration.ReadWrite.All\", \"ServicePrincipalEndpoint.Read.All\", \"User.Read”",[695,734,735,738,741],{},[713,736,737],{},"Device Registration Service",[713,739,740],{},"01cb2876-7ebd-4aa4-9cc9-d28bd4d359a9",[713,742,743],{},"adrs_access",[695,745,746,749,752],{},[713,747,748],{},"Windows Azure Service Management API",[713,750,751],{},"797f4846-ba00-4fd7-ba43-dac1f8f63013",[713,753,721],{},[526,755,756],{},"Omdat de gegeven permissies niet voor de applicatie zelf gelden, hangt de impact af van de privileges van de aanroeper (het gebruikersaccount) en van welke delegated permission scopes gemachtigd zijn om API-calls op die scope uit te voeren.",[526,758,759],{},"Laten we de kritikaliteit van de genoemde delegated permission scopes en de mogelijke autorisatie om gevoelige API's aan te roepen nader bekijken.",[559,761,763],{"id":762},"welke-privileges-en-delegated-scope-zijn-kritiek","Welke privileges en delegated scope zijn kritiek?",[526,765,565],{},[674,767,769],{"id":768},"azure-ad-graph-api","Azure AD Graph API",[526,771,680],{},[526,773,774,775,780,781,786],{},"De legacy programmeerinterface biedt veel API's om directory-instellingen en objecten in Entra ID (Azure AD) te beheren. Daaronder vallen Conditional Access-policies, directory roles, CRUD op groepen en devices en operaties op de aangemelde gebruiker, zoals het wijzigen van het wachtwoord. Een volledige lijst van alle ondersteunde operaties staat in de ",[574,776,779],{"href":777,"rel":778},"https://learn.microsoft.com/en-us/previous-versions/azure/ad/graph/api/api-catalog",[578],"Azure AD Graph API reference",". Deze API wordt op 30 juni 2025 volledig uitgefaseerd (op basis van ",[574,782,785],{"href":783,"rel":784},"https://learn.microsoft.com/en-us/graph/migrate-azure-ad-graph-overview",[578],"de recentste aankondigingen van Microsoft",").",[526,788,789,790,793],{},"De toegewezen delegated scope “user_impersonation” staat de applicatie (in dit geval Company Portal) toe om namens de gebruiker te handelen. Elke permissie die de aangemelde gebruiker op een Entra-object, een scope of op directory-niveau heeft, kan dus als autorisatie in de API-calls worden gebruikt. De gebruiker kan owner zijn van een Entra ID-object (applicatie, groep of ander object), of permissies hebben via Entra ID role assignments. ",[636,791,792],{},"Bij actieve high privileged role assignments zou dit de aanvaller in staat stellen objecten te wijzigen of de tenant te compromitteren",". En zelfs zonder enige privileges kunnen op zijn minst de default user permissions worden gebruikt voor uitgebreide reconnaissance en enumeratie van directory-objecten in de tenant.",[526,795,796],{},"De scenario's en de impact van misbruik van de Azure AD Graph API hangen daarom af van de actieve of permanent toegewezen privileges van de betrokken gebruiker. API's voor toegang tot Microsoft 365-services (bijvoorbeeld voor exfiltratie van OneDrive) zitten niet in Azure AD Graph.",[674,798,726],{"id":799},"microsoft-graph-api",[526,801,680],{},[526,803,804],{},"Vergeleken met Azure AD Graph is de delegated scope voor de Microsoft Graph API beperkt tot een bepaalde scope. Naast de OpenID-scopes (openid, email, profile) en basale leesoperaties namens de gebruiker (ServicePrincipalEndpoint.Read.All, User.Read).",[526,806,807],{},"Alle device-objecten kunnen worden opgesomd en gelezen door met default permissions het “device”-endpoint in Microsoft Graph aan te roepen via “Device.Read.All”. Dat kan aanvallers helpen om inzicht te krijgen in device-objecten.",[526,809,810],{},"Bij een gecompromitteerde gebruiker met de rol “Intune Administrator” of met een delegatie in Microsoft Intune RBAC moeten de volgende gegeven delegated API-permissies als problematisch worden beschouwd:",[567,812,813,816],{},[570,814,815],{},"“DeviceManagementConfiguration.Read.All”",[570,817,818],{},"“DeviceManagementConfiguration.ReadWrite.All”",[526,820,821],{},[636,822,823,824,829],{},"Deze delegated permissies maken CRUD-operaties mogelijk, bijvoorbeeld op Device Compliance- en Configuration-policies, maar ook het uitrollen van ",[574,825,828],{"href":826,"rel":827},"https://learn.microsoft.com/en-us/graph/api/intune-shared-devicemanagementscript-create?view=graph-rest-beta",[578],"Management Scripts"," voor verdere kwaadaardige activiteit op de doeldevices.",[674,831,737],{"id":832},"device-registration-service",[526,834,680],{},[526,836,837],{},"Met deze permissie kan de aanvaller een device joinen of registreren in Entra ID. Daarmee kan hij het device zelfs in Intune enrollen en, afhankelijk van de Intune-configuratie, een geldig en compliant device krijgen om nog meer beschermde services te benaderen.",[674,839,841],{"id":840},"andere-foci-applicaties","Andere FOCI-applicaties",[526,843,680],{},[526,845,846],{},"Toegang vragen tot andere privileged interfaces, bijvoorbeeld de Azure Resource Manager API, valt binnen de scope van FOCI en is voor de aanvaller ook interessant. Die resource is echter nog steeds beschermd en wordt niet gebypassed voor de Conditional Access grant control “compliant device”.",[526,848,849],{},[642,850],{"alt":644,"src":851},"https://res.cloudinary.com/c4a8/image/upload/blog/pics/company-portal-ca-bypass-03.png",[559,853,855],{"id":854},"kunnen-we-deze-aanvalstechniek-detecteren","Kunnen we deze aanvalstechniek detecteren?",[526,857,565],{},[526,859,860],{},"Zoals hierboven beschreven zit het grootste risico in toegang tot MS Graph en Azure AD Graph.",[526,862,863],{},"Omdat in dit geval altijd de application ID van de Microsoft Intune Company Portal App wordt gebruikt, is de belangrijkste taak bij het bouwen van een detectie het uitsluiten van legitiem gebruik, bijvoorbeeld door device-registraties. Volgens onze observatie zit het onderscheid in de vraag welke resources als eerste in een sessie worden benaderd → bij een aanval doorgaans MS Graph of Azure AD Graph.",[526,865,866],{},"Hier is een werkende detectie die we in verschillende omgevingen van uiteenlopende grootte hebben getest:",[868,869,871,872,875,876,881,882,886,890,893,894,896,893,900,875,902,904,905,893,909,911,893,914,875,916,918,919,921,893,924,875,926,928,929,932,933,936,937,940,941,875,943,946,947,949,893,952,875,954,932,957,959,960,962,963,965,966,893,969,962,971,974,975,978,979,981,982,946,985,987,893,990,875,992,994,995,875,997,999,1000,893,1003,1005,893,1007,875,1009,904,1011,893,1013,1015,893,1018,875,1020,928,1022,932,1024,936,1026,940,1028],"div",{"style":870},"background-color:#000000; font-family: 'Source Code Pro', 'Courier New', monospace; padding: 15px; color: #ffffff","\nAADSignInEventsBeta ",[873,874],"br",{},"\n| ",[877,878,880],"span",{"style":879},"color: #569CD6;","where"," Timestamp > ",[877,883,885],{"style":884},"color: #E6DB74;","ago(",[877,887,889],{"style":888},"color: #A6E22E;","7d",[877,891,892],{"style":884},")"," ",[873,895],{},[877,897,899],{"style":898},"color: #75715E;","// Access to Microsoft Intune Company Portal",[873,901],{},[877,903,880],{"style":879}," ApplicationId == ",[877,906,908],{"style":907},"color: #D69D85;","@\"9ba1a5c7-f17a-4de9-a1f1-6178c8d51223\"",[873,910],{},[877,912,913],{"style":898},"// From non joined/registered device",[873,915],{},[877,917,880],{"style":879}," isempty(AadDeviceId) ",[873,920],{},[877,922,923],{"style":898},"// Used to access resource Microsoft Graph or Windows Azure Active Directory",[873,925],{},[877,927,880],{"style":879}," ResourceId ",[877,930,931],{"style":879},"in"," (",[877,934,935],{"style":907},"\"00000002-0000-0000-c000-000000000000\"",", ",[877,938,939],{"style":907},"\"00000003-0000-0000-c000-000000000000\"",") ",[873,942],{},[877,944,945],{"style":879},"summarize by"," SessionId ",[873,948],{},[877,950,951],{"style":898},"// Find the initial logon event based on the session Id",[873,953],{},[877,955,956],{"style":879},"join kind=inner",[873,958],{},"\n    AADSignInEventsBeta ",[873,961],{},"\n    | ",[877,964,880],{"style":879}," ErrorCode == ",[877,967,968],{"style":888},"0",[873,970],{},[877,972,973],{"style":879},"summarize arg_min(","Timestamp, *",[877,976,977],{"style":879},") by"," SessionId)",[873,980],{},"\n    ",[877,983,984],{"style":879},"on",[873,986],{},[877,988,989],{"style":898},"// Ignore trusted and managed devices",[873,991],{},[877,993,880],{"style":879}," isempty(DeviceTrustType) ",[873,996],{},[877,998,880],{"style":879}," IsManaged != ",[877,1001,1002],{"style":888},"1",[873,1004],{},[877,1006,899],{"style":898},[873,1008],{},[877,1010,880],{"style":879},[877,1012,908],{"style":907},[873,1014],{},[877,1016,1017],{"style":898},"// when the first requested resource is Microsoft Graph or Windows Azure Active Directory",[873,1019],{},[877,1021,880],{"style":879},[877,1023,931],{"style":879},[877,1025,935],{"style":907},[877,1027,939],{"style":907},[873,1029],{},[559,1031,1033],{"id":1032},"hoe-reageren-we-als-we-verdachte-activiteit-detecteren","Hoe reageren we als we verdachte activiteit detecteren?",[526,1035,565],{},[526,1037,1038],{},"Start je incident response-proces met een gedefinieerd playbook dat het volgende bevat:",[567,1040,1041,1062,1070,1073,1076],{},[570,1042,1043,1044],{},"Hunten naar verdachte of afwijkende activiteit van de gecompromitteerde gebruiker\n",[567,1045,1046,1053,1056,1059],{},[570,1047,1048,1049],{},"Overzicht van non-interactive sign-ins naar resource-applicaties, inclusief IP-adressen en UserAgents op basis van ",[1050,1051,1052],"code",{},"sessionId",[570,1054,1055],{},"Controleren of de Microsoft Entra Audit Logs kritieke operaties door de gebruiker of vanaf de IP-adressen tonen (bijvoorbeeld toegevoegde credentials bij app-registraties waarvan de gebruiker owner is)",[570,1057,1058],{},"Vaststellen of de gebruiker in de betrokken sessie devices heeft geregistreerd",[570,1060,1061],{},"De Intune-auditlogs controleren op operaties door de applicatie “Company Portal” en door de betrokken gebruiker",[570,1063,1064,1065],{},"Hunten naar gerelateerde alerts van de betrokken entiteiten\n",[567,1066,1067],{},[570,1068,1069],{},"Entiteiten opzoeken in de tabel AlertEvidence om andere alerts te vinden op basis van SessionId, IP-adressen en gebruiker",[570,1071,1072],{},"De kritikaliteit van de gebruiker (op basis van privileges) bepalen in Exposure Management",[570,1074,1075],{},"De hunting-resultaten reviewen en verifiëren of de actie legitiem was als onderdeel van een device enrollment.",[570,1077,1078],{},"De initiële toegangsvector identificeren en de credentials van de gebruiker resetten, en waar nodig ook devices.",[559,1080,1082],{"id":1081},"kunnen-we-de-aanval-mitigeren","Kunnen we de aanval mitigeren?",[526,1084,565],{},[526,1086,1087,1088,1091],{},"Omdat de geconfigureerde uitzondering nodig is voor Intune enrollment, ",[636,1089,1090],{},"is er geen mitigatie die niet andere delen van Microsoft 365 kapotmaakt",". Toegang tot de resource Azure AD Graph kan niet direct worden gescoped of geblokkeerd. Elke Conditional Access-policy die “Block” als grant control gebruikt, voorkomt toegang, maar kan andere consequenties hebben.",[526,1093,1094],{},"Voor mitigatie is het belangrijk te begrijpen dat deze Conditional Access-bypass geen volledige aanval is. Het is een techniek die als tussenstap een reeks aanvallen mogelijk maakt.",[526,1096,1097],{},"Een aanvalspad kan zijn",[1099,1100,1101,1104,1107,1110],"ol",{},[570,1102,1103],{},"Account compromise via phishing en AiTM",[570,1105,1106],{},"Conditional Access-bypass",[570,1108,1109],{},"Reconnaissance met bijvoorbeeld ROADrecon, GraphRunner of AADInternals",[570,1111,1112],{},"Lateral movement, privilege escalation of persistence via een nieuw geregistreerd device dat in Intune is geënrolleerd",[526,1114,1115],{},"Omdat we de Conditional Access-bypass niet kunnen mitigeren zonder Intune enrollment te breken, is het meer dan verstandig om mitigaties bij de andere stappen van het aanvalspad in te bouwen en daarnaast zinvolle detecties te implementeren.",[526,1117,1118],{},"Om de waarschijnlijkheid en de impact te verkleinen raden we aan om andere controls te versterken en het volgende op korte termijn te implementeren:",[567,1120,1121,1127,1133,1139,1145,1161,1167],{},[570,1122,1123,1126],{},[636,1124,1125],{},"Dwing MFA af voor “All Users” en “All Cloud Apps” via Conditional Access."," Als je alleen Device Compliance afdwingt, is single factor authentication met deze techniek al voldoende.",[570,1128,1129,1132],{},[636,1130,1131],{},"Gebruik Device Compliance of MFA niet als alternatieven in je rulesets, dwing altijd beide af."," Met OR beperk je toegang nooit volledig tot compliant devices, omdat een access token met MFA in scope al genoeg is om de tenant te benaderen.",[570,1134,1135,1138],{},[636,1136,1137],{},"Beperk Security Information Registration tot compliant devices, phishing-resistant authenticatie of TAP."," In onze tests lukte het ons niet om Device Compliance voor de Security Info Registration te bypassen.",[570,1140,1141,1144],{},[636,1142,1143],{},"Vereis phishing-resistant authenticatie of TAP voor Join or Register Devices."," Zonder die eis is het mogelijk om met bijvoorbeeld AADInternals en deze techniek een device te registreren.",[570,1146,1147,1150,1151],{},[636,1148,1149],{},"Vereis MFA en “Sign-in frequency every time” voor Microsoft Intune Enrollment."," Dat beperkt de periode waarin een aanvaller verse credentials kan gebruiken om een nieuw device in Intune te enrollen.\n",[1152,1153,1154],"blockquote",{},[526,1155,1156,1157,1160],{},"🚧\n",[636,1158,1159],{},"Let op: Sign-in frequency every time = elke vijf minuten","\nMicrosoft rekent met vijf minuten clock skew wanneer “every time” in een Conditional Access-policy is geselecteerd, zodat gebruikers niet vaker dan één keer per vijf minuten een prompt krijgen.",[570,1162,1163,1166],{},[636,1164,1165],{},"Blokkeer personally owned devices in de Intune Enrollment restrictions."," Zonder die restricties kan een aanvaller een nieuw device enrollen en extra voet aan de grond krijgen.",[570,1168,1169,1172],{},[636,1170,1171],{},"Zet device compliance op fail wanneer er in Intune geen compliance policy aan een device is toegewezen."," Standaard wordt elk device als compliant beschouwd, ook als er feitelijk geen policy is toegepast. Verander dat en maak een device compliance policy verplicht.",[526,1174,1175,1176,1180],{},"Op langere termijn moedigen we je aan te investeren in de uitrol van wachtwoordloze, phishing-resistant authenticatie zoals Windows Hello for Business en passkeys (inclusief Platform Credentials via macOS Platform SSO). Daarmee kun je vervolgens phishing-resistant authenticatie afdwingen en AiTM-aanvallen blokkeren. Sta in plaats van een wachtwoord het gebruik van een Temporary Access Pass (TAP) toe voor beperkte tijd en beperkte scenario's, bijvoorbeeld het onboarden van nieuwe devices of medewerkers. Om het gebruik van TAP's voor verschillende use cases te ondersteunen hebben we ",[574,1177,287],{"href":1178,"rel":1179},"https://myworkid.cloud/",[578]," gebouwd.",[559,1182,1184],{"id":1183},"conclusie","Conclusie",[526,1186,565],{},[526,1188,1189],{},"Conditional Access als Zero Trust-engine voor Entra ID is op zichzelf al ingewikkeld. Door Microsoft ingebouwde uitzonderingen in de backend van Entra maken het voor veel mensen nog moeilijker om de impact van policies en beschermingsmaatregelen te doorzien. Toch houdt het idee van Zero Trust en defense in depth stand.",[526,1191,1192],{},"De device compliance-policy voorkomt de meeste AiTM-aanvallen en multi-factor authentication maakt het voor een aanvaller moeilijker om gelekte of anderszins gecompromitteerde credentials te misbruiken.",[526,1194,1195],{},"Al deze securitymaatregelen moeten samen worden gebruikt en niet als vervanging van elkaar. Zo blijft de omgeving veilig, ook als een van de verdedigingslagen wordt gemanipuleerd of doorbroken.",[526,1197,1198],{},"We raden sterk aan om de geleverde detectie in Microsoft Defender XDR uit te rollen, zodat mogelijk misbruik daadwerkelijk wordt opgemerkt. Zorg ervoor dat je SOC voorbereid is om dit soort incidenten te onderzoeken en geef het team de nodige playbooks.",{"title":530,"searchDepth":531,"depth":531,"links":1200},[1201,1202,1203,1207,1213,1214,1215,1216],{"id":561,"depth":531,"text":562},{"id":622,"depth":531,"text":623},{"id":669,"depth":531,"text":670,"children":1204},[1205],{"id":676,"depth":1206,"text":677},3,{"id":762,"depth":531,"text":763,"children":1208},[1209,1210,1211,1212],{"id":768,"depth":1206,"text":769},{"id":799,"depth":1206,"text":726},{"id":832,"depth":1206,"text":737},{"id":840,"depth":1206,"text":841},{"id":854,"depth":531,"text":855},{"id":1032,"depth":531,"text":1033},{"id":1081,"depth":531,"text":1082},{"id":1183,"depth":531,"text":1184},"post",{"lang":1219,"seoTitle":1220,"titleClass":1221,"date":1222,"categories":1223,"blogtitlepic":1224,"socialimg":1225,"customExcerpt":1226,"keywords":1227,"contactInContent":1228,"scripts":1285},"nl","Compliant Device Bypass in Microsoft Intune – detectie, response en mitigatie","h2-font-size","2025-01-14",[235],"header-company-portal-ca-bypass","/blog/heads/header-company-portal-ca-bypass.png","In deze blogpost verzamelen Fabian Bader (MVP bij glueckkanja), Chris Brumm en Thomas Naunheim de details over de Compliant Device Bypass in de Microsoft Intune Company Portal. Na aanvullend onderzoek hebben ze een aanpak gevonden om de potentiële dreiging te detecteren en erop te reageren. Je vindt hier ook guidance over Conditional Access om het aanvalsoppervlak te verkleinen en details over de blast radius.","Compliant Device Bypass, Microsoft Intune, Conditional Access, Entra ID, Intune Company Portal, device compliance, CA exclusion, TokenSmith PoC, cloud security, PowerShell PoC, Fabian Bader, Christopher Brumm, Thomas Naunheim, security threat, Black Hat Europe, Intune Enrollment, MSRC response, attack detection, threat mitigation, cloud compliance, FOCI feature",{"quote":484,"infos":1229},{"bgColor":1230,"color":1231,"boxBgColor":1232,"boxColor":1233,"headline":1234,"subline":1235,"level":559,"textStyling":1236,"flush":1237,"person":1238,"form":1250},"var(--color-gk-violet)","var(--color-gk-white)","var(--color-gk-yellow)","var(--color-copy)","Neem nu contact op","Wil je meer weten over de Compliant Device Bypass en over hoe je die effectief detecteert en mitigeert? Onze experts nemen onze bevindingen met je door en ondersteunen je met bewezen strategieën voor betere security. We kijken ernaar uit om met je in contact te komen.","text-light","justify-content-end",{"image":1239,"cloudinary":325,"alt":1240,"name":1240,"detailsHeader":1241,"details":1242},"/people/people-pam-team.png","Project & Account Management","We horen graag van je.",[1243,1247],{"text":492,"href":1244,"details":1245,"icon":1246},"tel:+49 69 4005520","Nu bellen","site/phone",{"text":493,"href":1248,"icon":1249},"mailto:info@glueckkanja.com","site/mail",{"ctaText":1251,"cta":1252,"method":1217,"action":1254,"fields":1255},"Versturen",{"skin":1253},"primary on-surface","/send",[1256,1260,1265,1268,1272,1277,1280,1283],{"type":1257,"id":1258,"value":1259},"hidden","_next","successful",{"label":1261,"type":1262,"id":1263,"required":325,"requiredMsg":1264},"Naam*","text","name","Vul je naam in.",{"label":1266,"type":1262,"id":403,"required":325,"requiredMsg":1267},"Bedrijf*","Vul je bedrijf in.",{"label":1269,"type":1270,"id":1270,"required":325,"requiredMsg":1271},"E-mailadres*","email","Vul je e-mailadres in.",{"label":1273,"type":1274,"id":1275,"required":325,"requiredMsg":1276},"Je gegevens worden bij ons opgeslagen om je aanvraag te verwerken en erop te reageren. Meer informatie over gegevensbescherming vind je in onze \u003Ca href=\"/nl/privacy\">privacyverklaring\u003C/a>.","checkbox","dataprotection","Bevestig dit",{"type":1257,"id":1278,"value":1279},"_subject","Request Global Secure Access",{"type":1257,"id":1281,"value":1282},"inbox_key","gkgab-contact-form",{"type":1257,"id":1284},"_gotcha",{"slick":325,"form":325},"/posts/2025-01-14-compliant-device-bypass",{"title":552,"description":530},"posts/2025-01-14-compliant-device-bypass",[235,1290,1291,1292,281],"Entra","Conditional Access","ITDR","btJVpbhV97E39Nf1HNmrfou1fgCiYSr3kEgN5RQGETk",{"id":1295,"title":1296,"author":1297,"body":1298,"cta":494,"description":530,"eventid":494,"extension":533,"hideInRecent":484,"layout":1217,"meta":1512,"moment":1514,"navigation":325,"path":1545,"seo":1546,"stem":1547,"tags":1548,"webcast":484,"__hash__":1552},"content_nl/posts/2025-09-25-gsa-unlocked.md","Global Secure Access Unlocked",[555,521],{"type":523,"value":1299,"toc":1498},[1300,1304,1306,1309,1312,1315,1319,1321,1324,1329,1332,1337,1340,1345,1349,1351,1354,1358,1360,1363,1366,1369,1372,1377,1381,1383,1386,1394,1399,1403,1405,1408,1411,1414,1419,1423,1425,1428,1431,1434,1439,1443,1445,1448,1451,1454,1462,1465,1470,1474,1476,1479,1482,1486,1490,1492,1495],[559,1301,1303],{"id":1302},"wat-is-een-managed-red-tenant","Wat is een Managed Red Tenant?",[526,1305,565],{},[526,1307,1308],{},"De Managed Red Tenant combineert onze uitgebreide ervaring met managed services met bewezen blueprints op het gebied van workplace, Azure en security.",[526,1310,1311],{},"Het resultaat is een geïsoleerde, volledig cloud-based en as-code beheerde omgeving die administratieve gebruikers en endpoints effectief beschermt, ook in doelomgevingen met meerdere Microsoft Entra tenants en Active Directory-domeinen.",[526,1313,1314],{},"Onze oplossing bouwt op native, cloud-based identity- en securityfuncties van Microsoft en houdt zich strikt aan de Zero Trust-principes.",[674,1316,1318],{"id":1317},"global-secure-access-als-security-service-edge","Global Secure Access als Security Service Edge",[526,1320,680],{},[526,1322,1323],{},"We hebben de nieuwste ontwikkelingen uit Global Secure Access in verschillende componenten van de Managed Red Tenant geïntegreerd om de toegang tot Virtual Access Workstations (VAWs) beter te beveiligen en om uitgaande privileged access te beschermen en te beperken.",[526,1325,1326],{},[636,1327,1328],{},"Microsoft Entra Internet Access",[526,1330,1331],{},"werkt als identity-centric Secure Web Gateway (SWG) en is geïmplementeerd om publieke internettoegang te blokkeren en connectiviteit te beperken tot privileged interfaces en de goedgekeurde tenantomgevingen van het bedrijf. Aanvullende functies zoals Universal Conditional Access Evaluation (CAE) maken het mogelijk om toegang vrijwel real-time te blokkeren.",[526,1333,1334],{},[636,1335,1336],{},"Microsoft Entra Private Access",[526,1338,1339],{},"dient als identity-centric Zero Trust Network Access (ZTNA)-oplossing en vormt de kern van onze aanpak om veilige en private toegang tot VAWs te bieden. De integratie in onze oplossing voegt een extra beschermingslaag toe voor privileged sessies op AVD-based endpoints, doordat Conditional Access op de verbindende client wordt afgedwongen voordat de verbinding met de VAW tot stand komt. Het beveiligen van toegang en het toepassen van Zero Trust-principes op het beheer van private of on-premises resources is een andere use case waarin Private Access ons voordeel oplevert.",[526,1341,1342],{},[642,1343],{"alt":644,"src":1344},"https://res.cloudinary.com/c4a8/image/upload/blog/pics/gsa-img-01.png",[559,1346,1348],{"id":1347},"use-cases-voor-global-secure-access-in-de-managed-red-tenant","Use cases voor Global Secure Access in de Managed Red Tenant",[526,1350,565],{},[526,1352,1353],{},"Global Secure Access is een van de kerncomponenten in het ontwerp van onze Managed Red Tenant en verbetert zowel de security als het gebruiksgemak merkbaar. De toegevoegde waarde wordt het duidelijkst zichtbaar in de afzonderlijke use cases, die we in deze blog laten zien.",[674,1355,1357],{"id":1356},"toegang-tot-virtual-access-workstations","Toegang tot Virtual Access Workstations",[526,1359,680],{},[526,1361,1362],{},"Sommige organisaties kiezen ervoor om niet alle beheerders van een fysieke Privileged Admin Workstation (PAW) te voorzien. Voor deze low-privileged admins bieden we wat wij Virtual Access Workstations (VAWs) noemen.",[526,1364,1365],{},"Het meest kritieke punt is hier de veilige toegang tot de VAWs, en wij vinden een hoog securityniveau daarbij essentieel, waarbij Entra Private Access een sleutelrol speelt.",[526,1367,1368],{},"Beheerders verbinden vanaf hun enterprise devices met de VAWs en melden zich aan met hun account uit de Managed Red Tenant. Door deze identity switch komt de gebruiker die toegang vraagt uit een andere tenant dan het oorspronkelijke device en kan hij geen device compliance status laten zien.",[526,1370,1371],{},"Daarom gebruiken we Global Secure Access voor pre-authenticatie met de oorspronkelijke gebruiker van het device. Omdat onze VAWs geen publieke endpoints beschikbaar stellen en alleen via Entra Private Access bereikbaar zijn, kunnen we de netwerktoegang in hoge mate beveiligen. Conditional Access in de workforce-omgeving dwingt sterke gebruikers- en device-authenticatie af, inclusief device compliance en risk-based controls.",[526,1373,1374],{},[642,1375],{"alt":644,"src":1376},"https://res.cloudinary.com/c4a8/image/upload/blog/pics/gsa-img-02.png",[674,1378,1380],{"id":1379},"veilige-webfiltering","Veilige webfiltering",[526,1382,680],{},[526,1384,1385],{},"Een belangrijk kenmerk van administratieve devices is hun strikt beperkte toegang tot applicaties, bedoeld om het aanvalsoppervlak zo klein mogelijk te houden. Waar in het verleden vaak lokale oplossingen zoals proxy.pac-bestanden of gedeelde centrale proxies (niet T0-exclusief) werden gebruikt, hebben we voor devices binnen de Managed Red Tenant gekozen voor Entra Internet Access.",[567,1387,1388,1391],{},[570,1389,1390],{},"Internettoegang is alleen toegestaan vanaf compliant devices en na sterke gebruikersauthenticatie",[570,1392,1393],{},"De toegang is beperkt tot expliciet goedgekeurde URL's, en omdat HTTPS-verkeer (waar mogelijk) wordt ontsleuteld en geïnspecteerd, is het ook haalbaar om de toegang tot specifieke paden te beperken, bijvoorbeeld binnen Azure DevOps of GitHub",[526,1395,1396],{},[642,1397],{"alt":644,"src":1398},"https://res.cloudinary.com/c4a8/image/upload/blog/pics/gsa-img-03.png",[674,1400,1402],{"id":1401},"tenant-restrictions-voor-saas-diensten-en-administratieve-interfaces","Tenant Restrictions voor SaaS-diensten en administratieve interfaces",[526,1404,680],{},[526,1406,1407],{},"Bij SaaS-diensten en administratieve interfaces zijn URL's vaak identiek voor alle tenants, waardoor ze met de hierboven beschreven webfiltering moeilijk te controleren zijn.",[526,1409,1410],{},"Om te garanderen dat vanaf een administratief device alleen accounts uit de Managed Red Tenant kunnen inloggen op de goedgekeurde portals van Microsoft, gebruiken we de Tenant Restriction-functie van Global Secure Access.",[526,1412,1413],{},"Via Entra Internet Access krijgt Entra ID doorgegeven welke tenants voor aanmelding zijn toegestaan. Daarmee is gegarandeerd dat alle policies uit de Managed Red Tenant worden afgedwongen en dat administratieve toegang uitsluitend via B2B-collaboration verloopt.",[526,1415,1416],{},[642,1417],{"alt":644,"src":1418},"https://res.cloudinary.com/c4a8/image/upload/blog/pics/gsa-img-04.png",[674,1420,1422],{"id":1421},"on-premises-toegang","On-premises toegang",[526,1424,680],{},[526,1426,1427],{},"Een Managed Red Tenant kan natuurlijk ook worden gebruikt om on-premises en IaaS-omgevingen te beheren, en dat vraagt veilige toegang tot de datacenters. Entra Private Access levert ons Zero Trust Network Access die hoge securitystandaarden combineert met een flexibele architectuur en goede performance.",[526,1429,1430],{},"De toegang tot datacenters en IaaS-omgevingen is afhankelijk van robuuste gebruikers- en device-authenticatie, inclusief device compliance en risk-based controls.",[526,1432,1433],{},"Doordat we individuele targets als app segments beheren, is granulaire toegangscontrole mogelijk, die we automatiseren met functies uit Entra Governance. Daarmee breiden we functies die in de Managed Red Tenant al breed worden gebruikt, zoals Just-In-Time administration en approval workflows, uit naar de netwerklaag.",[526,1435,1436],{},[642,1437],{"alt":644,"src":1438},"https://res.cloudinary.com/c4a8/image/upload/blog/pics/gsa-img-05.png",[674,1440,1442],{"id":1441},"toegang-intrekken-in-bijna-real-time","Toegang intrekken in bijna real-time",[526,1444,680],{},[526,1446,1447],{},"Zero Trust betekent ook dat je erop voorbereid bent om dreigingen snel en effectief te containen, ook binnen de veiligste architectuur, en om gecompromitteerde componenten te isoleren.",[526,1449,1450],{},"In een Managed Red Tenant-omgeving zijn we niet alleen voorbereid op de compromittering van gebruikers en devices in de tenant zelf, maar ook op het (meest waarschijnlijke) scenario waarin een aanval begint op de kantoor-pc van een beheerder en zich vervolgens verplaatst naar de Virtual Admin Workstation.",[526,1452,1453],{},"Dankzij de functie Universal Continuous Access Evaluation (CAE) in Global Secure Access worden de volgende acties automatisch getriggerd:",[567,1455,1456,1459],{},[570,1457,1458],{},"De toegang tot de Virtual Admin Workstation via Entra Private Access wordt verbroken wanneer bijvoorbeeld het user risk level van het account in de Workforce Tenant op High wordt gezet",[570,1460,1461],{},"De toegang tot admin interfaces en de datacenteromgeving wordt ingetrokken wanneer bijvoorbeeld de sessies van het account in de Managed Red Tenant worden beëindigd",[526,1463,1464],{},"Daarnaast kan de geïntegreerde CSOC-service op elk moment een volledige isolatie van alle devices en accounts in de Managed Red Tenant starten.",[526,1466,1467],{},[642,1468],{"alt":644,"src":1469},"https://res.cloudinary.com/c4a8/image/upload/blog/pics/gsa-img-06.png",[674,1471,1473],{"id":1472},"verrijkte-sign-ins-en-tokeninzichten","Verrijkte sign-ins en tokeninzichten",[526,1475,680],{},[526,1477,1478],{},"Naast de vele functies voor toegangscontrole levert Global Secure Access vooral op het gebied van logging veel op. We krijgen aanzienlijk meer telemetrie uit de netwerklaag en kunnen die correleren met bestaande sign-in- en audit logs.",[526,1480,1481],{},"Daarmee kan ons CSOC vaststellen welke acties na het inzetten van containment nog zijn uitgevoerd, bijvoorbeeld in gevallen waarin niet alle tokens Continuous Access Evaluation (CAE) ondersteunden.",[526,1483,1484],{},[642,1485],{"alt":644,"src":1469},[559,1487,1489],{"id":1488},"tot-slot","Tot slot",[526,1491,565],{},[526,1493,1494],{},"Deze blog verschijnt samen met een webcast waarin we de Managed Red Tenant, Global Secure Access, het integratieproces en de relevante use cases doornemen, ondersteund door live demo's.",[526,1496,1497],{},"Als deze blog je interesse heeft gewekt, is de webcast een goede volgende stap. En natuurlijk horen we ook graag direct van je.",{"title":530,"searchDepth":531,"depth":531,"links":1499},[1500,1503,1511],{"id":1302,"depth":531,"text":1303,"children":1501},[1502],{"id":1317,"depth":1206,"text":1318},{"id":1347,"depth":531,"text":1348,"children":1504},[1505,1506,1507,1508,1509,1510],{"id":1356,"depth":1206,"text":1357},{"id":1379,"depth":1206,"text":1380},{"id":1401,"depth":1206,"text":1402},{"id":1421,"depth":1206,"text":1422},{"id":1441,"depth":1206,"text":1442},{"id":1472,"depth":1206,"text":1473},{"id":1488,"depth":531,"text":1489},{"lang":1219,"seoTitle":1513,"titleClass":1221,"date":1514,"categories":1515,"blogtitlepic":1516,"socialimg":1517,"customExcerpt":1518,"keywords":1519,"maxContent":325,"textImageTeaser":1520,"asideNav":1535,"footer":1543,"scripts":1544,"published":325},"Microsoft 365 admin-toegang beveiligen met Entra en Global Secure Access","2025-09-25",[235],"head-gsa-unlocked.jpg","/blog/heads/head-gsa-unlocked.jpg","Deze blog laat zien hoe Microsoft Global Secure Access de security en controle in onze Managed Red Tenant versterkt. Met Entra Internet Access en Private Access kunnen organisaties adminsessies beveiligen, Zero Trust afdwingen en de toegang tot cloud- en on-premises resources vereenvoudigen. Concrete use cases en architectuurinzichten laten zien hoe je M365-omgevingen effectief beschermt.","Microsoft Global Secure Access, Entra Internet Access, Entra Private Access, Managed Red Tenant, Zero Trust, M365 security, conditional access, admin access control, secure web filtering, virtual admin workstations, CAE, tenant restrictions, Microsoft 365, cloud security",{"image":1521,"cloudinary":325,"alt":1522,"bgColor":1523,"offset":325,"white":325,"list":1524,"left":484,"float":484,"firstColWidth":1529,"secondColWidth":1530,"copyClasses":1531,"headline":1532,"subline":1533,"spacing":1534},"/icons/shape-managed-red-tenant.svg","Copilot-icoon","#E44418",[1525],{"ctaText":1526,"ctaHref":1527,"ctaType":1528,"external":325},"Bekijk de volledige sessie op YouTube","https://youtu.be/SpEOIdoA-uc","Button",5,7,"richtext","Global Secure Access Unlocked: implementatie in de praktijk in de Managed Red Tenant","\u003Cp>In de Managed Red Tenant dwingen we een strikte scheiding voor privileged access af. Live demo's laten zien hoe we admin workflows beveiligen met Global Secure Access.\u003Cbr /> \u003Cbr /> In onze Engelstalige sessie leer je:\u003C/p> \u003Cul> \u003Cli>Hoe PAWs en VAWs met identity switching veilige admin workstations opleveren\u003C/li> \u003Cli>Hoe Tenant Restrictions en Cross-Tenant Access Policies alleen geautoriseerde toegang toestaan\u003C/li> \u003Cli>Hoe Per-App Tunnels en Continuous Access Evaluation traditionele VPN's vervangen\u003C/li> \u003Cli>Hoe Just-in-Time administration in de praktijk werkt met Microsoft PIM\u003C/li> \u003C/ul> ","space-top-2 space-bottom-2 mt-10",{"menuItems":1536},[1537,1539,1541],{"href":1538,"text":1303},"#wat-is-een-managed-red-tenant",{"href":1540,"text":1348},"#use-cases-voor-global-secure-access-in-de-managed-red-tenant",{"href":1542,"text":1489},"#tot-slot",{"noMargin":325},{"slick":325},"/posts/2025-09-25-gsa-unlocked",{"title":1296,"description":530},"posts/2025-09-25-gsa-unlocked",[101,1549,1550,1551,281],"M365 Data Governance","SharePoint Security","AI Data Preparation","kFkmh_m5GCLlU-AcWQNpO0xzGy_1gsJMUSm1q7vbPko",{"id":1554,"title":1555,"author":1556,"body":1557,"cta":494,"description":1561,"eventid":494,"extension":533,"hideInRecent":484,"layout":1217,"meta":2344,"moment":2346,"navigation":325,"path":2367,"seo":2368,"stem":2369,"tags":2370,"webcast":484,"__hash__":2373},"content_nl/posts/2025-12-31-vulnerability-consentfix.md","AuthCodeFix aka ConsentFix",[554,555,521],{"type":523,"value":1558,"toc":2324},[1559,1562,1565,1568,1574,1577,1580,1589,1594,1602,1622,1625,1631,1634,1637,1643,1648,1652,1663,1669,1672,1675,1679,1682,1688,1695,1698,1718,1728,1732,1735,1738,1741,1744,1748,1751,1754,1771,1780,1784,1788,1808,1812,1817,1828,1831,1839,1843,1857,1861,1872,1876,1879,1887,1890,1898,1901,1909,1913,1916,1937,1940,2005,2008,2011,2014,2017,2020,2026,2029,2070,2074,2089,2093,2097,2111,2114,2117,2122,2125,2136,2140,2147,2151,2157,2162,2176,2182,2188,2194,2205,2208,2214,2217,2242,2251,2255,2275,2281,2284,2290,2294],[526,1560,1561],{},"Zoals de traditie het wil, verschijnt er net voor het einde van het jaar een nieuwe kwetsbaarheid of een slim aanvalspad, en mogen defenders opnieuw proberen hun gebruikers te beschermen. Andere aanvallers en red teamers kijken intussen aandachtig mee en passen zich aan.",[526,1563,1564],{},"Dit jaar detecteerde PushSecurity een aanval die ze \"ConsentFix\" noemden, een evolutie van de ClickFix-aanval die erop leunt dat de gebruiker de aanvaller een URI aanreikt waarmee die in feite de sleutel tot het Entra-koninkrijk overhandigt. De methode die in het wild werd gebruikt, had een handmatige copy-and-paste-actie van de gebruiker nodig om te werken. Binnen een paar dagen publiceerde John Hammond een video met een verbeterde versie van de aanval waarvoor geen copy and paste meer nodig was: de gebruiker kon zijn auth code simpelweg naar de aanvaller slepen.",[526,1566,1567],{},"Wanneer we in de technische details duiken van waarom deze aanval werkt en device compliance en andere Conditional Access-vereisten schijnbaar omzeilt, komen we terecht bij de OAuth 2.0 authorization code flow.",[526,1569,1570],{},[642,1571],{"alt":1572,"src":1573},"OAuth 2.0 authorization code flow","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-01.png",[526,1575,1576],{},"De aanvaller maakt een Microsoft Entra login-URI die de client \"Microsoft Azure CLI\" en de resource \"Azure Resource Manager\" aanspreekt, en opent deze URI wanneer de gebruiker de kwaadaardige website bezoekt.",[526,1578,1579],{},"Gemapt op de authorization code flow komt dit overeen met de eerste stap die een native public app zoals de Azure CLI normaal zou aanroepen om de gebruiker te authenticeren. De applicatie start op de machine waarop ze wordt uitgevoerd een listener op een willekeurige hoge poort. Die poort wordt gebruikt als zogenoemde reply URI.",[526,1581,1582,1583,1588],{},"Je kunt dit eenvoudig zelf reproduceren, bijvoorbeeld met ",[574,1584,1587],{"href":1585,"rel":1586},"https://github.com/f-bader/TokenTacticsV2",[578],"TokenTacticsV2",", of door de URI handmatig samen te stellen.",[526,1590,1591],{},[642,1592],{"alt":1587,"src":1593},"https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-02.png",[526,1595,1596,1597,1601],{},"Nadat de gebruiker zich succesvol bij Entra ID heeft aangemeld, wordt hij doorgestuurd naar de reply URI, bijvoorbeeld ",[574,1598,1599],{"href":1599,"rel":1600},"http://localhost:3001",[578],". In een normaal scenario zou de Azure CLI de aanroep naar deze URI nu accepteren en de belangrijke, kritieke informatie ontvangen die deel uitmaakt van de redirect:",[567,1603,1604,1614],{},[570,1605,1606,1608,1610,1611,1613],{},[636,1607,1050],{},[873,1609],{},"\nDit is de authorization_code, die de applicatie gebruikt om een bearer token op te vragen, bestaande uit een access token, een ID token en optioneel het refresh token.",[873,1612],{},"\nVolgens de documentatie is deze code ongeveer 10 minuten geldig en moet hij binnen die tijd worden ingewisseld.",[570,1615,1616,1619,1621],{},[636,1617,1618],{},"state",[873,1620],{},"\nDit is een optionele parameter en de applicatie hoort te controleren of die in request en response identiek is.",[526,1623,1624],{},"In het aanvalsscenario wordt de gebruiker ook doorgestuurd, maar omdat er geen applicatie op localhost draait, loopt de browser tegen een foutmelding aan.",[526,1626,1627],{},[642,1628],{"alt":1629,"src":1630},"De browser loopt tegen een foutmelding aan","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-03.png",[526,1632,1633],{},"Maar de URI bevat nog steeds de gevoelige informatie, en dat is precies wat de aanvaller de gebruiker wil laten aanleveren. Als de gebruiker daaraan toegeeft, wisselt de aanvaller het tokenmateriaal in en kan hij vervolgens met het access token en het refresh token bij de resource, in dit geval Azure Resource Manager.",[526,1635,1636],{},"Op deze screenshot zie je hoe je het bearer token ophaalt met de URI die de gebruiker heeft aangeleverd.",[526,1638,1639],{},[642,1640],{"alt":1641,"src":1642},"Bearer token met de door de gebruiker aangeleverde URI","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-04.png",[1152,1644,1645],{},[526,1646,1647],{},"Als je je detecties wilt testen, voer de laatste stap dan uit vanaf een ander systeem, in een ander netwerk.",[559,1649,1651],{"id":1650},"detectie-artefacten","Detectie-artefacten",[526,1653,1654,1655,1658,1659,1662],{},"Als je de aanval reproduceert en de ",[1050,1656,1657],{},"SigninLogs"," en ",[1050,1660,1661],{},"AADNonInteractiveUserSignInLogs"," bekijkt, zie je twee events voor deze ene sign-in-activiteit. Het eerste event is de daadwerkelijke aanmelding van de gebruiker, het tweede komt van de infrastructuur van de aanvaller.",[526,1664,1665],{},[642,1666],{"alt":1667,"src":1668},"Activity Log","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-05.png",[526,1670,1671],{},"Het grote verschil is dat het eerste event een interactief sign-in-event is en het tweede een non-interactive event. Dat komt overeen met de twee fasen van de authenticatieflow: eerst de gebruiker, dan de applicatie of in ons geval de aanvaller.",[526,1673,1674],{},"Normaal gedrag van de Azure CLI zou zijn dat beide sign-in-events van hetzelfde IP-adres komen. In ons geval verschillen de IP-adressen echter, en ze komen uit verschillende landen. Dat laatste is natuurlijk geen betrouwbare indicator, want de aanvaller kan zich in hetzelfde land als het slachtoffer bevinden om zijn sporen te verbergen.",[674,1676,1678],{"id":1677},"ontbrekende-link","Ontbrekende link",[526,1680,1681],{},"Op zoek naar een goede manier om die twee events aan elkaar te koppelen, was het eerste idee de Unique Token Identifier (UTI) te gebruiken. Microsoft gebruikt echter verschillende waarden voor de UTI van de authorization code en die van het bearer token, waardoor deze aanpak niet werkt als betrouwbare koppeling.",[526,1683,1684],{},[642,1685],{"alt":1686,"src":1687},"Unique Token Identifier","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-06.png",[526,1689,1690,1691,1694],{},"De ",[1050,1692,1693],{},"SessionId"," is wel een goede koppeling tussen beide, al gaat het om een langlopend ID dat meerdere van deze eventcombinaties kan bevatten, ook legitieme.",[526,1696,1697],{},"Met de aanvullende kennis over de beperkingen van de auth code flow en met het user id en het application id als extra koppeling kun je tijd als belangrijke detectiefactor inzetten:",[567,1699,1700,1703,1706,1709,1712,1715],{},[570,1701,1702],{},"Beide events hebben dezelfde SessionId",[570,1704,1705],{},"Beide events hebben dezelfde ApplicationId",[570,1707,1708],{},"Beide events hebben dezelfde UserId",[570,1710,1711],{},"Het tweede event moet na het eerste event komen",[570,1713,1714],{},"Het tweede event moet binnen ongeveer een tijdvenster van 10 minuten na het eerste event vallen. Gebruik niet exact 10 minuten, want Microsoft schrijft \"[...] they expire after about 10 minutes\"",[570,1716,1717],{},"Beschouw alleen het eerstvolgende tweede event, niet de daaropvolgende",[1152,1719,1720],{},[526,1721,1722,1725,1727],{},[636,1723,1724],{},"Fun fact",[873,1726],{},"\nDe ResourceIdentity is geen goede koppeling, omdat de aanvaller de resource kan wijzigen: die is niet aan de auth code gebonden. Het aangesproken application ID kan niet worden gewijzigd.",[559,1729,1731],{"id":1730},"ruis-verminderen","Ruis verminderen",[526,1733,1734],{},"Deze kennis leverde ons al een goed werkende detectie op, maar er zaten ook benign positives tussen. Moderne developers gebruiken cloudresources die zich voordoen als lokale instances, wat in de logs tot onregelmatige loginpatronen leidt.",[526,1736,1737],{},"Het cruciale verschil zit in de tijdcomponent. Waar de aanval gebruikersinteractie vereist om de URI te kopiëren en te plakken of te slepen, is de GitHub Codespace-use case die we als bron van de benign positives identificeerden volledig geautomatiseerd en wisselt hij de auth code binnen enkele seconden in.",[526,1739,1740],{},"Alles wat deze authenticatiedans binnen een paar seconden afwikkelt, kun je dus met grote waarschijnlijkheid als benign wegfilteren.",[526,1742,1743],{},"Een andere bron van ruis kunnen wisselende egress points voor je internetverkeer zijn, met name in SD-WAN-, ZTNA- of Secure Web Gateway-scenario's.",[559,1745,1747],{"id":1746},"getroffen-first-party-applicaties","Getroffen first-party applicaties",[526,1749,1750],{},"Terwijl het oorspronkelijke rapport \"Microsoft Azure CLI\" als misbruikte applicatie noemt, zijn er veel verschillende Microsoft first-party apps met pre-consent in elke tenant die localhost als redirect aanbieden. En niet alleen die zijn een doelwit. De aanvaller kan ook reply-, test- en dev-URL's misbruiken die niet publiek resolvable zijn.",[526,1752,1753],{},"Hier is een lijst van de meest opvallende applicaties die daarnaast uitgebreide pre-consented permissions op resources hebben.",[567,1755,1756,1759,1762,1765,1768],{},[570,1757,1758],{},"Microsoft Azure CLI (04b07795-8ddb-461a-bbee-02f9e1bf7b46)",[570,1760,1761],{},"Microsoft Azure PowerShell (1950a258-227b-4e31-a9cf-717495945fc2)",[570,1763,1764],{},"Visual Studio (04f0c124-f2bc-4f59-8241-bf6df9866bbd)",[570,1766,1767],{},"Visual Studio Code (aebc6443-996d-45c2-90f0-388ff96faa56)",[570,1769,1770],{},"MS Teams PowerShell Cmdlets (12128f48-ec9e-42f0-b203-ea49fb6af367)",[526,1772,1773,1774,1779],{},"Een volledige lijst van deze apps staat inmiddels in ",[574,1775,1778],{"href":1776,"rel":1777},"https://entrascopes.com/?authcodeFix=true",[578],"EntraScopes.com"," van onze collega Fabian Bader.",[559,1781,1783],{"id":1782},"mitigaties-en-bescherming","Mitigaties en bescherming",[674,1785,1787],{"id":1786},"beperk-het-aanvalsoppervlak-en-de-doelgroep","Beperk het aanvalsoppervlak en de doelgroep",[868,1789,1792,1795,1796,1798,1801,1802,1804,1807],{"className":1790},[1791],"option-block",[636,1793,1794],{},"Implementatie-inspanning:"," Laag tot hoog (afhankelijk van de inspanning om legitieme gebruikers te identificeren)",[873,1797],{},[636,1799,1800],{},"Mitigatie:"," Gemiddeld (verkleint de potentiële doelgroep voor de aanval)",[873,1803],{},[636,1805,1806],{},"Scope:"," beperkt\n",[674,1809,1811],{"id":1810},"optie-1-user-assignment-vereisen","Optie 1: User Assignment vereisen",[1813,1814,1816],"h4",{"id":1815},"voorwaarden","Voorwaarden:",[567,1818,1819,1822,1825],{},[570,1820,1821],{},"Voeg de service principal voor de getroffen first-party apps toe via de Microsoft Graph API of PowerShell",[570,1823,1824],{},"Zet de user assignment requirement op het service principal-object met de Microsoft Graph API of PowerShell",[570,1826,1827],{},"Richt een proces in om gebruikers op aanvraag toe te wijzen via Access Packages, PIM-for-Groups (voor just-in-time toegang) of een combinatie van beide.",[685,1829,1830],{},"\n.code-block {\n  background-color: #f6f8fa;\n  padding: 0 16px 16px 16px;\n  border-radius: 6px;\n  font-family: Menlo, Consolas, Monaco, \"Courier New\", monospace;\n  font-size: 14px;\n  line-height: 1.5;\n  overflow-x: auto;\n  white-space: pre;\n  border: 1px solid #d0d7de;\n}\n",[1832,1833,1836],"pre",{"className":1834},[1835],"code-block",[1050,1837,1838],{},"\n// Example for Microsoft Graph PowerShell\nConnect-MgGraph -Identity\n$AppId = \"04b07795-8ddb-461a-bbee-02f9e1bf7b46\" // Microsoft Azure CLI\n$sp = Get-MgServicePrincipal -Filter \"appId eq '$AppId'\"\nUpdate-MgServicePrincipal -ServicePrincipalId $sp.Id -AppRoleAssignmentRequired:$false\n",[1813,1840,1842],{"id":1841},"voordeel","Voordeel:",[567,1844,1845,1848,1851,1854],{},[570,1846,1847],{},"Maakt het beheer van user assignments via Access Packages of handmatig groepslidmaatschap mogelijk om de blootstelling aan deze aanvalstechniek te beperken.",[570,1849,1850],{},"Mogelijkheid tot just-in-time toegang in combinatie met een eligible group membership, waarmee tijdelijke toegang tot CLI-tools ontstaat en het aanvalsoppervlak verder krimpt.",[570,1852,1853],{},"Wordt toegepast voordat Conditional Access-policies worden geëvalueerd.",[570,1855,1856],{},"Beperkt ook het aanvalsoppervlak voor andere scenario's.",[1813,1858,1860],{"id":1859},"nadeel","Nadeel:",[567,1862,1863,1866,1869],{},[570,1864,1865],{},"Kan alleen op specifieke gebruikers worden gescoped en niet worden gecombineerd met andere eisen, zoals het gebruik van specifieke devices",[570,1867,1868],{},"Alle legitieme gebruikers van CLI-tools moeten worden geïdentificeerd",[570,1870,1871],{},"Neveneffecten en organisatorische impact moeten zorgvuldig worden beoordeeld door eerdere sign-ins te bekijken.",[674,1873,1875],{"id":1874},"optie-2-toegang-blokkeren-met-conditional-access-policies","Optie 2: Toegang blokkeren met Conditional Access-policies",[1813,1877,1816],{"id":1878},"voorwaarden-1",[567,1880,1881,1884],{},[570,1882,1883],{},"Maak een Conditional Access-policy die toegang tot CLI-tools blokkeert, met uitzondering van legitieme gebruikers, door \"Microsoft Graph Command Line Tools\" en \"Windows Azure Service Management API\" te targeten",[570,1885,1886],{},"Beheer uitzonderingen via groepslidmaatschap, handmatig of via entitlement management (bijvoorbeeld Access Packages).",[1813,1888,1842],{"id":1889},"voordeel-1",[567,1891,1892,1895],{},[570,1893,1894],{},"Voorkomt tokenuitgifte voor niet-legitieme of niet-geprivilegieerde gebruikers.",[570,1896,1897],{},"Maakt granulaire scoping mogelijk op basis van aanvullende condities zoals device of netwerk.",[1813,1899,1860],{"id":1900},"nadeel-1",[567,1902,1903,1906],{},[570,1904,1905],{},"Alle legitieme gebruikers van CLI-tools moeten worden geïdentificeerd en uitgesloten.",[570,1907,1908],{},"Neveneffecten en organisatorische impact moeten zorgvuldig worden beoordeeld door eerdere sign-ins te bekijken en de policy in report-only-modus te evalueren.",[674,1910,1912],{"id":1911},"tokenuitgifte-via-de-authorization-code-flow-blokkeren","Tokenuitgifte via de authorization code flow blokkeren",[685,1914,1915],{},"\n.option-block {\n  background-color: #f6f8fa;\n  padding: 16px;\n  margin-bottom:2rem;\n  border-radius: 6px;\n  overflow-x: auto;\n  border: 1px solid #d0d7de;\n}\n",[868,1917,1919,1922,1923,1925,1927,1928,1930,1927,1932,1934,1936],{"className":1918},[1791],[636,1920,1921],{},"Optie:"," Token Protection vereisen",[873,1924],{},[636,1926,1794],{}," Hoog",[873,1929],{},[636,1931,1800],{},[873,1933],{},[636,1935,1806],{}," Zeer beperkt\n",[1813,1938,1816],{"id":1939},"voorwaarden-2",[567,1941,1942,1945,1948,1967],{},[570,1943,1944],{},"Microsoft Entra ID P1-licenties",[570,1946,1947],{},"Entra ID Registered Devices, Hybrid of Entra ID-joined devices op het Windows-platform",[570,1949,1950,1951,936,1956,1658,1961,1966],{},"Web Account Manager (WAM) inschakelen in ",[574,1952,1955],{"href":1953,"rel":1954},"https://learn.microsoft.com/en-us/cli/azure/authenticate-azure-cli-interactively?view=azure-cli-latest#sign-in-with-web-account-manager-wam-on-windows",[578],"Azure CLI",[574,1957,1960],{"href":1958,"rel":1959},"https://learn.microsoft.com/en-us/powershell/azure/configure-global-settings?view=azps-15.1.0#web-account-manager-wam",[578],"Azure PowerShell",[574,1962,1965],{"href":1963,"rel":1964},"https://learn.microsoft.com/en-us/powershell/module/microsoft.graph.authentication/set-mggraphoption?view=graph-powershell-1.0#set-web-account-manager-support",[578],"Microsoft Graph PowerShell"," (standaard in de nieuwste versies)",[570,1968,1969,1970],{},"Conditional Access configureren met targeting op:\n",[567,1971,1972,1986,1994],{},[570,1973,1974,1975],{},"Cloud App targeting op de volgende apps:\n",[567,1976,1977,1980,1983],{},[570,1978,1979],{},"Office 365 Exchange Online",[570,1981,1982],{},"Office 365 SharePoint Online",[570,1984,1985],{},"Microsoft Teams Services",[570,1987,1988,1989,1993],{},"Client apps onder ",[1990,1991,1992],"em",{},"Mobile apps and desktop clients"," om Token Protection te vereisen.",[570,1995,1996,1997,2000,2001,2004],{},"Selecteer ",[1990,1998,1999],{},"Windows"," als ",[1990,2002,2003],{},"device platform"," voor de targeting van de policy",[1813,2006,1842],{"id":2007},"voordeel-2",[526,2009,2010],{},"De token protection van Microsoft Entra vereist proof‑of‑possession (PoP), wat alleen kan worden afgedwongen wanneer de client direct communiceert met een vertrouwde token broker zoals de Web Account Manager (WAM) op Windows. Omdat browsers dat beveiligde kanaal niet kunnen opzetten, wordt de authorization code flow die in een browser wordt gestart, geblokkeerd onder token protection-policies.",[526,2012,2013],{},"Wanneer de policy token protection afdwingt die broker‑managed PoP vereist, kan de authorization code die aan een browser wordt teruggegeven niet worden ingewisseld, omdat de browser tijdens de uitwisseling van code naar token niet het vereiste broker‑signed bewijs kan leveren",[526,2015,2016],{},"In dat geval worden aanvallen met AuthCodeFix volledig gemitigeerd, zolang de applicatie door Token Protection beschermd kan worden.",[526,2018,2019],{},"Zoals de screenshot hieronder laat zien, verhindert Token Protection succesvol het inwisselen van de authorization code flow die het slachtoffer via een phishingactie heeft gestart.",[526,2021,2022],{},[642,2023],{"alt":2024,"src":2025},"Token Protection verhindert succesvol het inwisselen van de authorization code flow","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-07.png",[1813,2027,1860],{"id":2028},"nadeel-2",[567,2030,2031,2061,2064,2067],{},[570,2032,2033,2034],{},"Alleen de volgende resources worden officieel ondersteund:\n",[567,2035,2036,2038,2040],{},[570,2037,1979],{},[570,2039,1982],{},[570,2041,1985,2042,2044,2046,2047,1658,2050,2054,2055,2060],{},[873,2043],{},[873,2045],{},"\nDe Microsoft Graph API wordt indirect gedekt door de eerder genoemde resources en Microsoft Graph PowerShell staat vermeld als ondersteunde client. In onze tests hebben we kunnen verifiëren dat de aanval in dit scenario wordt gemitigeerd. \"Windows Azure Service Management API\" staat niet vermeld als ondersteunde resource. Beide CLI-clients (",[574,2048,1955],{"href":1953,"rel":2049},[578],[574,2051,1960],{"href":2052,"rel":2053},"https://learn.microsoft.com/en-us/powershell/azure/authenticate-interactive?view=azps-15.1.0#benefits-of-wam",[578],") ondersteunen WAM, wat een client-side voorwaarde is voor het gebruik van Token Protection. Microsoft heeft ",[574,2056,2059],{"href":2057,"rel":2058},"https://techcommunity.microsoft.com/blog/microsoft-entra-blog/how-to-break-the-token-theft-cyber-attack-chain/4062700",[578],"in een blogpost"," aangekondigd de token protection-mogelijkheden uit te breiden naar Azure-managementscenario's.",[570,2062,2063],{},"Sommige bugs in Microsoft Graph PowerShell dwingen je de WAM-integratie tijdelijk uit te schakelen",[570,2065,2066],{},"Neveneffecten en organisatorische impact moeten zorgvuldig worden beoordeeld door eerdere sign-ins te bekijken en de policy in report-only-modus te evalueren. De cloud app targeting raakt ook de productiviteitstoegang tot Microsoft 365.",[570,2068,2069],{},"Beperkte scope door de beschikbaarheid op ondersteunde platformen en Entra ID-geïntegreerde devices.",[674,2071,2073],{"id":2072},"verdere-tokenuitgifte-blokkeren-via-een-compliant-network-check-of-trusted-network","Verdere tokenuitgifte blokkeren via een compliant network check of trusted network",[868,2075,2077,2079,2080,2082,2079,2084,2086,2088],{"className":2076},[1791],[636,2078,1794],{}," Gemiddeld",[873,2081],{},[636,2083,1800],{},[873,2085],{},[636,2087,1806],{}," Breed\n",[674,2090,2092],{"id":2091},"optie-toegang-buiten-het-compliant-network-blokkeren-met-global-secure-access","Optie: Toegang buiten het Compliant network blokkeren met Global Secure Access",[1813,2094,2096],{"id":2095},"voorwaarde","Voorwaarde:",[567,2098,2099,2102,2105,2108],{},[570,2100,2101],{},"Entra ID P1-licentie",[570,2103,2104],{},"Entra ID Registered Devices, Hybrid of Entra ID-joined devices op de platformen Windows, macOS, Android en iOS",[570,2106,2107],{},"Global Secure Access Client op alle betrokken clients en geactiveerde Entra Internet Access voor het M365 Traffic Profile",[570,2109,2110],{},"De Conditional Access-policy die de network compliant check afdwingt, moet op alle cloud apps worden toegepast",[1813,2112,1842],{"id":2113},"voordeel-3",[526,2115,2116],{},"Blokkeer aanvullende tokenuitgifte door een trusted network check af te dwingen. Deze mitigatie zorgt ervoor dat aanvallers geen nieuwe tokens kunnen verkrijgen met het refresh token uit de authorization code flow. Het voorkomt echter niet het initiële inwisselen van de authorization code of de uitgifte van het eerste access token, dat buiten het compliant network geldig blijft omdat het oorspronkelijk door het slachtoffer is aangevraagd.",[1152,2118,2119],{},[526,2120,2121],{},"Het afdwingen van GSA met de Compliant Network-conditie blokkeert ook andere Token Replay-scenario's en levert extra logs op die zeer nuttig kunnen zijn voor detecties en hunting.",[1813,2123,1860],{"id":2124},"nadeel-3",[567,2126,2127,2130,2133],{},[570,2128,2129],{},"Alleen van toepassing op gebruikers en devices met een uitgerolde Global Secure Access-client",[570,2131,2132],{},"Beperkte scope door de beschikbaarheid op Entra ID-geïntegreerde devices",[570,2134,2135],{},"Het afdwingen van Compliant Networks via CA vereist enkele uitzonderingen, bijvoorbeeld voor Intune, om kip-en-eiproblemen te voorkomen. Grondig testen is nodig voordat je uitrolt",[559,2137,2139],{"id":2138},"hunting-queries","Hunting queries",[526,2141,2142,2143,2146],{},"Zodra aan alle voorwaarden voor de mitigatie van tokendiefstal is voldaan, zoals de uitrol van de GSA-client (inclusief ingestion van ",[1050,2144,2145],{},"NetworkAccessTraffic","-logs) en het benutten van WAM-authenticatie, krijgen we extra mogelijkheden voor threat hunting en verificatie.",[674,2148,2150],{"id":2149},"gsa-logs-en-wam-authenticatie-inzetten-voor-hunting-of-om-vertrouwen-in-detectieresultaten-te-verifiëren","GSA-logs en WAM-authenticatie inzetten voor hunting of om vertrouwen in detectieresultaten te verifiëren",[526,2152,2153,2154,2156],{},"Deze hunting query maakt gebruik van ",[1050,2155,2145],{},"-logs uit Global Secure Access (GSA), die het initiërende proces voor de communicatie met het Microsoft Entra token endpoint bevatten. Daarmee kun je vaststellen of een tokenaanvraag direct uit een browser kwam en of er aanvullende tokenaanvragen buiten het GSA-netwerk zijn gedaan.",[1152,2158,2159],{},[526,2160,2161],{},"Deze query werkt en levert alleen betrouwbare resultaten wanneer aan de voorwaarden is voldaan; anders leidt hij tot een hoog aantal false positives.",[526,2163,2164,2167,2168,2171,2172,2175],{},[636,2165,2166],{},"Waarom dit uitmaakt:"," Bij het aanmelden via CLI- of PowerShell-modules met Web Account Manager (WAM) op Windows-devices komt er geen browser-based authorization code aan te pas. Dit aanmeldgedrag is standaard in de nieuwste versie. Als het initiërende proces dus een browser-executable is (bijvoorbeeld ",[1050,2169,2170],{},"msedge.exe","), is dat een sterke indicator voor verdachte activiteit. Op macOS wordt het proces gestart door de Company Portal-app (",[1050,2173,2174],{},"com.microsoft.CompanyPortalMac.ssoextension",") wanneer Platform SSO wordt gebruikt.",[526,2177,2178,2181],{},[636,2179,2180],{},"Token Binding en PoP:"," WAM-authenticatie bindt tokens doorgaans aan het device door Proof-of-Possession (PoP) af te dwingen. Aanvallers kunnen zonder PoP geen verdere gebonden tokens uitgeven, dus een ongebonden refresh token is een andere sterke indicator.",[526,2183,2184,2187],{},[636,2185,2186],{},"Beperkingen:"," Alle genoemde signalen zijn alleen beschikbaar wanneer het device dat toegang zoekt, geregistreerd is bij of joined is aan Microsoft Entra ID.",[526,2189,2190,2193],{},[636,2191,2192],{},"Logica van de confidence score:"," De query combineert meerdere signalen om een confidence score te berekenen:",[567,2195,2196,2199,2202],{},[570,2197,2198],{},"Aanwezigheid van een browserproces dat tokenaanvragen initieert.",[570,2200,2201],{},"Detectie van en downgrade naar ongebonden tokens.",[570,2203,2204],{},"Wijzigingen van network provider (inclusief van compliant naar non-compliant) tussen sign-ins.",[526,2206,2207],{},"Deze signalen kun je in de query gebruiken om naar activiteit te hunten of om bij een incident een confidence score af te leiden op basis van de eerdere detectie.",[526,2209,2210],{},[642,2211],{"alt":2212,"src":2213},"Signalen voor de hunting query","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-08.png",[526,2215,2216],{},"Afhankelijk van de condities wordt de volgende score weergegeven:",[526,2218,2219,2222,2223,2225,2226,2228,2230,2233,2234,2236,2238,2241],{},[636,2220,2221],{},"Een zeer hoge confidence score"," wordt weergegeven wanneer ",[1050,2224,2145],{},"-logs een bekend browserproces aangeven in plaats van een geïnitieerde tokenaanvraag, en er een downgrade van een ongebonden token is gedetecteerd.",[873,2227],{},[873,2229],{},[636,2231,2232],{},"Een hoge confidence score"," wordt weergegeven wanneer de aanmelding vanaf een andere Network Provider (ASN) en vanuit een non-compliant netwerk komt waarbij ongebonden tokens betrokken zijn.",[873,2235],{},[873,2237],{},[636,2239,2240],{},"Een gemiddelde confidence score"," wordt weergegeven wanneer alleen een wijziging van Network Provider en een compliant netwerk wordt vastgesteld, samen met een wijziging van het gebruikte tokentype.",[526,2243,2244,2245,2250],{},"De nieuwste versie van de hunting query vind je op ",[574,2246,2249],{"href":2247,"rel":2248},"https://github.com/Cloud-Architekt/AzureSentinel/blob/main/Hunting%20Queries/EID-Authentication/ConsentFix-HuntingConfidenceOnTokenAndNetworkSignals.kusto",[578],"GitHub",".",[674,2252,2254],{"id":2253},"hunten-naar-activiteiten-met-uitgegeven-tokens","Hunten naar activiteiten met uitgegeven tokens",[526,2256,2257,2258,2263,2264,2267,2268,2270,2271,2274],{},"Je doet er goed aan je onderzoek verder uit te breiden dan sign-in-events, naar activiteiten die zijn uitgevoerd met tokens die de aanvaller heeft uitgegeven. Onze collega Thomas Naunheim heeft ",[574,2259,2262],{"href":2260,"rel":2261},"https://github.com/Cloud-Architekt/AzureSentinel/blob/main/Hunting%20Queries/EID-TokenHunting/MicrosoftCloudActivity.func",[578],"een KQL-functie gepubliceerd"," met de naam ",[1050,2265,2266],{},"MicrosoftCloudActivity",", die bij dit uitgebreide hunten kan helpen. Daarnaast kan de betrokken ",[1050,2269,1693],{}," worden gecorreleerd met verdachte ",[1050,2272,2273],{},"UniqueId","-waarden uit eerdere hunts, voor een diepere analyse.",[526,2276,2277],{},[642,2278],{"alt":2279,"src":2280},"KQL-functie","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-09.png",[526,2282,2283],{},"In dit voorbeeld gebruikte de aanvaller het tijdens de aanval verkregen refresh token om een access token voor de Microsoft Graph API uit te geven. Dat token werd vervolgens gebruikt om persistente toegang en lateral movement te behouden, door een client secret toe te voegen aan een applicatie die eigendom is van het slachtoffer. De query levert details over de Graph API-operatie, inclusief de token protection-status en of de operatie buiten het Global Secure Access-netwerk plaatsvond.",[526,2285,2286],{},[642,2287],{"alt":2288,"src":2289},"Screenshot van de Graph API-operatie","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-10.png",[559,2291,2293],{"id":2292},"verder-lezen","Verder lezen",[567,2295,2296,2303,2310,2317],{},[570,2297,2298],{},[574,2299,2302],{"href":2300,"rel":2301},"https://pushsecurity.com/blog/consentfix",[578],"ConsentFix: Analysing a browser-native ClickFix-style attack that hijacks OAuth consent grants - PushSecurity",[570,2304,2305],{},[574,2306,2309],{"href":2307,"rel":2308},"https://youtu.be/AAiiIY-Soak",[578],"Hacking Endpoint to Identity (Microsoft 365): \"ConsentFix\" - YouTube",[570,2311,2312],{},[574,2313,2316],{"href":2314,"rel":2315},"https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-auth-code-flow",[578],"Microsoft identity platform and OAuth 2.0 authorization code flow",[570,2318,2319],{},[574,2320,2323],{"href":2321,"rel":2322},"https://entrascopes.com/?appId=04b07795-8ddb-461a-bbee-02f9e1bf7b46",[578],"Microsoft Azure CLI on entrascpes.com",{"title":530,"searchDepth":531,"depth":531,"links":2325},[2326,2329,2330,2331,2339,2343],{"id":1650,"depth":531,"text":1651,"children":2327},[2328],{"id":1677,"depth":1206,"text":1678},{"id":1730,"depth":531,"text":1731},{"id":1746,"depth":531,"text":1747},{"id":1782,"depth":531,"text":1783,"children":2332},[2333,2334,2335,2336,2337,2338],{"id":1786,"depth":1206,"text":1787},{"id":1810,"depth":1206,"text":1811},{"id":1874,"depth":1206,"text":1875},{"id":1911,"depth":1206,"text":1912},{"id":2072,"depth":1206,"text":2073},{"id":2091,"depth":1206,"text":2092},{"id":2138,"depth":531,"text":2139,"children":2340},[2341,2342],{"id":2149,"depth":1206,"text":2150},{"id":2253,"depth":1206,"text":2254},{"id":2292,"depth":531,"text":2293},{"lang":1219,"seoTitle":2345,"titleClass":1221,"date":2346,"categories":2347,"blogtitlepic":2348,"socialimg":2349,"customExcerpt":2350,"keywords":2351,"scripts":2352,"asideNav":2353,"maxContent":325,"published":325},"ConsentFix: hoe een nieuwe OAuth-aanval Microsoft Entra Conditional Access omzeilt","2025-12-31",[235],"head-consentfix","/blog/heads/head-consentfix.jpg","Net voor de jaarwisseling duikt ConsentFix op: een slimme OAuth-aanval die legitieme authenticatieflows misbruikt om de authorization code te stelen en aanvallers daarmee de sleutels tot Microsoft Entra in handen geeft. We leggen uit waarom dit ondanks Conditional Access werkt, welke signalen het in de logs achterlaat en hoe defenders het kunnen detecteren en stoppen voordat er echte schade ontstaat.","ConsentFix attack, OAuth authorization code theft, Microsoft Entra OAuth attack, Azure CLI token abuse, Entra ID Conditional Access bypass, authorization code phishing, token replay attack Azure, Proof of Possession tokens, WAM authentication security, Azure sign-in log analysis, detect OAuth attacks Entra, Azure identity threat hunting, Global Secure Access token protection, Microsoft Entra security detection",{"slick":325,"form":325},{"menuItems":2354},[2355,2357,2359,2361,2363,2365],{"href":2356,"text":1651},"#detectie-artefacten",{"href":2358,"text":1731},"#ruis-verminderen",{"href":2360,"text":1747},"#getroffen-first-party-applicaties",{"href":2362,"text":1783},"#mitigaties-en-bescherming",{"href":2364,"text":2139},"#hunting-queries",{"href":2366,"text":2293},"#verder-lezen","/posts/2025-12-31-vulnerability-consentfix",{"title":1555,"description":1561},"posts/2025-12-31-vulnerability-consentfix",[2371,2372,281],"OAuth 2.0","Microsoft Entra ID","AW4aykdeTs_9qbZLkKYwfMlh5Ol4ORT2zw2MvLzYhiQ",[],{"id":2376,"extension":2377,"meta":2378,"stem":8,"__hash__":2394},"authors_data/authors.json","json",{"Christopher Brumm":2379,"Fabian Bader":2385,"Thomas Naunheim":2390},{"display_name":555,"avatar":2380,"permalink":2381,"twitter":2382,"linkedin":2383,"imageOffsetTop":2384},"people/people-christopher-brumm.jpg","/authors/christopher-brumm","cbrhh","christopherbrumm","66%",{"display_name":554,"avatar":2386,"permalink":2387,"linkedin":2388,"twitter":2389},"people/people-fabian-bader.jpg","/authors/fabian-bader","fabianbader","fabian_bader",{"display_name":521,"avatar":2391,"permalink":2392,"linkedin":2393,"imageOffsetTop":2384},"people/people-thomas-naunheim.jpg","/authors/thomas-naunheim","thomasnaunheim","1csawlkJxRljy93GTOnXEkwLqAv9Lcj-apxRvoodAOY",1791383991828]