[{"data":1,"prerenderedAt":1955},["ShallowReactive",2],{"sc:header-data-fi":3,"sc:footer-data-fi":489,"post-fi--posts-2025-12-31-vulnerability-consentfix-c8cd491384b08":519,"authors_data":1369,"content-fi-list-7b291c2dd91a4":1721,"authors_data:Christopher Brumm|Fabian Bader|Thomas Naunheim":1950},{"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",{"fi":13},{"title":14,"url":15,"alt":16},"Etusivu","/fi","glueckkanja Logo",[18,127,231,316,395,402],{"name":19,"languages":20,"children":24},"workplace",{"fi":21},{"title":22,"description":23},"Workplace","Microsoft 365 -pohjaiset älykkäät, turvalliset ja joustavat työympäristöt, jotka yhdistävät nykyaikaiset teknologiat ja identiteettipalvelut.",[25,55,91],{"name":26,"languages":27,"children":30},"portfolio",{"fi":28},{"title":29},"Portfolio",[31,37,43,49],{"name":32,"languages":33},"managed-intune",{"fi":34},{"title":35,"url":36},"Managed Intune","/fi/entra-intune/managed-intune",{"name":38,"languages":39},"managed-entra",{"fi":40},{"title":41,"url":42},"Managed Entra","/fi/entra-intune/managed-entra",{"name":44,"languages":45},"managed-workplace",{"fi":46},{"title":47,"url":48},"Managed Workplace","/fi/workplace/managed-workplace",{"name":50,"languages":51},"consulting-services",{"fi":52},{"title":53,"url":54},"Consulting Services","/fi/workplace/consulting-services",{"name":56,"languages":57,"children":60},"microsoft-365-endpoint",{"fi":58},{"title":59},"Microsoft 365 Endpoint",[61,67,73,79,85],{"name":62,"languages":63},"microsoft-entra-suite",{"fi":64},{"title":65,"url":66},"Microsoft Entra Suite","/fi/workplace/microsoft-entra-suite",{"name":68,"languages":69},"microsoft-intune",{"fi":70},{"title":71,"url":72},"Microsoft Intune","/fi/workplace/microsoft-intune",{"name":74,"languages":75},"microsoft-windows",{"fi":76},{"title":77,"url":78},"Microsoft Windows","/fi/workplace/microsoft-windows",{"name":80,"languages":81},"windows-365-cloud-pc",{"fi":82},{"title":83,"url":84},"Windows 365 Cloud PC","/fi/workplace/windows365-cloud-pc",{"name":86,"languages":87},"cloud-workplace-foundation",{"fi":88},{"title":89,"url":90},"Cloud Workplace Foundation","/fi/workplace/cloud-workplace-foundation",{"name":92,"languages":93,"children":96},"microsoft-365-collaboration",{"fi":94},{"title":95},"Microsoft 365 Collaboration",[97,103,109,115,121],{"name":98,"languages":99},"microsoft-copilot",{"fi":100},{"title":101,"url":102},"Microsoft 365 Copilot","/fi/workplace/microsoft-365-copilot",{"name":104,"languages":105},"microsoft-teams",{"fi":106},{"title":107,"url":108},"Teams","/fi/workplace/microsoft-teams",{"name":110,"languages":111},"sharepoint-powerplatform",{"fi":112},{"title":113,"url":114},"SharePoint & Power Platform","/fi/workplace/sharepoint-power-platform",{"name":116,"languages":117},"exchange-online",{"fi":118},{"title":119,"url":120},"Exchange Online","/fi/workplace/exchange-online",{"name":122,"languages":123},"information-protection-compliance",{"fi":124},{"title":125,"url":126},"Information Protection & Compliance","/fi/workplace/information-protection-compliance",{"name":128,"languages":129,"children":133},"azure",{"fi":130},{"title":131,"description":132},"Azure","Vauhdita kasvua Azurella: leikkaa pilvikustannuksia, paranna tehokkuutta ja edistä innovaatioita IaaS:n ja PaaS:n avulla.",[134,151,181],{"name":135,"languages":136,"children":138},"azure-portfolio",{"fi":137},{"title":29},[139,145],{"name":140,"languages":141},"azure-managed-services",{"fi":142},{"title":143,"url":144},"Azure Managed Services","/fi/azure/azure-managed-services",{"name":146,"languages":147},"azure-consulting",{"fi":148},{"title":149,"url":150},"Azure Consulting","/fi/azure/azure-consulting",{"name":152,"languages":153,"children":156},"azure-scenarios",{"fi":154},{"title":155},"Skenaariot",[157,163,169,175],{"name":158,"languages":159},"plan-your-cloud",{"fi":160},{"title":161,"url":162},"Suunnittele pilvesi","/fi/azure/plan-your-cloud",{"name":164,"languages":165},"migrate-to-the-cloud",{"fi":166},{"title":167,"url":168},"Siirry pilveen","/fi/azure/migrate-to-the-cloud",{"name":170,"languages":171},"innovate-your-business",{"fi":172},{"title":173,"url":174},"Uudista liiketoimintasi","/fi/azure/innovate-your-business",{"name":176,"languages":177},"vmware-exit",{"fi":178},{"title":179,"url":180},"Mieti VMware-strategiasi uudelleen","/fi/azure/vmware-exit",{"name":182,"languages":183,"children":186},"azure-practices",{"fi":184},{"title":185},"Practices",[187,193,199,202,208,213,219,225],{"name":188,"languages":189},"azure-foundation",{"fi":190},{"title":191,"url":192},"Azure Foundation","/fi/azure/azure-foundation",{"name":194,"languages":195},"azure-ai-foundation",{"fi":196},{"title":197,"url":198},"Azure AI Foundation","/fi/azure/azure-ai-foundation",{"name":86,"languages":200},{"fi":201},{"title":89,"url":90},{"name":203,"languages":204},"azure-data-foundation",{"fi":205},{"title":206,"url":207},"Azure Data Foundation","/fi/azure/azure-data-foundation",{"name":188,"languages":209},{"fi":210},{"title":211,"url":212},"Azure Container Foundation","/fi/azure/azure-container-foundation",{"name":214,"languages":215},"dark-tenant",{"fi":216},{"title":217,"url":218},"Managed Dark Tenant","/fi/azure/managed-dark-tenant",{"name":220,"languages":221},"azure-cloud-adoption-framework",{"fi":222},{"title":223,"url":224},"Cloud Adoption Framework","/fi/azure/cloud-adoption-framework",{"name":226,"languages":227},"azure-cloud-competence-center",{"fi":228},{"title":229,"url":230},"Cloud Competence Center","/fi/azure/cloud-competence-center",{"name":232,"languages":233,"children":242},"security",{"fi":234},{"title":235,"description":236,"emergency":237},"Tietoturva","Valppautta pilvessä palkitulla 24/7-hallintapalvelulla, häiriötilanteiden hallinnalla ja huippuluokan suojauksella infrastruktuurillesi.",{"text":238,"href":239,"skin":240,"icon":241},"Hyökkäyksen kohteena?","/fi/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",{"fi":249},{"title":250,"url":251},"Managed Red Tenant","/fi/security/managed-red-tenant",{"name":214,"languages":253},{"fi":254},{"title":255,"url":218},"Dark Tenant",{"name":257,"languages":258},"sentinel-data-lake",{"fi":259},{"title":260,"url":261},"Sentinel Data Lake","/fi/security/sentinel-data-lake",{"name":263,"languages":264},"security-consulting",{"fi":265},{"title":266,"url":267},"Security Consulting","/fi/security/security-consulting",{"name":269,"children":270},"security-cloud-security-operations-center",[271,277,283],{"name":272,"languages":273},"cloud-security-operations-center",{"fi":274},{"title":275,"url":276},"Cloud Security Operations Center","/fi/security/cloud-security-operations-center",{"name":278,"languages":279},"global-secure-access",{"fi":280},{"title":281,"url":282},"Global Secure Access","/fi/security/global-secure-access",{"name":284,"languages":285},"my-work-id",{"fi":286},{"title":287,"url":288},"MyWorkID","/fi/security/my-work-id",{"name":290,"children":291},"security-preventive-services",[292,298,304,310],{"name":293,"languages":294},"preventive-services",{"fi":295},{"title":296,"url":297},"Preventive Services","/fi/security/preventive-services",{"name":299,"languages":300},"data-security-services",{"fi":301},{"title":302,"url":303},"Data Security Service","/fi/security/data-security-service",{"name":305,"languages":306},"security-copilot-agents",{"fi":307},{"title":308,"url":309},"Security Copilot Agents","/fi/security/security-copilot-agents",{"name":311,"languages":312},"nis2",{"fi":313},{"title":314,"url":315},"NIS2:n käyttöönotto","/fi/security/red-dark-tenant-nis2",{"name":317,"languages":318,"children":322},"products",{"fi":319},{"title":320,"description":321},"Tuotteet","Innovatiiviset täydentävät tuotteet täysin turvalliseen, 100-prosenttisesti pilvipohjaiseen Microsoft-ympäristöön, jotka parantavat yhteistyötä, verkon todennusta ja ohjelmistojen hallintaa.",[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",{"fi":332},{"title":333,"url":334,"subtitle":335},"RealmJoin","https://www.realmjoin.com","Pilvipohjainen ohjelmistojen jakelu",{"name":337,"img":338,"target":330,"languages":339},"scepman","products/scepman/scepman-nav-logo.svg",{"fi":340},{"title":341,"url":342,"subtitle":343},"SCEPman","https://www.scepman.com","Varmenteiden jakelu pilvestä",{"name":345,"img":346,"target":330,"languages":347},"konnekt","products/konnekt/konnekt-nav-logo.svg",{"fi":348},{"title":349,"url":350,"subtitle":351},"KONNEKT","https://www.konnekt.io","Työskentele paikallisten Office 365 -tietojesi kanssa",{"name":353,"img":354,"target":330,"languages":355},"realmigrator","products/realmigrator/realmigrator-nav-logo.svg",{"fi":356},{"title":357,"url":358,"subtitle":359},"RealMigrator","https://www.realmigrator.com","Siirrä tietosi palvelimelta toiselle",{"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",{"fi":367},{"title":368,"url":369,"subtitle":370},"TerraProvider","https://www.terraprovider.com","Terraform Provider Microsoft 365:lle",{"name":372,"img":373,"target":330,"languages":374},"radiusaas","products/radius/radius-nav-logo.svg",{"fi":375},{"title":376,"url":377,"subtitle":378},"RADIUSaaS","https://www.radius-as-a-service.com","Todennus verkollesi",{"name":380,"img":381,"target":330,"languages":382},"unifiedcontacts","products/unified-contacts/unifiedcontact-nav-logo.svg",{"fi":383},{"title":384,"url":385,"subtitle":386},"Unified Contacts","https://www.unified-contacts.com","Etsi yhteystietoja Microsoft Teamsista",{"name":388,"img":389,"target":330,"languages":390},"autopilotmonitor","products/autopilot-monitor/AutopilotMonitor-nav-logo.svg",{"fi":391},{"title":392,"url":393,"subtitle":394},"Autopilot Monitor","https://www.autopilotmonitor.com","Windows Autopilot -valvonta reaaliajassa",{"name":396,"languages":397},"casestudies",{"fi":398},{"title":399,"url":400,"description":401},"Asiakastarinat","/fi/casestudies","Pilven edelläkävijä: paras Microsoft-kumppanisi kattaviin pilviratkaisuihin Blueprint-pohjaisella lähestymistavalla ja Infrastructure-as-Code-osaamisella.",{"name":403,"languages":404,"children":407},"company",{"fi":405},{"title":406,"description":401},"Yritys",[408,438,462],{"name":409,"languages":410,"children":413},"company-about-us",{"fi":411},{"title":412},"Tietoa meistä",[414,420,426,432],{"name":415,"languages":416},"company-facts-figures",{"fi":417},{"title":418,"url":419},"Faktat ja luvut","/fi/company/facts-and-figures",{"name":421,"languages":422},"company-contact",{"fi":423},{"title":424,"url":425},"Yhteystiedot ja toimipisteet","/fi/company/contact-and-locations",{"name":427,"languages":428},"switzerland",{"fi":429},{"title":430,"url":431},"glueckkanja Sveitsi","/fi/company/switzerland",{"name":433,"languages":434},"austria",{"fi":435},{"title":436,"url":437},"glueckkanja Itävalta","/fi/company/austria",{"name":439,"languages":440,"children":443},"company-career",{"fi":441},{"title":442},"Ura",[444,450,456],{"name":445,"languages":446},"company-career-overview",{"fi":447},{"title":448,"url":449},"Urakatsaus","/fi/career",{"name":451,"languages":452},"company-young-professionals",{"fi":453},{"title":454,"url":455},"Young Professionals","/fi/young-professionals",{"name":457,"languages":458},"company-jobs",{"fi":459},{"title":460,"url":461},"Avoimet työpaikat","/fi/job-offers",{"name":463,"languages":464,"children":467},"company-latest",{"fi":465},{"title":466},"Uusimmat",[468,474],{"name":469,"languages":470},"company-blog",{"fi":471},{"title":472,"url":473},"Blogi","/fi/blog",{"name":469,"languages":475},{"fi":476},{"title":477,"url":478},"Tapahtumat","/fi/events",[480],{"name":481,"languages":482},"career-meta",{"fi":483},{"title":442,"url":449,"active":484},false,{"languages":486},{"fi":487},{"title":488,"url":425,"active":484},"Yhteystiedot",{"data":490},{"bgColor":491,"number":492,"mail":493,"brandLogos":494,"logos":495,"links":499,"linksFi":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},"Tietosuoja","/fi/privacy",{"title":514,"url":515},"Oikeudelliset tiedot","/fi/imprint",{"title":517,"url":518},"Ei evästeitä","/fi/cookies",{"id":520,"title":521,"author":522,"body":526,"cta":494,"description":532,"eventid":494,"extension":1334,"hideInRecent":484,"layout":1335,"meta":1336,"moment":1340,"navigation":325,"path":1362,"seo":1363,"stem":1364,"tags":1365,"webcast":484,"__hash__":1368},"content_fi/posts/2025-12-31-vulnerability-consentfix.md","AuthCodeFix aka ConsentFix",[523,524,525],"Fabian Bader","Christopher Brumm","Thomas Naunheim",{"type":527,"value":528,"toc":1311},"minimal",[529,533,536,539,546,549,552,563,569,577,602,605,611,614,617,623,629,634,645,651,654,657,662,665,671,677,680,700,710,714,717,720,723,726,730,733,736,753,762,766,770,791,795,800,811,815,823,827,841,845,856,860,863,871,874,882,885,893,897,900,921,924,991,994,997,1000,1003,1006,1012,1015,1058,1062,1077,1081,1085,1099,1102,1105,1110,1113,1124,1128,1135,1139,1145,1150,1164,1170,1176,1182,1193,1196,1202,1205,1230,1238,1242,1262,1268,1271,1277,1281],[530,531,532],"p",{},"Kuten perinteeksi on muodostunut aivan vuoden lopussa, esiin nousee uusi haavoittuvuus tai näppärä hyökkäysvektori, ja puolustajat jäävät yrittämään käyttäjiensä suojaamista. Samaan aikaan muut hyökkääjät ja red teamit seuraavat tilannetta tarkasti ja mukauttavat toimintaansa.",[530,534,535],{},"Tänä vuonna PushSecurity havaitsi hyökkäyksen, jolle he antoivat nimen \"ConsentFix\". Se on ClickFix-hyökkäyksen kehittyneempi muoto, joka nojaa siihen, että käyttäjä toimittaa hyökkääjälle URI:n, joka käytännössä luovuttaa avaimet koko Entra-valtakuntaan. Luonnossa käytetty menetelmä vaati toimiakseen, että käyttäjä kopioi ja liittää tiedon käsin. Muutamassa päivässä John Hammond julkaisi videon, jossa hän esitteli hyökkäyksestä parannellun version, joka ei enää vaatinut kopiointia ja liittämistä, vaan käyttäjä saattoi yksinkertaisesti raahata auth-koodinsa hyökkääjälle.",[530,537,538],{},"Kun tarkastelemme teknisiä yksityiskohtia siitä, miksi tämä hyökkäys toimii ja näennäisesti ohittaa laitteiden vaatimustenmukaisuuden sekä muut Conditional Access -vaatimukset, päädymme OAuth 2.0:n authorization code -flowhun.",[530,540,541],{},[542,543],"img",{"alt":544,"src":545},"OAuth 2.0 authorization code flow","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-01.png",[530,547,548],{},"Hyökkääjä luo Microsoft Entra -kirjautumis-URI:n, joka kohdistuu \"Microsoft Azure CLI\" -clientiin ja \"Azure Resource Manager\" -resurssiin, ja avaa tämän URI:n, kun käyttäjä vierailee haitallisella verkkosivustolla.",[530,550,551],{},"Authorization code -flowhun kartoitettuna tämä vastaa ensimmäistä vaihetta, jonka natiivi julkinen sovellus kuten Azure CLI normaalisti kutsuisi todentaakseen käyttäjän. Sovellus luo kuuntelijan koneelle, jolla se suoritetaan, satunnaiseen korkeaan porttiin. Tätä porttia käytetään niin sanottuna reply URI:na.",[530,553,554,555,562],{},"Voit helposti toistaa tämän itse esimerkiksi käyttämällä ",[556,557,561],"a",{"href":558,"rel":559},"https://github.com/f-bader/TokenTacticsV2",[560],"nofollow","TokenTacticsV2:ta"," tai muotoilemalla URI:n käsin.",[530,564,565],{},[542,566],{"alt":567,"src":568},"TokenTacticsV2","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-02.png",[530,570,571,572,576],{},"Kun käyttäjä on onnistuneesti kirjautunut Entra ID:hen, hänet ohjataan reply URI:hin, esim. ",[556,573,574],{"href":574,"rel":575},"http://localhost:3001",[560],". Normaalitilanteessa Azure CLI hyväksyisi nyt kutsun tähän URI:hin ja saisi tärkeät ja kriittiset tiedot, jotka ovat osa uudelleenohjausta:",[578,579,580,594],"ul",{},[581,582,583,587,590,591,593],"li",{},[584,585,586],"strong",{},"code",[588,589],"br",{},"\nTämä on authorization_code, jonka sovellus käyttää bearer-tokenin pyytämiseen. Token koostuu access- ja ID-tokenista sekä valinnaisesti refresh-tokenista.",[588,592],{},"\nDokumentaation mukaan tämä koodi on voimassa noin 10 minuuttia ja se on lunastettava tämän ajan kuluessa.",[581,595,596,599,601],{},[584,597,598],{},"state",[588,600],{},"\nTämä on valinnainen parametri, ja sovelluksen tulisi tarkistaa, onko se identtinen pyynnössä ja vastauksessa.",[530,603,604],{},"Hyökkäystilanteessa käyttäjä ohjataan myös uudelleen, mutta koska localhostissa ei ole sovellusta käynnissä, selain kohtaa virheen.",[530,606,607],{},[542,608],{"alt":609,"src":610},"The browser runs into an error","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-03.png",[530,612,613],{},"URI sisältää kuitenkin edelleen arkaluontoiset tiedot, ja juuri tämän hyökkääjä haluaa käyttäjän hänelle toimittavan. Jos käyttäjä suostuu, hyökkääjä lunastaa nyt token-materiaalin ja voi sen jälkeen käyttää access- ja refresh-tokenia päästäkseen resurssiin, tässä tapauksessa Azure Resource Manageriin.",[530,615,616],{},"Tässä kuvakaappauksessa näet, miten bearer-token noudetaan käyttäjän toimittaman URI:n avulla.",[530,618,619],{},[542,620],{"alt":621,"src":622},"Bearer token using the URI provided by the user","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-04.png",[624,625,626],"blockquote",{},[530,627,628],{},"Jos haluat testata havaitsemismenetelmiäsi, varmista, että suoritat viimeisen vaiheen eri järjestelmästä ja eri verkosta.",[630,631,633],"h2",{"id":632},"havaitsemisen-jäljet","Havaitsemisen jäljet",[530,635,636,637,640,641,644],{},"Kun toistat hyökkäyksen ja tarkistat ",[586,638,639],{},"SigninLogs","- ja ",[586,642,643],{},"AADNonInteractiveUserSignInLogs","-lokit, näet kaksi tapahtumaa tälle yhdelle kirjautumistoiminnolle. Ensimmäinen tapahtuma edustaa varsinaista käyttäjän kirjautumista, kun taas toinen on peräisin hyökkääjän infrastruktuurista.",[530,646,647],{},[542,648],{"alt":649,"src":650},"Activity Log","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-05.png",[530,652,653],{},"Suuri ero on siinä, että ensimmäinen tapahtuma on interaktiivinen kirjautumistapahtuma, kun taas toinen on ei-interaktiivinen. Tämä vastaa todennus-flow'n kahta vaihetta: ensin käyttäjä, sitten sovellus tai meidän tapauksessamme hyökkääjä.",[530,655,656],{},"Azure CLI:n normaali käyttäytyminen olisi, että molemmat kirjautumistapahtumat ovat peräisin samasta IP-osoitteesta. Meidän tapauksessamme IP-osoitteet ovat kuitenkin erilaiset ja peräisin eri maista. Jälkimmäinen ei tietenkään ole luotettava indikaattori, sillä hyökkääjä voisi oleskella samassa maassa kuin uhri peittääkseen jälkensä.",[658,659,661],"h3",{"id":660},"puuttuva-linkki","Puuttuva linkki",[530,663,664],{},"Kun etsimme hyvää tapaa yhdistää nämä kaksi tapahtumaa, luonteva ensimmäinen ajatus oli tarkistaa Unique Token Identifier (UTI). Microsoft käyttää kuitenkin eri arvoja authorization coden UTI:lle ja bearer-tokenin UTI:lle, joten tämä lähestymistapa ei toimi luotettavana linkkinä.",[530,666,667],{},[542,668],{"alt":669,"src":670},"Unique Token Identifier","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-06.png",[530,672,673,676],{},[586,674,675],{},"SessionId"," on kuitenkin hyvä linkki näiden kahden välillä, joskin se on pitkäkestoinen tunniste ja voi sisältää useita tällaisia tapahtumayhdistelmiä, myös legitiimejä.",[530,678,679],{},"Kun lisätietona on auth code -flow'n rajoitukset sekä käyttäjä- ja sovellustunniste lisälinkkeinä, voit käyttää aikaa tärkeänä havaitsemistekijänä:",[578,681,682,685,688,691,694,697],{},[581,683,684],{},"Molemmilla tapahtumilla on sama SessionId",[581,686,687],{},"Molemmilla tapahtumilla on sama ApplicationId",[581,689,690],{},"Molemmilla tapahtumilla on sama UserId",[581,692,693],{},"Toisen tapahtuman on oltava ensimmäisen tapahtuman jälkeen",[581,695,696],{},"Toisen tapahtuman on oltava noin 10 minuutin aikaikkunassa ensimmäisen tapahtuman jälkeen. Älä käytä tasan 10 minuuttia, sillä Microsoft kirjoittaa \"[...] they expire after about 10 minutes\"",[581,698,699],{},"Ota huomioon vain aivan seuraava toinen tapahtuma, ei myöhempiä",[624,701,702],{},[530,703,704,707,709],{},[584,705,706],{},"Hauska fakta",[588,708],{},"\nResourceIdentity ei ole hyvä linkki, sillä hyökkääjä voi vaihtaa resurssia, koska sitä ei ole sidottu auth-koodiin. Kohteena olevaa application ID:tä ei voi vaihtaa.",[630,711,713],{"id":712},"kohinan-vähentäminen","Kohinan vähentäminen",[530,715,716],{},"Tämä tieto tarjosi meille jo hyvin toimivan havaitsemismenetelmän, mutta joukossa oli myös hyvänlaatuisia osumia (benign positives). Nykyaikaiset kehittäjät käyttävät pilviresursseja, jotka näyttävät paikallisilta instansseilta mutta johtavat epäsäännöllisiin kirjautumiskuvioihin lokeissa.",[530,718,719],{},"Keskeinen ero on aikakomponentti. Siinä missä hyökkäys vaatii käyttäjän toimintaa URI:n kopioimiseksi ja liittämiseksi tai raahaamiseksi, tunnistamamme GitHub Codespace -käyttötapaus, joka oli hyvänlaatuisten hälytysten lähde, on täysin automatisoitu ja lunastaa auth-koodin muutamassa sekunnissa.",[530,721,722],{},"Näin ollen kaikki, mikä suorittaa tämän todennustanssin muutamassa sekunnissa, voidaan mitä todennäköisimmin suodattaa pois hyvänlaatuisena.",[530,724,725],{},"Toinen kohinan lähde voivat olla internet-liikenteesi vaihtuvat ulostulopisteet (egress), erityisesti SD-WAN-, ZTNA- tai Secure Web Gateway -ympäristöissä.",[630,727,729],{"id":728},"kohteena-olevat-first-party-sovellukset","Kohteena olevat first-party-sovellukset",[530,731,732],{},"Vaikka alkuperäinen raportti näyttää väärinkäytettynä sovelluksena \"Microsoft Azure CLI\":n, jokaisessa tenantissa on paljon erilaisia Microsoftin first-party-sovelluksia, joilla on pre-consent ja jotka tarjoavat localhostin uudelleenohjauksena. Eivätkä vain ne ole kohteina. Hyökkääjä voisi väärinkäyttää myös reply-, testi- ja dev-URL-osoitteita, jotka eivät ole julkisesti selvitettävissä.",[530,734,735],{},"Tässä on lista huomionarvoisimmista sovelluksista, joilla on myös korkeat pre-consent-oikeudet resursseihin.",[578,737,738,741,744,747,750],{},[581,739,740],{},"Microsoft Azure CLI (04b07795-8ddb-461a-bbee-02f9e1bf7b46)",[581,742,743],{},"Microsoft Azure PowerShell (1950a258-227b-4e31-a9cf-717495945fc2)",[581,745,746],{},"Visual Studio (04f0c124-f2bc-4f59-8241-bf6df9866bbd)",[581,748,749],{},"Visual Studio Code (aebc6443-996d-45c2-90f0-388ff96faa56)",[581,751,752],{},"MS Teams PowerShell Cmdlets (12128f48-ec9e-42f0-b203-ea49fb6af367)",[530,754,755,756,761],{},"Täydellinen lista näistä sovelluksista löytyy nyt kollegamme Fabian Baderin ylläpitämästä ",[556,757,760],{"href":758,"rel":759},"https://entrascopes.com/?authcodeFix=true",[560],"EntraScopes.com-palvelusta",".",[630,763,765],{"id":764},"torjuntatoimet-ja-suojaukset","Torjuntatoimet ja suojaukset",[658,767,769],{"id":768},"rajoita-hyökkäyspintaa-ja-kohdeyleisöä","Rajoita hyökkäyspintaa ja kohdeyleisöä",[771,772,775,778,779,781,784,785,787,790],"div",{"className":773},[774],"option-block",[584,776,777],{},"Käyttöönoton vaativuus:"," matalasta korkeaan (riippuu siitä, kuinka työlästä legitiimien käyttäjien tunnistaminen on)",[588,780],{},[584,782,783],{},"Torjuntateho:"," keskitaso (pienentää hyökkäyksen mahdollista kohdeyleisöä)",[588,786],{},[584,788,789],{},"Kattavuus:"," rajallinen\n",[658,792,794],{"id":793},"vaihtoehto-1-vaadi-käyttäjämääritys-require-user-assignment","Vaihtoehto 1: Vaadi käyttäjämääritys (Require User Assignment)",[796,797,799],"h4",{"id":798},"edellytykset","Edellytykset:",[578,801,802,805,808],{},[581,803,804],{},"Lisää service principal kohteena oleville first-party-sovelluksille Microsoft Graph API:n tai PowerShellin avulla",[581,806,807],{},"Aseta käyttäjämääritysvaatimus service principal -objektiin Microsoft Graph API:n tai PowerShellin avulla",[581,809,810],{},"Luo prosessi, jolla käyttäjät määritetään pyynnöstä Access Packageilla, PIM-for-Groupsilla (just-in-time-käyttöä varten) tai näiden yhdistelmällä.",[812,813,814],"style",{},"\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",[816,817,820],"pre",{"className":818},[819],"code-block",[586,821,822],{},"\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",[796,824,826],{"id":825},"hyöty","Hyöty:",[578,828,829,832,835,838],{},[581,830,831],{},"Mahdollistaa käyttäjämääritysten hallinnan Access Packageilla tai manuaalisella ryhmäjäsenyydellä tälle hyökkäystekniikalle altistumisen rajoittamiseksi.",[581,833,834],{},"Mahdollisuus tarjota just-in-time-käyttöä yhdistettynä eligible-ryhmäjäsenyyden määritykseen, mikä sallii tilapäisen pääsyn CLI-työkaluihin ja pienentää siten hyökkäyspintaa entisestään.",[581,836,837],{},"Sovelletaan ennen Conditional Access -käytäntöjen arviointia.",[581,839,840],{},"Rajoittaa hyökkäyspintaa myös muissa skenaarioissa.",[796,842,844],{"id":843},"haitta","Haitta:",[578,846,847,850,853],{},[581,848,849],{},"Voidaan kohdistaa vain tiettyihin käyttäjiin, eikä sitä voi yhdistää muihin vaatimuksiin kuten tiettyjen laitteiden käyttöön",[581,851,852],{},"Kaikki legitiimit CLI-työkalujen käyttäjät on tunnistettava",[581,854,855],{},"Sivuvaikutukset ja organisatoriset vaikutukset on arvioitava huolellisesti tarkastelemalla aiempia kirjautumisia.",[658,857,859],{"id":858},"vaihtoehto-2-estä-pääsy-conditional-access-käytännöillä","Vaihtoehto 2: Estä pääsy Conditional Access -käytännöillä",[796,861,799],{"id":862},"edellytykset-1",[578,864,865,868],{},[581,866,867],{},"Luo Conditional Access -käytäntö, joka estää pääsyn CLI-työkaluihin, legitiimejä käyttäjiä lukuun ottamatta, kohdistamalla se sovelluksiin \"Microsoft Graph Command Line Tools\" ja \"Windows Azure Service Management API\"",[581,869,870],{},"Hallitse poikkeuksia ryhmäjäsenyyden kautta joko manuaalisesti tai entitlement management -toiminnolla (esim. Access Packages).",[796,872,826],{"id":873},"hyöty-1",[578,875,876,879],{},[581,877,878],{},"Estää tokenien myöntämisen ei-legitiimeille tai ei-etuoikeutetuille käyttäjille.",[581,880,881],{},"Mahdollistaa tarkan kohdennuksen lisäehtojen kuten laitteen tai verkon perusteella.",[796,883,844],{"id":884},"haitta-1",[578,886,887,890],{},[581,888,889],{},"Kaikki legitiimit CLI-työkalujen käyttäjät on tunnistettava ja jätettävä käytännön ulkopuolelle.",[581,891,892],{},"Sivuvaikutukset ja organisatoriset vaikutukset on arvioitava huolellisesti tarkastelemalla aiempia kirjautumisia ja arvioimalla käytäntö report-only-tilassa.",[658,894,896],{"id":895},"estä-tokenien-myöntäminen-authorization-code-flown-kautta","Estä tokenien myöntäminen authorization code -flow'n kautta",[812,898,899],{},"\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",[771,901,903,906,907,909,911,912,914,911,916,918,920],{"className":902},[774],[584,904,905],{},"Vaihtoehto:"," Vaadi Token Protection",[588,908],{},[584,910,777],{}," korkea",[588,913],{},[584,915,783],{},[588,917],{},[584,919,789],{}," erittäin rajallinen\n",[796,922,799],{"id":923},"edellytykset-2",[578,925,926,929,932,953],{},[581,927,928],{},"Microsoft Entra ID P1 -lisenssit",[581,930,931],{},"Entra ID Registered -laitteet, Hybrid- tai Entra ID-joined-laitteet Windows-alustalla",[581,933,934,935,940,941,946,947,952],{},"Ota käyttöön Web Account Manager (WAM) ",[556,936,939],{"href":937,"rel":938},"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",[560],"Azure CLI:ssä",", ",[556,942,945],{"href":943,"rel":944},"https://learn.microsoft.com/en-us/powershell/azure/configure-global-settings?view=azps-15.1.0#web-account-manager-wam",[560],"Azure PowerShellissä"," ja ",[556,948,951],{"href":949,"rel":950},"https://learn.microsoft.com/en-us/powershell/module/microsoft.graph.authentication/set-mggraphoption?view=graph-powershell-1.0#set-web-account-manager-support",[560],"Microsoft Graph PowerShellissä"," (oletus uusimmissa versioissa)",[581,954,955,956],{},"Määritä Conditional Access -kohdennus:\n",[578,957,958,972,980],{},[581,959,960,961],{},"Cloud App -kohdennus seuraaviin sovelluksiin:\n",[578,962,963,966,969],{},[581,964,965],{},"Office 365 Exchange Online",[581,967,968],{},"Office 365 SharePoint Online",[581,970,971],{},"Microsoft Teams Services",[581,973,974,975,979],{},"Client apps -kohdassa ",[976,977,978],"em",{},"Mobile apps and desktop clients"," vaatimaan Token Protection.",[581,981,982,983,986,987,990],{},"Valitse ",[976,984,985],{},"Windows"," arvoksi ",[976,988,989],{},"device platform"," käytännön kohdentamiseksi",[796,992,826],{"id":993},"hyöty-2",[530,995,996],{},"Microsoft Entran token protection vaatii proof‑of‑possession (PoP), joka voidaan pakottaa vain silloin, kun client kommunikoi suoraan luotetun token brokerin kuten Windowsin Web Account Managerin (WAM) kanssa. Koska selaimet eivät voi muodostaa tätä suojattua kanavaa, selaimessa käynnistetty authorization code -flow estetään token protection -käytäntöjen alaisena.",[530,998,999],{},"Kun käytäntö pakottaa token protectionin, joka vaatii brokerin hallinnoiman PoP:n, selaimeen palautettua authorization codea ei voi lunastaa, koska selain ei pysty tuottamaan vaadittua brokerin allekirjoittamaa todistetta code‑to‑token‑vaihdon aikana",[530,1001,1002],{},"Tässä tapauksessa AuthCodeFix-hyökkäykset torjutaan täysin niin kauan kuin sovellusta voidaan suojata Token Protectionilla.",[530,1004,1005],{},"Kuten alla olevassa kuvakaappauksessa näkyy, Token Protection torjuu onnistuneesti uhrin kalastelutoiminnan kautta käynnistämän authorization code -flow'n lunastuksen.",[530,1007,1008],{},[542,1009],{"alt":1010,"src":1011},"Token Protection successfully mitigates the redemption of the authorization code flow","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-07.png",[796,1013,844],{"id":1014},"haitta-2",[578,1016,1017,1049,1052,1055],{},[581,1018,1019,1020],{},"Vain seuraavat resurssit ovat virallisesti tuettuja:\n",[578,1021,1022,1024,1026],{},[581,1023,965],{},[581,1025,968],{},[581,1027,971,1028,1030,1032,1033,946,1037,1042,1043,1048],{},[588,1029],{},[588,1031],{},"\nMicrosoft Graph API on epäsuorasti katettu edellä mainittujen resurssien kautta, ja Microsoft Graph PowerShell on listattu tuetuksi clientiksi. Pystyimme testeissämme varmistamaan, että tämän skenaarion hyökkäys torjutaan. \"Windows Azure Service Management API\" ei ole listattu tuetuksi resurssiksi. Molemmat CLI-clientit (",[556,1034,1036],{"href":937,"rel":1035},[560],"Azure CLI",[556,1038,1041],{"href":1039,"rel":1040},"https://learn.microsoft.com/en-us/powershell/azure/authenticate-interactive?view=azps-15.1.0#benefits-of-wam",[560],"Azure PowerShell",") tukevat WAM:ia, joka on client-puolen edellytys Token Protectionin käytölle. Microsoft on ilmoittanut ",[556,1044,1047],{"href":1045,"rel":1046},"https://techcommunity.microsoft.com/blog/microsoft-entra-blog/how-to-break-the-token-theft-cyber-attack-chain/4062700",[560],"blogikirjoituksessa"," laajentavansa token protection -ominaisuuksia Azure-hallinnan skenaarioihin.",[581,1050,1051],{},"Jotkin Microsoft Graph PowerShellin virheet pakottavat poistamaan WAM-integraation tilapäisesti käytöstä",[581,1053,1054],{},"Sivuvaikutukset ja organisatoriset vaikutukset on arvioitava huolellisesti tarkastelemalla aiempia kirjautumisia ja arvioimalla käytäntö report-only-tilassa. Cloud app -kohdennus vaikuttaa myös tuottavuuskäyttöön Microsoft 365:ssä.",[581,1056,1057],{},"Rajallinen kattavuus, koska saatavuus koskee vain tuettuja alustoja ja Entra ID -integroituja laitteita.",[658,1059,1061],{"id":1060},"estä-tokenien-lisämyöntäminen-compliant-network-tarkistuksella-tai-luotetulla-verkolla","Estä tokenien lisämyöntäminen compliant network -tarkistuksella tai luotetulla verkolla",[771,1063,1065,1067,1068,1070,1067,1072,1074,1076],{"className":1064},[774],[584,1066,777],{}," keskitaso",[588,1069],{},[584,1071,783],{},[588,1073],{},[584,1075,789],{}," laaja\n",[658,1078,1080],{"id":1079},"vaihtoehto-estä-pääsy-compliant-network-verkon-ulkopuolelta-global-secure-accessilla","Vaihtoehto: Estä pääsy Compliant network -verkon ulkopuolelta Global Secure Accessilla",[796,1082,1084],{"id":1083},"edellytys","Edellytys:",[578,1086,1087,1090,1093,1096],{},[581,1088,1089],{},"Entra ID P1 -lisenssi",[581,1091,1092],{},"Entra ID Registered -laitteet, Hybrid- tai Entra ID-joined-laitteet Windows-, macOS-, Android- ja iOS-alustoilla",[581,1094,1095],{},"Global Secure Access Client kaikilla kohteena olevilla clienteilla ja käyttöön otettu Entra Internet Access M365 Traffic Profile -profiilille",[581,1097,1098],{},"Conditional Access -käytäntö verkon compliant-tarkistuksen pakottamiseksi tulisi soveltaa kaikkiin cloud app -sovelluksiin",[796,1100,826],{"id":1101},"hyöty-3",[530,1103,1104],{},"Estä tokenien lisämyöntäminen pakottamalla luotetun verkon tarkistus. Tämä torjuntatoimi varmistaa, etteivät hyökkääjät voi hankkia uusia tokeneita authorization code -flow'n refresh-tokenilla. Se ei kuitenkaan estä authorization coden alkuperäistä lunastusta eikä ensimmäisen access-tokenin myöntämistä, joka pysyy voimassa compliant-verkon ulkopuolella, koska sen pyysi alun perin uhri.",[624,1106,1107],{},[530,1108,1109],{},"GSA:n pakottaminen Compliant Network -ehdolla estää myös muita Token Replay -skenaarioita ja tuottaa lisälokeja, jotka voivat olla erittäin hyödyllisiä havaitsemiseen ja metsästykseen.",[796,1111,844],{"id":1112},"haitta-3",[578,1114,1115,1118,1121],{},[581,1116,1117],{},"Soveltuu vain käyttäjille ja laitteille, joilla on käyttöön otettu Global Secure Access -client",[581,1119,1120],{},"Rajallinen kattavuus, koska saatavuus koskee vain Entra ID -integroituja laitteita",[581,1122,1123],{},"Compliant Networks -pakottaminen CA:n kautta tarvitsee joitakin poikkeuksia kuten Intunen välttääkseen muna-kana-ongelmat. Ennen käyttöönottoa tarvitaan yksityiskohtaista testausta",[630,1125,1127],{"id":1126},"metsästyskyselyt","Metsästyskyselyt",[530,1129,1130,1131,1134],{},"Kun kaikki tokenvarkauden torjuntatoimien edellytykset täyttyvät, kuten GSA-clientin käyttöönotto (mukaan lukien ",[586,1132,1133],{},"NetworkAccessTraffic","-lokien keräys) ja WAM-todennuksen hyödyntäminen, saamme lisää vaihtoehtoja uhkien metsästykseen ja varmennukseen.",[658,1136,1138],{"id":1137},"gsa-lokien-ja-wam-todennuksen-hyödyntäminen-metsästyksessä-tai-havaitsemistulosten-luottamustason-varmistamisessa","GSA-lokien ja WAM-todennuksen hyödyntäminen metsästyksessä tai havaitsemistulosten luottamustason varmistamisessa",[530,1140,1141,1142,1144],{},"Tämä metsästyskysely hyödyntää Global Secure Accessin (GSA) ",[586,1143,1133],{},"-lokeja, jotka sisältävät Microsoft Entran token-endpointin kanssa käytävän kommunikaation käynnistävän prosessin. Tämä auttaa selvittämään, onko token-pyyntö peräisin suoraan selaimesta ja tehtiinkö lisää token-pyyntöjä GSA-verkon ulkopuolella.",[624,1146,1147],{},[530,1148,1149],{},"Tämä kysely toimii ja tuottaa luotettavia tuloksia vain, kun edellytykset täyttyvät; muutoin se johtaa korkeaan väärien positiivisten osumien määrään.",[530,1151,1152,1155,1156,1159,1160,1163],{},[584,1153,1154],{},"Miksi tällä on merkitystä:"," Kun kirjaudutaan CLI:n tai PowerShell-moduulien kautta käyttäen Web Account Manageria (WAM) Windows-laitteilla, flow ei sisällä selainpohjaista authorization codea. Tämä kirjautumiskäyttäytyminen on oletus uusimmassa versiossa. Näin ollen, jos käynnistävä prosessi on selaimen suoritettava tiedosto (esim. ",[586,1157,1158],{},"msedge.exe","), tämä on vahva indikaattori epäilyttävästä toiminnasta. macOS:ssä prosessin käynnistää Company Portal -sovellus (",[586,1161,1162],{},"com.microsoft.CompanyPortalMac.ssoextension","), kun käytetään Platform SSO:ta.",[530,1165,1166,1169],{},[584,1167,1168],{},"Token Binding ja PoP:"," WAM-todennus sitoo tokenit tyypillisesti laitteeseen pakottamalla Proof-of-Possessionin (PoP). Hyökkääjät eivät voi myöntää uusia sidottuja tokeneita ilman PoP:ia, joten sitomaton refresh-token on toinen vahva indikaattori.",[530,1171,1172,1175],{},[584,1173,1174],{},"Rajoitukset:"," Kaikki mainitut signaalit ovat saatavilla vain, kun pääsyä käyttävä laite on rekisteröity Microsoft Entra ID:hen tai liitetty siihen.",[530,1177,1178,1181],{},[584,1179,1180],{},"Luottamuspisteiden logiikka:"," Kysely yhdistää useita signaaleja laskeakseen luottamuspisteet:",[578,1183,1184,1187,1190],{},[581,1185,1186],{},"Token-pyyntöjä käynnistävän selainprosessin läsnäolo.",[581,1188,1189],{},"Havaitseminen ja alentuminen sitomattomiin tokeneihin.",[581,1191,1192],{},"Verkko-operaattorin muutokset (mukaan lukien compliant-tilasta non-compliant-tilaan) kirjautumisten välillä.",[530,1194,1195],{},"Näitä signaaleja voidaan käyttää kyselyssä toiminnan metsästämiseen tai luottamuspisteiden johtamiseen tapahtuman sattuessa aiemman havaitsemisen perusteella.",[530,1197,1198],{},[542,1199],{"alt":1200,"src":1201},"Signals for the hunting query","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-08.png",[530,1203,1204],{},"Ehdoista riippuen näytetään seuraava pisteytys:",[530,1206,1207,1210,1211,1213,1214,1216,1218,1221,1222,1224,1226,1229],{},[584,1208,1209],{},"Erittäin korkea luottamuspistemäärä"," näytetään, kun ",[586,1212,1133],{},"-lokit osoittavat tutun selainprosessin token-pyynnön käynnistämisen sijaan ja sitomattoman tokenin alennus on havaittu.",[588,1215],{},[588,1217],{},[584,1219,1220],{},"Korkea luottamuspistemäärä"," näytetään, kun kirjautuminen tapahtuu eri verkko-operaattorilta (ASN) ja non-compliant-verkosta, johon liittyy sitomattomia tokeneita.",[588,1223],{},[588,1225],{},[584,1227,1228],{},"Keskitason luottamuspistemäärä"," näytetään, kun tunnistetaan vain verkko-operaattorin ja compliant-verkon muutos sekä käytetyn token-tyypin muutos.",[530,1231,1232,1233,761],{},"Löydät metsästyskyselyn uusimman version ",[556,1234,1237],{"href":1235,"rel":1236},"https://github.com/Cloud-Architekt/AzureSentinel/blob/main/Hunting%20Queries/EID-Authentication/ConsentFix-HuntingConfidenceOnTokenAndNetworkSignals.kusto",[560],"GitHubista",[658,1239,1241],{"id":1240},"myönnetyillä-tokeneilla-tehtyjen-toimintojen-metsästys","Myönnetyillä tokeneilla tehtyjen toimintojen metsästys",[530,1243,1244,1245,1250,1251,1254,1255,1257,1258,1261],{},"Kannattaa harkita tutkinnan laajentamista kirjautumistapahtumien ulkopuolelle kattamaan toiminnot, jotka on suoritettu hyökkääjän myöntämillä tokeneilla. Kollegamme Thomas Naunheim on ",[556,1246,1249],{"href":1247,"rel":1248},"https://github.com/Cloud-Architekt/AzureSentinel/blob/main/Hunting%20Queries/EID-TokenHunting/MicrosoftCloudActivity.func",[560],"julkaissut KQL-funktion"," nimeltä ",[586,1252,1253],{},"MicrosoftCloudActivity",", joka voi auttaa tässä laajennetussa metsästysprosessissa. Lisäksi kyseinen ",[586,1256,675],{}," voidaan korreloida aiemmissa metsästyksissä tunnistettujen epäilyttävien ",[586,1259,1260],{},"UniqueId","-arvojen kanssa syvempää analyysiä varten.",[530,1263,1264],{},[542,1265],{"alt":1266,"src":1267},"KQL function","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-09.png",[530,1269,1270],{},"Tässä esimerkissä hyökkääjä hyödynsi hyökkäyksen aikana saatua refresh-tokenia myöntääkseen access-tokenin Microsoft Graph API:lle. Tätä tokenia käytettiin sitten pysyvän pääsyn ja lateraaliliikkeen ylläpitämiseen lisäämällä client secret uhrin omistamaan sovellukseen. Kysely tarjoaa tietoja Graph API -operaatiosta, mukaan lukien token protection -tilan ja sen, tapahtuiko operaatio Global Secure Access -verkon ulkopuolella.",[530,1272,1273],{},[542,1274],{"alt":1275,"src":1276},"Graph API operation screenshot","https://res.cloudinary.com/c4a8/image/upload/blog/pics/consentfix-img-10.png",[630,1278,1280],{"id":1279},"lisälukemista","Lisälukemista",[578,1282,1283,1290,1297,1304],{},[581,1284,1285],{},[556,1286,1289],{"href":1287,"rel":1288},"https://pushsecurity.com/blog/consentfix",[560],"ConsentFix: Analysing a browser-native ClickFix-style attack that hijacks OAuth consent grants - PushSecurity",[581,1291,1292],{},[556,1293,1296],{"href":1294,"rel":1295},"https://youtu.be/AAiiIY-Soak",[560],"Hacking Endpoint to Identity (Microsoft 365): \"ConsentFix\" - YouTube",[581,1298,1299],{},[556,1300,1303],{"href":1301,"rel":1302},"https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-auth-code-flow",[560],"Microsoft identity platform and OAuth 2.0 authorization code flow",[581,1305,1306],{},[556,1307,1310],{"href":1308,"rel":1309},"https://entrascopes.com/?appId=04b07795-8ddb-461a-bbee-02f9e1bf7b46",[560],"Microsoft Azure CLI on entrascpes.com",{"title":1312,"searchDepth":1313,"depth":1313,"links":1314},"",2,[1315,1319,1320,1321,1329,1333],{"id":632,"depth":1313,"text":633,"children":1316},[1317],{"id":660,"depth":1318,"text":661},3,{"id":712,"depth":1313,"text":713},{"id":728,"depth":1313,"text":729},{"id":764,"depth":1313,"text":765,"children":1322},[1323,1324,1325,1326,1327,1328],{"id":768,"depth":1318,"text":769},{"id":793,"depth":1318,"text":794},{"id":858,"depth":1318,"text":859},{"id":895,"depth":1318,"text":896},{"id":1060,"depth":1318,"text":1061},{"id":1079,"depth":1318,"text":1080},{"id":1126,"depth":1313,"text":1127,"children":1330},[1331,1332],{"id":1137,"depth":1318,"text":1138},{"id":1240,"depth":1318,"text":1241},{"id":1279,"depth":1313,"text":1280},"md","post",{"lang":1337,"seoTitle":1338,"titleClass":1339,"date":1340,"categories":1341,"blogtitlepic":1343,"socialimg":1344,"customExcerpt":1345,"keywords":1346,"scripts":1347,"asideNav":1348,"maxContent":325,"published":325},"fi","ConsentFix: Miten uusi OAuth-hyökkäys ohittaa Microsoft Entran Conditional Accessin","h2-font-size","2025-12-31",[1342],"Security","head-consentfix","/blog/heads/head-consentfix.jpg","Juuri ennen vuoden vaihdetta esiin nousee ConsentFix: näppärä OAuth-pohjainen hyökkäys, joka väärinkäyttää legitiimejä todennus-floweja varastaakseen authorization coden ja luovuttaa käytännössä hyökkääjille avaimet Microsoft Entraan. Käymme läpi, miksi tämä toimii Conditional Accessista huolimatta, mitä jälkiä se jättää lokeihin ja miten puolustajat voivat havaita ja pysäyttää sen ennen kuin todellista vahinkoa ehtii tapahtua.","ConsentFix-hyökkäys, OAuth-valtuutuskoodin varkaus, Microsoft Entra OAuth-hyökkäys, Azure CLI -tokenien väärinkäyttö, Entra ID Conditional Access -ohitus, valtuutuskoodin kalastelu, token replay -hyökkäys Azure, Proof of Possession -tokenit, WAM-todennuksen tietoturva, Azuren kirjautumislokien analyysi, OAuth-hyökkäysten havaitseminen Entrassa, Azure-identiteetin uhkien metsästys, Global Secure Access -tokensuojaus, Microsoft Entra -tietoturvahavaitseminen",{"slick":325,"form":325},{"menuItems":1349},[1350,1352,1354,1356,1358,1360],{"href":1351,"text":633},"#havaitsemisen-jäljet",{"href":1353,"text":713},"#kohinan-vähentäminen",{"href":1355,"text":729},"#kohteena-olevat-first-party-sovellukset",{"href":1357,"text":765},"#torjuntatoimet-ja-suojaukset",{"href":1359,"text":1127},"#metsästyskyselyt",{"href":1361,"text":1280},"#lisälukemista","/posts/2025-12-31-vulnerability-consentfix",{"title":521,"description":532},"posts/2025-12-31-vulnerability-consentfix",[1366,1367,281],"OAuth 2.0","Microsoft Entra ID","GJ3VvLUQ8Y7eDIL9gQQRi0Cklm_mjFIN0YK49RA0mvo",{"id":1370,"extension":1371,"meta":1372,"stem":8,"__hash__":1720},"authors_data/authors.json","json",{"path":1373,"Fritz Zurhorst":1374,"Alexander Schlindwein":1380,"Sophie Luna":1386,"Nadine Klein":1394,"Karsten Kleinschmidt":1400,"Julian Wendt":1408,"Holger Bunkradt":1413,"Ralf Mania":1419,"Oliver Kieselbach":1425,"Steffen Schwerdtfeger":1431,"Gunnar Winter":1439,"Jan Petersen":1444,"Thorsten Kunzi":1449,"Moritz Pohl":1453,"Thorben Pöschus":1458,"Christoph Hannebauer":1464,"Marco Scheel":1468,"Christopher Brumm":1473,"Florian Klante":1479,"Niklas Bachmann":1484,"Nils Krautkrämer":1489,"Patrick Treptau":1495,"Peter Beckendorf":1500,"Patrick Sobau":1505,"Jörg Wunderlich":1510,"Michael Breither":1514,"Christian Kanja":1519,"Zeba Hoffmann":1525,"Jochen Fröhlich":1530,"Jan Geisbauer":1534,"Gerrit Reinke":1546,"Christian Kordel":1552,"Stephan Wälde":1556,"Carolin Kanja":1561,"Adrian Ritter":1567,"Marvin Bangert":1572,"Thorsten Pickhan":1578,"Christian Lorenz":1584,"Denis Böhm":1589,"Fabian Bader":1594,"Juan Jose Fernandez Perez":1599,"Mahschid Sayyar":1604,"Benjamin Dassow":1609,"Markus Walschburger":1614,"Jonathan Haist":1619,"Daniel Rohregger":1624,"Thomas Naunheim":1629,"Florian Stöckl":1633,"Pascal Asch":1638,"Markus Kättner":1643,"Anna Ulbricht":1650,"Annette Brauns":1657,"body":1663,"title":1719},"/authors",{"display_name":1375,"avatar":1376,"permalink":1377,"linkedin":1378,"imageOffsetTop":1379},"Fritz Zurhorst","people/people-fritz-zurhorst.png","/authors/fritz-zurhorst","friedemann-z","72%",{"display_name":1381,"avatar":1382,"permalink":1383,"twitter":1384,"linkedin":1385},"Alexander Schlindwein","people/people-alexander-rudolph.png","/authors/alexander-schlindwein","AlexanderOnIT","schlindwein-alexander",{"display_name":1387,"avatar":1388,"permalink":1389,"twitter":1390,"linkedin":1391,"imageOffsetLeft":1392,"imageOffsetTop":1393},"Sophie Luna","people/people-sophie-luna.jpg","/authors/sophie-luna","glueckkanjagab","../company/glueckkanja-gab","58%","67%",{"display_name":1395,"avatar":1396,"permalink":1397,"twitter":1398,"linkedin":1399,"imageOffsetTop":1379},"Nadine Klein","people/people-nadine-kern.png","/authors/nadine-kern","nadineausRT","nadine-kern",{"display_name":1401,"avatar":1402,"permalink":1403,"twitter":1404,"linkedin":1405,"imageOffsetTop":1406,"imageOffsetLeft":1407},"Karsten Kleinschmidt","/c_pad,w_800,h_700/people/karsten-kleinschmidt.jpg","/authors/karsten-kleinschmidt","KarstenonIT","karstenkleinschmidt","60%","57%",{"display_name":1409,"avatar":1410,"permalink":1411,"linkedin":1412},"Julian Wendt","people/people-julian-wendt.png","/authors/julian-wendt","julian-wendt",{"display_name":1414,"avatar":1415,"permalink":1416,"linkedin":1417,"twitter":1418},"Holger Bunkradt","people/people-holger-bunkradt.png","/authors/holger-bunkradt","holger-bunkradt-12b5053b","hbunkradt",{"display_name":1420,"avatar":1421,"permalink":1422,"linkedin":1423,"twitter":1424},"Ralf Mania","people/people-ralf-mania.png","/authors/ralf-mania","ralf-mania-146a2757","RaMa1976",{"display_name":1426,"avatar":1427,"permalink":1428,"linkedin":1429,"twitter":1430},"Oliver Kieselbach","people/people-oliver-kieselbach.png","/authors/oliver-kieselbach","oliver-kieselbach-a4a3409","okieselbT",{"display_name":1432,"avatar":1433,"permalink":1434,"linkedin":1435,"twitter":1436,"imageOffsetTop":1437,"imageOffsetLeft":1438},"Steffen Schwerdtfeger","people/people-steffen-schwerdtfeger.png","/authors/steffen-schwerdtfeger","steffen-schwerdtfeger","SteffenAtCloud","79%","51%",{"display_name":1440,"avatar":1441,"permalink":1442,"twitter":1390,"linkedin":1443},"Gunnar Winter","people/people-gunnar-winter.jpg","/authors/gunnar-winter","company/glueckkanja-gab",{"display_name":1445,"avatar":1446,"permalink":1447,"twitter":1390,"linkedin":1448},"Jan Petersen","people/jan-petersen.png","/authors/jan-petersen","jan-petersen-26a901",{"display_name":1450,"avatar":1451,"permalink":1452,"twitter":1390,"linkedin":1443,"imageOffsetTop":1379},"Thorsten Kunzi","people/author-thorsten-kunzi.png","/authors/thorsten-kunzi",{"display_name":1454,"avatar":1455,"permalink":1456,"twitter":1390,"linkedin":1457},"Dr. Moritz Pohl","people/people-moritz-pohl.png","/authors/moritz-pohl","dr-moritz-pohl",{"display_name":1459,"avatar":1460,"permalink":1461,"twitter":1462,"linkedin":1463},"Thorben Pöschus","people/thorben.poeschus.png","/authors/thorben-poeschus","TPO901","thorben-pöschus-624693b7",{"display_name":1465,"avatar":1466,"permalink":1467,"twitter":1390,"linkedin":1443,"imageOffsetTop":1379},"Dr. Christoph Hannebauer","people/people-christoph-hannebauer.png","/authors/christoph-hannebauer",{"display_name":1469,"avatar":1470,"permalink":1471,"twitter":1472,"linkedin":1472},"Marco Scheel","people/people-marco-scheel.png","/authors/marco-scheel","marcoscheel",{"display_name":524,"avatar":1474,"permalink":1475,"twitter":1476,"linkedin":1477,"imageOffsetTop":1478},"people/people-christopher-brumm.jpg","/authors/christopher-brumm","cbrhh","christopherbrumm","66%",{"display_name":1480,"avatar":1481,"permalink":1482,"linkedin":1483,"twitter":1390},"Florian Klante","people/florian-klante.jpg","/authors/florian-klante","florian-klante-6031b31b",{"display_name":1485,"avatar":1486,"permalink":1487,"linkedin":1488,"twitter":1390},"Niklas Bachmann","people/niklas.bachmann.png","/authors/niklas-bachmann","niklas-bachmann-66a863158",{"display_name":1490,"avatar":1491,"permalink":1492,"twitter":1493,"linkedin":1494},"Nils Krautkrämer","people/nils-krautkraemer.png","/authors/nils-krautkraemer","KrauNils","nils-krautkrämer-8b04bb250",{"display_name":1496,"avatar":1497,"permalink":1498,"linkedin":1499,"twitter":1390},"Patrick Treptau","people/people-patrick-treptau.png","/authors/patrick-traptau","ptreptau",{"display_name":1501,"avatar":1502,"permalink":1503,"linkedin":1504,"twitter":1390,"imageOffsetTop":1379},"Peter Beckendorf","people/peter-beckendorf.png","/authors/peter-beckendorf","peter-beckendorf-29a239b1",{"display_name":1506,"avatar":1507,"permalink":1508,"linkedin":1509,"twitter":1390},"Patrick Sobau","people/patrick-sobau.png","/authors/patrick-sobau","patrick-sobau",{"display_name":1511,"avatar":1512,"permalink":1513,"twitter":1390},"Jörg Wunderlich","people/joerg-wunderlich.png","/authors/joerg-wunderlich",{"display_name":1515,"avatar":1516,"permalink":1517,"twitter":1390,"linkedin":1518},"Michael Breither","people/people-michael-breither.jpg","/authors/michael-breither","michaelbreither",{"display_name":1520,"avatar":1521,"permalink":1522,"twitter":1523,"linkedin":1524},"Christian Kanja","people/people-christian-kanja.png","/authors/christian-kanja","cekageka","christian-kanja",{"display_name":1526,"avatar":1527,"permalink":1528,"linkedin":1529,"twitter":1390},"Zeba Hoffmann","people/zeba-hoffmann.png","/authors/zeba-hoffmann","zebahoffmann",{"display_name":1531,"avatar":1532,"permalink":1533,"twitter":1390,"linkedin":1443},"Jochen Fröhlich","people/people-jochen-froehlich.png","/authors/jochen-froehlich",{"display_name":1535,"avatar":1536,"permalink":1537,"twitter":1538,"linkedin":1538,"imageOffsetTop":1379,"socials":1539},"Jan Geisbauer","people/people-jan-geisbauer-csoc.png","/authors/jan-geisbauer","JanGeisbauer",[1540,1543],{"text":1541,"href":1542},"Blog","https://emptydc.com",{"text":1544,"href":1545},"Podcast","https://hairlessinthecloud.com",{"display_name":1547,"avatar":1548,"permalink":1549,"twitter":1550,"linkedin":1551},"Gerrit Reinke","people/gerrit-reinke.png","/authors/gerrit-reinke","GLWRe","glwr",{"display_name":1553,"avatar":1554,"permalink":1555,"twitter":1390,"linkedin":1443},"Christian Kordel","people/christian-kordel.png","/authors/christian-kordel",{"display_name":1557,"avatar":1558,"permalink":1559,"twitter":1560,"linkedin":1443},"Stephan Wälde","people/people-stephan-waelde.png","/authors/stephan-waelde","stephanwaelde",{"display_name":1562,"avatar":1563,"permalink":1564,"twitter":1565,"linkedin":1566},"Carolin Kanja","people/people-carolin-kanja.jpg","/authors/carolin-kanja","fraukanja","carolin-kanja",{"display_name":1568,"avatar":1569,"permalink":1570,"twitter":1571,"linkedin":1571},"Adrian Ritter","people/people-adrian-ritter.png","/authors/adrian-ritter","adrianritter",{"display_name":1573,"avatar":1574,"permalink":1575,"twitter":1576,"linkedin":1577},"Marvin Bangert","people/people-marvin-bangert.png","/authors/marvin-bangert","marvinbangert","marvin-bangert",{"display_name":1579,"avatar":1580,"permalink":1581,"twitter":1582,"linkedin":1583},"Thorsten Pickhan","people/people-thorsten-pickhan.png","/authors/thorsten-pickhan","tpickhan","thorsten-pickhan",{"display_name":1585,"avatar":1586,"permalink":1587,"linkedin":1588,"twitter":1390},"Christian Lorenz","people/people-christian-lorenz.png","/authors/christian-lorenz","christianlorenz95",{"display_name":1590,"avatar":1591,"permalink":1592,"linkedin":1593,"twitter":1390},"Denis Böhm","people/people-denis-boehm.png","/authors/denis-boehm","denis-böhm-3bb834135",{"display_name":523,"avatar":1595,"permalink":1596,"linkedin":1597,"twitter":1598},"people/people-fabian-bader.jpg","/authors/fabian-bader","fabianbader","fabian_bader",{"display_name":1600,"avatar":1601,"permalink":1602,"linkedin":1603},"Juan Jose Fernandez Perez","people/people-juan-jose-fernandez.jpg","/authors/juan-jose-fernandez-perez","juan-jose-fernandez-perez-8016055",{"display_name":1605,"avatar":1606,"permalink":1607,"linkedin":1608},"Mahschid Sayyar","people/people-mahschid-sayyar.jpg","/authors/mahschid-sayyar","mahschid-sayyar-97544463",{"display_name":1610,"avatar":1611,"permalink":1612,"linkedin":1613},"Benjamin Dassow","people/people-benjamin-dassow.jpg","/authors/benjamin-dassow","benjamin-dassow",{"display_name":1615,"avatar":1616,"permalink":1617,"linkedin":1618},"Markus Walschburger","people/people-markus-walschburger.jpg","/authors/markus-walschburger","markus-walschburger",{"display_name":1620,"avatar":1621,"permalink":1622,"linkedin":1623,"imageOffsetTop":1379},"Jonathan Haist","people/people-jonathan-haist.jpg","/authors/jonathan-haist","jonathanhaist",{"display_name":1625,"avatar":1626,"permalink":1627,"linkedin":1628,"imageOffsetTop":1379},"Daniel Rohregger","people/people-daniel-rohregger.jpg","/authors/daniel-rohregger","drohregger",{"display_name":525,"avatar":1630,"permalink":1631,"linkedin":1632,"imageOffsetTop":1478},"people/people-thomas-naunheim.jpg","/authors/thomas-naunheim","thomasnaunheim",{"display_name":1634,"avatar":1635,"permalink":1636,"linkedin":1637,"imageOffsetTop":1478},"Florian Stöckl","people/people-florian-stoeckl.jpg","/authors/florian-stoeckl","florianstoeckl",{"display_name":1639,"avatar":1640,"permalink":1641,"linkedin":1642,"imageOffsetTop":1478},"Pascal Asch","people/Pascal.Asch.648.jpg","/authors/pascal-asch","pascal-asch",{"display_name":1644,"avatar":1645,"permalink":1646,"linkedin":1647,"imageOffsetTop":1648,"imageOffsetLeft":1649},"Markus Kättner","people/markus-kaettner.jpg","/authors/markus-kaettner","markus-kättner-b600119","62%","63%",{"display_name":1651,"avatar":1652,"permalink":1653,"linkedin":1654,"imageOffsetTop":1655,"imageOffsetLeft":1656},"Anna Ulbricht","people/anna-katharina.ulbricht-09.png","/authors/anna-ulbricht","anna-katharina-u-a67702199","70%","50%",{"display_name":1658,"avatar":1659,"permalink":1660,"linkedin":1661,"imageOffsetTop":1662,"imageOffsetLeft":1406},"Annette Brauns","people/Annette-Brauns-8.jpg","/authors/annette-brauns","annette-brauns","95%",{"Fritz Zurhorst":1664,"Alexander Schlindwein":1665,"Sophie Luna":1666,"Nadine Klein":1667,"Karsten Kleinschmidt":1668,"Julian Wendt":1669,"Holger Bunkradt":1670,"Ralf Mania":1671,"Oliver Kieselbach":1672,"Steffen Schwerdtfeger":1673,"Gunnar Winter":1674,"Jan Petersen":1675,"Thorsten Kunzi":1676,"Moritz Pohl":1677,"Thorben Pöschus":1678,"Christoph Hannebauer":1679,"Marco Scheel":1680,"Christopher Brumm":1681,"Florian Klante":1682,"Niklas Bachmann":1683,"Nils Krautkrämer":1684,"Patrick Treptau":1685,"Peter Beckendorf":1686,"Patrick Sobau":1687,"Jörg Wunderlich":1688,"Michael Breither":1689,"Christian Kanja":1690,"Zeba Hoffmann":1691,"Jochen Fröhlich":1692,"Jan Geisbauer":1693,"Gerrit Reinke":1697,"Christian Kordel":1698,"Stephan Wälde":1699,"Carolin Kanja":1700,"Adrian Ritter":1701,"Marvin Bangert":1702,"Thorsten Pickhan":1703,"Christian Lorenz":1704,"Denis Böhm":1705,"Fabian Bader":1706,"Juan Jose Fernandez Perez":1707,"Mahschid Sayyar":1708,"Benjamin Dassow":1709,"Markus Walschburger":1710,"Jonathan Haist":1711,"Daniel Rohregger":1712,"Thomas Naunheim":1713,"Florian Stöckl":1714,"Pascal Asch":1715,"Markus Kättner":1716,"Anna Ulbricht":1717,"Annette Brauns":1718},{"display_name":1375,"avatar":1376,"permalink":1377,"linkedin":1378,"imageOffsetTop":1379},{"display_name":1381,"avatar":1382,"permalink":1383,"twitter":1384,"linkedin":1385},{"display_name":1387,"avatar":1388,"permalink":1389,"twitter":1390,"linkedin":1391,"imageOffsetLeft":1392,"imageOffsetTop":1393},{"display_name":1395,"avatar":1396,"permalink":1397,"twitter":1398,"linkedin":1399,"imageOffsetTop":1379},{"display_name":1401,"avatar":1402,"permalink":1403,"twitter":1404,"linkedin":1405,"imageOffsetTop":1406,"imageOffsetLeft":1407},{"display_name":1409,"avatar":1410,"permalink":1411,"linkedin":1412},{"display_name":1414,"avatar":1415,"permalink":1416,"linkedin":1417,"twitter":1418},{"display_name":1420,"avatar":1421,"permalink":1422,"linkedin":1423,"twitter":1424},{"display_name":1426,"avatar":1427,"permalink":1428,"linkedin":1429,"twitter":1430},{"display_name":1432,"avatar":1433,"permalink":1434,"linkedin":1435,"twitter":1436,"imageOffsetTop":1437,"imageOffsetLeft":1438},{"display_name":1440,"avatar":1441,"permalink":1442,"twitter":1390,"linkedin":1443},{"display_name":1445,"avatar":1446,"permalink":1447,"twitter":1390,"linkedin":1448},{"display_name":1450,"avatar":1451,"permalink":1452,"twitter":1390,"linkedin":1443,"imageOffsetTop":1379},{"display_name":1454,"avatar":1455,"permalink":1456,"twitter":1390,"linkedin":1457},{"display_name":1459,"avatar":1460,"permalink":1461,"twitter":1462,"linkedin":1463},{"display_name":1465,"avatar":1466,"permalink":1467,"twitter":1390,"linkedin":1443,"imageOffsetTop":1379},{"display_name":1469,"avatar":1470,"permalink":1471,"twitter":1472,"linkedin":1472},{"display_name":524,"avatar":1474,"permalink":1475,"twitter":1476,"linkedin":1477,"imageOffsetTop":1478},{"display_name":1480,"avatar":1481,"permalink":1482,"linkedin":1483,"twitter":1390},{"display_name":1485,"avatar":1486,"permalink":1487,"linkedin":1488,"twitter":1390},{"display_name":1490,"avatar":1491,"permalink":1492,"twitter":1493,"linkedin":1494},{"display_name":1496,"avatar":1497,"permalink":1498,"linkedin":1499,"twitter":1390},{"display_name":1501,"avatar":1502,"permalink":1503,"linkedin":1504,"twitter":1390,"imageOffsetTop":1379},{"display_name":1506,"avatar":1507,"permalink":1508,"linkedin":1509,"twitter":1390},{"display_name":1511,"avatar":1512,"permalink":1513,"twitter":1390},{"display_name":1515,"avatar":1516,"permalink":1517,"twitter":1390,"linkedin":1518},{"display_name":1520,"avatar":1521,"permalink":1522,"twitter":1523,"linkedin":1524},{"display_name":1526,"avatar":1527,"permalink":1528,"linkedin":1529,"twitter":1390},{"display_name":1531,"avatar":1532,"permalink":1533,"twitter":1390,"linkedin":1443},{"display_name":1535,"avatar":1536,"permalink":1537,"twitter":1538,"linkedin":1538,"imageOffsetTop":1379,"socials":1694},[1695,1696],{"text":1541,"href":1542},{"text":1544,"href":1545},{"display_name":1547,"avatar":1548,"permalink":1549,"twitter":1550,"linkedin":1551},{"display_name":1553,"avatar":1554,"permalink":1555,"twitter":1390,"linkedin":1443},{"display_name":1557,"avatar":1558,"permalink":1559,"twitter":1560,"linkedin":1443},{"display_name":1562,"avatar":1563,"permalink":1564,"twitter":1565,"linkedin":1566},{"display_name":1568,"avatar":1569,"permalink":1570,"twitter":1571,"linkedin":1571},{"display_name":1573,"avatar":1574,"permalink":1575,"twitter":1576,"linkedin":1577},{"display_name":1579,"avatar":1580,"permalink":1581,"twitter":1582,"linkedin":1583},{"display_name":1585,"avatar":1586,"permalink":1587,"linkedin":1588,"twitter":1390},{"display_name":1590,"avatar":1591,"permalink":1592,"linkedin":1593,"twitter":1390},{"display_name":523,"avatar":1595,"permalink":1596,"linkedin":1597,"twitter":1598},{"display_name":1600,"avatar":1601,"permalink":1602,"linkedin":1603},{"display_name":1605,"avatar":1606,"permalink":1607,"linkedin":1608},{"display_name":1610,"avatar":1611,"permalink":1612,"linkedin":1613},{"display_name":1615,"avatar":1616,"permalink":1617,"linkedin":1618},{"display_name":1620,"avatar":1621,"permalink":1622,"linkedin":1623,"imageOffsetTop":1379},{"display_name":1625,"avatar":1626,"permalink":1627,"linkedin":1628,"imageOffsetTop":1379},{"display_name":525,"avatar":1630,"permalink":1631,"linkedin":1632,"imageOffsetTop":1478},{"display_name":1634,"avatar":1635,"permalink":1636,"linkedin":1637,"imageOffsetTop":1478},{"display_name":1639,"avatar":1640,"permalink":1641,"linkedin":1642,"imageOffsetTop":1478},{"display_name":1644,"avatar":1645,"permalink":1646,"linkedin":1647,"imageOffsetTop":1648,"imageOffsetLeft":1649},{"display_name":1651,"avatar":1652,"permalink":1653,"linkedin":1654,"imageOffsetTop":1655,"imageOffsetLeft":1656},{"display_name":1658,"avatar":1659,"permalink":1660,"linkedin":1661,"imageOffsetTop":1662,"imageOffsetLeft":1406},"Authors","1csawlkJxRljy93GTOnXEkwLqAv9Lcj-apxRvoodAOY",{"list":1722,"authors":1937},[1723,1739,1753,1767,1783,1796,1809,1822,1834,1850,1864,1879,1897,1908,1921],{"id":1724,"title":1725,"author":1726,"cta":494,"description":1312,"hideInRecent":484,"layout":1335,"meta":1727,"moment":1732,"path":1733,"stem":1734,"tags":1735,"webcast":484},"content_fi/posts/2026-09-22-end-of-mfa-sms.md","MFA-tekstiviestin loppu",[1401],{"lang":1337,"date":1728,"categories":1729,"blogtitlepic":1730,"customExcerpt":1731},"2026-09-21",[1342],"head-conditional-access.jpg","Miksi yritysten kannattaa nyt siirtyä phishing-kestäviin ja mahdollisimman salasanattomiin kirjautumistapoihin.","2026-09-22","/posts/2026-09-22-end-of-mfa-sms","posts/2026-09-22-end-of-mfa-sms",[1342,1736,1367,1737,1738],"Authentication","MFA","Passkeys",{"id":1740,"title":1741,"author":1742,"cta":494,"description":1312,"hideInRecent":484,"layout":1335,"meta":1743,"moment":1728,"path":1747,"stem":1748,"tags":1749,"webcast":484},"content_fi/posts/2026-09-21-clickfix-prevent-detect.md","ClickFix. Kun käyttäjä on se exploit, ja miten te pysäytätte sen",[1375,1395],{"lang":1337,"date":1728,"categories":1744,"blogtitlepic":1745,"customExcerpt":1746},[1342],"head-clickfix.jpg","ClickFix tekee käyttäjästä oman hyökkääjänsä: väärennetty CAPTCHA, yksi copy-paste, ja haittakoodi ajaa muistissa ilman että mitään päätyy levylle. Miten Microsoft Defender tunnistaa hyökkäyksen, missä tunnistus tulee rajoilleen ja miten te suljette aukon RunMRU-huntilla ja neljällä suojauslayerilla.","/posts/2026-09-21-clickfix-prevent-detect","posts/2026-09-21-clickfix-prevent-detect",[1750,1751,1752],"Defender","SOC","Endpoint Security",{"id":1754,"title":1755,"author":1756,"cta":494,"description":1312,"hideInRecent":484,"layout":1335,"meta":1757,"moment":1728,"path":1761,"stem":1762,"tags":1763,"webcast":484},"content_fi/posts/2026-09-21-red-tenant-dark-tenant-cio.md","Admin ja arki samalla koneella? Game Over.",[1535],{"lang":1337,"date":1728,"categories":1758,"blogtitlepic":1759,"customExcerpt":1760},[1342],"head-game-over-en.jpg","Miksi yksi tenant ei riitä CIO:lle, ja miksi toista harvoin ajatellaan mukaan. Managed Red Tenant erottaa hallinnollisen työn arkkitehtonisesti toimistoympäristöstä, Managed Dark Tenant pitää yrityksen toimintakykyisenä silloinkin, kun puolustus kaatuu. Mitä se tarkoittaa toimintamallille, SOC-signaalille ja NISG 2026:n näyttövelvollisuuksille.","/posts/2026-09-21-red-tenant-dark-tenant-cio","posts/2026-09-21-red-tenant-dark-tenant-cio",[1342,1764,1765,1766],"Privileged Access","Zero Trust","NIS2",{"id":1768,"title":1769,"author":1770,"cta":494,"description":1771,"hideInRecent":484,"layout":1335,"meta":1772,"moment":1773,"path":1778,"stem":1779,"tags":1780,"webcast":484},"content_fi/posts/2026-08-08-isg-germany-2026.md","Neljä kertaa Leader. glueckkanja ISG-tutkimuksessa Saksa 2026",[1562],"ISG nimesi tutkimuksensa tänä vuonna uudelleen. Microsoft Cloud Ecosystemistä tuli Microsoft AI and Cloud Ecosystem, ja nimen mukana mittapuu on siirtynyt: arvioitavana ei ole enää se, kuka ottaa Microsoft-alustat käyttöön, vaan se, kuka ylläpitää Copilotia, agentteja ja tekoälyworkloadeja hallittavasti. Asemaamme uusi mittapuu ei muuttanut. ISG Provider Lens® -tutkimus Saksa 2026 asemoi meidät Leaderiksi neljässä kvadrantissa: Microsoft Productivity and Business Process Services ja Azure Managed Services, kummassakin Large Market ja Mid Market. Vuosien 2021, 2023, 2024 ja 2025 jälkeen tämä on viides Leader-luokitus Saksassa, Sveitsissä hyppy Leader-kvadranttiin tapahtui kaksi viikkoa aiemmin.",{"lang":1337,"date":1773,"categories":1774,"blogtitlepic":1776,"customExcerpt":1777},"2026-08-08",[1775],"Corporate","head-isg-de-2026.png","ISG Provider Lens® -tutkimus 2026 asemoi glueckkanjan Saksassa Leaderiksi neljässä kvadrantissa: Microsoft Productivity and Business Process Services ja Azure Managed Services, kummassakin Large ja Mid Market. Tutkimuksen nimi on nyt Microsoft AI and Cloud Ecosystem, ja mittapuu on siirtynyt: arvioidaan, kuka ylläpitää tekoäly- ja agenttiworkloadeja hallittavasti.","/posts/2026-08-08-isg-germany-2026","posts/2026-08-08-isg-germany-2026",[1781,1782],"Award","ISG",{"id":1784,"title":1785,"author":1786,"cta":494,"description":1787,"hideInRecent":484,"layout":1335,"meta":1788,"moment":1789,"path":1793,"stem":1794,"tags":1795,"webcast":484},"content_fi/posts/2026-07-31-isg-switzerland-2026.md","Rising Starista Leaderiksi. glueckkanja ISG-tutkimuksessa Sveitsi 2026",[1562],"Vuonna 2024 perustimme glueckkanja Switzerland AG:n ja otimme käyttöön toimiston zentroomissa osoitteessa Bahnhofplatz 10b Bernissä. Vuonna 2025 ISG luokitteli meidät Sveitsin markkinassa Rising Stariksi, toimittajaksi, jonka analyytikot uskovat hyppäävän Leader-kvadranttiin. Nyt hyppy on dokumentoitu: ISG Provider Lens® -tutkimus 2026 asemoi meidät Sveitsissä Leaderiksi kvadrantissa Microsoft AI and Cloud Ecosystem, alueilla Azure Managed Services ja Microsoft Productivity and Business Process Services.",{"lang":1337,"date":1789,"categories":1790,"blogtitlepic":1791,"customExcerpt":1792},"2026-07-31",[1775],"head-isg-ch-2026.png","ISG Provider Lens® -tutkimus 2026 asemoi glueckkanjan Sveitsissä Leaderiksi kvadrantissa Microsoft AI and Cloud Ecosystem, alueilla Azure Managed Services ja Microsoft Productivity and Business Process Services. Kaksi vuotta Bernin markkinoilletulon jälkeen, vuosi Rising Star -tunnustuksen jälkeen.","/posts/2026-07-31-isg-switzerland-2026","posts/2026-07-31-isg-switzerland-2026",[1781,1782],{"id":1797,"title":1798,"author":1799,"cta":494,"description":1312,"hideInRecent":484,"layout":1335,"meta":1800,"moment":1801,"path":1805,"stem":1806,"tags":1807,"webcast":484},"content_fi/posts/2026-07-24-outbreak-openai-hugging-face.md","Outbreak. Mitä OpenAI/Hugging-Face-tapaus paljastaa ja mitä ei",[1535],{"lang":1337,"date":1801,"categories":1802,"blogtitlepic":1803,"customExcerpt":1804},"2026-07-24",[1342],"head-outbreak.jpg","AI-agentti murtautuu ulos testiympäristöstään, löytää nollapäivähaavoittuvuuden ja hakkeroi toisen yrityksen. Kuulostaa käsikirjoitukselta, mutta tapahtui todella heinäkuussa 2026. Aika asettaa asia raittiiseen kehykseen: hieman psykologiaa, kaksi tietoturvaveteraania ja kysymys siitä, mitä tämä merkitsee teidän puolustuksellenne.","/posts/2026-07-24-outbreak-openai-hugging-face","posts/2026-07-24-outbreak-openai-hugging-face",[1808,1751,1765],"AI",{"id":1810,"title":1811,"author":1812,"cta":494,"description":1813,"hideInRecent":484,"layout":1335,"meta":1814,"moment":1815,"path":1819,"stem":1820,"tags":1821,"webcast":484},"content_fi/posts/2026-07-22-isg-cybersecurity-2026.md","Leader ja Rising Star. glueckkanja ISG:n Cybersecurity-tutkimuksessa 2026",[1562],"Uutena kvadrantissa ja heti Leader: ISG Provider Lens® -tutkimus \"Cybersecurity – Services and Solutions 2026\" asemoi glueckkanjan Leaderiksi Next-Gen SOC/MDR Services -alueella Saksan keskisuurten yritysten markkinassa. Next-Gen SOC/MDR Services -kokonaismarkkinassa ISG palkitsee meidät Rising Starina, eli toimittajana, jonka analyytikot uskovat hyppäävän Leader-kvadranttiin seuraavien 12–24 kuukauden aikana.",{"lang":1337,"date":1815,"categories":1816,"blogtitlepic":1817,"customExcerpt":1818},"2026-07-22",[1775],"head-isg-cybersecurity-2026.png","ISG Provider Lens® -tutkimus Cybersecurity 2026 palkitsee glueckkanjan Leaderina kvadrantissa Next-Gen SOC/MDR Services (Midmarket). Next-Gen SOC/MDR Services -kokonaismarkkinassa olemme Rising Star. ISG toteaa meille keskimääräistä paremman kasvun, syvän Microsoft-tietoturvaosaamisen ja 24/7-SOC:n Saksasta.","/posts/2026-07-22-isg-cybersecurity-2026","posts/2026-07-22-isg-cybersecurity-2026",[1781,1782,1342],{"id":1823,"title":1824,"author":1825,"cta":494,"description":1826,"hideInRecent":484,"layout":1335,"meta":1827,"moment":1828,"path":1831,"stem":1832,"tags":1833,"webcast":484},"content_fi/posts/2026-07-06-the-holy-trinity.md","The Holy Trinity: mitä tekoäly todella tarvitsee tehdäkseen työtä",[1562],"Valmistava yritys haluaa tietää, mitkä sen 14 000 SKU:sta ovat todella kannattavia. Vastaus on kolmessa järjestelmässä, jotka eivät ole koskaan vaihtaneet keskenään yhtäkään datapistettä. Vielä vähän aikaa sitten sen selvittäminen vaati kolme osastoa, kaksi viikkoa ja aimo annoksen hyvää tahtoa. Vuoden 2026 alusta tekoäly pystyy vastaamaan tähän kysymykseen minuuteissa: käymään datan läpi, luomaan yhteyksiä, tuottamaan suosituksen. Edellyttäen, että sillä on pääsy.",{"lang":1337,"date":1828,"categories":1829,"blogtitlepic":1830},"2026-07-06",[131],"head-the-holy-trinity","/posts/2026-07-06-the-holy-trinity","posts/2026-07-06-the-holy-trinity",[1808,131],{"id":1835,"title":1836,"author":1837,"cta":494,"description":1838,"hideInRecent":484,"layout":1335,"meta":1839,"moment":1840,"path":1844,"stem":1845,"tags":1846,"webcast":484},"content_fi/posts/2026-07-01-onboarding-process.md","Sopimus allekirjoitettu: näin perehdytyksesi meillä etenee",[1651],"Miten teidän perehdytyksenne oikeastaan etenee? Kysymys, joka tulee vastaan yhä uudelleen keskusteluissa hakijoiden kanssa, sillä moni on jo kerran kokenut takkuisen perehdytyksen. Sitäkin tärkeämpää meille on antaa sinulle hyvä tunne alusta alkaen.",{"lang":1337,"date":1840,"categories":1841,"blogtitlepic":1842,"customExcerpt":1843},"2026-07-01",[1775],"Onboarding_Blogheader","Sopimus on allekirjoitettu, ensimmäinen suuri askel on otettu. Mutta miten tästä eteenpäin? Otamme sinut mukaan kulissien taakse perehdytykseemme, PreBoardingista ensimmäiseen viikkoon tiimissä.","/posts/2026-07-01-onboarding-process","posts/2026-07-01-onboarding-process",[1847,1848,1849],"Employer Branding","Onboarding","Unternehmenskultur",{"id":1851,"title":1852,"author":1853,"cta":494,"description":1854,"hideInRecent":484,"layout":1335,"meta":1855,"moment":1856,"path":1860,"stem":1861,"tags":1862,"webcast":484},"content_fi/posts/2026-06-26-frontier-partner.md","Microsoft Frontier Partner: kuulumme joukkoon",[1562],"Microsoftin kumppaniekosysteemissä on koko joukko tunnustuksia, ja silti Frontier Partner -merkki erottuu rakenteeltaan muista palkinnoista. Sitä ei voi hakea, vaan Microsoft myöntää sen omasta aloitteestaan pienelle joukolle kumppaneita, joiden on vakuutettava useammalla osa-alueella rinnakkain sen sijaan, että loistaisivat vain yhdellä. Microsoft arvioi tässä osoitettua osaamista Cloud & AI Platforms-, AI Business Solutions- ja Security-alueilla yhtä lailla ja puhuttelee näin yrityksiä, jotka eivät ymmärrä tekoälyä olemassa olevan IT:n päälle liimattuna lisänä vaan yhtenäisen arkkitehtuurin tuloksena, joka kantaa identiteetistä päätelaitteen kautta tuotannolliseen tekoälykäyttöön asti.",{"lang":1337,"date":1856,"categories":1857,"blogtitlepic":1858,"customExcerpt":1859},"2026-06-26",[1775],"head-frontier-partner-badge.jpg","Microsoft AI Cloud Partner Program -ohjelmaan on hiljattain tullut uusi huipputunnustus, Frontier Partner -merkki. Microsoft myöntää sen ainoastaan pienelle joukolle kumppaneita maailmanlaajuisesti, jotka toimittavat tekoälyprojekteja kestävästi koko Microsoft-stackin läpi, työpaikasta pilvialustaan ja tietoturvaan sekä itse tekoälysovellukseen asti, ja jotka ovat osoittaneet tämän käytännössä. DACH-alueella tähän joukkoon kuuluu vain kourallinen yrityksiä, ja me olemme yksi niistä.","/posts/2026-06-26-frontier-partner","posts/2026-06-26-frontier-partner",[1781,1863,1808],"Microsoft Partner",{"id":1865,"title":1866,"author":1867,"cta":494,"description":1868,"hideInRecent":484,"layout":1335,"meta":1869,"moment":1870,"path":1874,"stem":1875,"tags":1876,"webcast":484},"content_fi/posts/2026-06-09-vair-run.md","160 kilometriä hyvän asian puolesta",[1658],"Sunnuntaiaamu, klo 8:30, Holbeinsteg Main-joen varrella. Yksitoista kollegaa yhtenäisissä NinjaCat-paidoissa, valmiina Frankfurter Runden -tapahtumaan. Sateen, salamoiden ja ukkosen kera. Hyvän asian puolesta juokseminen oli riittävä motivaatio nyöritä juoksukengät huonosta säästä huolimatta.",{"lang":1337,"date":1870,"categories":1871,"blogtitlepic":1872,"customExcerpt":1873},"2026-06-08",[1775],"frankfurter-runden.png","Yksitoista kollegaa, 16 kierrosta, 160 kilometriä, ukkosmyrsky ja palkintopallisija: glueckkanja osallistui Frankfurter Runden 2026 -tapahtumaan ja lahjoitti jokaisesta juostusta kierroksesta VAIR e.V.:lle, joka rakentaa Offenbachiin inklusiivista liikunta- ja kulttuuripuistoa.","/posts/2026-06-09-vair-run","posts/2026-06-09-vair-run",[1877,1847,1878],"Top Arbeitgeber","Soziales Engagement",{"id":1880,"title":1881,"author":1882,"cta":494,"description":1883,"hideInRecent":484,"layout":1335,"meta":1884,"moment":1885,"path":1889,"stem":1890,"tags":1891,"webcast":484},"content_fi/posts/2026-04-10-incident-to-intelligence.md","Tuntemattoman AMOS Stealerin anatomia: alertista immuniteettiin tunneissa",[1639],"Kun SOC:ssamme laukeaa alert, kello alkaa käydä: ei vain kyseiselle asiakkaalle vaan kaikille organisaatioille suojamme alla. Vaarallisin hetki nykyaikaisessa uhkaympäristössä on Intelligence Gap, se aikaikkuna uuden haittaohjelmavariantin ensimmäisen käytön ja sen päivän välillä, jona ala saa siitä tiedon.",{"lang":1337,"date":1885,"categories":1886,"blogtitlepic":1887,"customExcerpt":1888},"2026-04-10",[1342],"head-amos-stealer.png","Tähän asti dokumentoimaton AMOS-stealerin variantti kompromentoi macOS-endpointin. Ei tunnettuja hasheja, ei C2-tietoja julkisissa tietokannoissa. SOC:mme purki kuusi obfuskointikerrosta, poimi kaikki indikaattorit ja jakoi suojauksen kaikille SOC-asiakkaille tunneissa, jo ennen kuin ala oli edes nähnyt samplea.","/posts/2026-04-10-incident-to-intelligence","posts/2026-04-10-incident-to-intelligence",[1892,1893,1894,1895,1896],"Threat Intelligence","Incident Response","macOS Security","Malware Analysis","Cyber Security Operations Center",{"id":1898,"title":1899,"author":1900,"cta":494,"description":1901,"hideInRecent":484,"layout":1335,"meta":1902,"moment":1903,"path":1906,"stem":1907,"tags":494,"webcast":484},"content_fi/posts/2026-03-21-microsoft-edge-corporate-browser.md","Miksi Edgen pitäisi olla ainoa Corporate Browserinne",[1432],"Selaimen valinta on yritysympäristöissä strateginen päätös: se vaikuttaa suoraan siihen, kuinka paljon turvallisuutta ja hallintatyötä teillä todellisuudessa on. Google Chrome oli pitkään ilmeinen valinta, mutta Microsoft Edge on kehittynyt selaimeksi, joka kytkeytyy suoraan olemassa olevaan stackiin, etenkin kun Microsoft 365 on käytössä ja hallinta hoidetaan Intunen kautta.",{"lang":1337,"date":1903,"blogtitlepic":1904,"customExcerpt":1905},"2026-03-21","head-microsoft-edge-default-browser.jpg","Mikään yritys ei ole oikeasti valinnut Chromea; se oli vain siellä, omalla synkronointilogiikallaan, omalla tilinhallinnallaan, omalla käytäntöjen käyttöliittymällään. Microsoft Edge sen sijaan kytkeytyy suoraan infrastruktuuriin, joka on jo muutenkin käytössä: Entra ID, Intune, Defender. Tämä artikkeli näyttää, miltä vaihto näyttää, miten Chrome uudelleenohjataan Intune-käytännöllä laskeutumissivulle ja mikä jää pois, kun lakkaa käyttämästä kahta selainta rinnakkain.","/posts/2026-03-21-microsoft-edge-corporate-browser","posts/2026-03-21-microsoft-edge-corporate-browser",{"id":1909,"title":1910,"author":1911,"cta":494,"description":1912,"hideInRecent":484,"layout":1335,"meta":1913,"moment":1914,"path":1918,"stem":1919,"tags":1920,"webcast":484},"content_fi/posts/2026-03-20-stryker-attack-intune-privilege.md","Yksi admin-tili oli kaikki, mitä siihen tarvittiin.",[1535],"Keskiviikko 11. maaliskuuta 2026. Stryker-toimistojen työntekijät 79 maassa käynnistivät tietokoneensa ja löysivät ne tyhjinä. Kirjautumisnäytöt korvattuina logolla. Yrityksen kannettavat, työpuhelimet, yksityiset laitteet, jotka oli rekisteröity yrityksen BYOD-ohjelmaan – kaikki pyyhitty yhtä aikaa, yhden yön aikana. Ei kiristysohjelmaa, ei haittaohjelmasignatuureja, ei mitään, minkä päätelaitteiden suojaustyökalu olisi voinut havaita.",{"lang":1337,"date":1914,"categories":1915,"blogtitlepic":1916,"customExcerpt":1917},"2026-03-20",[1342],"head-stryker.jpg","11. maaliskuuta 2026 Handala pyyhki laitteita 79 maassa, ja siihen tarvittiin vain yksi kaapattu Intunen admin-tili. Ei haittaohjelmia, ei exploittia, pelkkiä laillisia hallintatyökaluja käännettynä niiden omistajia vastaan. Mitä tapahtui, miksi se toimi ja mitkä kaksi arkkitehtuurin aukkoa on suljettava.","/posts/2026-03-20-stryker-attack-intune-privilege","posts/2026-03-20-stryker-attack-intune-privilege",[71,1764,1765],{"id":1922,"title":1923,"author":1924,"cta":494,"description":1925,"hideInRecent":484,"layout":1335,"meta":1926,"moment":1927,"path":1931,"stem":1932,"tags":1933,"webcast":484},"content_fi/posts/2026-03-16-ai-agent-hackathon.md","Kuusi agenttia. Neljä viikkoa. Aitoa tuotantokäyttöä.",[1562],"Kuinka monta tuntia viikossa IT-osastonne käyttää tehtäviin, jotka agentti hoitaisi minuuteissa?",{"lang":1337,"date":1927,"categories":1928,"blogtitlepic":1929,"customExcerpt":1930},"2026-03-16",[1775],"head-ai-agent-hackathon.jpg","Kuusi yritystä, neljän viikon rakennusvaihe, kuusi toimivaa AI-agenttia – siitä oli kyse ensimmäisessä glueckkanja AI Agent Hackathonissa. Kiekert, Dr. Oetker, Eckes-Granini, igefa ja lila logistik rakensivat Copilot Studiossa agentteja, jotka ovat tänään tuotannossa. Mitä siinä syntyi ja miten formaatti toimii.","/posts/2026-03-16-ai-agent-hackathon","posts/2026-03-16-ai-agent-hackathon",[1808,1934,1935,1936],"Copilot Studio","Hackathon","AI Agents",{"Karsten Kleinschmidt":1938,"Fritz Zurhorst":1939,"Nadine Klein":1940,"Jan Geisbauer":1941,"Carolin Kanja":1945,"Anna Ulbricht":1946,"Annette Brauns":1947,"Pascal Asch":1948,"Steffen Schwerdtfeger":1949},{"display_name":1401,"avatar":1402,"permalink":1403,"twitter":1404,"linkedin":1405,"imageOffsetTop":1406,"imageOffsetLeft":1407},{"display_name":1375,"avatar":1376,"permalink":1377,"linkedin":1378,"imageOffsetTop":1379},{"display_name":1395,"avatar":1396,"permalink":1397,"twitter":1398,"linkedin":1399,"imageOffsetTop":1379},{"display_name":1535,"avatar":1536,"permalink":1537,"twitter":1538,"linkedin":1538,"imageOffsetTop":1379,"socials":1942},[1943,1944],{"text":1541,"href":1542},{"text":1544,"href":1545},{"display_name":1562,"avatar":1563,"permalink":1564,"twitter":1565,"linkedin":1566},{"display_name":1651,"avatar":1652,"permalink":1653,"linkedin":1654,"imageOffsetTop":1655,"imageOffsetLeft":1656},{"display_name":1658,"avatar":1659,"permalink":1660,"linkedin":1661,"imageOffsetTop":1662,"imageOffsetLeft":1406},{"display_name":1639,"avatar":1640,"permalink":1641,"linkedin":1642,"imageOffsetTop":1478},{"display_name":1432,"avatar":1433,"permalink":1434,"linkedin":1435,"twitter":1436,"imageOffsetTop":1437,"imageOffsetLeft":1438},{"id":1370,"extension":1371,"meta":1951,"stem":8,"__hash__":1720},{"Christopher Brumm":1952,"Fabian Bader":1953,"Thomas Naunheim":1954},{"display_name":524,"avatar":1474,"permalink":1475,"twitter":1476,"linkedin":1477,"imageOffsetTop":1478},{"display_name":523,"avatar":1595,"permalink":1596,"linkedin":1597,"twitter":1598},{"display_name":525,"avatar":1630,"permalink":1631,"linkedin":1632,"imageOffsetTop":1478},1791383928104]