[{"data":1,"prerenderedAt":2392},["ShallowReactive",2],{"sc:header-data-da":3,"sc:footer-data-da":489,"author-da-thomas-naunheim-10be1ec7c4454b":519,"content-da-thomas-naunheim":549,"content-events-da-thomas-naunheim":2371,"authors_data:Christopher Brumm|Fabian Bader|Thomas Naunheim":2372},{"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",{"da":13},{"title":14,"url":15,"alt":16},"Forside","/da","glueckkanja Logo",[18,127,231,316,395,402],{"name":19,"languages":20,"children":24},"workplace",{"da":21},{"title":22,"description":23},"Workplace","Intelligente, sikre og fleksible arbejdspladser bygget på Microsoft 365, der forener moderne teknologier og identitetstjenester.",[25,55,91],{"name":26,"languages":27,"children":30},"portfolio",{"da":28},{"title":29},"Portfolio",[31,37,43,49],{"name":32,"languages":33},"managed-intune",{"da":34},{"title":35,"url":36},"Managed Intune","/da/entra-intune/managed-intune",{"name":38,"languages":39},"managed-entra",{"da":40},{"title":41,"url":42},"Managed Entra","/da/entra-intune/managed-entra",{"name":44,"languages":45},"managed-workplace",{"da":46},{"title":47,"url":48},"Managed Workplace","/da/workplace/managed-workplace",{"name":50,"languages":51},"consulting-services",{"da":52},{"title":53,"url":54},"Consulting Services","/da/workplace/consulting-services",{"name":56,"languages":57,"children":60},"microsoft-365-endpoint",{"da":58},{"title":59},"Microsoft 365 Endpoint",[61,67,73,79,85],{"name":62,"languages":63},"microsoft-entra-suite",{"da":64},{"title":65,"url":66},"Microsoft Entra Suite","/da/workplace/microsoft-entra-suite",{"name":68,"languages":69},"microsoft-intune",{"da":70},{"title":71,"url":72},"Microsoft Intune","/da/workplace/microsoft-intune",{"name":74,"languages":75},"microsoft-windows",{"da":76},{"title":77,"url":78},"Microsoft Windows","/da/workplace/microsoft-windows",{"name":80,"languages":81},"windows-365-cloud-pc",{"da":82},{"title":83,"url":84},"Windows 365 Cloud PC","/da/workplace/windows365-cloud-pc",{"name":86,"languages":87},"cloud-workplace-foundation",{"da":88},{"title":89,"url":90},"Cloud Workplace Foundation","/da/workplace/cloud-workplace-foundation",{"name":92,"languages":93,"children":96},"microsoft-365-collaboration",{"da":94},{"title":95},"Microsoft 365 Collaboration",[97,103,109,115,121],{"name":98,"languages":99},"microsoft-copilot",{"da":100},{"title":101,"url":102},"Microsoft 365 Copilot","/da/workplace/microsoft-365-copilot",{"name":104,"languages":105},"microsoft-teams",{"da":106},{"title":107,"url":108},"Teams","/da/workplace/microsoft-teams",{"name":110,"languages":111},"sharepoint-powerplatform",{"da":112},{"title":113,"url":114},"SharePoint & Power Platform","/da/workplace/sharepoint-power-platform",{"name":116,"languages":117},"exchange-online",{"da":118},{"title":119,"url":120},"Exchange Online","/da/workplace/exchange-online",{"name":122,"languages":123},"information-protection-compliance",{"da":124},{"title":125,"url":126},"Information Protection & Compliance","/da/workplace/information-protection-compliance",{"name":128,"languages":129,"children":133},"azure",{"da":130},{"title":131,"description":132},"Azure","Sæt gang i væksten med Azure: skær ned på cloudomkostningerne, øg effektiviteten og driv innovationen med IaaS og PaaS.",[134,151,181],{"name":135,"languages":136,"children":138},"azure-portfolio",{"da":137},{"title":29},[139,145],{"name":140,"languages":141},"azure-managed-services",{"da":142},{"title":143,"url":144},"Azure Managed Services","/da/azure/azure-managed-services",{"name":146,"languages":147},"azure-consulting",{"da":148},{"title":149,"url":150},"Azure Consulting","/da/azure/azure-consulting",{"name":152,"languages":153,"children":156},"azure-scenarios",{"da":154},{"title":155},"Scenarier",[157,163,169,175],{"name":158,"languages":159},"plan-your-cloud",{"da":160},{"title":161,"url":162},"Planlæg din cloud","/da/azure/plan-your-cloud",{"name":164,"languages":165},"migrate-to-the-cloud",{"da":166},{"title":167,"url":168},"Migrér til cloud","/da/azure/migrate-to-the-cloud",{"name":170,"languages":171},"innovate-your-business",{"da":172},{"title":173,"url":174},"Forny din forretning","/da/azure/innovate-your-business",{"name":176,"languages":177},"vmware-exit",{"da":178},{"title":179,"url":180},"Gentænk din VMware-strategi","/da/azure/vmware-exit",{"name":182,"languages":183,"children":186},"azure-practices",{"da":184},{"title":185},"Practices",[187,193,199,202,208,213,219,225],{"name":188,"languages":189},"azure-foundation",{"da":190},{"title":191,"url":192},"Azure Foundation","/da/azure/azure-foundation",{"name":194,"languages":195},"azure-ai-foundation",{"da":196},{"title":197,"url":198},"Azure AI Foundation","/da/azure/azure-ai-foundation",{"name":86,"languages":200},{"da":201},{"title":89,"url":90},{"name":203,"languages":204},"azure-data-foundation",{"da":205},{"title":206,"url":207},"Azure Data Foundation","/da/azure/azure-data-foundation",{"name":188,"languages":209},{"da":210},{"title":211,"url":212},"Azure Container Foundation","/da/azure/azure-container-foundation",{"name":214,"languages":215},"dark-tenant",{"da":216},{"title":217,"url":218},"Managed Dark Tenant","/da/azure/managed-dark-tenant",{"name":220,"languages":221},"azure-cloud-adoption-framework",{"da":222},{"title":223,"url":224},"Cloud Adoption Framework","/da/azure/cloud-adoption-framework",{"name":226,"languages":227},"azure-cloud-competence-center",{"da":228},{"title":229,"url":230},"Cloud Competence Center","/da/azure/cloud-competence-center",{"name":232,"languages":233,"children":242},"security",{"da":234},{"title":235,"description":236,"emergency":237},"Sikkerhed","Årvågenhed i clouden med en prisbelønnet 24/7 managed service, incident response og tidssvarende beskyttelse af din infrastruktur.",{"text":238,"href":239,"skin":240,"icon":241},"Under angreb?","/da/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",{"da":249},{"title":250,"url":251},"Managed Red Tenant","/da/security/managed-red-tenant",{"name":214,"languages":253},{"da":254},{"title":255,"url":218},"Dark Tenant",{"name":257,"languages":258},"sentinel-data-lake",{"da":259},{"title":260,"url":261},"Sentinel Data Lake","/da/security/sentinel-data-lake",{"name":263,"languages":264},"security-consulting",{"da":265},{"title":266,"url":267},"Security Consulting","/da/security/security-consulting",{"name":269,"children":270},"security-cloud-security-operations-center",[271,277,283],{"name":272,"languages":273},"cloud-security-operations-center",{"da":274},{"title":275,"url":276},"Cloud Security Operations Center","/da/security/cloud-security-operations-center",{"name":278,"languages":279},"global-secure-access",{"da":280},{"title":281,"url":282},"Global Secure Access","/da/security/global-secure-access",{"name":284,"languages":285},"my-work-id",{"da":286},{"title":287,"url":288},"MyWorkID","/da/security/my-work-id",{"name":290,"children":291},"security-preventive-services",[292,298,304,310],{"name":293,"languages":294},"preventive-services",{"da":295},{"title":296,"url":297},"Preventive Services","/da/security/preventive-services",{"name":299,"languages":300},"data-security-services",{"da":301},{"title":302,"url":303},"Data Security Service","/da/security/data-security-service",{"name":305,"languages":306},"security-copilot-agents",{"da":307},{"title":308,"url":309},"Security Copilot Agents","/da/security/security-copilot-agents",{"name":311,"languages":312},"nis2",{"da":313},{"title":314,"url":315},"Implementering af NIS2","/da/security/red-dark-tenant-nis2",{"name":317,"languages":318,"children":322},"products",{"da":319},{"title":320,"description":321},"Produkter","Companion-produkter til et gennemført sikkert, 100 % cloud-native Microsoft-miljø, der styrker samarbejdet, netværksautentificeringen og softwarehåndteringen.",[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",{"da":332},{"title":333,"url":334,"subtitle":335},"RealmJoin","https://www.realmjoin.com","Cloudbaseret softwaredistribution",{"name":337,"img":338,"target":330,"languages":339},"scepman","products/scepman/scepman-nav-logo.svg",{"da":340},{"title":341,"url":342,"subtitle":343},"SCEPman","https://www.scepman.com","Certifikatdistribution fra clouden",{"name":345,"img":346,"target":330,"languages":347},"konnekt","products/konnekt/konnekt-nav-logo.svg",{"da":348},{"title":349,"url":350,"subtitle":351},"KONNEKT","https://www.konnekt.io","Arbejd med dine lokale Office 365-data",{"name":353,"img":354,"target":330,"languages":355},"realmigrator","products/realmigrator/realmigrator-nav-logo.svg",{"da":356},{"title":357,"url":358,"subtitle":359},"RealMigrator","https://www.realmigrator.com","Migrér dine data fra én server til en anden",{"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",{"da":367},{"title":368,"url":369,"subtitle":370},"TerraProvider","https://www.terraprovider.com","Terraform Provider til Microsoft 365",{"name":372,"img":373,"target":330,"languages":374},"radiusaas","products/radius/radius-nav-logo.svg",{"da":375},{"title":376,"url":377,"subtitle":378},"RADIUSaaS","https://www.radius-as-a-service.com","Autentificering til dit netværk",{"name":380,"img":381,"target":330,"languages":382},"unifiedcontacts","products/unified-contacts/unifiedcontact-nav-logo.svg",{"da":383},{"title":384,"url":385,"subtitle":386},"Unified Contacts","https://www.unified-contacts.com","Find kontakter i Microsoft Teams",{"name":388,"img":389,"target":330,"languages":390},"autopilotmonitor","products/autopilot-monitor/AutopilotMonitor-nav-logo.svg",{"da":391},{"title":392,"url":393,"subtitle":394},"Autopilot Monitor","https://www.autopilotmonitor.com","Windows Autopilot-overvågning i realtid",{"name":396,"languages":397},"casestudies",{"da":398},{"title":399,"url":400,"description":401},"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":403,"languages":404,"children":407},"company",{"da":405},{"title":406,"description":401},"Virksomhed",[408,438,462],{"name":409,"languages":410,"children":413},"company-about-us",{"da":411},{"title":412},"Om os",[414,420,426,432],{"name":415,"languages":416},"company-facts-figures",{"da":417},{"title":418,"url":419},"Fakta og tal","/da/company/facts-and-figures",{"name":421,"languages":422},"company-contact",{"da":423},{"title":424,"url":425},"Kontakt og lokationer","/da/company/contact-and-locations",{"name":427,"languages":428},"switzerland",{"da":429},{"title":430,"url":431},"glueckkanja Schweiz","/da/company/switzerland",{"name":433,"languages":434},"austria",{"da":435},{"title":436,"url":437},"glueckkanja Østrig","/da/company/austria",{"name":439,"languages":440,"children":443},"company-career",{"da":441},{"title":442},"Karriere",[444,450,456],{"name":445,"languages":446},"company-career-overview",{"da":447},{"title":448,"url":449},"Karriereoversigt","/da/career",{"name":451,"languages":452},"company-young-professionals",{"da":453},{"title":454,"url":455},"Young Professionals","/da/young-professionals",{"name":457,"languages":458},"company-jobs",{"da":459},{"title":460,"url":461},"Ledige stillinger","/da/job-offers",{"name":463,"languages":464,"children":467},"company-latest",{"da":465},{"title":466},"Aktuelt",[468,474],{"name":469,"languages":470},"company-blog",{"da":471},{"title":472,"url":473},"Blog","/da/blog",{"name":469,"languages":475},{"da":476},{"title":477,"url":478},"Events","/da/events",[480],{"name":481,"languages":482},"career-meta",{"da":483},{"title":442,"url":449,"active":484},false,{"languages":486},{"da":487},{"title":488,"url":425,"active":484},"Kontakt",{"data":490},{"bgColor":491,"number":492,"mail":493,"brandLogos":494,"logos":495,"links":499,"linksDa":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},"Privatlivspolitik","/da/privacy",{"title":514,"url":515},"Juridisk information","/da/imprint",{"title":517,"url":518},"Ingen cookies","/da/cookies",{"id":520,"title":521,"body":522,"description":528,"extension":533,"meta":534,"name":521,"navigation":325,"otherLanguages":535,"path":545,"seo":546,"stem":547,"__hash__":548},"authors/thomas-naunheim.md","Thomas Naunheim",{"type":523,"value":524,"toc":529},"minimal",[525],[526,527,528],"p",{},"Thomas Naunheim ist Cyber Security Architect und Microsoft MVP mit Schwerpunkt auf Identitäts- und Sicherheitslösungen in der Microsoft Cloud. Sein Wissen teilt er gerne mit der Community in Vorträgen auf Konferenzen und in Artikel auf seinem Blog \"cloud-architekt.net”, wie auch als Co-Autor des “Microsoft Entra Attack & Defense Playbook”. Im Organisation-Team von \"Azure Meetup Bonn\" sowie dem \"Cloud Identity Summit\" ist er ebenfalls aktiv und ist Co-Host des Podcasts “Cloud Inspires”.",{"title":530,"searchDepth":531,"depth":531,"links":532},"",2,[],"md",{},{"en":536,"es":537,"sv":538,"fi":539,"da":540,"ko":541,"nl":542,"no":543,"ja":544},"Thomas Naunheim is a Cyber Security Architect and Microsoft MVP specializing in identity and security solutions within the Microsoft Cloud. He actively shares his expertise with the community through conference talks, articles on his blog \"cloud-architekt.net\", and as a co-author of the \"Microsoft Entra Attack & Defense Playbook\". He is also part of the organization team for the \"Azure Meetup Bonn\" and the \"Cloud Identity Summit\" and co-hosts the podcast \"Cloud Inspires\".","Thomas Naunheim es Cyber Security Architect y Microsoft MVP, especializado en soluciones de identidad y seguridad en la Microsoft Cloud. Comparte con gusto su conocimiento con la comunidad en ponencias en conferencias y en artículos de su blog \"cloud-architekt.net\", así como en calidad de coautor del \"Microsoft Entra Attack & Defense Playbook\". También participa activamente en el equipo organizador de \"Azure Meetup Bonn\" y del \"Cloud Identity Summit\", y es coanfitrión del podcast \"Cloud Inspires\".","Thomas Naunheim är Cyber Security Architect och Microsoft MVP med inriktning på identitets- och säkerhetslösningar i Microsoft Cloud. Han delar gärna med sig av sin kunskap till communityn i föredrag på konferenser och i artiklar på sin blogg \"cloud-architekt.net\", liksom som medförfattare till \"Microsoft Entra Attack & Defense Playbook\". Han är även aktiv i organisationsteamet för \"Azure Meetup Bonn\" och \"Cloud Identity Summit\" och är medvärd för podcasten \"Cloud Inspires\".","Thomas Naunheim on Cyber Security Architect ja Microsoft MVP, jonka painopisteenä ovat identiteetti- ja tietoturvaratkaisut Microsoft Cloudissa. Hän jakaa mielellään tietämystään yhteisölle esityksissä konferensseissa ja artikkeleissa blogissaan \"cloud-architekt.net\", samoin kuin \"Microsoft Entra Attack & Defense Playbook\" -teoksen toisena kirjoittajana. Hän toimii aktiivisesti myös \"Azure Meetup Bonn\"- ja \"Cloud Identity Summit\" -tapahtumien järjestelytiimissä ja on \"Cloud Inspires\" -podcastin toinen juontaja.","Thomas Naunheim er Cyber Security Architect og Microsoft MVP med fokus på identitets- og sikkerhedsløsninger i Microsoft Cloud. Han deler gerne sin viden med community'et i foredrag på konferencer og i artikler på sin blog \"cloud-architekt.net\", samt som medforfatter til \"Microsoft Entra Attack & Defense Playbook\". Han er også aktiv i organisationsteamet for \"Azure Meetup Bonn\" og \"Cloud Identity Summit\" og er medvært på podcasten \"Cloud Inspires\".","Thomas Naunheim은 Cyber Security Architect이자 Microsoft MVP로, Microsoft Cloud의 ID 및 보안 솔루션을 중점적으로 다룹니다. 그는 컨퍼런스 강연과 자신의 블로그 \"cloud-architekt.net\" 게시글을 통해 커뮤니티와 기꺼이 지식을 공유하며, \"Microsoft Entra Attack & Defense Playbook\"의 공동 저자이기도 합니다. 또한 \"Azure Meetup Bonn\"과 \"Cloud Identity Summit\"의 조직 팀에서 활동하고 있으며, 팟캐스트 \"Cloud Inspires\"의 공동 진행자입니다.","Thomas Naunheim is Cyber Security Architect en Microsoft MVP met een focus op identity- en securityoplossingen in de Microsoft Cloud. Zijn kennis deelt hij graag met de community, in lezingen op conferenties en in artikelen op zijn blog \"cloud-architekt.net”, en ook als co-auteur van het “Microsoft Entra Attack & Defense Playbook”. Daarnaast is hij actief in het organisatieteam van \"Azure Meetup Bonn\" en van de \"Cloud Identity Summit\", en is hij co-host van de podcast “Cloud Inspires”.","Thomas Naunheim er Cyber Security Architect og Microsoft MVP med tyngdepunkt på identitets- og sikkerhetsløsninger i Microsoft cloud. Kunnskapen sin deler han gjerne med community-en i foredrag på konferanser og i artikler på bloggen sin \"cloud-architekt.net”, samt som medforfatter av “Microsoft Entra Attack & Defense Playbook”. Han er også aktiv i organisasjonsteamet for \"Azure Meetup Bonn\" og \"Cloud Identity Summit”, og er medvert for podkasten “Cloud Inspires”.","Thomas NaunheimはCyber Security ArchitectでありMicrosoft MVPです。専門はMicrosoft Cloudにおけるアイデンティティとセキュリティのソリューションです。その知見は、カンファレンスでの講演やブログ「cloud-architekt.net」の記事、さらに「Microsoft Entra Attack & Defense Playbook」の共著者として、コミュニティに積極的に共有しています。「Azure Meetup Bonn」と「Cloud Identity Summit」の運営チームでも活動しており、ポッドキャスト「Cloud Inspires」の共同ホストも務めています。","/thomas-naunheim",{"title":521,"description":528},"thomas-naunheim","wOs1-l_EjYboGLXMCGBeomaKEG_WQm6SbnP6GUz3vZo",[550,1294,1551],{"id":551,"title":552,"author":553,"body":556,"cta":494,"description":530,"eventid":494,"extension":533,"hideInRecent":484,"layout":1216,"meta":1217,"moment":1221,"navigation":325,"path":1286,"seo":1287,"stem":1288,"tags":1289,"webcast":484,"__hash__":1293},"content_da/posts/2025-01-14-compliant-device-bypass.md","Compliant Device Bypass: alt hvad du behøver at vide",[554,555,521],"Fabian Bader","Christopher Brumm",{"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,287],{"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":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 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":325,"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":492,"href":1244,"details":1245,"icon":1246},"tel:+49 69 4005520","Ring nu","site/phone",{"text":493,"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":325,"requiredMsg":1264},"Navn*","text","name","Indtast venligst dit navn.",{"label":1266,"type":1262,"id":403,"required":325,"requiredMsg":1267},"Virksomhed*","Indtast venligst din virksomhed.",{"label":1269,"type":1270,"id":1270,"required":325,"requiredMsg":1271},"E-mailadresse*","email","Indtast venligst din e-mailadresse.",{"label":1273,"type":1274,"id":1275,"required":325,"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":325,"form":325},"/posts/2025-01-14-compliant-device-bypass",{"title":552,"description":530},"posts/2025-01-14-compliant-device-bypass",[1223,1290,1291,1292,281],"Entra","Conditional Access","ITDR","G4P0N_KZ0vKdfqocuGvE40SGWV9bciwB7oLNnjHf-Wg",{"id":1295,"title":1296,"author":1297,"body":1298,"cta":494,"description":530,"eventid":494,"extension":533,"hideInRecent":484,"layout":1216,"meta":1510,"moment":1512,"navigation":325,"path":1543,"seo":1544,"stem":1545,"tags":1546,"webcast":484,"__hash__":1550},"content_da/posts/2025-09-25-gsa-unlocked.md","Global Secure Access Unlocked",[555,521],{"type":523,"value":1299,"toc":1496},[1300,1304,1306,1309,1312,1315,1319,1321,1324,1329,1332,1337,1340,1345,1349,1351,1354,1358,1360,1363,1366,1369,1372,1377,1381,1383,1386,1394,1399,1403,1405,1408,1411,1414,1419,1423,1425,1428,1431,1434,1439,1443,1445,1448,1451,1454,1462,1465,1470,1474,1476,1479,1482,1486,1488,1490,1493],[559,1301,1303],{"id":1302},"hvad-er-en-managed-red-tenant","Hvad er en Managed Red Tenant?",[526,1305,565],{},[526,1307,1308],{},"Managed Red Tenant kombinerer vores omfattende erfaring med managed services med gennemprøvede blueprints inden for workplace, Azure og security.",[526,1310,1311],{},"Resultatet: et isoleret, fuldt cloudbaseret as-code managed miljø, der effektivt beskytter administrative brugere og endpoints, også i målmiljøer med flere Microsoft Entra-tenants og Active Directory-domæner.",[526,1313,1314],{},"Vores løsning bygger på native, cloudbaserede identity- og security-funktioner fra Microsoft og følger Zero Trust-principperne konsekvent.",[674,1316,1318],{"id":1317},"global-secure-access-som-security-service-edge","Global Secure Access som Security Service Edge",[526,1320,680],{},[526,1322,1323],{},"Vi har integreret de nyeste nyheder fra Global Secure Access i flere komponenter i Managed Red Tenant for at hæve sikkerheden ved adgang til Virtual Access Workstations (VAW'er) og for at beskytte og begrænse udgående privilegeret adgang.",[526,1325,1326],{},[636,1327,1328],{},"Microsoft Entra Internet Access",[526,1330,1331],{},"fungerer som en identitetscentreret Secure Web Gateway (SWG) og er implementeret for at blokere offentlig internetadgang og begrænse konnektiviteten til privilegerede grænseflader og udelukkende de godkendte tenant-miljøer hos virksomheden. Yderligere funktioner som Universal Conditional Access Evaluation (CAE) gør det muligt at blokere adgang tilnærmelsesvis i realtid.",[526,1333,1334],{},[636,1335,1336],{},"Microsoft Entra Private Access",[526,1338,1339],{},"fungerer som en identitetscentreret Zero Trust Network Access-løsning (ZTNA) og er kernen i vores tilgang til sikker og privat adgang til VAW'er. Integrationen i vores løsning lægger et ekstra lag af beskyttelse omkring privilegerede sessioner på AVD-baserede endpoints, fordi Conditional Access håndhæves på den klient, der tilgår, allerede før forbindelsen til VAW'en etableres. At sikre adgangen og anvende Zero Trust-princippet til at administrere private eller on-premises-ressourcer er endnu et use case, hvor vi drager nytte af Private Access.",[526,1341,1342],{},[642,1343],{"alt":644,"src":1344},"https://res.cloudinary.com/c4a8/image/upload/blog/pics/gsa-img-01.png",[559,1346,1348],{"id":1347},"use-cases-for-global-secure-access-i-managed-red-tenant","Use cases for Global Secure Access i Managed Red Tenant",[526,1350,565],{},[526,1352,1353],{},"Global Secure Access er en af kernekomponenterne i designet af vores Managed Red Tenant, og vi løfter både sikkerhed og brugervenlighed til et nyt niveau med den. Merværdien træder tydeligst frem, når man ser på de enkelte use cases, som vi gennemgår i dette blogindlæg.",[674,1355,1357],{"id":1356},"adgang-til-virtual-access-workstations","Adgang til Virtual Access Workstations",[526,1359,680],{},[526,1361,1362],{},"Nogle organisationer vælger ikke at udstyre alle administratorer med fysiske Privileged Admin Workstations (PAW'er). Til disse administratorer med færre privilegier tilbyder vi det, vi kalder Virtual Access Workstations (VAW'er).",[526,1364,1365],{},"Det mest kritiske her er sikker adgang til VAW'erne, og vi anser det for afgørende at etablere et højt sikkerhedsniveau, hvor Entra Private Access spiller en central rolle.",[526,1367,1368],{},"Administratorer forbinder til VAW'erne fra deres enterprise-enheder og logger ind med deres konto fra Managed Red Tenant. På grund af dette identitetsskift kommer den tilgående bruger fra en anden tenant end den oprindelige enhed og kan derfor ikke fremvise en device compliance-status.",[526,1370,1371],{},"Derfor bruger vi Global Secure Access til præautentificering med den oprindelige bruger fra enheden. Da vores VAW'er ikke eksponerer offentlige endpoints og kun er tilgængelige via Entra Private Access, kan vi sikre netværksadgangen i meget høj grad. Conditional Access i workforce-miljøet håndhæver stærk bruger- og enhedsautentificering, herunder device compliance og risikobaserede kontroller.",[526,1373,1374],{},[642,1375],{"alt":644,"src":1376},"https://res.cloudinary.com/c4a8/image/upload/blog/pics/gsa-img-02.png",[674,1378,1380],{"id":1379},"sikker-webfiltrering","Sikker webfiltrering",[526,1382,680],{},[526,1384,1385],{},"Et centralt kendetegn ved administrative enheder er deres stramt begrænsede adgang til applikationer, som skal reducere angrebsfladen mest muligt. Hvor lokale løsninger som proxy.pac-filer eller delte centrale proxyer (ikke T0-eksklusive) tidligere var almindelige, har vi valgt Entra Internet Access til enheder i Managed Red Tenant.",[567,1387,1388,1391],{},[570,1389,1390],{},"Internetadgang er kun tilladt fra compliant enheder og efter stærk brugerautentificering",[570,1392,1393],{},"Adgangen er begrænset til eksplicit godkendte URL'er, og da HTTPS-trafik (hvor det er muligt) dekrypteres og inspiceres, er det også realistisk at begrænse adgangen til bestemte stier, for eksempel inden for Azure DevOps eller GitHub",[526,1395,1396],{},[642,1397],{"alt":644,"src":1398},"https://res.cloudinary.com/c4a8/image/upload/blog/pics/gsa-img-03.png",[674,1400,1402],{"id":1401},"tenant-restrictions-for-saas-tjenester-og-administrative-grænseflader","Tenant Restrictions for SaaS-tjenester og administrative grænseflader",[526,1404,680],{},[526,1406,1407],{},"I SaaS-tjenester og administrative grænseflader er URL'erne typisk identiske på tværs af alle tenants, og det gør dem svære at kontrollere med de webfiltreringsmetoder, der er beskrevet ovenfor.",[526,1409,1410],{},"For at sikre, at kun konti fra Managed Red Tenant kan logge ind på Microsofts godkendte portaler fra en administrativ enhed, bruger vi Tenant Restriction-funktionen i Global Secure Access.",[526,1412,1413],{},"Via Entra Internet Access får Entra ID besked om, hvilke tenants der er tilladt ved login. Det garanterer, at alle politikker fra Managed Red Tenant håndhæves, og at administrativ adgang udelukkende sker via B2B collaboration.",[526,1415,1416],{},[642,1417],{"alt":644,"src":1418},"https://res.cloudinary.com/c4a8/image/upload/blog/pics/gsa-img-04.png",[674,1420,1422],{"id":1421},"on-premises-adgang","On-premises-adgang",[526,1424,680],{},[526,1426,1427],{},"En Managed Red Tenant kan naturligvis også bruges til at administrere on-premises- og IaaS-miljøer, og det kræver sikker adgang til datacentrene. Entra Private Access giver os Zero Trust Network Access, der kombinerer høje sikkerhedsstandarder med en fleksibel arkitektur og god performance.",[526,1429,1430],{},"Adgang til datacentre og IaaS-miljøer afhænger af robust bruger- og enhedsautentificering, herunder device compliance og risikobaserede kontroller.",[526,1432,1433],{},"Når de enkelte mål håndteres som app segments, bliver adgangskontrollen granulær, og den automatiseres med funktioner fra Entra Governance. Dermed udvides funktioner, der allerede bruges bredt i Managed Red Tenant, herunder Just-In-Time-administration og godkendelsesworkflows, til også at omfatte netværkslaget.",[526,1435,1436],{},[642,1437],{"alt":644,"src":1438},"https://res.cloudinary.com/c4a8/image/upload/blog/pics/gsa-img-05.png",[674,1440,1442],{"id":1441},"tilbagekaldelse-af-adgang-tilnærmelsesvis-i-realtid","Tilbagekaldelse af adgang tilnærmelsesvis i realtid",[526,1444,680],{},[526,1446,1447],{},"Zero Trust betyder også, at man er forberedt på at inddæmme trusler hurtigt og effektivt, også inden for den mest sikre arkitektur, og på at isolere kompromitterede komponenter.",[526,1449,1450],{},"I et Managed Red Tenant-miljø er vi ikke kun forberedt på kompromittering af brugere og enheder i selve tenanten, men også på det mest sandsynlige scenarie, hvor et angreb starter på en administrators kontor-pc og derfra spreder sig til den virtuelle adminarbejdsstation.",[526,1452,1453],{},"Takket være funktionen Universal Continuous Access Evaluation (CAE) i Global Secure Access udløses følgende handlinger automatisk:",[567,1455,1456,1459],{},[570,1457,1458],{},"Adgangen til den virtuelle adminarbejdsstation via Entra Private Access afbrydes, hvis for eksempel kontoens user risk level i workforce-tenanten sættes til High",[570,1460,1461],{},"Adgangen til admingrænseflader og datacentermiljøet tilbagekaldes, hvis for eksempel kontoens sessioner i Managed Red Tenant afsluttes",[526,1463,1464],{},"Derudover kan fuld isolation af alle enheder og konti i Managed Red Tenant til enhver tid igangsættes af den integrerede CSOC-service.",[526,1466,1467],{},[642,1468],{"alt":644,"src":1469},"https://res.cloudinary.com/c4a8/image/upload/blog/pics/gsa-img-06.png",[674,1471,1473],{"id":1472},"berigede-sign-ins-og-token-indsigt","Berigede sign-ins og token-indsigt",[526,1475,680],{},[526,1477,1478],{},"Ud over de mange funktioner til adgangskontrol gør Global Secure Access en markant forskel, når det gælder logning. Vi får væsentligt mere telemetri fra netværkslaget og kan korrelere den med eksisterende sign-in- og audit-logs.",[526,1480,1481],{},"Det gør vores CSOC i stand til at afgøre, hvilke handlinger der stadig blev udført, efter at inddæmningen var udløst, for eksempel i de tilfælde hvor ikke alle tokens understøttede Continuous Access Evaluation (CAE).",[526,1483,1484],{},[642,1485],{"alt":644,"src":1469},[559,1487,1183],{"id":1182},[526,1489,565],{},[526,1491,1492],{},"Dette blogindlæg udkommer sammen med et webcast, hvor vi gennemgår Managed Red Tenant, Global Secure Access, integrationsprocessen og de relevante use cases, understøttet af live-demoer.",[526,1494,1495],{},"Har blogindlægget vakt din interesse, kan vi klart anbefale dig at se webcastet. Og du er selvfølgelig altid velkommen til at kontakte os direkte.",{"title":530,"searchDepth":531,"depth":531,"links":1497},[1498,1501,1509],{"id":1302,"depth":531,"text":1303,"children":1499},[1500],{"id":1317,"depth":1205,"text":1318},{"id":1347,"depth":531,"text":1348,"children":1502},[1503,1504,1505,1506,1507,1508],{"id":1356,"depth":1205,"text":1357},{"id":1379,"depth":1205,"text":1380},{"id":1401,"depth":1205,"text":1402},{"id":1421,"depth":1205,"text":1422},{"id":1441,"depth":1205,"text":1442},{"id":1472,"depth":1205,"text":1473},{"id":1182,"depth":531,"text":1183},{"lang":1218,"seoTitle":1511,"titleClass":1220,"date":1512,"categories":1513,"blogtitlepic":1514,"socialimg":1515,"customExcerpt":1516,"keywords":1517,"maxContent":325,"textImageTeaser":1518,"asideNav":1533,"footer":1541,"scripts":1542,"published":325},"Sikring af Microsoft 365-adminadgang med Entra og Global Secure Access","2025-09-25",[1223],"head-gsa-unlocked.jpg","/blog/heads/head-gsa-unlocked.jpg","Dette blogindlæg viser, hvordan Microsoft Global Secure Access styrker sikkerheden og kontrollen i vores Managed Red Tenant. Med Entra Internet Access og Private Access kan organisationer sikre adminsessioner, håndhæve Zero Trust og forenkle adgangen til cloud- og on-prem-ressourcer. Use cases fra praksis og indblik i arkitekturen viser, hvordan M365-miljøer beskyttes effektivt.","Microsoft Global Secure Access, Entra Internet Access, Entra Private Access, Managed Red Tenant, Zero Trust, M365-sikkerhed, conditional access, kontrol med adminadgang, sikker webfiltrering, virtuelle adminarbejdsstationer, CAE, tenant restrictions, Microsoft 365, cloudsikkerhed",{"image":1519,"cloudinary":325,"alt":1520,"bgColor":1521,"offset":325,"white":325,"list":1522,"left":484,"float":484,"firstColWidth":1527,"secondColWidth":1528,"copyClasses":1529,"headline":1530,"subline":1531,"spacing":1532},"/icons/shape-managed-red-tenant.svg","Copilot-ikon","#E44418",[1523],{"ctaText":1524,"ctaHref":1525,"ctaType":1526,"external":325},"Se hele sessionen på YouTube","https://youtu.be/SpEOIdoA-uc","Button",5,7,"richtext","Global Secure Access Unlocked: implementering i praksis i Managed Red Tenant","\u003Cp>I Managed Red Tenant håndhæver vi en streng adskillelse af privilegeret adgang. Live-demoer viser, hvordan vi sikrer administrative arbejdsgange med Global Secure Access.\u003Cbr /> \u003Cbr /> I vores engelsksprogede session lærer du:\u003C/p> \u003Cul> \u003Cli>Hvordan PAW'er og VAW'er med identitetsskift skaber sikre adminarbejdsstationer\u003C/li> \u003Cli>Hvordan Tenant Restrictions og Cross-Tenant Access Policies kun tillader autoriseret adgang\u003C/li> \u003Cli>Hvordan Per-App Tunnels og Continuous Access Evaluation afløser traditionelle VPN'er\u003C/li> \u003Cli>Hvordan Just-in-Time-administration fungerer i praksis med Microsoft PIM\u003C/li> \u003C/ul> ","space-top-2 space-bottom-2 mt-10",{"menuItems":1534},[1535,1537,1539],{"href":1536,"text":1303},"#hvad-er-en-managed-red-tenant",{"href":1538,"text":1348},"#use-cases-for-global-secure-access-i-managed-red-tenant",{"href":1540,"text":1183},"#konklusion",{"noMargin":325},{"slick":325},"/posts/2025-09-25-gsa-unlocked",{"title":1296,"description":530},"posts/2025-09-25-gsa-unlocked",[101,1547,1548,1549,281],"M365 Data Governance","SharePoint Security","AI Data Preparation","P_xQa-nJhqtSrh0WzPktHzbE1hB4pZU5bc7iTQq3sb0",{"id":1552,"title":1553,"author":1554,"body":1555,"cta":494,"description":1559,"eventid":494,"extension":533,"hideInRecent":484,"layout":1216,"meta":2341,"moment":2343,"navigation":325,"path":2364,"seo":2365,"stem":2366,"tags":2367,"webcast":484,"__hash__":2370},"content_da/posts/2025-12-31-vulnerability-consentfix.md","AuthCodeFix aka ConsentFix",[554,555,521],{"type":523,"value":1556,"toc":2321},[1557,1560,1563,1566,1572,1575,1578,1587,1592,1600,1620,1623,1629,1632,1635,1641,1646,1650,1661,1667,1670,1673,1677,1680,1686,1693,1696,1716,1726,1730,1733,1736,1739,1742,1746,1749,1752,1769,1778,1782,1786,1806,1810,1815,1826,1829,1837,1841,1855,1859,1870,1874,1877,1885,1888,1896,1899,1907,1911,1914,1935,1938,2003,2006,2009,2012,2015,2018,2024,2027,2068,2072,2087,2091,2095,2109,2112,2115,2120,2123,2134,2138,2145,2149,2155,2160,2174,2180,2186,2192,2203,2206,2212,2215,2240,2248,2252,2272,2278,2281,2287,2291],[526,1558,1559],{},"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,1561,1562],{},"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,1564,1565],{},"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,1567,1568],{},[642,1569],{"alt":1570,"src":1571},"OAuth 2.0 authorization code flow","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-01.png",[526,1573,1574],{},"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,1576,1577],{},"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,1579,1580,1581,1586],{},"Du kan nemt reproducere det selv, for eksempel med ",[574,1582,1585],{"href":1583,"rel":1584},"https://github.com/f-bader/TokenTacticsV2",[578],"TokenTacticsV2"," eller ved at bygge URI'en manuelt.",[526,1588,1589],{},[642,1590],{"alt":1585,"src":1591},"https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-02.png",[526,1593,1594,1595,1599],{},"Efter brugeren har logget ind i Entra ID, bliver brugeren omdirigeret til reply-URI'en, f.eks. ",[574,1596,1597],{"href":1597,"rel":1598},"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,1601,1602,1612],{},[570,1603,1604,1606,1608,1609,1611],{},[636,1605,1050],{},[873,1607],{},"\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,1610],{},"\nIfølge dokumentationen er denne code gyldig i omkring 10 minutter og skal indløses inden for dette tidsrum.",[570,1613,1614,1617,1619],{},[636,1615,1616],{},"state",[873,1618],{},"\nDette er en valgfri parameter, og applikationen bør verificere, om den er identisk i request og response.",[526,1621,1622],{},"I angrebsscenariet bliver brugeren også omdirigeret, men da der ikke kører nogen applikation på localhost, løber browseren ind i en fejl.",[526,1624,1625],{},[642,1626],{"alt":1627,"src":1628},"Browseren løber ind i en fejl","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-03.png",[526,1630,1631],{},"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,1633,1634],{},"På dette skærmbillede kan du se, hvordan man henter bearer token ved hjælp af den URI, brugeren har udleveret.",[526,1636,1637],{},[642,1638],{"alt":1639,"src":1640},"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,1642,1643],{},[526,1644,1645],{},"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,1647,1649],{"id":1648},"detektionsartefakter","Detektionsartefakter",[526,1651,1652,1653,1656,1657,1660],{},"Når du reproducerer angrebet og tjekker ",[1050,1654,1655],{},"SigninLogs"," og ",[1050,1658,1659],{},"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,1662,1663],{},[642,1664],{"alt":1665,"src":1666},"Activity Log","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-05.png",[526,1668,1669],{},"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,1671,1672],{},"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,1674,1676],{"id":1675},"missing-link","Missing link",[526,1678,1679],{},"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,1681,1682],{},[642,1683],{"alt":1684,"src":1685},"Unique Token Identifier","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-06.png",[526,1687,1688,1689,1692],{},"Til gengæld er ",[1050,1690,1691],{},"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,1694,1695],{},"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,1697,1698,1701,1704,1707,1710,1713],{},[570,1699,1700],{},"Begge hændelser deler det samme SessionId",[570,1702,1703],{},"Begge hændelser deler det samme ApplicationId",[570,1705,1706],{},"Begge hændelser deler det samme UserId",[570,1708,1709],{},"Den anden hændelse skal ligge efter den første hændelse",[570,1711,1712],{},"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,1714,1715],{},"Du bør kun se på den allerførste efterfølgende hændelse, ikke på de senere",[1152,1717,1718],{},[526,1719,1720,1723,1725],{},[636,1721,1722],{},"Fun fact",[873,1724],{},"\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,1727,1729],{"id":1728},"reducer-støjen","Reducer støjen",[526,1731,1732],{},"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,1734,1735],{},"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,1737,1738],{},"At filtrere alt fra, der gennemfører denne authentication-dans på få sekunder, kan altså med stor sandsynlighed fjernes som benignt.",[526,1740,1741],{},"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,1743,1745],{"id":1744},"berørte-first-party-applikationer","Berørte first-party-applikationer",[526,1747,1748],{},"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,1750,1751],{},"Her er en liste over de mest bemærkelsesværdige applikationer, som samtidig har høje pre-consentede permissions på ressourcer.",[567,1753,1754,1757,1760,1763,1766],{},[570,1755,1756],{},"Microsoft Azure CLI (04b07795-8ddb-461a-bbee-02f9e1bf7b46)",[570,1758,1759],{},"Microsoft Azure PowerShell (1950a258-227b-4e31-a9cf-717495945fc2)",[570,1761,1762],{},"Visual Studio (04f0c124-f2bc-4f59-8241-bf6df9866bbd)",[570,1764,1765],{},"Visual Studio Code (aebc6443-996d-45c2-90f0-388ff96faa56)",[570,1767,1768],{},"MS Teams PowerShell Cmdlets (12128f48-ec9e-42f0-b203-ea49fb6af367)",[526,1770,1771,1772,1777],{},"En komplet liste over disse apps er nu inkluderet i ",[574,1773,1776],{"href":1774,"rel":1775},"https://entrascopes.com/?authcodeFix=true",[578],"EntraScopes.com"," af vores kollega Fabian Bader.",[559,1779,1781],{"id":1780},"mitigering-og-beskyttelse","Mitigering og beskyttelse",[674,1783,1785],{"id":1784},"begræns-angrebsfladen-og-målgruppen","Begræns angrebsfladen og målgruppen",[868,1787,1790,1793,1794,1796,1799,1800,1802,1805],{"className":1788},[1789],"option-block",[636,1791,1792],{},"Implementeringsindsats:"," Lav til høj (afhænger af indsatsen for at identificere legitime brugere)",[873,1795],{},[636,1797,1798],{},"Mitigering:"," Middel (reducerer den potentielle målgruppe for angrebet)",[873,1801],{},[636,1803,1804],{},"Omfang:"," begrænset\n",[674,1807,1809],{"id":1808},"mulighed-1-kræv-user-assignment","Mulighed 1: Kræv User Assignment",[1811,1812,1814],"h4",{"id":1813},"forudsætninger","Forudsætninger:",[567,1816,1817,1820,1823],{},[570,1818,1819],{},"Tilføj service principal for de berørte first-party-apps via Microsoft Graph API eller PowerShell",[570,1821,1822],{},"Anvend kravet om user assignment på service principal-objektet via Microsoft Graph API eller PowerShell",[570,1824,1825],{},"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,1827,1828],{},"\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",[1830,1831,1834],"pre",{"className":1832},[1833],"code-block",[1050,1835,1836],{},"\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",[1811,1838,1840],{"id":1839},"fordel","Fordel:",[567,1842,1843,1846,1849,1852],{},[570,1844,1845],{},"Gør det muligt at styre user assignments via Access Packages eller manuelt gruppemedlemskab og dermed begrænse eksponeringen for denne angrebsteknik.",[570,1847,1848],{},"Mulighed for just-in-time-adgang kombineret med eligible gruppemedlemskab, hvilket giver midlertidig adgang til CLI-værktøjer og yderligere reducerer angrebsfladen.",[570,1850,1851],{},"Anvendes, før Conditional Access-politikker evalueres.",[570,1853,1854],{},"Begrænser også angrebsfladen i andre scenarier.",[1811,1856,1858],{"id":1857},"ulempe","Ulempe:",[567,1860,1861,1864,1867],{},[570,1862,1863],{},"Kan kun scopes til bestemte brugere og ikke kombineres med andre krav som brug af bestemte enheder",[570,1865,1866],{},"Alle legitime brugere af CLI-værktøjer skal identificeres",[570,1868,1869],{},"Sideeffekter og organisatorisk påvirkning skal vurderes grundigt ved at gennemgå tidligere sign-ins.",[674,1871,1873],{"id":1872},"mulighed-2-blokér-adgang-med-conditional-access-politikker","Mulighed 2: Blokér adgang med Conditional Access-politikker",[1811,1875,1814],{"id":1876},"forudsætninger-1",[567,1878,1879,1882],{},[570,1880,1881],{},"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,1883,1884],{},"Håndtér undtagelser via gruppemedlemskab, enten manuelt eller gennem entitlement management (f.eks. Access Packages).",[1811,1886,1840],{"id":1887},"fordel-1",[567,1889,1890,1893],{},[570,1891,1892],{},"Forhindrer tokenudstedelse til ikke-legitime eller ikke-privilegerede brugere.",[570,1894,1895],{},"Giver mulighed for granulær scoping ud fra yderligere betingelser som enhed eller netværk.",[1811,1897,1858],{"id":1898},"ulempe-1",[567,1900,1901,1904],{},[570,1902,1903],{},"Alle legitime brugere af CLI-værktøjer skal identificeres og undtages.",[570,1905,1906],{},"Sideeffekter og organisatorisk påvirkning skal vurderes grundigt ved at gennemgå tidligere sign-ins og evaluere politikken i report-only-tilstand.",[674,1908,1910],{"id":1909},"blokér-tokenudstedelse-via-authorization-code-flow","Blokér tokenudstedelse via authorization code flow",[685,1912,1913],{},"\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,1915,1917,1920,1921,1923,1925,1926,1928,1925,1930,1932,1934],{"className":1916},[1789],[636,1918,1919],{},"Mulighed:"," Kræv Token Protection",[873,1922],{},[636,1924,1792],{}," Høj",[873,1927],{},[636,1929,1798],{},[873,1931],{},[636,1933,1804],{}," Meget begrænset\n",[1811,1936,1814],{"id":1937},"forudsætninger-2",[567,1939,1940,1943,1946,1965],{},[570,1941,1942],{},"Microsoft Entra ID P1-licenser",[570,1944,1945],{},"Entra ID Registered Devices, hybrid- eller Entra ID-joinede enheder på Windows-platformen",[570,1947,1948,1949,936,1954,1656,1959,1964],{},"Aktivér Web Account Manager (WAM) i ",[574,1950,1953],{"href":1951,"rel":1952},"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,1955,1958],{"href":1956,"rel":1957},"https://learn.microsoft.com/en-us/powershell/azure/configure-global-settings?view=azps-15.1.0#web-account-manager-wam",[578],"Azure PowerShell",[574,1960,1963],{"href":1961,"rel":1962},"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,1966,1967,1968],{},"Konfigurér Conditional Access-målretning:\n",[567,1969,1970,1984,1992],{},[570,1971,1972,1973],{},"Cloud App-målretning mod følgende apps:\n",[567,1974,1975,1978,1981],{},[570,1976,1977],{},"Office 365 Exchange Online",[570,1979,1980],{},"Office 365 SharePoint Online",[570,1982,1983],{},"Microsoft Teams Services",[570,1985,1986,1987,1991],{},"Client apps under ",[1988,1989,1990],"em",{},"Mobile apps and desktop clients"," skal kræve Token Protection.",[570,1993,1994,1995,1998,1999,2002],{},"Vælg ",[1988,1996,1997],{},"Windows"," som ",[1988,2000,2001],{},"device platform"," for målretning af politikken",[1811,2004,1840],{"id":2005},"fordel-2",[526,2007,2008],{},"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,2010,2011],{},"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,2013,2014],{},"I dette tilfælde er angreb med AuthCodeFix fuldt mitigeret, så længe applikationen kan beskyttes med Token Protection.",[526,2016,2017],{},"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,2019,2020],{},[642,2021],{"alt":2022,"src":2023},"Token Protection mitigerer med succes indløsningen af authorization code flowet","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-07.png",[1811,2025,1858],{"id":2026},"ulempe-2",[567,2028,2029,2059,2062,2065],{},[570,2030,2031,2032],{},"Kun følgende ressourcer er officielt understøttet:\n",[567,2033,2034,2036,2038],{},[570,2035,1977],{},[570,2037,1980],{},[570,2039,1983,2040,2042,2044,2045,1656,2048,2052,2053,2058],{},[873,2041],{},[873,2043],{},"\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,2046,1953],{"href":1951,"rel":2047},[578],[574,2049,1958],{"href":2050,"rel":2051},"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,2054,2057],{"href":2055,"rel":2056},"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,2060,2061],{},"Nogle fejl i Microsoft Graph PowerShell tvinger dig til midlertidigt at deaktivere WAM-integrationen",[570,2063,2064],{},"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,2066,2067],{},"Begrænset omfang på grund af tilgængeligheden på understøttede platforme og Entra ID-integrerede enheder.",[674,2069,2071],{"id":2070},"blokér-yderligere-tokenudstedelse-via-compliant-network-check-eller-trusted-network","Blokér yderligere tokenudstedelse via compliant network check eller trusted network",[868,2073,2075,2077,2078,2080,2077,2082,2084,2086],{"className":2074},[1789],[636,2076,1792],{}," Middel",[873,2079],{},[636,2081,1798],{},[873,2083],{},[636,2085,1804],{}," Bredt\n",[674,2088,2090],{"id":2089},"mulighed-blokér-adgang-uden-for-compliant-network-med-global-secure-access","Mulighed: Blokér adgang uden for Compliant network med Global Secure Access",[1811,2092,2094],{"id":2093},"forudsætning","Forudsætning:",[567,2096,2097,2100,2103,2106],{},[570,2098,2099],{},"Entra ID P1-licens",[570,2101,2102],{},"Entra ID Registered Devices, hybrid- eller Entra ID-joinede enheder på Windows-, macOS-, Android- og iOS-platformen",[570,2104,2105],{},"Global Secure Access Client på alle berørte klienter og aktiveret Entra Internet Access for M365 Traffic Profile",[570,2107,2108],{},"Conditional Access-politik til at håndhæve network compliant check bør anvendes på alle cloud apps",[1811,2110,1840],{"id":2111},"fordel-3",[526,2113,2114],{},"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,2116,2117],{},[526,2118,2119],{},"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.",[1811,2121,1858],{"id":2122},"ulempe-3",[567,2124,2125,2128,2131],{},[570,2126,2127],{},"Kun anvendeligt for brugere og enheder med udrullet Global Secure Access-klient",[570,2129,2130],{},"Begrænset omfang på grund af tilgængeligheden på Entra ID-integrerede enheder",[570,2132,2133],{},"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,2135,2137],{"id":2136},"hunting-forespørgsler","Hunting-forespørgsler",[526,2139,2140,2141,2144],{},"Når alle forudsætninger for mitigering af tokentyveri er på plads, herunder udrulning af GSA-klienten (inklusive ingestion af ",[1050,2142,2143],{},"NetworkAccessTraffic","-logs) og udnyttelse af WAM-authentication, får vi yderligere muligheder for threat hunting og verifikation.",[674,2146,2148],{"id":2147},"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,2150,2151,2152,2154],{},"Denne hunting-forespørgsel bruger ",[1050,2153,2143],{},"-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,2156,2157],{},[526,2158,2159],{},"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,2161,2162,2165,2166,2169,2170,2173],{},[636,2163,2164],{},"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,2167,2168],{},"msedge.exe","), er det derfor en stærk indikator på mistænkelig aktivitet. På macOS initieres processen af Company Portal-appen (",[1050,2171,2172],{},"com.microsoft.CompanyPortalMac.ssoextension","), når Platform SSO anvendes.",[526,2175,2176,2179],{},[636,2177,2178],{},"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,2181,2182,2185],{},[636,2183,2184],{},"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,2187,2188,2191],{},[636,2189,2190],{},"Logikken bag confidence score:"," Forespørgslen kombinerer flere signaler til at beregne en confidence score:",[567,2193,2194,2197,2200],{},[570,2195,2196],{},"Tilstedeværelsen af en browserproces, der initierer tokenanmodninger.",[570,2198,2199],{},"Detektion af og nedgradering til ubundne tokens.",[570,2201,2202],{},"Skift af netværksudbyder (inklusive fra compliant til non-compliant) mellem sign-ins.",[526,2204,2205],{},"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,2207,2208],{},[642,2209],{"alt":2210,"src":2211},"Signaler til hunting-forespørgslen","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-08.png",[526,2213,2214],{},"Følgende scoring vises afhængigt af betingelserne:",[526,2216,2217,2220,2221,2223,2224,2226,2228,2231,2232,2234,2236,2239],{},[636,2218,2219],{},"En meget høj confidence score"," vises, når ",[1050,2222,2143],{},"-logs peger på en kendt browserproces som initiator af en tokenanmodning, og der er registreret en nedgradering til et ubundet token.",[873,2225],{},[873,2227],{},[636,2229,2230],{},"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,2233],{},[873,2235],{},[636,2237,2238],{},"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,2241,2242,2243,616],{},"Du finder den nyeste version af hunting-forespørgslen på ",[574,2244,2247],{"href":2245,"rel":2246},"https://github.com/Cloud-Architekt/AzureSentinel/blob/main/Hunting%20Queries/EID-Authentication/ConsentFix-HuntingConfidenceOnTokenAndNetworkSignals.kusto",[578],"GitHub",[674,2249,2251],{"id":2250},"hunting-efter-aktiviteter-med-udstedte-tokens","Hunting efter aktiviteter med udstedte tokens",[526,2253,2254,2255,2260,2261,2264,2265,2267,2268,2271],{},"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,2256,2259],{"href":2257,"rel":2258},"https://github.com/Cloud-Architekt/AzureSentinel/blob/main/Hunting%20Queries/EID-TokenHunting/MicrosoftCloudActivity.func",[578],"offentliggjort en KQL-funktion"," ved navn ",[1050,2262,2263],{},"MicrosoftCloudActivity",", som kan hjælpe i denne udvidede hunting-proces. Derudover kan det berørte ",[1050,2266,1691],{}," korreleres med mistænkelige ",[1050,2269,2270],{},"UniqueId","-værdier fundet under tidligere hunts til en dybere analyse.",[526,2273,2274],{},[642,2275],{"alt":2276,"src":2277},"KQL-funktion","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-09.png",[526,2279,2280],{},"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,2282,2283],{},[642,2284],{"alt":2285,"src":2286},"Skærmbillede af Graph API-operation","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-10.png",[559,2288,2290],{"id":2289},"yderligere-læsning","Yderligere læsning",[567,2292,2293,2300,2307,2314],{},[570,2294,2295],{},[574,2296,2299],{"href":2297,"rel":2298},"https://pushsecurity.com/blog/consentfix",[578],"ConsentFix: Analysing a browser-native ClickFix-style attack that hijacks OAuth consent grants - PushSecurity",[570,2301,2302],{},[574,2303,2306],{"href":2304,"rel":2305},"https://youtu.be/AAiiIY-Soak",[578],"Hacking Endpoint to Identity (Microsoft 365): \"ConsentFix\" - YouTube",[570,2308,2309],{},[574,2310,2313],{"href":2311,"rel":2312},"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,2315,2316],{},[574,2317,2320],{"href":2318,"rel":2319},"https://entrascopes.com/?appId=04b07795-8ddb-461a-bbee-02f9e1bf7b46",[578],"Microsoft Azure CLI on entrascpes.com",{"title":530,"searchDepth":531,"depth":531,"links":2322},[2323,2326,2327,2328,2336,2340],{"id":1648,"depth":531,"text":1649,"children":2324},[2325],{"id":1675,"depth":1205,"text":1676},{"id":1728,"depth":531,"text":1729},{"id":1744,"depth":531,"text":1745},{"id":1780,"depth":531,"text":1781,"children":2329},[2330,2331,2332,2333,2334,2335],{"id":1784,"depth":1205,"text":1785},{"id":1808,"depth":1205,"text":1809},{"id":1872,"depth":1205,"text":1873},{"id":1909,"depth":1205,"text":1910},{"id":2070,"depth":1205,"text":2071},{"id":2089,"depth":1205,"text":2090},{"id":2136,"depth":531,"text":2137,"children":2337},[2338,2339],{"id":2147,"depth":1205,"text":2148},{"id":2250,"depth":1205,"text":2251},{"id":2289,"depth":531,"text":2290},{"lang":1218,"seoTitle":2342,"titleClass":1220,"date":2343,"categories":2344,"blogtitlepic":2345,"socialimg":2346,"customExcerpt":2347,"keywords":2348,"scripts":2349,"asideNav":2350,"maxContent":325,"published":325},"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":325,"form":325},{"menuItems":2351},[2352,2354,2356,2358,2360,2362],{"href":2353,"text":1649},"#detektionsartefakter",{"href":2355,"text":1729},"#reducer-støjen",{"href":2357,"text":1745},"#berørte-first-party-applikationer",{"href":2359,"text":1781},"#mitigering-og-beskyttelse",{"href":2361,"text":2137},"#hunting-forespørgsler",{"href":2363,"text":2290},"#yderligere-læsning","/posts/2025-12-31-vulnerability-consentfix",{"title":1553,"description":1559},"posts/2025-12-31-vulnerability-consentfix",[2368,2369,281],"OAuth 2.0","Microsoft Entra ID","6omVtOefKkJLAXT9rlO0BqA1RKB4dnIm_iRygxuwOGk",[],{"id":2373,"extension":2374,"meta":2375,"stem":8,"__hash__":2391},"authors_data/authors.json","json",{"Christopher Brumm":2376,"Fabian Bader":2382,"Thomas Naunheim":2387},{"display_name":555,"avatar":2377,"permalink":2378,"twitter":2379,"linkedin":2380,"imageOffsetTop":2381},"people/people-christopher-brumm.jpg","/authors/christopher-brumm","cbrhh","christopherbrumm","66%",{"display_name":554,"avatar":2383,"permalink":2384,"linkedin":2385,"twitter":2386},"people/people-fabian-bader.jpg","/authors/fabian-bader","fabianbader","fabian_bader",{"display_name":521,"avatar":2388,"permalink":2389,"linkedin":2390,"imageOffsetTop":2381},"people/people-thomas-naunheim.jpg","/authors/thomas-naunheim","thomasnaunheim","1csawlkJxRljy93GTOnXEkwLqAv9Lcj-apxRvoodAOY",1791383991677]