[{"data":1,"prerenderedAt":2134},["ShallowReactive",2],{"sc:header-data-no":3,"sc:footer-data-no":489,"author-no-fabian-bader-1b470ba1ddf8b3":519,"content-no-fabian-bader":549,"content-events-no-fabian-bader":2113,"authors_data:Christopher Brumm|Fabian Bader|Thomas Naunheim":2114},{"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",{"no":13},{"title":14,"url":15,"alt":16},"Hjem","/no","glueckkanja Logo",[18,127,231,316,395,402],{"name":19,"languages":20,"children":24},"workplace",{"no":21},{"title":22,"description":23},"Workplace","Microsoft 365-drevet for smarte, sikre og fleksible arbeidsplasser som samler moderne teknologi og identitetstjenester.",[25,55,91],{"name":26,"languages":27,"children":30},"portfolio",{"no":28},{"title":29},"Portfolio",[31,37,43,49],{"name":32,"languages":33},"managed-intune",{"no":34},{"title":35,"url":36},"Managed Intune","/no/entra-intune/managed-intune",{"name":38,"languages":39},"managed-entra",{"no":40},{"title":41,"url":42},"Managed Entra","/no/entra-intune/managed-entra",{"name":44,"languages":45},"managed-workplace",{"no":46},{"title":47,"url":48},"Managed Workplace","/no/workplace/managed-workplace",{"name":50,"languages":51},"consulting-services",{"no":52},{"title":53,"url":54},"Consulting Services","/no/workplace/consulting-services",{"name":56,"languages":57,"children":60},"microsoft-365-endpoint",{"no":58},{"title":59},"Microsoft 365 Endpoint",[61,67,73,79,85],{"name":62,"languages":63},"microsoft-entra-suite",{"no":64},{"title":65,"url":66},"Microsoft Entra Suite","/no/workplace/microsoft-entra-suite",{"name":68,"languages":69},"microsoft-intune",{"no":70},{"title":71,"url":72},"Microsoft Intune","/no/workplace/microsoft-intune",{"name":74,"languages":75},"microsoft-windows",{"no":76},{"title":77,"url":78},"Microsoft Windows","/no/workplace/microsoft-windows",{"name":80,"languages":81},"windows-365-cloud-pc",{"no":82},{"title":83,"url":84},"Windows 365 Cloud PC","/no/workplace/windows365-cloud-pc",{"name":86,"languages":87},"cloud-workplace-foundation",{"no":88},{"title":89,"url":90},"Cloud Workplace Foundation","/no/workplace/cloud-workplace-foundation",{"name":92,"languages":93,"children":96},"microsoft-365-collaboration",{"no":94},{"title":95},"Microsoft 365 Collaboration",[97,103,109,115,121],{"name":98,"languages":99},"microsoft-copilot",{"no":100},{"title":101,"url":102},"Microsoft 365 Copilot","/no/workplace/microsoft-365-copilot",{"name":104,"languages":105},"microsoft-teams",{"no":106},{"title":107,"url":108},"Teams","/no/workplace/microsoft-teams",{"name":110,"languages":111},"sharepoint-powerplatform",{"no":112},{"title":113,"url":114},"SharePoint & Power Platform","/no/workplace/sharepoint-power-platform",{"name":116,"languages":117},"exchange-online",{"no":118},{"title":119,"url":120},"Exchange Online","/no/workplace/exchange-online",{"name":122,"languages":123},"information-protection-compliance",{"no":124},{"title":125,"url":126},"Information Protection & Compliance","/no/workplace/information-protection-compliance",{"name":128,"languages":129,"children":133},"azure",{"no":130},{"title":131,"description":132},"Azure","Driv vekst med Azure: kutt cloud-kostnader, øk effektiviteten og skap innovasjon gjennom IaaS og PaaS.",[134,151,181],{"name":135,"languages":136,"children":138},"azure-portfolio",{"no":137},{"title":29},[139,145],{"name":140,"languages":141},"azure-managed-services",{"no":142},{"title":143,"url":144},"Azure Managed Services","/no/azure/azure-managed-services",{"name":146,"languages":147},"azure-consulting",{"no":148},{"title":149,"url":150},"Azure Consulting","/no/azure/azure-consulting",{"name":152,"languages":153,"children":156},"azure-scenarios",{"no":154},{"title":155},"Scenarier",[157,163,169,175],{"name":158,"languages":159},"plan-your-cloud",{"no":160},{"title":161,"url":162},"Planlegg cloud-en din","/no/azure/plan-your-cloud",{"name":164,"languages":165},"migrate-to-the-cloud",{"no":166},{"title":167,"url":168},"Migrer til cloud","/no/azure/migrate-to-the-cloud",{"name":170,"languages":171},"innovate-your-business",{"no":172},{"title":173,"url":174},"Forny virksomheten din","/no/azure/innovate-your-business",{"name":176,"languages":177},"vmware-exit",{"no":178},{"title":179,"url":180},"Tenk nytt om VMware-strategien din","/no/azure/vmware-exit",{"name":182,"languages":183,"children":186},"azure-practices",{"no":184},{"title":185},"Practices",[187,193,199,202,208,213,219,225],{"name":188,"languages":189},"azure-foundation",{"no":190},{"title":191,"url":192},"Azure Foundation","/no/azure/azure-foundation",{"name":194,"languages":195},"azure-ai-foundation",{"no":196},{"title":197,"url":198},"Azure AI Foundation","/no/azure/azure-ai-foundation",{"name":86,"languages":200},{"no":201},{"title":89,"url":90},{"name":203,"languages":204},"azure-data-foundation",{"no":205},{"title":206,"url":207},"Azure Data Foundation","/no/azure/azure-data-foundation",{"name":188,"languages":209},{"no":210},{"title":211,"url":212},"Azure Container Foundation","/no/azure/azure-container-foundation",{"name":214,"languages":215},"dark-tenant",{"no":216},{"title":217,"url":218},"Managed Dark Tenant","/no/azure/managed-dark-tenant",{"name":220,"languages":221},"azure-cloud-adoption-framework",{"no":222},{"title":223,"url":224},"Cloud Adoption Framework","/no/azure/cloud-adoption-framework",{"name":226,"languages":227},"azure-cloud-competence-center",{"no":228},{"title":229,"url":230},"Cloud Competence Center","/no/azure/cloud-competence-center",{"name":232,"languages":233,"children":242},"security",{"no":234},{"title":235,"description":236,"emergency":237},"Security","Årvåkenhet i cloud med en prisbelønt 24/7 managed service, incident response og moderne beskyttelse av infrastrukturen din.",{"text":238,"href":239,"skin":240,"icon":241},"Under angrep?","/no/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",{"no":249},{"title":250,"url":251},"Managed Red Tenant","/no/security/managed-red-tenant",{"name":214,"languages":253},{"no":254},{"title":255,"url":218},"Dark Tenant",{"name":257,"languages":258},"sentinel-data-lake",{"no":259},{"title":260,"url":261},"Sentinel Data Lake","/no/security/sentinel-data-lake",{"name":263,"languages":264},"security-consulting",{"no":265},{"title":266,"url":267},"Security Consulting","/no/security/security-consulting",{"name":269,"children":270},"security-cloud-security-operations-center",[271,277,283],{"name":272,"languages":273},"cloud-security-operations-center",{"no":274},{"title":275,"url":276},"Cloud Security Operations Center","/no/security/cloud-security-operations-center",{"name":278,"languages":279},"global-secure-access",{"no":280},{"title":281,"url":282},"Global Secure Access","/no/security/global-secure-access",{"name":284,"languages":285},"my-work-id",{"no":286},{"title":287,"url":288},"MyWorkID","/no/security/my-work-id",{"name":290,"children":291},"security-preventive-services",[292,298,304,310],{"name":293,"languages":294},"preventive-services",{"no":295},{"title":296,"url":297},"Preventive Services","/no/security/preventive-services",{"name":299,"languages":300},"data-security-services",{"no":301},{"title":302,"url":303},"Data Security Service","/no/security/data-security-service",{"name":305,"languages":306},"security-copilot-agents",{"no":307},{"title":308,"url":309},"Security Copilot Agents","/no/security/security-copilot-agents",{"name":311,"languages":312},"nis2",{"no":313},{"title":314,"url":315},"Innføre NIS2","/no/security/red-dark-tenant-nis2",{"name":317,"languages":318,"children":322},"products",{"no":319},{"title":320,"description":321},"Produkter","Innovative tilleggsprodukter for et fullstendig sikkert, 100 % cloud-native Microsoft-miljø som styrker samarbeid, nettverksautentisering og programvarehåndtering.",[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",{"no":332},{"title":333,"url":334,"subtitle":335},"RealmJoin","https://www.realmjoin.com","Cloud-basert programvaredistribusjon",{"name":337,"img":338,"target":330,"languages":339},"scepman","products/scepman/scepman-nav-logo.svg",{"no":340},{"title":341,"url":342,"subtitle":343},"SCEPman","https://www.scepman.com","Sertifikatdistribusjon fra cloud",{"name":345,"img":346,"target":330,"languages":347},"konnekt","products/konnekt/konnekt-nav-logo.svg",{"no":348},{"title":349,"url":350,"subtitle":351},"KONNEKT","https://www.konnekt.io","Jobb med dine lokale office 365-data",{"name":353,"img":354,"target":330,"languages":355},"realmigrator","products/realmigrator/realmigrator-nav-logo.svg",{"no":356},{"title":357,"url":358,"subtitle":359},"RealMigrator","https://www.realmigrator.com","Migrer dataene dine fra én server til en annen",{"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",{"no":367},{"title":368,"url":369,"subtitle":370},"TerraProvider","https://www.terraprovider.com","Terraform Provider for Microsoft 365",{"name":372,"img":373,"target":330,"languages":374},"radiusaas","products/radius/radius-nav-logo.svg",{"no":375},{"title":376,"url":377,"subtitle":378},"RADIUSaaS","https://www.radius-as-a-service.com","Autentisering for nettverket ditt",{"name":380,"img":381,"target":330,"languages":382},"unifiedcontacts","products/unified-contacts/unifiedcontact-nav-logo.svg",{"no":383},{"title":384,"url":385,"subtitle":386},"Unified Contacts","https://www.unified-contacts.com","Finn kontakter i Microsoft Teams",{"name":388,"img":389,"target":330,"languages":390},"autopilotmonitor","products/autopilot-monitor/AutopilotMonitor-nav-logo.svg",{"no":391},{"title":392,"url":393,"subtitle":394},"Autopilot Monitor","https://www.autopilotmonitor.com","Windows Autopilot-overvåking i sanntid",{"name":396,"languages":397},"casestudies",{"no":398},{"title":399,"url":400,"description":401},"Case Studies","/no/casestudies","Pioner i cloud: din fremste Microsoft-partner for omfattende cloud-løsninger med en Blueprint-basert tilnærming og Infrastructure-as-Code-kompetanse.",{"name":403,"languages":404,"children":407},"company",{"no":405},{"title":406,"description":401},"Selskap",[408,438,462],{"name":409,"languages":410,"children":413},"company-about-us",{"no":411},{"title":412},"Om oss",[414,420,426,432],{"name":415,"languages":416},"company-facts-figures",{"no":417},{"title":418,"url":419},"Fakta og tall","/no/company/facts-and-figures",{"name":421,"languages":422},"company-contact",{"no":423},{"title":424,"url":425},"Kontakt og lokasjoner","/no/company/contact-and-locations",{"name":427,"languages":428},"switzerland",{"no":429},{"title":430,"url":431},"glueckkanja Sveits","/no/company/switzerland",{"name":433,"languages":434},"austria",{"no":435},{"title":436,"url":437},"glueckkanja Østerrike","/no/company/austria",{"name":439,"languages":440,"children":443},"company-career",{"no":441},{"title":442},"Karriere",[444,450,456],{"name":445,"languages":446},"company-career-overview",{"no":447},{"title":448,"url":449},"Karriereoversikt","/no/career",{"name":451,"languages":452},"company-young-professionals",{"no":453},{"title":454,"url":455},"Young Professionals","/no/young-professionals",{"name":457,"languages":458},"company-jobs",{"no":459},{"title":460,"url":461},"Ledige stillinger","/no/job-offers",{"name":463,"languages":464,"children":467},"company-latest",{"no":465},{"title":466},"Siste nytt",[468,474],{"name":469,"languages":470},"company-blog",{"no":471},{"title":472,"url":473},"Blogg","/no/blog",{"name":469,"languages":475},{"no":476},{"title":477,"url":478},"Arrangementer","/no/events",[480],{"name":481,"languages":482},"career-meta",{"no":483},{"title":442,"url":449,"active":484},false,{"languages":486},{"no":487},{"title":488,"url":425,"active":484},"Kontakt",{"data":490},{"bgColor":491,"number":492,"mail":493,"brandLogos":494,"logos":495,"links":499,"linksNo":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},"Personvern","/no/privacy",{"title":514,"url":515},"Juridisk informasjon","/no/imprint",{"title":517,"url":518},"Ingen cookies","/no/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/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":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_no/posts/2025-01-14-compliant-device-bypass.md","Compliant Device Bypass - alt du trenger å vite",[521,554,555],"Christopher Brumm","Thomas Naunheim",{"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},"hva-har-skjedd-så-langt","Hva har skjedd så langt?",[526,564,565],{},"{: .h3-font-size}",[567,568,569,593,608,617],"ul",{},[570,571,572,573,580,581,586,587,592],"li",{},"I desember 2024 holdt ",[574,575,579],"a",{"href":576,"rel":577},"https://x.com/TEMP43487580",[578],"nofollow","Yuya Chudo"," foredraget «",[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å konferansen Black Hat Europe. I sesjonen viste han hvordan man kan misbruke et hardkodet og lite kjent unntak i Conditional Access (CA) for device compliance i kombinasjon med den udokumenterte «",[574,588,591],{"href":589,"rel":590},"https://github.com/secureworks/family-of-client-ids-research",[578],"FOCI-funksjonen","» i Entra ID. I foredraget presenterte han også svaret fra Microsoft MSRC (VULN-123240) om at denne atferden er tilsiktet og nødvendig for at nye enheter skal kunne gjennomføre Intune Enrollment.",[570,594,595,596,601,602,607],{},"Noen dager etter konferansen publiserte Sunny Chau proof-of-concept-verktøyet ",[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],"tilhørende blogginnlegg",", noe som gjorde teknikken tilgjengelig for et bredere publikum.",[570,609,610,611,616],{},"I tillegg har 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"," blitt publisert.",[570,618,619],{},"Siden slutten av desember har vi i glueckkanja AG undersøkt hvordan denne teknikken kan forhindres og oppdages. I dette blogginnlegget vil vi dele noen av innsiktene våre om angrepet og diskutere muligheter for tiltak og deteksjon.",[559,621,623],{"id":622},"tldr","TL;DR",[526,625,565],{},[526,627,628,629,634,635],{},"Det finnes enkelte ressurser med et innebygd unntak fra bestemte Grant Controls/Conditions i Conditional Access for å løse visse problemer. Ett av dem er unntaket for Company Portal-appen fra Device Compliance, som løser høna-og-egget-problemet med å få enheter registrert i Intune før de anses som compliant. Denne atferden 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],"dokumentert her",".\n",[636,637,638],"strong",{},"Det betyr at du kan hente access- og refresh-token for denne appen fra en uadministrert enhet, selv om en CA-policy håndhever 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 implementert en funksjon som heter Family of Client IDs (FOCI), som lar en gruppe Microsoft OAuth-klientapplikasjoner hente access-token som hvilken som helst annen klient i familien ved hjelp av sin refresh-token. En atferd som ellers ikke er tillatt i OAuth2-standarden. Les ",[574,651,653],{"href":589,"rel":652},[578],"Secureworks opprinnelige arbeid"," for flere detaljer.\n",[636,656,657],{},"Ettersom Company Portal-appen er et «familiemedlem», kan de forespurte refresh-tokenene for den brukes til å hente token for andre apper i familien.",[526,659,660,661],{},"FOCI-funksjonen er begrenset, og samtykket mellom client id og ressursen må konfigureres og gis eksplisitt. For Company Portal-appen er dette samtykket blant annet gitt for tilgang til Microsoft Graph med et begrenset scope og til Azure AD Graph API med gjeldende brukers tillatelse.\n",[636,662,663],{},"Det betyr at en refresh-token for Company Portal kan brukes til å hente for eksempel access-token for Azure AD Graph API med scopet user_impersonation, noe som lar oss gjøre en rekke ting med for eksempel AADInternals eller ROADrecon.",[526,665,666],{},"For å gjennomføre angrepet trenger angriperen enten gyldige innloggingsopplysninger for offeret og mulighet til å utføre MFA hvis Conditional Access krever det, eller en gyldig refresh-token.",[559,668,670],{"id":669},"hvilken-risiko-og-hvilket-skadeomfang-finnes","Hvilken risiko og hvilket skadeomfang finnes?",[526,672,565],{},[674,675,677],"h3",{"id":676},"hvilke-av-de-mulige-ressursene-scopes-påvirkes-av-compliance-unntaket","Hvilke av de mulige ressursene (scopes) påvirkes av compliance-unntaket?",[526,679,680],{},"{: .h4-font-size}",[526,682,683],{},"Angriperen har muligheten til å be om token for en annen FOCI-applikasjon, slik det allerede er beskrevet. Microsoft har imidlertid kun implementert en omgåelse av kravene til device compliance for tilgang til token for visse ressursapplikasjoners ulike API-tillatelsesscoper. Særlig følgende delegerte API-tillatelser er sensitive og av interesse for angripere:",[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],{},"Ettersom de tildelte tillatelsene ikke gjelder selve applikasjonen, avhenger effekten av privilegiene til den som kaller (brukerkontoen) og av hvilke delegerte tillatelsesscoper som er autorisert til å utføre API-kall innenfor scopet.",[526,758,759],{},"La oss se nærmere på hvor kritiske de viste delegerte tillatelsesscopene er og på potensiell autorisasjon til å kalle sensitive APIer.",[559,761,763],{"id":762},"hvilke-privilegier-og-delegerte-scoper-er-kritiske","Hvilke privilegier og delegerte scoper 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 eldre programmatiske grensesnittet tilbyr mange APIer for å håndtere kataloginnstillinger og objekter i Entra ID (Azure AD). Det inkluderer Conditional Access-policyer, katalogroller, CRUD på grupper og enheter og operasjoner på den innloggede brukeren, for eksempel bytte av passord. En fullstendig liste over alle støttede operasjoner finnes i ",[574,776,779],{"href":777,"rel":778},"https://learn.microsoft.com/en-us/previous-versions/azure/ad/graph/api/api-catalog",[578],"referansen for Azure AD Graph API",". Dette APIet tas helt ut av bruk 30. juni 2025 (basert på ",[574,782,785],{"href":783,"rel":784},"https://learn.microsoft.com/en-us/graph/migrate-azure-ad-graph-overview",[578],"Microsofts siste kunngjøringer",").",[526,788,789,790,793],{},"Det tildelte delegerte scopet «user_impersonation» lar applikasjonen (i dette tilfellet Company Portal) handle på vegne av brukeren. Enhver tillatelse den innloggede brukeren har til et Entra-objekt, et scope eller på katalognivå kan altså brukes som autorisasjon i API-kallene. Brukeren kan være eier av et Entra ID-objekt (applikasjon, gruppe eller andre objekter), eller ha tildelte tillatelser via Entra ID-rolletildelinger. ",[636,791,792],{},"Ved aktive høyprivilegerte rolletildelinger vil dette la angriperen endre objekter eller kompromittere tenanten."," I det minste kan standard brukertillatelser, selv uten noen privilegier, brukes til omfattende rekognosering og opplisting av katalogobjekter i tenanten.",[526,795,796],{},"Scenarioene og effekten av å misbruke Azure AD Graph API avhenger derfor av den berørte brukerens aktive eller permanent tildelte privilegier. APIer for tilgang til Microsoft 365-tjenester (for eksempel for eksfiltrering av OneDrive) er ikke inkludert 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 delegerte scopet til Microsoft Graph API begrenset til et bestemt scope. Ved siden av OpenID-scoper (openid, email, profile) og grunnleggende leseoperasjoner på vegne av brukeren (ServicePrincipalEndpoint.Read.All, User.Read).",[526,806,807],{},"Listing og lesing av alle enhetsobjekter kan gjøres ved å kalle «device»-endepunktet i Microsoft Graph med standardtillatelser via «Device.Read.All». Dette kan hjelpe angripere med å få innsikt i enhetsobjekter.",[526,809,810],{},"Ved en kompromittert bruker med tildeling til «Intune Administrator» eller en delegering i Microsoft Intune RBAC bør følgende tildelte delegerte API-tillatelser anses 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 delegerte tillatelsene tillater CRUD-operasjoner, for eksempel på Device Compliance- og Configuration Policies, men også utrulling av ",[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"," for videre ondsinnet aktivitet på målenheter.",[674,831,737],{"id":832},"device-registration-service",[526,834,680],{},[526,836,837],{},"Med denne tillatelsen kan angriperen joine eller registrere en enhet til Entra ID. Det gjør igjen at de til og med kan enrolle enheten i Intune og, avhengig av Intune-konfigurasjonen, få en gyldig og compliant enhet for å få tilgang til enda flere beskyttede tjenester.",[674,839,841],{"id":840},"andre-foci-applikasjoner","Andre FOCI-applikasjoner",[526,843,680],{},[526,845,846],{},"Å be om tilgang til andre privilegerte grensesnitt, for eksempel Azure Resource Manager API, ligger innenfor FOCI og er også av interesse for angriperen. Denne ressursen er imidlertid fortsatt beskyttet og omgås ikke av grant-kontrollen «compliant device» i Conditional Access.",[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-oppdage-denne-angrepsteknikken","Kan vi oppdage denne angrepsteknikken?",[526,857,565],{},[526,859,860],{},"Som beskrevet over kommer den største risikoen fra tilgang til MS Graph og Azure AD Graph.",[526,862,863],{},"Ettersom applikasjons-IDen til Microsoft Intune Company Portal-appen alltid brukes i dette tilfellet, er hovedoppgaven ved utforming av en deteksjon å utelukke legitim bruk gjennom for eksempel enhetsregistreringer, som ifølge våre observasjoner handler om hvilke ressurser som nås først i en sesjon → ved et angrep vanligvis MS Graph eller Azure AD Graph.",[526,865,866],{},"Her er en fungerende deteksjon som vi har testet i flere miljøer av ulik 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-bør-vi-reagere-når-vi-oppdager-mistenkelig-aktivitet","Hvordan bør vi reagere når vi oppdager mistenkelig aktivitet?",[526,1035,565],{},[526,1037,1038],{},"Start incident response-prosessen din med en definert playbook som inneholder:",[567,1040,1041,1062,1070,1073,1076],{},[570,1042,1043,1044],{},"Jakt etter mistenkelig eller avvikende aktivitet fra den kompromitterte brukeren\n",[567,1045,1046,1053,1056,1059],{},[570,1047,1048,1049],{},"Oppsummering av ikke-interaktive innlogginger til ressursapplikasjoner, inkludert IP-adresser og UserAgents, basert på ",[1050,1051,1052],"code",{},"sessionId",[570,1054,1055],{},"Kontroll av om Microsoft Entra Audit Logs viser kritiske operasjoner utført av brukeren eller IP-adressene (for eksempel tillagte credentials på egne app-registreringer)",[570,1057,1058],{},"Identifisering av om brukeren har registrert enheter i den berørte sesjonen",[570,1060,1061],{},"Kontroll av Intune-revisjonsloggene for operasjoner fra applikasjonen «Company Portal» og den berørte brukeren",[570,1063,1064,1065],{},"Jakt etter relaterte varsler hos de påvirkede entitetene\n",[567,1066,1067],{},[570,1068,1069],{},"Søk etter entiteter i AlertEvidence-tabellen for å identifisere andre varsler basert på SessionId, IP-adresser og bruker",[570,1071,1072],{},"Identifisering av brukerens kritikalitet (basert på privilegier) i Exposure Management",[570,1074,1075],{},"Gjennomgang av jaktresultatene og verifisering av om handlingen var legitim som del av en enhetsregistrering.",[570,1077,1078],{},"Identifisering av den initiale tilgangsvektoren og tilbakestilling av brukerens innloggingsopplysninger og eventuelle enheter.",[559,1080,1082],{"id":1081},"kan-vi-motvirke-angrepet","Kan vi motvirke angrepet?",[526,1084,565],{},[526,1086,1087,1088,1091],{},"Ettersom det konfigurerte unntaket kreves for Intune-registrering, ",[636,1089,1090],{},"finnes det ingen tiltak som ikke samtidig bryter andre deler av Microsoft 365."," Tilgang til Azure AD Graph-ressursen kan ikke scopes eller blokkeres direkte. Enhver Conditional Access-policy som bruker «Block» som grant-kontroll vil hindre tilgang, men kan ha andre konsekvenser.",[526,1093,1094],{},"For tiltak er det imidlertid avgjørende å forstå at denne omgåelsen av Conditional Access ikke er et komplett angrep. Det er en teknikk som utgjør ett steg som muliggjør en rekke angrep.",[526,1096,1097],{},"En angrepssti kan være",[1099,1100,1101,1104,1107,1110],"ol",{},[570,1102,1103],{},"Kontokompromittering via phishing og AiTM",[570,1105,1106],{},"Omgåelse av Conditional Access",[570,1108,1109],{},"Rekognosering med for eksempel ROADrecon, GraphRunner eller AADInternals",[570,1111,1112],{},"Lateral bevegelse, privilegieeskalering eller persistens via en nyregistrert enhet enrollet i Intune",[526,1114,1115],{},"Ettersom vi ikke klarer å motvirke omgåelsen av Conditional Access uten å bryte Intune-registreringen, er det mer enn rimelig å innføre tiltak på de andre stegene i angrepsstien og også innføre fornuftige deteksjoner.",[526,1117,1118],{},"For å redusere sannsynligheten og effekten foreslår vi at du styrker andre kontroller og snart innfører følgende:",[567,1120,1121,1127,1133,1139,1145,1161,1167],{},[570,1122,1123,1126],{},[636,1124,1125],{},"Håndhev MFA for «All Users» og «All Cloud Apps» via Conditional Access."," Hvis du kun håndhever Device Compliance, holder enfaktorautentisering med denne teknikken.",[570,1128,1129,1132],{},[636,1130,1131],{},"Ikke bruk Device Compliance eller MFA i regelsettene dine, håndhev alltid begge."," Å bruke OR vil aldri begrense all tilgang til compliant enheter, ettersom en access-token med MFA i scope vil være nok til å få tilgang til tenanten.",[570,1134,1135,1138],{},[636,1136,1137],{},"Begrens registrering av sikkerhetsinformasjon til compliant enheter, phishing-resistent autentisering eller TAP."," I testene våre klarte vi ikke å omgå Device Compliance for registrering av sikkerhetsinformasjon.",[570,1140,1141,1144],{},[636,1142,1143],{},"Krev phishing-resistent autentisering eller TAP for å joine eller registrere enheter."," Uten det er det mulig å registrere en enhet med for eksempel AADInternals og denne teknikken.",[570,1146,1147,1150,1151],{},[636,1148,1149],{},"Krev MFA og «Sign-in frequency every time» for Microsoft Intune Enrollment."," Dette begrenser tidsrommet en angriper kan bruke ferske innloggingsopplysninger til å registrere en ny enhet i Intune.\n",[1152,1153,1154],"blockquote",{},[526,1155,1156,1157,1160],{},"🚧\n",[636,1158,1159],{},"NB: Sign-in frequency every time = hvert femte minutt","\nMicrosoft regner med fem minutters klokkeavvik når «every time» velges i en Conditional Access-policy, slik at brukerne ikke blir spurt oftere enn en gang hvert femte minutt.",[570,1162,1163,1166],{},[636,1164,1165],{},"Blokker privateide enheter i Intune Enrollment-restriksjonene."," Uten disse restriksjonene kan en angriper registrere en ny enhet og skaffe seg ytterligere fotfeste.",[570,1168,1169,1172],{},[636,1170,1171],{},"Sett device compliance til å feile når det ikke er tildelt en compliance-policy på en enhet i Intune."," Som standard betraktes hver enhet som compliant, selv om ingen policy faktisk er anvendt. Endre dette og gjør en device compliance-policy til et krav.",[526,1174,1175,1176,1180],{},"På lang sikt vil vi oppfordre deg til å investere i utrulling av passordløs, phishing-resistent autentisering som Windows Hello for Business og Passkeys (inkludert Platform Credentials via macOS Platform SSO). Det lar deg deretter håndheve phishing-resistent autentisering og blokkere AiTM-angrep. Tillat i stedet for passord bruk av Temporary Access Pass (TAP) i begrenset tid og for bestemte scenarioer, for eksempel onboarding av nye enheter eller ansatte. For å støtte bruken av TAP i ulike bruksområder har vi bygget ",[574,1177,287],{"href":1178,"rel":1179},"https://myworkid.cloud/",[578],".",[559,1182,1184],{"id":1183},"oppsummering","Oppsummering",[526,1186,565],{},[526,1188,1189],{},"Conditional Access som Zero Trust-motor for Entra ID er allerede komplisert i seg selv. Microsofts innebygde unntak i backend av Entra gjør det enda vanskeligere for mange å forstå hvilken effekt policyer og beskyttelser har. Likevel holder ideen om Zero Trust og forsvar i dybden.",[526,1191,1192],{},"Device compliance-policyen forhindrer de fleste AiTM-angrep, og multifaktorautentisering gjør det vanskeligere for en angriper å misbruke lekkede eller på annen måte kompromitterte innloggingsopplysninger.",[526,1194,1195],{},"Alle disse sikkerhetstiltakene må brukes sammen, ikke det ene i stedet for det andre. Det sikrer et trygt miljø, selv om ett av forsvarene manipuleres eller omgås.",[526,1197,1198],{},"Vi anbefaler sterkt at du ruller ut den angitte deteksjonen i Microsoft Defender XDR for å sikre at potensielt misbruk oppdages. Sørg for at SOCen din er klar til å etterforske slike hendelser, og gi dem de nødvendige playbookene.",{"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},"no","Compliant Device Bypass i Microsoft Intune: deteksjon, respons og tiltak","h2-font-size","2025-01-14",[235],"header-company-portal-ca-bypass","/blog/heads/header-company-portal-ca-bypass.png","I dette blogginnlegget samler glueckkanjas MVP Fabian Bader, Chris Brumm og Thomas Naunheim detaljene rundt Compliant Device Bypass i Microsoft Intune Company Portal. Etter videre undersøkelser har de funnet en tilnærming for å oppdage og reagere på den potensielle trusselen. Du får også veiledning om Conditional Access for å redusere angrepsflaten og detaljer om skadeomfanget.","Compliant Device Bypass, Microsoft Intune, Conditional Access, Entra ID, Intune Company Portal, device compliance, CA-unntak, TokenSmith PoC, cloud security, PowerShell PoC, Fabian Bader, Christopher Brumm, Thomas Naunheim, sikkerhetstrussel, Black Hat Europe, Intune Enrollment, MSRC-respons, angrepsdeteksjon, trusseltiltak, cloud compliance, FOCI-funksjon",{"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)","Kontakt oss nå","Vil du vite mer om Compliant Device Bypass og hvordan du oppdager og håndterer den effektivt? Ekspertene våre går gjerne gjennom funnene våre med deg og støtter deg med utprøvde strategier for bedre sikkerhet. Vi ser fram til å høre fra deg.","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","Vi ser fram til å høre fra deg",[1243,1247],{"text":492,"href":1244,"details":1245,"icon":1246},"tel:+49 69 4005520","Ring nå","site/phone",{"text":493,"href":1248,"icon":1249},"mailto:info@glueckkanja.com","site/mail",{"ctaText":1251,"cta":1252,"method":1217,"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":325,"requiredMsg":1264},"Navn*","text","name","Skriv inn navnet ditt.",{"label":1266,"type":1262,"id":403,"required":325,"requiredMsg":1267},"Firma*","Skriv inn firmaet ditt.",{"label":1269,"type":1270,"id":1270,"required":325,"requiredMsg":1271},"E-postadresse*","email","Skriv inn e-postadressen din.",{"label":1273,"type":1274,"id":1275,"required":325,"requiredMsg":1276},"Dataene dine lagres hos oss for å behandle og besvare henvendelsen din. Du finner mer informasjon om personvern i vår \u003Ca href=\"/no/privacy\">personvernerklæring\u003C/a>.","checkbox","dataprotection","Bekreft",{"type":1257,"id":1278,"value":1279},"_subject","Request Global Secure Access | NO",{"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","CMHv6AwPsfsiovbZwSjhO6OEiwMwI-aK3YLCyBmXBEs",{"id":1295,"title":1296,"author":1297,"body":1298,"cta":494,"description":1302,"eventid":494,"extension":533,"hideInRecent":484,"layout":1217,"meta":2083,"moment":2085,"navigation":325,"path":2106,"seo":2107,"stem":2108,"tags":2109,"webcast":484,"__hash__":2112},"content_no/posts/2025-12-31-vulnerability-consentfix.md","AuthCodeFix aka ConsentFix",[521,554,555],{"type":523,"value":1299,"toc":2063},[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,1435,1438,1458,1468,1472,1475,1478,1481,1484,1488,1491,1494,1511,1520,1524,1528,1548,1552,1557,1568,1571,1579,1583,1597,1601,1612,1616,1619,1627,1630,1638,1641,1649,1653,1656,1677,1680,1745,1748,1751,1754,1757,1760,1766,1769,1810,1814,1829,1833,1837,1851,1854,1857,1862,1865,1876,1880,1887,1891,1897,1902,1916,1922,1928,1934,1945,1948,1954,1957,1982,1990,1994,2014,2020,2023,2029,2033],[526,1301,1302],{},"Som tradisjonen tro rett før årsslutt dukker det opp en ny sårbarhet eller et smart angrepsvektor, og defenders sitter igjen og forsøker å beskytte brukerne sine. Samtidig følger andre angripere og red teamere nøye med og tilpasser seg.",[526,1304,1305],{},"I år oppdaget PushSecurity et angrep de har kalt «ConsentFix», en videreutvikling av ClickFix-angrepet som er avhengig av at brukeren gir angriperen en URI som i praksis overleverer nøkkelen til Entra-riket. Metoden som ble observert i det fri, var avhengig av at brukeren manuelt kopierte og limte inn for å virke. I løpet av få dager publiserte John Hammond en video som demonstrerte en forbedret variant av angrepet som ikke lenger krevde kopiering og innliming; i stedet kunne brukeren rett og slett dra og slippe autentiseringskoden sin til angriperen.",[526,1307,1308],{},"Når vi ser nærmere på de tekniske detaljene rundt hvorfor dette angrepet fungerer og tilsynelatende omgår enhetscompliance og andre Conditional Access-krav, havner vi midt 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],{},"Angriperen konstruerer en Microsoft Entra-innloggings-URI som retter seg mot klienten «Microsoft Azure CLI» og ressursen «Azure Resource Manager», og åpner denne URI-en når brukeren besøker det ondsinnede nettstedet.",[526,1319,1320],{},"Mappet mot authorization code flow tilsvarer dette det første steget som en native public app som Azure CLI normalt ville kalt for å autentisere brukeren. Applikasjonen oppretter en listener på maskinen den kjøres på, på en tilfeldig høy port. Denne porten brukes som en såkalt reply URI.",[526,1322,1323,1324,1329],{},"Du kan enkelt reprodusere dette selv, for eksempel ved å bruke ",[574,1325,1328],{"href":1326,"rel":1327},"https://github.com/f-bader/TokenTacticsV2",[578],"TokenTacticsV2",", eller ved å konstruere 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],{},"Etter at brukeren har logget inn hos Entra ID, blir vedkommende omdirigert til reply-URI-en, for eksempel ",[574,1339,1340],{"href":1340,"rel":1341},"http://localhost:3001",[578],". I et normalt scenario ville Azure CLI nå akseptert kallet til denne URI-en og mottatt den viktige og kritiske informasjonen som ligger i omdirigeringen:",[567,1344,1345,1355],{},[570,1346,1347,1349,1351,1352,1354],{},[636,1348,1050],{},[873,1350],{},"\nDette er authorization_code, som applikasjonen bruker for å be om en bearer token, bestående av access token, ID token og eventuelt refresh token.",[873,1353],{},"\nIfølge dokumentasjonen er denne koden gyldig i rundt 10 minutter og må innløses innenfor dette tidsvinduet.",[570,1356,1357,1360,1362],{},[636,1358,1359],{},"state",[873,1361],{},"\nDette er en valgfri parameter, og applikasjonen bør verifisere at den er identisk i forespørselen og i responsen.",[526,1364,1365],{},"I angrepsscenariet blir brukeren også omdirigert, men siden ingen applikasjon kjører på localhost, støter nettleseren på en feil.",[526,1367,1368],{},[642,1369],{"alt":1370,"src":1371},"The browser runs into an error","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-03.png",[526,1373,1374],{},"URI-en inneholder likevel den sensitive informasjonen, og det er akkurat dette angriperen vil at brukeren skal levere. Hvis brukeren gjør det, vil angriperen innløse token-materialet og deretter kunne bruke access token og refresh token for å nå ressursen, i dette tilfellet Azure Resource Manager.",[526,1376,1377],{},"I dette skjermbildet ser du hvordan bearer token hentes ut ved hjelp av URI-en brukeren har oppgitt.",[526,1379,1380],{},[642,1381],{"alt":1382,"src":1383},"Bearer token using the URI provided by the user","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-04.png",[1152,1385,1386],{},[526,1387,1388],{},"Hvis du vil teste deteksjonene dine, sørg for at du utfører det siste steget fra et annet system, i et annet nettverk.",[559,1390,1392],{"id":1391},"deteksjons-artefakter","Deteksjons-artefakter",[526,1394,1395,1396,1399,1400,1403],{},"Når du reproduserer angrepet og sjekker ",[1050,1397,1398],{},"SigninLogs"," og ",[1050,1401,1402],{},"AADNonInteractiveUserSignInLogs",", vil du se to hendelser for denne ene innloggingsaktiviteten. Den første hendelsen representerer selve brukerinnloggingen, mens den andre stammer fra angriperens 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 forskjellen er at den første hendelsen er en interaktiv innloggingshendelse, mens den andre er ikke-interaktiv. Dette speiler de to trinnene i autentiseringsflyten: først brukeren, deretter applikasjonen, eller i vårt tilfelle angriperen.",[526,1414,1415],{},"Normal oppførsel for Azure CLI ville vært at begge sign-in-hendelsene stammer fra samme IP-adresse. I vårt tilfelle er IP-adressene derimot forskjellige, og de kommer fra ulike land. Sistnevnte er selvsagt ikke en pålitelig indikator, ettersom angriperen kan oppholde seg i samme land som offeret for å skjule sporene sine.",[674,1417,1419],{"id":1418},"missing-link","Missing link",[526,1421,1422],{},"Da vi lette etter en god måte å koble sammen disse to hendelsene, var den naturlige første tanken å sjekke Unique Token Identifier (UTI). Microsoft bruker imidlertid ulike verdier for authorization code-UTI og bearer token-UTI, så denne fremgangsmåten fungerer ikke som en pålitelig 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,1434],{},[1050,1432,1433],{},"SessionId"," er derimot en god kobling mellom de to, selv om det er en langlevende ID som kan inneholde flere slike hendelseskombinasjoner, også legitime.",[526,1436,1437],{},"Med tilleggskunnskap om begrensningene i auth code flow, samt bruker- og applikasjons-ID som ytterligere koblinger, kan du bruke tid som en viktig deteksjonsfaktor:",[567,1439,1440,1443,1446,1449,1452,1455],{},[570,1441,1442],{},"Begge hendelsene deler samme SessionId",[570,1444,1445],{},"Begge hendelsene deler samme ApplicationId",[570,1447,1448],{},"Begge hendelsene deler samme UserId",[570,1450,1451],{},"Den andre hendelsen må komme etter den første",[570,1453,1454],{},"Den andre hendelsen må skje innenfor et tidsvindu på omtrent 10 minutter etter den første. Du bør ikke bruke nøyaktig 10 minutter, siden Microsoft skriver «[...] they expire after about 10 minutes»",[570,1456,1457],{},"Du bør kun ta hensyn til den aller neste hendelsen nummer to, ikke etterfølgende hendelser",[1152,1459,1460],{},[526,1461,1462,1465,1467],{},[636,1463,1464],{},"Fun fact",[873,1466],{},"\nResourceIdentity er ikke en god kobling, ettersom angriperen kan endre ressursen siden den ikke er bundet til auth code. Den målrettede applikasjons-ID-en kan ikke endres.",[559,1469,1471],{"id":1470},"reduser-støyen","Reduser støyen",[526,1473,1474],{},"Denne kunnskapen ga oss allerede en god fungerende deteksjon, men det var også godartede positive treff i miksen. Moderne utviklere bruker skyressurser som ser ut som lokale instanser, men som gir uregelmessige innloggingsmønstre i loggene.",[526,1476,1477],{},"Den avgjørende forskjellen er tidskomponenten. Mens angrepet krever brukerinteraksjon for å kopiere og lime inn eller dra og slippe URI-en, er GitHub Codespace-bruksscenarioet vi identifiserte som kilde til de godartede positive varslene, helt automatisert og innløser auth code i løpet av få sekunder.",[526,1479,1480],{},"Å filtrere bort alt som gjennomfører denne autentiseringsdansen i løpet av noen få sekunder, kan derfor med stor sannsynlighet fjernes som godartet.",[526,1482,1483],{},"En annen støykilde kan være skiftende egress-punkter for internettrafikken din, spesielt i SD-WAN-, ZTNA- eller Secure Web Gateway-scenarier.",[559,1485,1487],{"id":1486},"berørte-first-party-applikasjoner","Berørte first-party-applikasjoner",[526,1489,1490],{},"Selv om den opprinnelige rapporten viser «Microsoft Azure CLI» som den misbrukte applikasjonen, finnes det en rekke ulike Microsoft first-party-apper med pre-consent i hver tenant som tilbyr localhost som redirect. Og det er ikke bare disse som er mål. Angriperen kan også misbruke reply-, test- og dev-URL-er som ikke er offentlig oppløsbare.",[526,1492,1493],{},"Her er en liste over de mest bemerkelsesverdige applikasjonene som også har høye pre-consented tillatelser til ressurser.",[567,1495,1496,1499,1502,1505,1508],{},[570,1497,1498],{},"Microsoft Azure CLI (04b07795-8ddb-461a-bbee-02f9e1bf7b46)",[570,1500,1501],{},"Microsoft Azure PowerShell (1950a258-227b-4e31-a9cf-717495945fc2)",[570,1503,1504],{},"Visual Studio (04f0c124-f2bc-4f59-8241-bf6df9866bbd)",[570,1506,1507],{},"Visual Studio Code (aebc6443-996d-45c2-90f0-388ff96faa56)",[570,1509,1510],{},"MS Teams PowerShell Cmdlets (12128f48-ec9e-42f0-b203-ea49fb6af367)",[526,1512,1513,1514,1519],{},"En fullstendig liste over disse appene er nå inkludert i ",[574,1515,1518],{"href":1516,"rel":1517},"https://entrascopes.com/?authcodeFix=true",[578],"EntraScopes.com"," av kollegaen vår Fabian Bader.",[559,1521,1523],{"id":1522},"tiltak-og-beskyttelse","Tiltak og beskyttelse",[674,1525,1527],{"id":1526},"begrens-angrepsflaten-og-målgruppen","Begrens angrepsflaten og målgruppen",[868,1529,1532,1535,1536,1538,1541,1542,1544,1547],{"className":1530},[1531],"option-block",[636,1533,1534],{},"Innføringsinnsats:"," Lav til høy (avhenger av innsatsen for å identifisere legitime brukere)",[873,1537],{},[636,1539,1540],{},"Tiltak:"," Middels (reduserer den potensielle målgruppen for angrepet)",[873,1543],{},[636,1545,1546],{},"Omfang:"," begrenset\n",[674,1549,1551],{"id":1550},"alternativ-1-krev-user-assignment","Alternativ 1: Krev User Assignment",[1553,1554,1556],"h4",{"id":1555},"forutsetninger","Forutsetninger:",[567,1558,1559,1562,1565],{},[570,1560,1561],{},"Legg til service principal for berørte first-party-apper ved hjelp av Microsoft Graph API eller PowerShell",[570,1563,1564],{},"Aktiver user assignment-kravet på service principal-objektet via Microsoft Graph API eller PowerShell",[570,1566,1567],{},"Etabler en prosess for å tildele brukere ved forespørsel, via Access Packages, PIM-for-Groups (for just-in-time-tilgang), eller en kombinasjon av begge.",[685,1569,1570],{},"\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",[1572,1573,1576],"pre",{"className":1574},[1575],"code-block",[1050,1577,1578],{},"\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",[1553,1580,1582],{"id":1581},"fordel","Fordel:",[567,1584,1585,1588,1591,1594],{},[570,1586,1587],{},"Muliggjør styring av brukertildelinger gjennom Access Packages eller manuelt gruppemedlemskap for å begrense eksponeringen mot denne angrepsteknikken.",[570,1589,1590],{},"Mulighet til å tilby just-in-time-tilgang kombinert med tildeling av eligible gruppemedlemskap, som gir midlertidig tilgang til CLI-verktøy og dermed reduserer angrepsflaten ytterligere.",[570,1592,1593],{},"Anvendes før Conditional Access-policyer evalueres.",[570,1595,1596],{},"Begrenser angrepsflaten også i andre scenarier.",[1553,1598,1600],{"id":1599},"ulempe","Ulempe:",[567,1602,1603,1606,1609],{},[570,1604,1605],{},"Kan kun avgrenses til spesifikke brukere og kan ikke kombineres med andre krav som bruk av bestemte enheter",[570,1607,1608],{},"Alle legitime CLI-brukere må identifiseres",[570,1610,1611],{},"Sideeffekter og organisatorisk påvirkning må vurderes nøye ved å gjennomgå tidligere sign-ins.",[674,1613,1615],{"id":1614},"alternativ-2-blokker-tilgang-ved-hjelp-av-conditional-access-policyer","Alternativ 2: Blokker tilgang ved hjelp av Conditional Access-policyer",[1553,1617,1556],{"id":1618},"forutsetninger-1",[567,1620,1621,1624],{},[570,1622,1623],{},"Opprett en Conditional Access-policy som blokkerer tilgang til CLI-verktøy, med unntak for legitime brukere, ved å målrette «Microsoft Graph Command Line Tools» og «Windows Azure Service Management API»",[570,1625,1626],{},"Administrer unntak via gruppemedlemskap, enten manuelt eller gjennom entitlement management (for eksempel Access Packages).",[1553,1628,1582],{"id":1629},"fordel-1",[567,1631,1632,1635],{},[570,1633,1634],{},"Forhindrer tokenutstedelse for ikke-legitime eller ikke-privilegerte brukere.",[570,1636,1637],{},"Muliggjør granulær avgrensning basert på tilleggsbetingelser som enhet eller nettverk.",[1553,1639,1600],{"id":1640},"ulempe-1",[567,1642,1643,1646],{},[570,1644,1645],{},"Alle legitime CLI-brukere må identifiseres og ekskluderes.",[570,1647,1648],{},"Sideeffekter og organisatorisk påvirkning må vurderes nøye ved å gjennomgå tidligere sign-ins og evaluere policyen i report-only-modus.",[674,1650,1652],{"id":1651},"blokker-tokenutstedelse-via-authorization-code-flow","Blokker tokenutstedelse via authorization code flow",[685,1654,1655],{},"\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,1657,1659,1662,1663,1665,1667,1668,1670,1667,1672,1674,1676],{"className":1658},[1531],[636,1660,1661],{},"Alternativ:"," Krev Token Protection",[873,1664],{},[636,1666,1534],{}," Høy",[873,1669],{},[636,1671,1540],{},[873,1673],{},[636,1675,1546],{}," Svært begrenset\n",[1553,1678,1556],{"id":1679},"forutsetninger-2",[567,1681,1682,1685,1688,1707],{},[570,1683,1684],{},"Microsoft Entra ID P1-lisenser",[570,1686,1687],{},"Entra ID Registered Devices, Hybrid- eller Entra ID-joined-enheter på Windows-plattformen",[570,1689,1690,1691,936,1696,1399,1701,1706],{},"Aktiver Web Account Manager (WAM) i ",[574,1692,1695],{"href":1693,"rel":1694},"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,1697,1700],{"href":1698,"rel":1699},"https://learn.microsoft.com/en-us/powershell/azure/configure-global-settings?view=azps-15.1.0#web-account-manager-wam",[578],"Azure PowerShell",[574,1702,1705],{"href":1703,"rel":1704},"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 nyeste versjoner)",[570,1708,1709,1710],{},"Konfigurer Conditional Access som retter seg mot:\n",[567,1711,1712,1726,1734],{},[570,1713,1714,1715],{},"Cloud App targeting mot følgende apper:\n",[567,1716,1717,1720,1723],{},[570,1718,1719],{},"Office 365 Exchange Online",[570,1721,1722],{},"Office 365 SharePoint Online",[570,1724,1725],{},"Microsoft Teams Services",[570,1727,1728,1729,1733],{},"Client apps under ",[1730,1731,1732],"em",{},"Mobile apps and desktop clients"," for å kreve Token Protection.",[570,1735,1736,1737,1740,1741,1744],{},"Velg ",[1730,1738,1739],{},"Windows"," som ",[1730,1742,1743],{},"device platform"," for målrettingen av policyen",[1553,1746,1582],{"id":1747},"fordel-2",[526,1749,1750],{},"Token protection i Microsoft Entra krever proof-of-possession (PoP), som kun kan håndheves når klienten kommuniserer direkte med en tiltrodd token broker som Web Account Manager (WAM) på Windows. Fordi nettlesere ikke kan etablere denne sikre kanalen, blir authorization code flow som initieres i en nettleser blokkert under token protection-policyer.",[526,1752,1753],{},"Når policyen håndhever token protection som krever broker-styrt PoP, kan ikke authorization code som returneres til en nettleser, innløses, ettersom nettleseren ikke kan produsere den nødvendige broker-signerte bekreftelsen under vekslingen fra code til token.",[526,1755,1756],{},"I dette tilfellet vil angrep med AuthCodeFix være fullstendig avverget, så lenge applikasjonen kan beskyttes av Token Protection.",[526,1758,1759],{},"Som vist i skjermbildet under, hindrer Token Protection innløsingen av authorization code flow som initieres av offeret gjennom en phishing-handling.",[526,1761,1762],{},[642,1763],{"alt":1764,"src":1765},"Token Protection successfully mitigates the redemption of the authorization code flow","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-07.png",[1553,1767,1600],{"id":1768},"ulempe-2",[567,1770,1771,1801,1804,1807],{},[570,1772,1773,1774],{},"Kun følgende ressurser er offisielt støttet:\n",[567,1775,1776,1778,1780],{},[570,1777,1719],{},[570,1779,1722],{},[570,1781,1725,1782,1784,1786,1787,1399,1790,1794,1795,1800],{},[873,1783],{},[873,1785],{},"\nMicrosoft Graph API er indirekte dekket av de nevnte ressursene, og Microsoft Graph PowerShell er listet som en støttet klient. Vi kunne i testingen vår verifisere at angrepet blir avverget i dette scenariet. «Windows Azure Service Management API» er ikke oppført som støttet ressurs. Begge CLI-klientene (",[574,1788,1695],{"href":1693,"rel":1789},[578],[574,1791,1700],{"href":1792,"rel":1793},"https://learn.microsoft.com/en-us/powershell/azure/authenticate-interactive?view=azps-15.1.0#benefits-of-wam",[578],") støtter WAM, som er et klientside-krav for å bruke Token Protection. Microsoft har annonsert ",[574,1796,1799],{"href":1797,"rel":1798},"https://techcommunity.microsoft.com/blog/microsoft-entra-blog/how-to-break-the-token-theft-cyber-attack-chain/4062700",[578],"i et blogginnlegg"," at token protection-funksjonaliteten skal utvides til Azure management-scenarier.",[570,1802,1803],{},"Enkelte bugs i Microsoft Graph PowerShell tvinger deg til midlertidig å deaktivere WAM-integrasjonen",[570,1805,1806],{},"Sideeffekter og organisatorisk påvirkning må vurderes nøye ved å gjennomgå tidligere sign-ins og evaluere policyen i report-only-modus. Cloud app targeting vil også påvirke produktivitetstilgang til Microsoft 365.",[570,1808,1809],{},"Begrenset omfang på grunn av tilgjengelighet på støttede plattformer og Entra ID-integrerte enheter.",[674,1811,1813],{"id":1812},"blokker-videre-tokenutstedelse-via-compliant-network-sjekk-eller-trusted-network","Blokker videre tokenutstedelse via compliant network-sjekk eller trusted network",[868,1815,1817,1819,1820,1822,1819,1824,1826,1828],{"className":1816},[1531],[636,1818,1534],{}," Middels",[873,1821],{},[636,1823,1540],{},[873,1825],{},[636,1827,1546],{}," Bredt\n",[674,1830,1832],{"id":1831},"alternativ-blokker-tilgang-utenfor-compliant-network-med-global-secure-access","Alternativ: Blokker tilgang utenfor Compliant network med Global Secure Access",[1553,1834,1836],{"id":1835},"forutsetning","Forutsetning:",[567,1838,1839,1842,1845,1848],{},[570,1840,1841],{},"Entra ID P1-lisens",[570,1843,1844],{},"Entra ID Registered Devices, Hybrid- eller Entra ID-joined-enheter på Windows-, macOS-, Android- og iOS-plattformer",[570,1846,1847],{},"Global Secure Access-klient på alle berørte klienter og aktivert Entra Internet Access for M365 Traffic Profile",[570,1849,1850],{},"Conditional Access-policy for å håndheve network compliant-sjekken skal gjelde alle cloud apps",[1553,1852,1582],{"id":1853},"fordel-3",[526,1855,1856],{},"Blokker ytterligere tokenutstedelse ved å håndheve en trusted network-sjekk. Dette tiltaket sørger for at angripere ikke kan hente nye tokens ved hjelp av refresh token fra authorization code flow. Det forhindrer imidlertid ikke den opprinnelige innløsingen av authorization code eller utstedelsen av det første access token, som forblir gyldig utenfor compliant network fordi det opprinnelig ble bedt om av offeret.",[1152,1858,1859],{},[526,1860,1861],{},"Å håndheve GSA med Compliant Network-betingelsen blokkerer også andre Token Replay-scenarier og gir ekstra logger som kan være svært nyttige for deteksjon og hunting.",[1553,1863,1600],{"id":1864},"ulempe-3",[567,1866,1867,1870,1873],{},[570,1868,1869],{},"Gjelder kun for brukere og enheter som har Global Secure Access-klienten utplassert",[570,1871,1872],{},"Begrenset omfang på grunn av tilgjengelighet på Entra ID-integrerte enheter",[570,1874,1875],{},"Håndheving av Compliant Networks via CA vil kreve enkelte unntak, som Intune, for å unngå høna-og-egget-problemer. Grundig testing er nødvendig før utrulling",[559,1877,1879],{"id":1878},"hunting-spørringer","Hunting-spørringer",[526,1881,1882,1883,1886],{},"Når alle forutsetningene for token theft-tiltak er på plass, som utplassering av GSA-klienten (inkludert innhenting av ",[1050,1884,1885],{},"NetworkAccessTraffic","-logger) og bruk av WAM-autentisering, får vi flere muligheter for threat hunting og verifisering.",[674,1888,1890],{"id":1889},"bruk-av-gsa-logger-og-wam-autentisering-til-hunting-eller-verifisering-av-deteksjonstillit","Bruk av GSA-logger og WAM-autentisering til hunting eller verifisering av deteksjonstillit",[526,1892,1893,1894,1896],{},"Denne hunting-spørringen benytter ",[1050,1895,1885],{},"-logger fra Global Secure Access (GSA), som inkluderer den initierende prosessen for kommunikasjon med Microsoft Entra-tokenendepunktet. Dette gjør det mulig å avgjøre om en tokenforespørsel kommer direkte fra en nettleser, og om det er gjort ytterligere tokenforespørsler utenfor GSA-nettverket.",[1152,1898,1899],{},[526,1900,1901],{},"Denne spørringen fungerer og gir pålitelige resultater kun når forutsetningene er oppfylt; ellers gir den høy falsk-positiv-rate.",[526,1903,1904,1907,1908,1911,1912,1915],{},[636,1905,1906],{},"Hvorfor dette er viktig:"," Ved innlogging via CLI eller PowerShell-moduler med Web Account Manager (WAM) på Windows-enheter, involverer flyten ingen nettleserbasert authorization code. Denne sign-in-oppførselen er standard i den nyeste versjonen. Hvis den initierende prosessen er en nettleser-executable (for eksempel ",[1050,1909,1910],{},"msedge.exe","), er dette en sterk indikator på mistenkelig aktivitet. På macOS initieres prosessen av Company Portal-appen (",[1050,1913,1914],{},"com.microsoft.CompanyPortalMac.ssoextension",") når Platform SSO brukes.",[526,1917,1918,1921],{},[636,1919,1920],{},"Token Binding og PoP:"," WAM-autentisering binder normalt tokens til enheten ved å håndheve Proof-of-Possession (PoP). Angripere kan ikke utstede ytterligere bundne tokens uten PoP, så et ubundet refresh token er en annen sterk indikator.",[526,1923,1924,1927],{},[636,1925,1926],{},"Begrensninger:"," Alle de nevnte signalene er kun tilgjengelige når enheten som logger på er registrert hos eller joined til Microsoft Entra ID.",[526,1929,1930,1933],{},[636,1931,1932],{},"Logikk for konfidensskår:"," Spørringen kombinerer flere signaler for å beregne en konfidensskår:",[567,1935,1936,1939,1942],{},[570,1937,1938],{},"Tilstedeværelse av en nettleserprosess som initierer tokenforespørsler.",[570,1940,1941],{},"Deteksjon av og nedgradering til ubundne tokens.",[570,1943,1944],{},"Endringer i nettverksleverandør (inkludert Compliant til non-compliant) mellom sign-ins.",[526,1946,1947],{},"Disse signalene kan brukes i spørringen til å jakte på aktivitet, eller til å utlede en konfidensskår i en hendelse basert på tidligere deteksjon.",[526,1949,1950],{},[642,1951],{"alt":1952,"src":1953},"Signals for the hunting query","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-08.png",[526,1955,1956],{},"Følgende skår vises avhengig av betingelsene:",[526,1958,1959,1962,1963,1965,1966,1968,1970,1973,1974,1976,1978,1981],{},[636,1960,1961],{},"En svært høy konfidensskår"," vises når ",[1050,1964,1885],{},"-logger indikerer en kjent nettleserprosess i stedet for initiering av en tokenforespørsel, og en nedgradering av et ubundet token er oppdaget.",[873,1967],{},[873,1969],{},[636,1971,1972],{},"En høy konfidensskår"," vises når sign-in skjer fra en annen Network Provider (ASN) og et non-compliant network som involverer ubundne tokens.",[873,1975],{},[873,1977],{},[636,1979,1980],{},"En middels konfidensskår"," vises når kun en endring i Network Provider og compliant network identifiseres, sammen med en endring i typen token som er brukt.",[526,1983,1984,1985,1180],{},"Du finner den siste versjonen av hunting-spørringen på ",[574,1986,1989],{"href":1987,"rel":1988},"https://github.com/Cloud-Architekt/AzureSentinel/blob/main/Hunting%20Queries/EID-Authentication/ConsentFix-HuntingConfidenceOnTokenAndNetworkSignals.kusto",[578],"GitHub",[674,1991,1993],{"id":1992},"jakt-etter-aktivitet-via-utstedte-tokens","Jakt etter aktivitet via utstedte tokens",[526,1995,1996,1997,2002,2003,2006,2007,2009,2010,2013],{},"Du bør vurdere å utvide undersøkelsen din utover sign-in-hendelser til også å omfatte aktivitet utført med tokens utstedt av angriperen. Kollegaen vår Thomas Naunheim har ",[574,1998,2001],{"href":1999,"rel":2000},"https://github.com/Cloud-Architekt/AzureSentinel/blob/main/Hunting%20Queries/EID-TokenHunting/MicrosoftCloudActivity.func",[578],"publisert en KQL-funksjon"," kalt ",[1050,2004,2005],{},"MicrosoftCloudActivity",", som kan bistå i denne utvidede hunting-prosessen. I tillegg kan berørt ",[1050,2008,1433],{}," korreleres med mistenkelige ",[1050,2011,2012],{},"UniqueId","-verdier identifisert under tidligere hunts for dypere analyse.",[526,2015,2016],{},[642,2017],{"alt":2018,"src":2019},"KQL function","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-09.png",[526,2021,2022],{},"I dette eksempelet brukte angriperen refresh token som ble hentet under angrepet, til å utstede et access token for Microsoft Graph API. Dette tokenet ble deretter brukt til å opprettholde vedvarende tilgang og lateral movement ved å legge til en client secret på en applikasjon eid av offeret. Spørringen gir detaljer om Graph API-operasjonen, inkludert token protection-status og om operasjonen skjedde utenfor Global Secure Access-nettverket.",[526,2024,2025],{},[642,2026],{"alt":2027,"src":2028},"Graph API operation screenshot","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-10.png",[559,2030,2032],{"id":2031},"videre-lesing","Videre lesing",[567,2034,2035,2042,2049,2056],{},[570,2036,2037],{},[574,2038,2041],{"href":2039,"rel":2040},"https://pushsecurity.com/blog/consentfix",[578],"ConsentFix: Analysing a browser-native ClickFix-style attack that hijacks OAuth consent grants - PushSecurity",[570,2043,2044],{},[574,2045,2048],{"href":2046,"rel":2047},"https://youtu.be/AAiiIY-Soak",[578],"Hacking Endpoint to Identity (Microsoft 365): \"ConsentFix\" - YouTube",[570,2050,2051],{},[574,2052,2055],{"href":2053,"rel":2054},"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,2057,2058],{},[574,2059,2062],{"href":2060,"rel":2061},"https://entrascopes.com/?appId=04b07795-8ddb-461a-bbee-02f9e1bf7b46",[578],"Microsoft Azure CLI on entrascpes.com",{"title":530,"searchDepth":531,"depth":531,"links":2064},[2065,2068,2069,2070,2078,2082],{"id":1391,"depth":531,"text":1392,"children":2066},[2067],{"id":1418,"depth":1206,"text":1419},{"id":1470,"depth":531,"text":1471},{"id":1486,"depth":531,"text":1487},{"id":1522,"depth":531,"text":1523,"children":2071},[2072,2073,2074,2075,2076,2077],{"id":1526,"depth":1206,"text":1527},{"id":1550,"depth":1206,"text":1551},{"id":1614,"depth":1206,"text":1615},{"id":1651,"depth":1206,"text":1652},{"id":1812,"depth":1206,"text":1813},{"id":1831,"depth":1206,"text":1832},{"id":1878,"depth":531,"text":1879,"children":2079},[2080,2081],{"id":1889,"depth":1206,"text":1890},{"id":1992,"depth":1206,"text":1993},{"id":2031,"depth":531,"text":2032},{"lang":1219,"seoTitle":2084,"titleClass":1221,"date":2085,"categories":2086,"blogtitlepic":2087,"socialimg":2088,"customExcerpt":2089,"keywords":2090,"scripts":2091,"asideNav":2092,"maxContent":325,"published":325},"ConsentFix: Hvordan et nytt OAuth-angrep omgår Microsoft Entra Conditional Access","2025-12-31",[235],"head-consentfix","/blog/heads/head-consentfix.jpg","Rett før årsslutt dukker ConsentFix opp: et smart OAuth-basert angrep som misbruker legitime autentiseringsflyter for å stjele autorisasjonskoden, og dermed i praksis overlate nøklene til Microsoft Entra til angriperen. Vi bryter ned hvorfor dette fungerer til tross for Conditional Access, hvilke signaler det etterlater seg i loggene, og hvordan defenders kan oppdage og stoppe det før reell skade oppstår.","ConsentFix angrep, OAuth authorization code tyveri, Microsoft Entra OAuth angrep, Azure CLI token misbruk, Entra ID Conditional Access bypass, authorization code phishing, token replay angrep Azure, Proof of Possession tokens, WAM authentication security, Azure sign-in log analyse, oppdag OAuth angrep Entra, Azure identity threat hunting, Global Secure Access token protection, Microsoft Entra security deteksjon",{"slick":325,"form":325},{"menuItems":2093},[2094,2096,2098,2100,2102,2104],{"href":2095,"text":1392},"#deteksjons-artefakter",{"href":2097,"text":1471},"#reduser-støyen",{"href":2099,"text":1487},"#berørte-first-party-applikasjoner",{"href":2101,"text":1523},"#tiltak-og-beskyttelse",{"href":2103,"text":1879},"#hunting-spørringer",{"href":2105,"text":2032},"#videre-lesing","/posts/2025-12-31-vulnerability-consentfix",{"title":1296,"description":1302},"posts/2025-12-31-vulnerability-consentfix",[2110,2111,281],"OAuth 2.0","Microsoft Entra ID","DHYE3AenJQBqstf4oXShyrYc2kfJN6JlX4fwy2FK8Ms",[],{"id":2115,"extension":2116,"meta":2117,"stem":8,"__hash__":2133},"authors_data/authors.json","json",{"Christopher Brumm":2118,"Fabian Bader":2124,"Thomas Naunheim":2129},{"display_name":554,"avatar":2119,"permalink":2120,"twitter":2121,"linkedin":2122,"imageOffsetTop":2123},"people/people-christopher-brumm.jpg","/authors/christopher-brumm","cbrhh","christopherbrumm","66%",{"display_name":521,"avatar":2125,"permalink":2126,"linkedin":2127,"twitter":2128},"people/people-fabian-bader.jpg","/authors/fabian-bader","fabianbader","fabian_bader",{"display_name":555,"avatar":2130,"permalink":2131,"linkedin":2132,"imageOffsetTop":2123},"people/people-thomas-naunheim.jpg","/authors/thomas-naunheim","thomasnaunheim","1csawlkJxRljy93GTOnXEkwLqAv9Lcj-apxRvoodAOY",1791383965863]