[{"data":1,"prerenderedAt":2135},["ShallowReactive",2],{"sc:footer-data-da":3,"sc:header-data-da":35,"author-da-fabian-bader-1b470ba1ddf8b3":519,"content-da-fabian-bader":549,"content-events-da-fabian-bader":2114,"authors_data:Christopher Brumm|Fabian Bader|Thomas Naunheim":2115},{"data":4},{"bgColor":5,"number":6,"mail":7,"brandLogos":8,"logos":9,"links":15,"linksDa":25},"var(--color-gk-mid-blue)","+49 69 4005520","info@glueckkanja.com",null,[10],{"img":11,"alt":12,"url":13,"class":14},"/logos/gk-Logo-sw.svg","glueckkanja Logo","index.html","max-w-19rem",[16,19,22],{"title":17,"url":18},"Datenschutz","/de/privacy",{"title":20,"url":21},"Impressum","/de/imprint",{"title":23,"url":24},"No Cookies","/de/cookies",[26,29,32],{"title":27,"url":28},"Privatlivspolitik","/da/privacy",{"title":30,"url":31},"Juridisk information","/da/imprint",{"title":33,"url":34},"Ingen cookies","/da/cookies",{"lang":36,"home":37,"navigation":47,"meta":509,"contact":515},"de",{"name":38,"folderSwitch":39,"imgLight":11,"img":42,"languages":43},"home",[40,41],"authors","blog","/logos/gk-Logo-rgb.svg",{"da":44},{"title":45,"url":46,"alt":12},"Forside","/da",[48,157,261,346,425,432],{"name":49,"languages":50,"children":54},"workplace",{"da":51},{"title":52,"description":53},"Workplace","Intelligente, sikre og fleksible arbejdspladser bygget på Microsoft 365, der forener moderne teknologier og identitetstjenester.",[55,85,121],{"name":56,"languages":57,"children":60},"portfolio",{"da":58},{"title":59},"Portfolio",[61,67,73,79],{"name":62,"languages":63},"managed-intune",{"da":64},{"title":65,"url":66},"Managed Intune","/da/entra-intune/managed-intune",{"name":68,"languages":69},"managed-entra",{"da":70},{"title":71,"url":72},"Managed Entra","/da/entra-intune/managed-entra",{"name":74,"languages":75},"managed-workplace",{"da":76},{"title":77,"url":78},"Managed Workplace","/da/workplace/managed-workplace",{"name":80,"languages":81},"consulting-services",{"da":82},{"title":83,"url":84},"Consulting Services","/da/workplace/consulting-services",{"name":86,"languages":87,"children":90},"microsoft-365-endpoint",{"da":88},{"title":89},"Microsoft 365 Endpoint",[91,97,103,109,115],{"name":92,"languages":93},"microsoft-entra-suite",{"da":94},{"title":95,"url":96},"Microsoft Entra Suite","/da/workplace/microsoft-entra-suite",{"name":98,"languages":99},"microsoft-intune",{"da":100},{"title":101,"url":102},"Microsoft Intune","/da/workplace/microsoft-intune",{"name":104,"languages":105},"microsoft-windows",{"da":106},{"title":107,"url":108},"Microsoft Windows","/da/workplace/microsoft-windows",{"name":110,"languages":111},"windows-365-cloud-pc",{"da":112},{"title":113,"url":114},"Windows 365 Cloud PC","/da/workplace/windows365-cloud-pc",{"name":116,"languages":117},"cloud-workplace-foundation",{"da":118},{"title":119,"url":120},"Cloud Workplace Foundation","/da/workplace/cloud-workplace-foundation",{"name":122,"languages":123,"children":126},"microsoft-365-collaboration",{"da":124},{"title":125},"Microsoft 365 Collaboration",[127,133,139,145,151],{"name":128,"languages":129},"microsoft-copilot",{"da":130},{"title":131,"url":132},"Microsoft 365 Copilot","/da/workplace/microsoft-365-copilot",{"name":134,"languages":135},"microsoft-teams",{"da":136},{"title":137,"url":138},"Teams","/da/workplace/microsoft-teams",{"name":140,"languages":141},"sharepoint-powerplatform",{"da":142},{"title":143,"url":144},"SharePoint & Power Platform","/da/workplace/sharepoint-power-platform",{"name":146,"languages":147},"exchange-online",{"da":148},{"title":149,"url":150},"Exchange Online","/da/workplace/exchange-online",{"name":152,"languages":153},"information-protection-compliance",{"da":154},{"title":155,"url":156},"Information Protection & Compliance","/da/workplace/information-protection-compliance",{"name":158,"languages":159,"children":163},"azure",{"da":160},{"title":161,"description":162},"Azure","Sæt gang i væksten med Azure: skær ned på cloudomkostningerne, øg effektiviteten og driv innovationen med IaaS og PaaS.",[164,181,211],{"name":165,"languages":166,"children":168},"azure-portfolio",{"da":167},{"title":59},[169,175],{"name":170,"languages":171},"azure-managed-services",{"da":172},{"title":173,"url":174},"Azure Managed Services","/da/azure/azure-managed-services",{"name":176,"languages":177},"azure-consulting",{"da":178},{"title":179,"url":180},"Azure Consulting","/da/azure/azure-consulting",{"name":182,"languages":183,"children":186},"azure-scenarios",{"da":184},{"title":185},"Scenarier",[187,193,199,205],{"name":188,"languages":189},"plan-your-cloud",{"da":190},{"title":191,"url":192},"Planlæg din cloud","/da/azure/plan-your-cloud",{"name":194,"languages":195},"migrate-to-the-cloud",{"da":196},{"title":197,"url":198},"Migrér til cloud","/da/azure/migrate-to-the-cloud",{"name":200,"languages":201},"innovate-your-business",{"da":202},{"title":203,"url":204},"Forny din forretning","/da/azure/innovate-your-business",{"name":206,"languages":207},"vmware-exit",{"da":208},{"title":209,"url":210},"Gentænk din VMware-strategi","/da/azure/vmware-exit",{"name":212,"languages":213,"children":216},"azure-practices",{"da":214},{"title":215},"Practices",[217,223,229,232,238,243,249,255],{"name":218,"languages":219},"azure-foundation",{"da":220},{"title":221,"url":222},"Azure Foundation","/da/azure/azure-foundation",{"name":224,"languages":225},"azure-ai-foundation",{"da":226},{"title":227,"url":228},"Azure AI Foundation","/da/azure/azure-ai-foundation",{"name":116,"languages":230},{"da":231},{"title":119,"url":120},{"name":233,"languages":234},"azure-data-foundation",{"da":235},{"title":236,"url":237},"Azure Data Foundation","/da/azure/azure-data-foundation",{"name":218,"languages":239},{"da":240},{"title":241,"url":242},"Azure Container Foundation","/da/azure/azure-container-foundation",{"name":244,"languages":245},"dark-tenant",{"da":246},{"title":247,"url":248},"Managed Dark Tenant","/da/azure/managed-dark-tenant",{"name":250,"languages":251},"azure-cloud-adoption-framework",{"da":252},{"title":253,"url":254},"Cloud Adoption Framework","/da/azure/cloud-adoption-framework",{"name":256,"languages":257},"azure-cloud-competence-center",{"da":258},{"title":259,"url":260},"Cloud Competence Center","/da/azure/cloud-competence-center",{"name":262,"languages":263,"children":272},"security",{"da":264},{"title":265,"description":266,"emergency":267},"Sikkerhed","Årvågenhed i clouden med en prisbelønnet 24/7 managed service, incident response og tidssvarende beskyttelse af din infrastruktur.",{"text":268,"href":269,"skin":270,"icon":271},"Under angreb?","/da/security/are-you-under-attack","primary","emergency",[273,298,319],{"name":274,"children":275},"security-security-consulting",[276,282,286,292],{"name":277,"languages":278},"managed-red-tenant",{"da":279},{"title":280,"url":281},"Managed Red Tenant","/da/security/managed-red-tenant",{"name":244,"languages":283},{"da":284},{"title":285,"url":248},"Dark Tenant",{"name":287,"languages":288},"sentinel-data-lake",{"da":289},{"title":290,"url":291},"Sentinel Data Lake","/da/security/sentinel-data-lake",{"name":293,"languages":294},"security-consulting",{"da":295},{"title":296,"url":297},"Security Consulting","/da/security/security-consulting",{"name":299,"children":300},"security-cloud-security-operations-center",[301,307,313],{"name":302,"languages":303},"cloud-security-operations-center",{"da":304},{"title":305,"url":306},"Cloud Security Operations Center","/da/security/cloud-security-operations-center",{"name":308,"languages":309},"global-secure-access",{"da":310},{"title":311,"url":312},"Global Secure Access","/da/security/global-secure-access",{"name":314,"languages":315},"my-work-id",{"da":316},{"title":317,"url":318},"MyWorkID","/da/security/my-work-id",{"name":320,"children":321},"security-preventive-services",[322,328,334,340],{"name":323,"languages":324},"preventive-services",{"da":325},{"title":326,"url":327},"Preventive Services","/da/security/preventive-services",{"name":329,"languages":330},"data-security-services",{"da":331},{"title":332,"url":333},"Data Security Service","/da/security/data-security-service",{"name":335,"languages":336},"security-copilot-agents",{"da":337},{"title":338,"url":339},"Security Copilot Agents","/da/security/security-copilot-agents",{"name":341,"languages":342},"nis2",{"da":343},{"title":344,"url":345},"Implementering af NIS2","/da/security/red-dark-tenant-nis2",{"name":347,"languages":348,"children":352},"products",{"da":349},{"title":350,"description":351},"Produkter","Companion-produkter til et gennemført sikkert, 100 % cloud-native Microsoft-miljø, der styrker samarbejdet, netværksautentificeringen og softwarehåndteringen.",[353,390],{"name":354,"products":355,"children":356},"lorem ipsum 1",true,[357,366,374,382],{"name":358,"img":359,"target":360,"languages":361},"realmjoin","products/realmjoin/realmjoin-nav-logo.svg","_blank",{"da":362},{"title":363,"url":364,"subtitle":365},"RealmJoin","https://www.realmjoin.com","Cloudbaseret softwaredistribution",{"name":367,"img":368,"target":360,"languages":369},"scepman","products/scepman/scepman-nav-logo.svg",{"da":370},{"title":371,"url":372,"subtitle":373},"SCEPman","https://www.scepman.com","Certifikatdistribution fra clouden",{"name":375,"img":376,"target":360,"languages":377},"konnekt","products/konnekt/konnekt-nav-logo.svg",{"da":378},{"title":379,"url":380,"subtitle":381},"KONNEKT","https://www.konnekt.io","Arbejd med dine lokale Office 365-data",{"name":383,"img":384,"target":360,"languages":385},"realmigrator","products/realmigrator/realmigrator-nav-logo.svg",{"da":386},{"title":387,"url":388,"subtitle":389},"RealMigrator","https://www.realmigrator.com","Migrér dine data fra én server til en anden",{"name":391,"products":355,"children":392},"lorem ipsum 2",[393,401,409,417],{"name":394,"img":395,"target":360,"languages":396},"terraprovider","products/terraprovider/terraprovider-nav-logo.svg",{"da":397},{"title":398,"url":399,"subtitle":400},"TerraProvider","https://www.terraprovider.com","Terraform Provider til Microsoft 365",{"name":402,"img":403,"target":360,"languages":404},"radiusaas","products/radius/radius-nav-logo.svg",{"da":405},{"title":406,"url":407,"subtitle":408},"RADIUSaaS","https://www.radius-as-a-service.com","Autentificering til dit netværk",{"name":410,"img":411,"target":360,"languages":412},"unifiedcontacts","products/unified-contacts/unifiedcontact-nav-logo.svg",{"da":413},{"title":414,"url":415,"subtitle":416},"Unified Contacts","https://www.unified-contacts.com","Find kontakter i Microsoft Teams",{"name":418,"img":419,"target":360,"languages":420},"autopilotmonitor","products/autopilot-monitor/AutopilotMonitor-nav-logo.svg",{"da":421},{"title":422,"url":423,"subtitle":424},"Autopilot Monitor","https://www.autopilotmonitor.com","Windows Autopilot-overvågning i realtid",{"name":426,"languages":427},"casestudies",{"da":428},{"title":429,"url":430,"description":431},"Cases","/da/casestudies","Pioner i clouden: din Microsoft-partner til gennemarbejdede cloudløsninger med en blueprint-baseret tilgang og ekspertise i Infrastructure-as-Code.",{"name":433,"languages":434,"children":437},"company",{"da":435},{"title":436,"description":431},"Virksomhed",[438,468,492],{"name":439,"languages":440,"children":443},"company-about-us",{"da":441},{"title":442},"Om os",[444,450,456,462],{"name":445,"languages":446},"company-facts-figures",{"da":447},{"title":448,"url":449},"Fakta og tal","/da/company/facts-and-figures",{"name":451,"languages":452},"company-contact",{"da":453},{"title":454,"url":455},"Kontakt og lokationer","/da/company/contact-and-locations",{"name":457,"languages":458},"switzerland",{"da":459},{"title":460,"url":461},"glueckkanja Schweiz","/da/company/switzerland",{"name":463,"languages":464},"austria",{"da":465},{"title":466,"url":467},"glueckkanja Østrig","/da/company/austria",{"name":469,"languages":470,"children":473},"company-career",{"da":471},{"title":472},"Karriere",[474,480,486],{"name":475,"languages":476},"company-career-overview",{"da":477},{"title":478,"url":479},"Karriereoversigt","/da/career",{"name":481,"languages":482},"company-young-professionals",{"da":483},{"title":484,"url":485},"Young Professionals","/da/young-professionals",{"name":487,"languages":488},"company-jobs",{"da":489},{"title":490,"url":491},"Ledige stillinger","/da/job-offers",{"name":493,"languages":494,"children":497},"company-latest",{"da":495},{"title":496},"Aktuelt",[498,504],{"name":499,"languages":500},"company-blog",{"da":501},{"title":502,"url":503},"Blog","/da/blog",{"name":499,"languages":505},{"da":506},{"title":507,"url":508},"Events","/da/events",[510],{"name":511,"languages":512},"career-meta",{"da":513},{"title":472,"url":479,"active":514},false,{"languages":516},{"da":517},{"title":518,"url":455,"active":514},"Kontakt",{"id":520,"title":521,"body":522,"description":528,"extension":533,"meta":534,"name":521,"navigation":355,"otherLanguages":535,"path":545,"seo":546,"stem":547,"__hash__":548},"authors/fabian-bader.md","Fabian Bader",{"type":523,"value":524,"toc":529},"minimal",[525],[526,527,528],"p",{},"Fabian Bader ist Cyber Security Architect und Microsoft MVP, der sich mit Begeisterung auf Security- und Cloud-Lösungen spezialisiert hat. Er ist Experte im Umgang mit Microsoft-Technologien. Von der Azure-Cloud bis zum on-premises Active Directory findet er stets neue Wege, um das Potenzial von Technologie zu nutzen. Dabei legt er großen Wert auf Effizienz und Automatisierung, was ihm dank seiner Expertise in PowerShell mühelos gelingt. Er ist fester Bestandteil der IT-Community. Als engagierter Redner und inspirierender Blog-Autor teilt er sein Wissen und seine Erfahrungen auf \"cloudbrothers.info\" und unterstützt Gleichgesinnte als Gastgeber der \"Hamburg PowerShell User Group\". Darüber hinaus ist er als Mitglied des Organisations-Teams von \"PowerShell Saturday Hamburg\".",{"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},"Fabian Bader is a Cyber Security Architect and Microsoft MVP who is passionate about security and cloud solutions. He is an expert in working with Microsoft technologies. From the Azure cloud to on-premises Active Directory, he is always finding new ways to leverage the potential of technology. He places great emphasis on efficiency and automation, which he accomplishes effortlessly thanks to his expertise in PowerShell. He is an integral part of the IT community. As a dedicated speaker and inspiring blog author, he shares his knowledge and experiences on \"cloudbrothers.info\" and supports like-minded people as host of the \"Hamburg PowerShell User Group\". In addition, he is a member of the organizing team of \"PowerShell Saturday Hamburg\".","Fabian Bader es Cyber Security Architect y Microsoft MVP, especializado con entusiasmo en soluciones de seguridad y cloud. Es un experto en el manejo de las tecnologías de Microsoft. Desde la nube de Azure hasta el Active Directory on-premises, encuentra siempre nuevas formas de aprovechar el potencial de la tecnología. En ello concede gran importancia a la eficiencia y la automatización, algo que logra sin esfuerzo gracias a su dominio de PowerShell. Es parte fija de la comunidad de IT. Como ponente comprometido y autor de blog inspirador, comparte sus conocimientos y experiencias en \"cloudbrothers.info\" y apoya a otros entusiastas como anfitrión de la \"Hamburg PowerShell User Group\". Además, forma parte del equipo organizador de \"PowerShell Saturday Hamburg\".","Fabian Bader är Cyber Security Architect och Microsoft MVP och har med stort engagemang specialiserat sig på säkerhets- och molnlösningar. Han är expert på Microsoft-teknik. Från Azure-molnet till on-premises Active Directory hittar han ständigt nya vägar att utnyttja teknikens potential. Han lägger stor vikt vid effektivitet och automatisering, vilket han tack vare sin expertis i PowerShell klarar utan ansträngning. Han är en fast del av IT-communityn. Som engagerad talare och inspirerande bloggförfattare delar han med sig av sin kunskap och sina erfarenheter på \"cloudbrothers.info\" och stöttar likasinnade som värd för \"Hamburg PowerShell User Group\". Dessutom är han medlem i organisationsteamet för \"PowerShell Saturday Hamburg\".","Fabian Bader on Cyber Security Architect ja Microsoft MVP, joka on innostuneesti erikoistunut tietoturva- ja pilviratkaisuihin. Hän on Microsoft-teknologioiden asiantuntija. Azure-pilvestä on-premises Active Directoryyn hän löytää jatkuvasti uusia tapoja hyödyntää teknologian mahdollisuuksia. Hän arvostaa suuresti tehokkuutta ja automaatiota, mikä onnistuu häneltä vaivatta hänen PowerShell-osaamisensa ansiosta. Hän on kiinteä osa IT-yhteisöä. Sitoutuneena puhujana ja innostavana blogikirjoittajana hän jakaa tietämystään ja kokemuksiaan sivustolla \"cloudbrothers.info\" ja tukee samanhenkisiä \"Hamburg PowerShell User Group\" -ryhmän isäntänä. Lisäksi hän on mukana \"PowerShell Saturday Hamburg\" -tapahtuman järjestelytiimissä.","Fabian Bader er Cyber Security Architect og Microsoft MVP, som med begejstring har specialiseret sig i sikkerheds- og cloud-løsninger. Han er ekspert i Microsoft-teknologier. Fra Azure-cloud til on-premises Active Directory finder han hele tiden nye måder at udnytte teknologiens potentiale på. Han lægger stor vægt på effektivitet og automatisering, hvilket lykkes ham ubesværet takket være hans ekspertise i PowerShell. Han er en fast del af IT-communityet. Som engageret taler og inspirerende blogforfatter deler han sin viden og sine erfaringer på \"cloudbrothers.info\" og støtter ligesindede som vært for \"Hamburg PowerShell User Group\". Derudover er han medlem af organisationsteamet for \"PowerShell Saturday Hamburg\".","Fabian Bader는 Cyber Security Architect이자 Microsoft MVP로, 보안 및 클라우드 솔루션에 열정을 가지고 특화되어 있습니다. 그는 Microsoft 기술을 능숙하게 다루는 전문가입니다. Azure 클라우드에서 on-premises Active Directory에 이르기까지 그는 기술의 잠재력을 활용할 새로운 방법을 끊임없이 찾아냅니다. 이 과정에서 그는 효율성과 자동화를 매우 중시하며, PowerShell에 대한 전문성 덕분에 이를 손쉽게 실현합니다. 그는 IT 커뮤니티의 확고한 일원입니다. 열정적인 강연자이자 영감을 주는 블로그 저자로서 그는 \"cloudbrothers.info\"에서 자신의 지식과 경험을 공유하고, \"Hamburg PowerShell User Group\"의 호스트로서 뜻을 같이하는 이들을 지원합니다. 또한 그는 \"PowerShell Saturday Hamburg\"의 조직 팀의 일원이기도 합니다.","Fabian Bader is Cyber Security Architect en Microsoft MVP en heeft zich met veel enthousiasme gespecialiseerd in security- en cloudoplossingen. Hij is expert in het werken met Microsoft-technologieën. Van de Azure-cloud tot het on-premises Active Directory vindt hij steeds nieuwe manieren om het potentieel van technologie te benutten. Daarbij legt hij veel nadruk op efficiëntie en automatisering, wat hem dankzij zijn expertise in PowerShell moeiteloos afgaat. Hij is een vast onderdeel van de IT-community. Als betrokken spreker en inspirerende blogauteur deelt hij zijn kennis en ervaring op “cloudbrothers.info” en ondersteunt hij gelijkgestemden als gastheer van de “Hamburg PowerShell User Group”. Daarnaast is hij lid van het organisatieteam van “PowerShell Saturday Hamburg”.","Fabian Bader er Cyber Security Architect og Microsoft MVP, som med entusiasme har spesialisert seg på security- og cloud-løsninger. Han er ekspert på Microsoft-teknologier. Fra Azure-cloud til on-premises Active Directory finner han stadig nye måter å utnytte teknologiens potensial på. Han legger stor vekt på effektivitet og automatisering, noe som takket være ekspertisen hans i PowerShell går som en lek. Han er en fast del av IT-community. Som engasjert foredragsholder og inspirerende bloggforfatter deler han kunnskapen og erfaringene sine på \"cloudbrothers.info\" og støtter likesinnede som vert for \"Hamburg PowerShell User Group\". I tillegg er han medlem av organisasjonsteamet for \"PowerShell Saturday Hamburg\".","Fabian BaderはCyber Security ArchitectでありMicrosoft MVPで、セキュリティとクラウドのソリューションに情熱を持って取り組んでいます。Microsoftテクノロジーを扱うエキスパートです。Azureクラウドからon-premises Active Directoryまで、テクノロジーの可能性を活かす新しい方法を常に見つけ出しています。その際に効率化と自動化を重視しており、PowerShellの専門知識によってそれを難なく実現しています。ITコミュニティに欠かせない存在でもあります。熱心なスピーカーとして、また刺激を与えるブログ著者として、\"cloudbrothers.info\"で知識と経験を共有し、\"Hamburg PowerShell User Group\"のホストとして同じ志を持つ人々を支えています。さらに、\"PowerShell Saturday Hamburg\"の運営チームの一員でもあります。","/fabian-bader",{"title":521,"description":528},"fabian-bader","Mvtlgx065YSlCBBI4wct1fdOV-n7SuPILVh9VLNr0Rw",[550,1294],{"id":551,"title":552,"author":553,"body":556,"cta":8,"description":530,"eventid":8,"extension":533,"hideInRecent":514,"layout":1216,"meta":1217,"moment":1221,"navigation":355,"path":1286,"seo":1287,"stem":1288,"tags":1289,"webcast":514,"__hash__":1293},"content_da/posts/2025-01-14-compliant-device-bypass.md","Compliant Device Bypass: alt hvad du behøver at vide",[521,554,555],"Christopher Brumm","Thomas Naunheim",{"type":523,"value":557,"toc":1198},[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,1180,1184,1186,1189,1192,1195],[559,560,562],"h2",{"id":561},"hvad-er-der-sket-indtil-nu","Hvad er der sket indtil nu?",[526,564,565],{},"{: .h3-font-size}",[567,568,569,593,608,617],"ul",{},[570,571,572,573,580,581,586,587,592],"li",{},"I december 2024 holdt ",[574,575,579],"a",{"href":576,"rel":577},"https://x.com/TEMP43487580",[578],"nofollow","Yuya Chudo"," sit foredrag »",[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","« på konferencen Black Hat Europe. I sessionen viste han, hvordan man misbruger en hårdkodet og sjældent kendt undtagelse for device compliance i Conditional Access (CA) i kombination med den udokumenterede »",[574,588,591],{"href":589,"rel":590},"https://github.com/secureworks/family-of-client-ids-research",[578],"FOCI-feature","« i Entra ID. I foredraget fremlagde han også svaret fra Microsoft MSRC (VULN-123240), nemlig at adfærden er by design og nødvendig, for at nye enheder kan gennemføre Intune Enrollment.",[570,594,595,596,601,602,607],{},"Nogle dage efter konferencen offentliggjorde Sunny Chau proof-of-concept-værktøjet ",[574,597,600],{"href":598,"rel":599},"https://github.com/JumpsecLabs/TokenSmith",[578],"TokenSmith"," sammen med et ",[574,603,606],{"href":604,"rel":605},"https://labs.jumpsec.com/tokensmith-bypassing-intune-compliant-device-conditional-access/",[578],"ledsagende blogindlæg",", hvilket gjorde teknikken tilgængelig for et bredere publikum.",[570,609,610,611,616],{},"Derudover er der offentliggjort en ",[574,612,615],{"href":613,"rel":614},"https://github.com/zh54321/PoCEntraDeviceComplianceBypass/blob/main/poc_entra_compliance_bypass.ps1",[578],"PoC skrevet i PowerShell",".",[570,618,619],{},"Siden slutningen af december har vi hos glueckkanja AG undersøgt, hvordan teknikken kan forhindres og detekteres. I dette blogindlæg deler vi nogle af vores indsigter om angrebet og diskuterer mulighederne for mitigering og detektion.",[559,621,623],{"id":622},"tldr","TL;DR",[526,625,565],{},[526,627,628,629,634,635],{},"Der findes ressourcer med en indbygget undtagelse fra bestemte Grant Controls og betingelser i Conditional Access, som løser bestemte problemer. En af dem er undtagelsen af Company Portal-appen fra device compliance, som løser hønen-og-ægget-problemet med at få enheder enrolleret i Intune, før de betragtes som compliant. Adfærden er ",[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],"dokumenteret her",".\n",[636,637,638],"strong",{},"Det betyder, at du kan få access- og refresh-tokens til denne app fra en unmanaged enhed, selv hvis en CA-politik håndhæver device compliance for »All resources«.",[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 har implementeret en funktion kaldet Family of Client IDs (FOCI), som gør det muligt for en gruppe af Microsofts OAuth-klientapplikationer at hente access-tokens som enhver anden klient i familien ved hjælp af deres refresh-token. En adfærd, der ellers ikke er tilladt i OAuth2-standarden. Læs ",[574,651,653],{"href":589,"rel":652},[578],"Secureworks' oprindelige arbejde"," for flere detaljer.\n",[636,656,657],{},"Da Company Portal-appen er et »family member«, kan de refresh-tokens, der anmodes om til den, bruges til at hente tokens til andre apps i familien.",[526,659,660,661],{},"FOCI-funktionen er begrænset, og samtykket mellem klient-id og ressource skal være eksplicit konfigureret og givet. For Company Portal-appen er dette samtykke blandt andet givet til adgang til Microsoft Graph med et begrænset scope og til Azure AD Graph API med den aktuelle brugers rettigheder.\n",[636,662,663],{},"Det betyder, at et refresh-token fra Company Portal kan bruges til at hente for eksempel access-tokens til Azure AD Graph API med scopet user_impersonation, hvilket giver os mulighed for at gøre en hel del med for eksempel AADInternals eller ROADrecon",[526,665,666],{},"For at udføre angrebet skal angriberen enten have gyldige credentials fra offeret samt mulighed for at gennemføre MFA, hvis Conditional Access kræver det, eller et gyldigt refresh-token.",[559,668,670],{"id":669},"hvilken-risiko-og-blast-radius-er-der","Hvilken risiko og blast radius er der?",[526,672,565],{},[674,675,677],"h3",{"id":676},"hvilke-af-de-mulige-ressourcer-scopes-er-berørt-af-compliance-undtagelsen","Hvilke af de mulige ressourcer (scopes) er berørt af compliance-undtagelsen?",[526,679,680],{},"{: .h4-font-size}",[526,682,683],{},"Angriberen har som allerede beskrevet mulighed for at anmode om tokens til en anden FOCI-applikation. Microsoft har dog kun implementeret et bypass af kravet om device compliance for adgang til tokens til bestemte ressourceapplikationer med forskellige API-permission-scopes. Særligt de følgende delegerede API-rettigheder er følsomme og interessante for angribere:",[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",{},"Ressourceapplikation",[698,702,703],{},"Application Id",[698,705,706],{},"Delegeret 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],{},"Da de tildelte rettigheder ikke gælder applikationen selv, afhænger konsekvensen af, hvilke privilegier den kaldende part (brugerkontoen) har, og hvilke delegerede permission scopes der er autoriseret til at udføre API-kald inden for scopet.",[526,758,759],{},"Lad os se nærmere på, hvor kritiske de viste delegerede permission scopes er, og hvilken autorisation de potentielt giver til at kalde følsomme API'er.",[559,761,763],{"id":762},"hvilke-privilegier-og-delegerede-scopes-er-kritiske","Hvilke privilegier og delegerede scopes er kritiske?",[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],{},"Det gamle programmatiske interface tilbyder mange API'er til at administrere directory-indstillinger og -objekter i Entra ID (Azure AD). Det omfatter Conditional Access-politikker, directory-roller, CRUD på grupper og enheder samt operationer på den indloggede bruger, for eksempel skift af adgangskode. En komplet liste over alle understøttede operationer findes i ",[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-referencen",". Dette API bliver endeligt udfaset den 30. juni 2025 (ifølge ",[574,782,785],{"href":783,"rel":784},"https://learn.microsoft.com/en-us/graph/migrate-azure-ad-graph-overview",[578],"Microsofts seneste meddelelser",").",[526,788,789,790,793],{},"Det tildelte delegerede scope »user_impersonation« giver applikationen, i dette tilfælde Company Portal, mulighed for at handle på brugerens vegne. Enhver rettighed, som den indloggede bruger har til et Entra-objekt, et scope eller på directory-niveau, kan derfor bruges som autorisation i API-kaldene. Brugeren kan være ejer af et Entra ID-objekt, altså en applikation, en gruppe eller andre objekter, eller have fået tildelt rettigheder gennem Entra ID-rolletildelinger. ",[636,791,792],{},"Ved aktive højt privilegerede rolletildelinger ville det give angriberen mulighed for at ændre objekter eller kompromittere tenanten",". Selv helt uden privilegier kan standardbrugerrettighederne bruges til omfattende rekognoscering og enumerering af directory-objekter i tenanten.",[526,795,796],{},"Scenarierne og konsekvensen af at misbruge Azure AD Graph API afhænger derfor af den berørte brugers aktive eller permanent tildelte privilegier. API'er til adgang til Microsoft 365-tjenester, for eksempel til eksfiltrering af OneDrive, indgår ikke i Azure AD Graph.",[674,798,726],{"id":799},"microsoft-graph-api",[526,801,680],{},[526,803,804],{},"Sammenlignet med Azure AD Graph er det delegerede scope til Microsoft Graph API begrænset til et bestemt omfang. Ved siden af OpenID-scopes (openid, email, profile) er der grundlæggende læseoperationer på brugerens vegne (ServicePrincipalEndpoint.Read.All, User.Read).",[526,806,807],{},"Alle enhedsobjekter kan listes og læses ved at kalde »device«-endpointet i Microsoft Graph med standardrettigheder via »Device.Read.All«. Det kan hjælpe angribere med at få indblik i enhedsobjekter.",[526,809,810],{},"Hvis en kompromitteret bruger er tildelt rollen »Intune Administrator« eller en hvilken som helst delegering i Microsoft Intune RBAC, bør følgende tildelte delegerede API-rettigheder betragtes som problematiske:",[567,812,813,816],{},[570,814,815],{},"»DeviceManagementConfiguration.Read.All«",[570,817,818],{},"»DeviceManagementConfiguration.ReadWrite.All«",[526,820,821],{},[636,822,823,824,829],{},"Disse delegerede rettigheder tillader CRUD-operationer, for eksempel på Device Compliance- og Configuration-politikker, men også udrulning af ",[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"," til yderligere ondsindet aktivitet på målenhederne.",[674,831,737],{"id":832},"device-registration-service",[526,834,680],{},[526,836,837],{},"Med denne rettighed kan angriberen joine eller registrere en enhed i Entra ID. Det ville til gengæld give mulighed for at enrollere enheden i Intune og, afhængigt af Intune-konfigurationen, få en gyldig og compliant enhed, der giver adgang til endnu flere beskyttede tjenester.",[674,839,841],{"id":840},"andre-foci-applikationer","Andre FOCI-applikationer",[526,843,680],{},[526,845,846],{},"At anmode om adgang til andre privilegerede interfaces, for eksempel Azure Resource Manager API, ligger inden for FOCI's rækkevidde og er også interessant for angriberen. Denne ressource er dog fortsat beskyttet og ikke undtaget fra Conditional Access-grant-controlet »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},"kan-vi-detektere-denne-angrebsteknik","Kan vi detektere denne angrebsteknik?",[526,857,565],{},[526,859,860],{},"Som beskrevet ovenfor kommer den største risiko fra adgang til MS Graph og Azure AD Graph.",[526,862,863],{},"Da applikations-id'et for Microsoft Intune Company Portal-appen altid bruges i dette tilfælde, er hovedopgaven ved at bygge en detektion at udelukke legitim brug som for eksempel enhedsregistreringer. Ifølge vores observationer består forskellen i, hvilke ressourcer der tilgås først i en session → ved et angreb typisk MS Graph eller Azure AD Graph.",[526,865,866],{},"Her er en fungerende detektion, som vi har testet i flere miljøer af forskellig størrelse:",[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},"hvordan-skal-vi-reagere-når-vi-opdager-mistænkelig-aktivitet","Hvordan skal vi reagere, når vi opdager mistænkelig aktivitet?",[526,1035,565],{},[526,1037,1038],{},"Start jeres incident response-proces med en defineret playbook, der indeholder:",[567,1040,1041,1062,1070,1073,1076],{},[570,1042,1043,1044],{},"Hunting efter mistænkelig eller anomal aktivitet fra den kompromitterede bruger\n",[567,1045,1046,1053,1056,1059],{},[570,1047,1048,1049],{},"Oversigt over ikke-interaktive sign-ins til ressourceapplikationer inklusive IP-adresser og UserAgents baseret på ",[1050,1051,1052],"code",{},"sessionId",[570,1054,1055],{},"Kontrol af, om Microsoft Entra Audit Logs viser kritiske operationer fra brugeren eller IP-adresserne, for eksempel tilføjede credentials til ejede app-registreringer",[570,1057,1058],{},"Identifikation af, om brugeren har registreret enheder i den berørte session",[570,1060,1061],{},"Kontrol af Intune audit logs for operationer fra applikationen »Company Portal« og den berørte bruger",[570,1063,1064,1065],{},"Hunting efter relaterede alerts på de berørte entiteter\n",[567,1066,1067],{},[570,1068,1069],{},"Opslag af entiteter i AlertEvidence-tabellen for at identificere andre alerts baseret på SessionId, IP-adresser og bruger",[570,1071,1072],{},"Fastlæggelse af brugerens kritikalitet (ud fra privilegier) i Exposure Management",[570,1074,1075],{},"Gennemgang af hunting-resultaterne og verifikation af, om handlingen var legitim som led i en device enrollment.",[570,1077,1078],{},"Identifikation af den initiale adgangsvektor og nulstilling af brugerens credentials og om nødvendigt enheder.",[559,1080,1082],{"id":1081},"kan-vi-mitigere-angrebet","Kan vi mitigere angrebet?",[526,1084,565],{},[526,1086,1087,1088,1091],{},"Da den konfigurerede undtagelse er nødvendig for Intune enrollment, ",[636,1089,1090],{},"findes der ingen mitigering, som ikke ville ødelægge andre dele af Microsoft 365",". Adgang til Azure AD Graph-ressourcen kan ikke scopes eller blokeres direkte. Enhver Conditional Access-politik med »Block« som grant control vil forhindre adgang, men kan have andre konsekvenser.",[526,1093,1094],{},"Til mitigering er det afgørende at forstå, at dette Conditional Access-bypass ikke er et komplet angreb. Det er en teknik, der som ét skridt muliggør en række angreb.",[526,1096,1097],{},"En angrebssti kunne være",[1099,1100,1101,1104,1107,1110],"ol",{},[570,1102,1103],{},"Kompromittering af konto via phishing og AiTM",[570,1105,1106],{},"Conditional Access-bypass",[570,1108,1109],{},"Rekognoscering med for eksempel ROADrecon, GraphRunner eller AADInternals",[570,1111,1112],{},"Lateral movement, privilege escalation eller persistens gennem en nyregistreret enhed enrolleret i Intune",[526,1114,1115],{},"Da vi ikke kan mitigere dette Conditional Access-bypass uden at ødelægge Intune enrollment, er det mere end rimeligt at implementere mitigeringer i de øvrige skridt af angrebsstien og samtidig etablere fornuftige detektioner.",[526,1117,1118],{},"For at reducere sandsynlighed og konsekvens anbefaler vi at styrke de øvrige kontroller og implementere følgende snarest:",[567,1120,1121,1127,1133,1139,1145,1161,1167],{},[570,1122,1123,1126],{},[636,1124,1125],{},"Håndhæv MFA for »All Users« og »All Cloud Apps« via Conditional Access."," Hvis I kun håndhæver device compliance, er single factor authentication nok med denne teknik.",[570,1128,1129,1132],{},[636,1130,1131],{},"Brug ikke device compliance eller MFA i jeres regelsæt, håndhæv altid begge."," Et OR ville aldrig begrænse al adgang til compliant enheder, fordi et access-token med MFA i scope ville være nok til at tilgå tenanten.",[570,1134,1135,1138],{},[636,1136,1137],{},"Begræns Security Information Registration til compliant enheder, phishing-resistent autentificering eller TAP."," I vores test lykkedes det os ikke at omgå device compliance for Security Info Registration.",[570,1140,1141,1144],{},[636,1142,1143],{},"Kræv phishing-resistent autentificering eller TAP for join eller registrering af enheder."," Uden det vil det være muligt at registrere en enhed med for eksempel AADInternals og denne teknik.",[570,1146,1147,1150,1151],{},[636,1148,1149],{},"Kræv MFA og »Sign-in frequency every time« for Microsoft Intune Enrollment."," Det begrænser det tidsrum, hvor en angriber kan bruge friske credentials til at enrollere en ny enhed i Intune.\n",[1152,1153,1154],"blockquote",{},[526,1155,1156,1157,1160],{},"🚧\n",[636,1158,1159],{},"Bemærk: Sign-in frequency every time = hvert femte minut","\nMicrosoft indregner fem minutters clock skew, når »every time« vælges i en Conditional Access-politik, så brugerne ikke bliver bedt om at logge ind oftere end hvert femte minut.",[570,1162,1163,1166],{},[636,1164,1165],{},"Blokér personligt ejede enheder i Intune Enrollment restrictions."," Uden disse begrænsninger kan en angriber enrollere en ny enhed og få yderligere fodfæste.",[570,1168,1169,1172],{},[636,1170,1171],{},"Sæt device compliance til at fejle, når ingen compliance-politik er tildelt en enhed i Intune."," Som standard betragtes hver enhed som compliant, selv hvis ingen politik reelt er anvendt. Lav det om, og gør en device compliance-politik til et krav.",[526,1174,1175,1176,616],{},"På længere sigt vil vi opfordre jer til at investere i udrulning af password-løs, phishing-resistent autentificering som Windows Hello for Business og passkeys, inklusive Platform Credentials via macOS Platform SSO. Det giver jer mulighed for efterfølgende at håndhæve phishing-resistent autentificering og blokere AiTM-angreb. I stedet for adgangskoder kan I tillade brug af Temporary Access Pass (TAP) i afgrænsede perioder og scenarier, for eksempel onboarding af nye enheder eller medarbejdere. For at understøtte brugen af TAPs i forskellige use cases har vi bygget ",[574,1177,317],{"href":1178,"rel":1179},"https://myworkid.cloud/",[578],[559,1181,1183],{"id":1182},"konklusion","Konklusion",[526,1185,565],{},[526,1187,1188],{},"Conditional Access som Zero Trust-motor for Entra ID er i sig selv allerede kompliceret. Yderligere indbyggede undtagelser i Entras backend fra Microsofts side gør det endnu sværere for mange at forstå konsekvensen af politikker og beskyttelser. Alligevel holder idéen om Zero Trust og defense in depth.",[526,1190,1191],{},"Device compliance-politikken forhindrer de fleste AiTM-angreb, og multifaktorautentificering gør det sværere for enhver angriber at misbruge lækkede eller på anden vis kompromitterede credentials.",[526,1193,1194],{},"Alle disse sikkerhedsforanstaltninger skal bruges sammen og ikke som erstatning for hinanden. Det sikrer et sikkert miljø, selv hvis et af forsvarene manipuleres eller brydes.",[526,1196,1197],{},"Vi anbefaler kraftigt at udrulle den viste detektion i Microsoft Defender XDR, så potentielt misbrug bliver opdaget. Sørg for, at jeres SOC er klar til at undersøge den type hændelser, og udstyr dem med de nødvendige playbooks.",{"title":530,"searchDepth":531,"depth":531,"links":1199},[1200,1201,1202,1206,1212,1213,1214,1215],{"id":561,"depth":531,"text":562},{"id":622,"depth":531,"text":623},{"id":669,"depth":531,"text":670,"children":1203},[1204],{"id":676,"depth":1205,"text":677},3,{"id":762,"depth":531,"text":763,"children":1207},[1208,1209,1210,1211],{"id":768,"depth":1205,"text":769},{"id":799,"depth":1205,"text":726},{"id":832,"depth":1205,"text":737},{"id":840,"depth":1205,"text":841},{"id":854,"depth":531,"text":855},{"id":1032,"depth":531,"text":1033},{"id":1081,"depth":531,"text":1082},{"id":1182,"depth":531,"text":1183},"post",{"lang":1218,"seoTitle":1219,"titleClass":1220,"date":1221,"categories":1222,"blogtitlepic":1224,"socialimg":1225,"customExcerpt":1226,"keywords":1227,"contactInContent":1228,"scripts":1285},"da","Compliant Device Bypass i Microsoft Intune: detektion, respons og mitigering","h2-font-size","2025-01-14",[1223],"Security","header-company-portal-ca-bypass","/blog/heads/header-company-portal-ca-bypass.png","I dette blogindlæg samler glueckkanjas MVP Fabian Bader, Chris Brumm og Thomas Naunheim detaljerne om Compliant Device Bypass i Microsoft Intune Company Portal. Efter yderligere research har de fundet en metode til at detektere og reagere på den potentielle trussel. Du finder også vejledning til Conditional Access, som reducerer angrebsfladen, og detaljer om blast radius.","Compliant Device Bypass, Microsoft Intune, Conditional Access, Entra ID, Intune Company Portal, device compliance, CA-undtagelse, TokenSmith PoC, cloud-sikkerhed, PowerShell PoC, Fabian Bader, Christopher Brumm, Thomas Naunheim, sikkerhedstrussel, Black Hat Europe, Intune Enrollment, MSRC-respons, angrebsdetektion, trusselsmitigering, cloud compliance, FOCI-feature",{"quote":514,"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)","Kontakt os nu","Vil du vide mere om Compliant Device Bypass, og hvordan du detekterer og mitigerer den effektivt? Vores eksperter gennemgår gerne vores resultater med dig og støtter jer med gennemprøvede strategier for bedre sikkerhed. Vi glæder os til at høre fra dig.","text-light","justify-content-end",{"image":1239,"cloudinary":355,"alt":1240,"name":1240,"detailsHeader":1241,"details":1242},"/people/people-pam-team.png","Project & Account Management","Vi glæder os til at høre fra dig",[1243,1247],{"text":6,"href":1244,"details":1245,"icon":1246},"tel:+49 69 4005520","Ring nu","site/phone",{"text":7,"href":1248,"icon":1249},"mailto:info@glueckkanja.com","site/mail",{"ctaText":1251,"cta":1252,"method":1216,"action":1254,"fields":1255},"Send",{"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":355,"requiredMsg":1264},"Navn*","text","name","Indtast venligst dit navn.",{"label":1266,"type":1262,"id":433,"required":355,"requiredMsg":1267},"Virksomhed*","Indtast venligst din virksomhed.",{"label":1269,"type":1270,"id":1270,"required":355,"requiredMsg":1271},"E-mailadresse*","email","Indtast venligst din e-mailadresse.",{"label":1273,"type":1274,"id":1275,"required":355,"requiredMsg":1276},"Dine data bliver gemt hos os med det formål at behandle og besvare din henvendelse. Du finder flere oplysninger om databeskyttelse i vores \u003Ca href=\"/da/privacy\">privatlivspolitik\u003C/a>.","checkbox","dataprotection","Bekræft venligst",{"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":355,"form":355},"/posts/2025-01-14-compliant-device-bypass",{"title":552,"description":530},"posts/2025-01-14-compliant-device-bypass",[1223,1290,1291,1292,311],"Entra","Conditional Access","ITDR","G4P0N_KZ0vKdfqocuGvE40SGWV9bciwB7oLNnjHf-Wg",{"id":1295,"title":1296,"author":1297,"body":1298,"cta":8,"description":1302,"eventid":8,"extension":533,"hideInRecent":514,"layout":1216,"meta":2084,"moment":2086,"navigation":355,"path":2107,"seo":2108,"stem":2109,"tags":2110,"webcast":514,"__hash__":2113},"content_da/posts/2025-12-31-vulnerability-consentfix.md","AuthCodeFix aka ConsentFix",[521,554,555],{"type":523,"value":1299,"toc":2064},[1300,1303,1306,1309,1315,1318,1321,1330,1335,1343,1363,1366,1372,1375,1378,1384,1389,1393,1404,1410,1413,1416,1420,1423,1429,1436,1439,1459,1469,1473,1476,1479,1482,1485,1489,1492,1495,1512,1521,1525,1529,1549,1553,1558,1569,1572,1580,1584,1598,1602,1613,1617,1620,1628,1631,1639,1642,1650,1654,1657,1678,1681,1746,1749,1752,1755,1758,1761,1767,1770,1811,1815,1830,1834,1838,1852,1855,1858,1863,1866,1877,1881,1888,1892,1898,1903,1917,1923,1929,1935,1946,1949,1955,1958,1983,1991,1995,2015,2021,2024,2030,2034],[526,1301,1302],{},"Som traditionen byder lige inden årets udgang, dukker der en ny sårbarhed eller en snedig angrebsvektor op, og forsvarerne står tilbage og forsøger at beskytte deres brugere. Imens kigger andre angribere og red teamere nøje med og tilpasser sig.",[526,1304,1305],{},"I år opdagede PushSecurity et angreb, som de døbte \"ConsentFix\", en videreudvikling af ClickFix-angrebet, der bygger på, at brugeren selv udleverer en URI til angriberen og dermed i praksis rækker nøglen til hele Entra-kongeriget videre. Den metode, der er set i felten, krævede en manuel copy and paste-handling fra brugeren for at fungere. I løbet af få dage udgav John Hammond en video, der demonstrerede en forbedret udgave af angrebet uden behov for copy and paste, hvor brugeren i stedet blot kunne trække og slippe sin auth code over til angriberen.",[526,1307,1308],{},"Når vi ser på de tekniske detaljer bag, hvorfor angrebet virker og tilsyneladende omgår device compliance og andre Conditional Access-krav, ender vi i OAuth 2.0 authorization code flow.",[526,1310,1311],{},[642,1312],{"alt":1313,"src":1314},"OAuth 2.0 authorization code flow","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-01.png",[526,1316,1317],{},"Angriberen laver en Microsoft Entra login-URI, der peger på klienten \"Microsoft Azure CLI\" og ressourcen \"Azure Resource Manager\", og åbner denne URI, når brugeren besøger det ondsindede website.",[526,1319,1320],{},"Oversat til authorization code flow svarer det til det første trin, som en native public app som Azure CLI normalt ville kalde for at autentificere brugeren. Applikationen opretter en listener på den maskine, den kører på, på en tilfældig høj port. Denne port bruges som en såkaldt reply URI.",[526,1322,1323,1324,1329],{},"Du kan nemt reproducere det selv, for eksempel med ",[574,1325,1328],{"href":1326,"rel":1327},"https://github.com/f-bader/TokenTacticsV2",[578],"TokenTacticsV2"," eller ved at bygge URI'en manuelt.",[526,1331,1332],{},[642,1333],{"alt":1328,"src":1334},"https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-02.png",[526,1336,1337,1338,1342],{},"Efter brugeren har logget ind i Entra ID, bliver brugeren omdirigeret til reply-URI'en, f.eks. ",[574,1339,1340],{"href":1340,"rel":1341},"http://localhost:3001",[578],". I et normalt scenarie ville Azure CLI nu tage imod kaldet til denne URI og modtage de vigtige og kritiske oplysninger, der er en del af redirectet:",[567,1344,1345,1355],{},[570,1346,1347,1349,1351,1352,1354],{},[636,1348,1050],{},[873,1350],{},"\nDette er authorization_code, som applikationen bruger til at anmode om et bearer token, der består af access token, ID token og eventuelt refresh token.",[873,1353],{},"\nIfølge dokumentationen er denne code gyldig i omkring 10 minutter og skal indløses inden for dette tidsrum.",[570,1356,1357,1360,1362],{},[636,1358,1359],{},"state",[873,1361],{},"\nDette er en valgfri parameter, og applikationen bør verificere, om den er identisk i request og response.",[526,1364,1365],{},"I angrebsscenariet bliver brugeren også omdirigeret, men da der ikke kører nogen applikation på localhost, løber browseren ind i en fejl.",[526,1367,1368],{},[642,1369],{"alt":1370,"src":1371},"Browseren løber ind i en fejl","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-03.png",[526,1373,1374],{},"URI'en indeholder dog stadig de følsomme oplysninger, og det er præcis dem, angriberen vil have brugeren til at udlevere. Hvis brugeren gør det, indløser angriberen tokenmaterialet og kan derefter bruge access token og refresh token til at tilgå ressourcen, i dette tilfælde Azure Resource Manager.",[526,1376,1377],{},"På dette skærmbillede kan du se, hvordan man henter bearer token ved hjælp af den URI, brugeren har udleveret.",[526,1379,1380],{},[642,1381],{"alt":1382,"src":1383},"Bearer token ved hjælp af den URI, brugeren har udleveret","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-04.png",[1152,1385,1386],{},[526,1387,1388],{},"Hvis du vil teste dine detektioner, så sørg for at udføre det sidste trin fra et andet system på et andet netværk.",[559,1390,1392],{"id":1391},"detektionsartefakter","Detektionsartefakter",[526,1394,1395,1396,1399,1400,1403],{},"Når du reproducerer angrebet og tjekker ",[1050,1397,1398],{},"SigninLogs"," og ",[1050,1401,1402],{},"AADNonInteractiveUserSignInLogs",", vil du se to hændelser for denne ene sign-in-aktivitet. Den første hændelse repræsenterer det egentlige brugerlogin, mens den anden stammer fra angriberens infrastruktur.",[526,1405,1406],{},[642,1407],{"alt":1408,"src":1409},"Activity Log","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-05.png",[526,1411,1412],{},"Den store forskel er, at den første hændelse er et interaktivt sign-in, mens den anden er ikke-interaktiv. Det svarer til de to faser i authentication flowet: først brugeren, derefter applikationen eller i vores tilfælde angriberen.",[526,1414,1415],{},"Normal adfærd for Azure CLI ville være, at begge sign-in-hændelser stammer fra den samme IP-adresse. I vores tilfælde er IP-adresserne forskellige, og de stammer fra forskellige lande. Sidstnævnte er naturligvis ikke en pålidelig indikator, da angriberen kunne opholde sig i det samme land som offeret for at skjule sine spor.",[674,1417,1419],{"id":1418},"missing-link","Missing link",[526,1421,1422],{},"Da vi ledte efter en god måde at koble de to hændelser sammen på, var den første naturlige idé at kigge på Unique Token Identifier (UTI). Microsoft bruger dog forskellige værdier for authorization code UTI og bearer token UTI, så den tilgang fungerer ikke som en pålidelig kobling.",[526,1424,1425],{},[642,1426],{"alt":1427,"src":1428},"Unique Token Identifier","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-06.png",[526,1430,1431,1432,1435],{},"Til gengæld er ",[1050,1433,1434],{},"SessionId"," en god kobling mellem de to, om end det er et langtlevende ID, der kan indeholde flere af disse hændelseskombinationer, også legitime.",[526,1437,1438],{},"Med den ekstra viden om begrænsningerne i auth code flowet samt bruger-id og applikations-id som yderligere koblinger kan du bruge tid som en vigtig detektionsfaktor:",[567,1440,1441,1444,1447,1450,1453,1456],{},[570,1442,1443],{},"Begge hændelser deler det samme SessionId",[570,1445,1446],{},"Begge hændelser deler det samme ApplicationId",[570,1448,1449],{},"Begge hændelser deler det samme UserId",[570,1451,1452],{},"Den anden hændelse skal ligge efter den første hændelse",[570,1454,1455],{},"Den anden hændelse skal ligge inden for et vindue på cirka 10 minutter efter den første hændelse. Du bør ikke bruge præcis 10 minutter, da Microsoft skriver \"[...] they expire after about 10 minutes\"",[570,1457,1458],{},"Du bør kun se på den allerførste efterfølgende hændelse, ikke på de senere",[1152,1460,1461],{},[526,1462,1463,1466,1468],{},[636,1464,1465],{},"Fun fact",[873,1467],{},"\nResourceIdentity er ikke en god kobling, da angriberen kan skifte ressource, fordi den ikke er bundet til auth code. Det målrettede applikations-id kan ikke ændres.",[559,1470,1472],{"id":1471},"reducer-støjen","Reducer støjen",[526,1474,1475],{},"Denne viden gav os allerede en velfungerende detektion, men der var også benign positives i blandingen. Moderne udviklere bruger cloudressourcer, der fremstår som lokale instanser, men resulterer i uregelmæssige loginmønstre i loggene.",[526,1477,1478],{},"Den afgørende forskel er tidskomponenten. Hvor angrebet kræver brugerinteraktion i form af copy and paste eller drag and drop af URI'en, er det GitHub Codespace-scenarie, vi identificerede som kilden til de benigne alarmer, fuldt automatiseret og indløser auth code inden for få sekunder.",[526,1480,1481],{},"At filtrere alt fra, der gennemfører denne authentication-dans på få sekunder, kan altså med stor sandsynlighed fjernes som benignt.",[526,1483,1484],{},"En anden kilde til støj kan være skiftende egress-punkter for din internettrafik, især i SD-WAN-, ZTNA- eller Secure Web Gateway-scenarier.",[559,1486,1488],{"id":1487},"berørte-first-party-applikationer","Berørte first-party-applikationer",[526,1490,1491],{},"Selvom den oprindelige rapport peger på \"Microsoft Azure CLI\" som den misbrugte applikation, findes der en lang række forskellige Microsoft first-party-apps med pre-consent i hver eneste tenant, som tilbyder localhost som redirect. Og det er ikke kun dem, der er et mål. Angriberen kunne også misbruge test- og dev-reply-URL'er, der ikke kan slås op offentligt.",[526,1493,1494],{},"Her er en liste over de mest bemærkelsesværdige applikationer, som samtidig har høje pre-consentede permissions på ressourcer.",[567,1496,1497,1500,1503,1506,1509],{},[570,1498,1499],{},"Microsoft Azure CLI (04b07795-8ddb-461a-bbee-02f9e1bf7b46)",[570,1501,1502],{},"Microsoft Azure PowerShell (1950a258-227b-4e31-a9cf-717495945fc2)",[570,1504,1505],{},"Visual Studio (04f0c124-f2bc-4f59-8241-bf6df9866bbd)",[570,1507,1508],{},"Visual Studio Code (aebc6443-996d-45c2-90f0-388ff96faa56)",[570,1510,1511],{},"MS Teams PowerShell Cmdlets (12128f48-ec9e-42f0-b203-ea49fb6af367)",[526,1513,1514,1515,1520],{},"En komplet liste over disse apps er nu inkluderet i ",[574,1516,1519],{"href":1517,"rel":1518},"https://entrascopes.com/?authcodeFix=true",[578],"EntraScopes.com"," af vores kollega Fabian Bader.",[559,1522,1524],{"id":1523},"mitigering-og-beskyttelse","Mitigering og beskyttelse",[674,1526,1528],{"id":1527},"begræns-angrebsfladen-og-målgruppen","Begræns angrebsfladen og målgruppen",[868,1530,1533,1536,1537,1539,1542,1543,1545,1548],{"className":1531},[1532],"option-block",[636,1534,1535],{},"Implementeringsindsats:"," Lav til høj (afhænger af indsatsen for at identificere legitime brugere)",[873,1538],{},[636,1540,1541],{},"Mitigering:"," Middel (reducerer den potentielle målgruppe for angrebet)",[873,1544],{},[636,1546,1547],{},"Omfang:"," begrænset\n",[674,1550,1552],{"id":1551},"mulighed-1-kræv-user-assignment","Mulighed 1: Kræv User Assignment",[1554,1555,1557],"h4",{"id":1556},"forudsætninger","Forudsætninger:",[567,1559,1560,1563,1566],{},[570,1561,1562],{},"Tilføj service principal for de berørte first-party-apps via Microsoft Graph API eller PowerShell",[570,1564,1565],{},"Anvend kravet om user assignment på service principal-objektet via Microsoft Graph API eller PowerShell",[570,1567,1568],{},"Etablér en proces til at tildele brugere efter anmodning via Access Packages, PIM-for-Groups (til just-in-time-adgang) eller en kombination af begge.",[685,1570,1571],{},"\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",[1573,1574,1577],"pre",{"className":1575},[1576],"code-block",[1050,1578,1579],{},"\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",[1554,1581,1583],{"id":1582},"fordel","Fordel:",[567,1585,1586,1589,1592,1595],{},[570,1587,1588],{},"Gør det muligt at styre user assignments via Access Packages eller manuelt gruppemedlemskab og dermed begrænse eksponeringen for denne angrebsteknik.",[570,1590,1591],{},"Mulighed for just-in-time-adgang kombineret med eligible gruppemedlemskab, hvilket giver midlertidig adgang til CLI-værktøjer og yderligere reducerer angrebsfladen.",[570,1593,1594],{},"Anvendes, før Conditional Access-politikker evalueres.",[570,1596,1597],{},"Begrænser også angrebsfladen i andre scenarier.",[1554,1599,1601],{"id":1600},"ulempe","Ulempe:",[567,1603,1604,1607,1610],{},[570,1605,1606],{},"Kan kun scopes til bestemte brugere og ikke kombineres med andre krav som brug af bestemte enheder",[570,1608,1609],{},"Alle legitime brugere af CLI-værktøjer skal identificeres",[570,1611,1612],{},"Sideeffekter og organisatorisk påvirkning skal vurderes grundigt ved at gennemgå tidligere sign-ins.",[674,1614,1616],{"id":1615},"mulighed-2-blokér-adgang-med-conditional-access-politikker","Mulighed 2: Blokér adgang med Conditional Access-politikker",[1554,1618,1557],{"id":1619},"forudsætninger-1",[567,1621,1622,1625],{},[570,1623,1624],{},"Opret en Conditional Access-politik, der blokerer adgang til CLI-værktøjer med undtagelse af legitime brugere, ved at målrette mod \"Microsoft Graph Command Line Tools\" og \"Windows Azure Service Management API\"",[570,1626,1627],{},"Håndtér undtagelser via gruppemedlemskab, enten manuelt eller gennem entitlement management (f.eks. Access Packages).",[1554,1629,1583],{"id":1630},"fordel-1",[567,1632,1633,1636],{},[570,1634,1635],{},"Forhindrer tokenudstedelse til ikke-legitime eller ikke-privilegerede brugere.",[570,1637,1638],{},"Giver mulighed for granulær scoping ud fra yderligere betingelser som enhed eller netværk.",[1554,1640,1601],{"id":1641},"ulempe-1",[567,1643,1644,1647],{},[570,1645,1646],{},"Alle legitime brugere af CLI-værktøjer skal identificeres og undtages.",[570,1648,1649],{},"Sideeffekter og organisatorisk påvirkning skal vurderes grundigt ved at gennemgå tidligere sign-ins og evaluere politikken i report-only-tilstand.",[674,1651,1653],{"id":1652},"blokér-tokenudstedelse-via-authorization-code-flow","Blokér tokenudstedelse via authorization code flow",[685,1655,1656],{},"\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,1658,1660,1663,1664,1666,1668,1669,1671,1668,1673,1675,1677],{"className":1659},[1532],[636,1661,1662],{},"Mulighed:"," Kræv Token Protection",[873,1665],{},[636,1667,1535],{}," Høj",[873,1670],{},[636,1672,1541],{},[873,1674],{},[636,1676,1547],{}," Meget begrænset\n",[1554,1679,1557],{"id":1680},"forudsætninger-2",[567,1682,1683,1686,1689,1708],{},[570,1684,1685],{},"Microsoft Entra ID P1-licenser",[570,1687,1688],{},"Entra ID Registered Devices, hybrid- eller Entra ID-joinede enheder på Windows-platformen",[570,1690,1691,1692,936,1697,1399,1702,1707],{},"Aktivér Web Account Manager (WAM) i ",[574,1693,1696],{"href":1694,"rel":1695},"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,1698,1701],{"href":1699,"rel":1700},"https://learn.microsoft.com/en-us/powershell/azure/configure-global-settings?view=azps-15.1.0#web-account-manager-wam",[578],"Azure PowerShell",[574,1703,1706],{"href":1704,"rel":1705},"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"," (standard i de nyeste versioner)",[570,1709,1710,1711],{},"Konfigurér Conditional Access-målretning:\n",[567,1712,1713,1727,1735],{},[570,1714,1715,1716],{},"Cloud App-målretning mod følgende apps:\n",[567,1717,1718,1721,1724],{},[570,1719,1720],{},"Office 365 Exchange Online",[570,1722,1723],{},"Office 365 SharePoint Online",[570,1725,1726],{},"Microsoft Teams Services",[570,1728,1729,1730,1734],{},"Client apps under ",[1731,1732,1733],"em",{},"Mobile apps and desktop clients"," skal kræve Token Protection.",[570,1736,1737,1738,1741,1742,1745],{},"Vælg ",[1731,1739,1740],{},"Windows"," som ",[1731,1743,1744],{},"device platform"," for målretning af politikken",[1554,1747,1583],{"id":1748},"fordel-2",[526,1750,1751],{},"Microsoft Entras token protection kræver proof‑of‑possession (PoP), som kun kan håndhæves, når klienten kommunikerer direkte med en betroet token broker som Web Account Manager (WAM) på Windows. Fordi browsere ikke kan etablere denne sikre kanal, blokeres et authorization code flow, der er startet i en browser, under token protection-politikker.",[526,1753,1754],{},"Når politikken håndhæver token protection med krav om broker‑styret PoP, kan den authorization code, der returneres til en browser, ikke indløses, fordi browseren ikke kan producere det påkrævede broker‑signerede bevis under udvekslingen fra code til token",[526,1756,1757],{},"I dette tilfælde er angreb med AuthCodeFix fuldt mitigeret, så længe applikationen kan beskyttes med Token Protection.",[526,1759,1760],{},"Som vist på skærmbilledet nedenfor mitigerer Token Protection med succes indløsningen af det authorization code flow, som offeret har startet via en phishing-handling.",[526,1762,1763],{},[642,1764],{"alt":1765,"src":1766},"Token Protection mitigerer med succes indløsningen af authorization code flowet","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-07.png",[1554,1768,1601],{"id":1769},"ulempe-2",[567,1771,1772,1802,1805,1808],{},[570,1773,1774,1775],{},"Kun følgende ressourcer er officielt understøttet:\n",[567,1776,1777,1779,1781],{},[570,1778,1720],{},[570,1780,1723],{},[570,1782,1726,1783,1785,1787,1788,1399,1791,1795,1796,1801],{},[873,1784],{},[873,1786],{},"\nMicrosoft Graph API er indirekte dækket af de ovennævnte ressourcer, og Microsoft Graph PowerShell er anført som en understøttet klient. Vi kunne i vores test verificere, at angrebet i dette scenarie bliver mitigeret. “Windows Azure Service Management API\" er ikke anført som en understøttet ressource. Begge CLI-klienter (",[574,1789,1696],{"href":1694,"rel":1790},[578],[574,1792,1701],{"href":1793,"rel":1794},"https://learn.microsoft.com/en-us/powershell/azure/authenticate-interactive?view=azps-15.1.0#benefits-of-wam",[578],") understøtter WAM, som er et krav på klientsiden for at kunne bruge Token Protection. Microsoft har ",[574,1797,1800],{"href":1798,"rel":1799},"https://techcommunity.microsoft.com/blog/microsoft-entra-blog/how-to-break-the-token-theft-cyber-attack-chain/4062700",[578],"i et blogindlæg"," annonceret en udvidelse af token protection-funktionaliteten til Azure-managementscenarier.",[570,1803,1804],{},"Nogle fejl i Microsoft Graph PowerShell tvinger dig til midlertidigt at deaktivere WAM-integrationen",[570,1806,1807],{},"Sideeffekter og organisatorisk påvirkning skal vurderes grundigt ved at gennemgå tidligere sign-ins og evaluere politikken i report-only-tilstand. Cloud app-målretningen vil også påvirke den produktive adgang til Microsoft 365.",[570,1809,1810],{},"Begrænset omfang på grund af tilgængeligheden på understøttede platforme og Entra ID-integrerede enheder.",[674,1812,1814],{"id":1813},"blokér-yderligere-tokenudstedelse-via-compliant-network-check-eller-trusted-network","Blokér yderligere tokenudstedelse via compliant network check eller trusted network",[868,1816,1818,1820,1821,1823,1820,1825,1827,1829],{"className":1817},[1532],[636,1819,1535],{}," Middel",[873,1822],{},[636,1824,1541],{},[873,1826],{},[636,1828,1547],{}," Bredt\n",[674,1831,1833],{"id":1832},"mulighed-blokér-adgang-uden-for-compliant-network-med-global-secure-access","Mulighed: Blokér adgang uden for Compliant network med Global Secure Access",[1554,1835,1837],{"id":1836},"forudsætning","Forudsætning:",[567,1839,1840,1843,1846,1849],{},[570,1841,1842],{},"Entra ID P1-licens",[570,1844,1845],{},"Entra ID Registered Devices, hybrid- eller Entra ID-joinede enheder på Windows-, macOS-, Android- og iOS-platformen",[570,1847,1848],{},"Global Secure Access Client på alle berørte klienter og aktiveret Entra Internet Access for M365 Traffic Profile",[570,1850,1851],{},"Conditional Access-politik til at håndhæve network compliant check bør anvendes på alle cloud apps",[1554,1853,1583],{"id":1854},"fordel-3",[526,1856,1857],{},"Blokér yderligere tokenudstedelse ved at håndhæve en trusted network check. Denne mitigering sikrer, at angribere ikke kan hente nye tokens med refresh token fra authorization code flowet. Den forhindrer dog ikke den indledende indløsning af authorization code eller udstedelsen af det første access token, som forbliver gyldigt uden for det compliant netværk, fordi det oprindeligt blev anmodet af offeret.",[1152,1859,1860],{},[526,1861,1862],{},"At håndhæve GSA med Compliant Network-betingelsen blokerer også andre Token Replay-scenarier og tilføjer yderligere logs, som kan være meget nyttige til detektioner og hunting.",[1554,1864,1601],{"id":1865},"ulempe-3",[567,1867,1868,1871,1874],{},[570,1869,1870],{},"Kun anvendeligt for brugere og enheder med udrullet Global Secure Access-klient",[570,1872,1873],{},"Begrænset omfang på grund af tilgængeligheden på Entra ID-integrerede enheder",[570,1875,1876],{},"Håndhævelse af Compliant Networks via CA kræver nogle undtagelser som Intune for at undgå hønen-og-ægget-problemer. Grundig test er nødvendig før udrulning",[559,1878,1880],{"id":1879},"hunting-forespørgsler","Hunting-forespørgsler",[526,1882,1883,1884,1887],{},"Når alle forudsætninger for mitigering af tokentyveri er på plads, herunder udrulning af GSA-klienten (inklusive ingestion af ",[1050,1885,1886],{},"NetworkAccessTraffic","-logs) og udnyttelse af WAM-authentication, får vi yderligere muligheder for threat hunting og verifikation.",[674,1889,1891],{"id":1890},"brug-af-gsa-logs-og-wam-authentication-til-hunting-eller-til-at-verificere-konfidensen-i-detektionsresultater","Brug af GSA-logs og WAM-authentication til hunting eller til at verificere konfidensen i detektionsresultater",[526,1893,1894,1895,1897],{},"Denne hunting-forespørgsel bruger ",[1050,1896,1886],{},"-logs fra Global Secure Access (GSA), som indeholder den initierende proces for kommunikationen med Microsoft Entras token endpoint. Det hjælper med at afgøre, om en tokenanmodning kom direkte fra en browser, og om der blev foretaget yderligere tokenanmodninger uden for GSA-netværket.",[1152,1899,1900],{},[526,1901,1902],{},"Denne forespørgsel virker og leverer kun pålidelige resultater, når forudsætningerne er opfyldt. Ellers fører den til en høj false-positive-rate.",[526,1904,1905,1908,1909,1912,1913,1916],{},[636,1906,1907],{},"Hvorfor det betyder noget:"," Når man logger ind via CLI eller PowerShell-moduler med Web Account Manager (WAM) på Windows-enheder, involverer flowet ikke en browserbaseret authorization code. Denne sign-in-adfærd er standard i den nyeste version. Hvis den initierende proces er en browser-eksekverbar (f.eks. ",[1050,1910,1911],{},"msedge.exe","), er det derfor en stærk indikator på mistænkelig aktivitet. På macOS initieres processen af Company Portal-appen (",[1050,1914,1915],{},"com.microsoft.CompanyPortalMac.ssoextension","), når Platform SSO anvendes.",[526,1918,1919,1922],{},[636,1920,1921],{},"Token Binding og PoP:"," WAM-authentication binder typisk tokens til enheden ved at håndhæve Proof-of-Possession (PoP). Angribere kan ikke udstede yderligere bundne tokens uden PoP, så et ubundet refresh token er endnu en stærk indikator.",[526,1924,1925,1928],{},[636,1926,1927],{},"Begrænsninger:"," Alle de nævnte signaler er kun tilgængelige, når den tilgående enhed er registreret hos eller joinet til Microsoft Entra ID.",[526,1930,1931,1934],{},[636,1932,1933],{},"Logikken bag confidence score:"," Forespørgslen kombinerer flere signaler til at beregne en confidence score:",[567,1936,1937,1940,1943],{},[570,1938,1939],{},"Tilstedeværelsen af en browserproces, der initierer tokenanmodninger.",[570,1941,1942],{},"Detektion af og nedgradering til ubundne tokens.",[570,1944,1945],{},"Skift af netværksudbyder (inklusive fra compliant til non-compliant) mellem sign-ins.",[526,1947,1948],{},"Disse signaler kan bruges i forespørgslen til at hunte efter aktivitet eller til at udlede en confidence score i tilfælde af en hændelse på baggrund af den forudgående detektion.",[526,1950,1951],{},[642,1952],{"alt":1953,"src":1954},"Signaler til hunting-forespørgslen","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-08.png",[526,1956,1957],{},"Følgende scoring vises afhængigt af betingelserne:",[526,1959,1960,1963,1964,1966,1967,1969,1971,1974,1975,1977,1979,1982],{},[636,1961,1962],{},"En meget høj confidence score"," vises, når ",[1050,1965,1886],{},"-logs peger på en kendt browserproces som initiator af en tokenanmodning, og der er registreret en nedgradering til et ubundet token.",[873,1968],{},[873,1970],{},[636,1972,1973],{},"En høj confidence score"," vises, når login sker fra en anden netværksudbyder (ASN) og et non-compliant netværk med ubundne tokens involveret.",[873,1976],{},[873,1978],{},[636,1980,1981],{},"En middel confidence score"," vises, når der kun konstateres et skift af netværksudbyder og et compliant netværk sammen med et skift i den anvendte tokentype.",[526,1984,1985,1986,616],{},"Du finder den nyeste version af hunting-forespørgslen på ",[574,1987,1990],{"href":1988,"rel":1989},"https://github.com/Cloud-Architekt/AzureSentinel/blob/main/Hunting%20Queries/EID-Authentication/ConsentFix-HuntingConfidenceOnTokenAndNetworkSignals.kusto",[578],"GitHub",[674,1992,1994],{"id":1993},"hunting-efter-aktiviteter-med-udstedte-tokens","Hunting efter aktiviteter med udstedte tokens",[526,1996,1997,1998,2003,2004,2007,2008,2010,2011,2014],{},"Du bør overveje at udvide din undersøgelse ud over sign-in-hændelser, så den også omfatter aktiviteter udført med tokens udstedt af angriberen. Vores kollega Thomas Naunheim har ",[574,1999,2002],{"href":2000,"rel":2001},"https://github.com/Cloud-Architekt/AzureSentinel/blob/main/Hunting%20Queries/EID-TokenHunting/MicrosoftCloudActivity.func",[578],"offentliggjort en KQL-funktion"," ved navn ",[1050,2005,2006],{},"MicrosoftCloudActivity",", som kan hjælpe i denne udvidede hunting-proces. Derudover kan det berørte ",[1050,2009,1434],{}," korreleres med mistænkelige ",[1050,2012,2013],{},"UniqueId","-værdier fundet under tidligere hunts til en dybere analyse.",[526,2016,2017],{},[642,2018],{"alt":2019,"src":2020},"KQL-funktion","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-09.png",[526,2022,2023],{},"I dette eksempel brugte angriberen det refresh token, der blev opnået under angrebet, til at udstede et access token til Microsoft Graph API. Dette token blev derefter brugt til at opretholde vedvarende adgang og lateral movement ved at tilføje en client secret til en applikation ejet af offeret. Forespørgslen giver detaljer om Graph API-operationen, herunder token protection-status og om operationen fandt sted uden for Global Secure Access-netværket.",[526,2025,2026],{},[642,2027],{"alt":2028,"src":2029},"Skærmbillede af Graph API-operation","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-10.png",[559,2031,2033],{"id":2032},"yderligere-læsning","Yderligere læsning",[567,2035,2036,2043,2050,2057],{},[570,2037,2038],{},[574,2039,2042],{"href":2040,"rel":2041},"https://pushsecurity.com/blog/consentfix",[578],"ConsentFix: Analysing a browser-native ClickFix-style attack that hijacks OAuth consent grants - PushSecurity",[570,2044,2045],{},[574,2046,2049],{"href":2047,"rel":2048},"https://youtu.be/AAiiIY-Soak",[578],"Hacking Endpoint to Identity (Microsoft 365): \"ConsentFix\" - YouTube",[570,2051,2052],{},[574,2053,2056],{"href":2054,"rel":2055},"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,2058,2059],{},[574,2060,2063],{"href":2061,"rel":2062},"https://entrascopes.com/?appId=04b07795-8ddb-461a-bbee-02f9e1bf7b46",[578],"Microsoft Azure CLI on entrascpes.com",{"title":530,"searchDepth":531,"depth":531,"links":2065},[2066,2069,2070,2071,2079,2083],{"id":1391,"depth":531,"text":1392,"children":2067},[2068],{"id":1418,"depth":1205,"text":1419},{"id":1471,"depth":531,"text":1472},{"id":1487,"depth":531,"text":1488},{"id":1523,"depth":531,"text":1524,"children":2072},[2073,2074,2075,2076,2077,2078],{"id":1527,"depth":1205,"text":1528},{"id":1551,"depth":1205,"text":1552},{"id":1615,"depth":1205,"text":1616},{"id":1652,"depth":1205,"text":1653},{"id":1813,"depth":1205,"text":1814},{"id":1832,"depth":1205,"text":1833},{"id":1879,"depth":531,"text":1880,"children":2080},[2081,2082],{"id":1890,"depth":1205,"text":1891},{"id":1993,"depth":1205,"text":1994},{"id":2032,"depth":531,"text":2033},{"lang":1218,"seoTitle":2085,"titleClass":1220,"date":2086,"categories":2087,"blogtitlepic":2088,"socialimg":2089,"customExcerpt":2090,"keywords":2091,"scripts":2092,"asideNav":2093,"maxContent":355,"published":355},"ConsentFix: Hvordan et nyt OAuth-angreb omgår Microsoft Entra Conditional Access","2025-12-31",[1223],"head-consentfix","/blog/heads/head-consentfix.jpg","Lige inden årsskiftet dukker ConsentFix op: et snedigt OAuth-baseret angreb, der misbruger legitime authentication flows til at stjæle authorization code og dermed reelt udleverer nøglerne til Microsoft Entra. Vi gennemgår, hvorfor det virker på trods af Conditional Access, hvilke signaler det efterlader i loggene, og hvordan forsvarere kan opdage og stoppe det, før der sker rigtig skade.","ConsentFix-angreb, tyveri af OAuth authorization code, Microsoft Entra OAuth-angreb, misbrug af Azure CLI-tokens, omgåelse af Entra ID Conditional Access, phishing med authorization code, token replay-angreb i Azure, Proof of Possession-tokens, sikkerhed ved WAM-authentication, analyse af Azure sign-in-logs, opdag OAuth-angreb i Entra, threat hunting på Azure-identiteter, Global Secure Access token protection, Microsoft Entra sikkerhedsdetektion",{"slick":355,"form":355},{"menuItems":2094},[2095,2097,2099,2101,2103,2105],{"href":2096,"text":1392},"#detektionsartefakter",{"href":2098,"text":1472},"#reducer-støjen",{"href":2100,"text":1488},"#berørte-first-party-applikationer",{"href":2102,"text":1524},"#mitigering-og-beskyttelse",{"href":2104,"text":1880},"#hunting-forespørgsler",{"href":2106,"text":2033},"#yderligere-læsning","/posts/2025-12-31-vulnerability-consentfix",{"title":1296,"description":1302},"posts/2025-12-31-vulnerability-consentfix",[2111,2112,311],"OAuth 2.0","Microsoft Entra ID","6omVtOefKkJLAXT9rlO0BqA1RKB4dnIm_iRygxuwOGk",[],{"id":2116,"extension":2117,"meta":2118,"stem":40,"__hash__":2134},"authors_data/authors.json","json",{"Christopher Brumm":2119,"Fabian Bader":2125,"Thomas Naunheim":2130},{"display_name":554,"avatar":2120,"permalink":2121,"twitter":2122,"linkedin":2123,"imageOffsetTop":2124},"people/people-christopher-brumm.jpg","/authors/christopher-brumm","cbrhh","christopherbrumm","66%",{"display_name":521,"avatar":2126,"permalink":2127,"linkedin":2128,"twitter":2129},"people/people-fabian-bader.jpg","/authors/fabian-bader","fabianbader","fabian_bader",{"display_name":555,"avatar":2131,"permalink":2132,"linkedin":2133,"imageOffsetTop":2124},"people/people-thomas-naunheim.jpg","/authors/thomas-naunheim","thomasnaunheim","1csawlkJxRljy93GTOnXEkwLqAv9Lcj-apxRvoodAOY",1791383965412]