[{"data":1,"prerenderedAt":5238},["ShallowReactive",2],{"application-flags":3,"navbar":7,"always-visible-banner":95,"navbar-about-highlight":155,"navbar-resource-highlight":211,"use-case-page":256,"blog/shifting-detection-left-for-more-effective-threat-detection":1276},[4],{"name":5,"enabled":6},"maintenanceMode",false,[8,59,76],{"createdDate":9,"id":10,"name":11,"modelId":12,"published":13,"stageModifiedSincePublish":6,"query":14,"data":15,"variations":50,"lastUpdated":51,"firstPublished":52,"testRatio":33,"createdBy":53,"lastUpdatedBy":53,"folders":54,"meta":55,"rev":58},1742213002749,"efff2a27faf4408e9f908eba4b5542fe","inductive-automation","1c6207a5f24948ab82d4a0b17f251193","published",[],{"testimonial":16,"description":43,"type":19,"link":44,"title":47,"testimonialLink":48,"image":49},{"@type":17,"id":18,"model":19,"value":20},"@builder.io/core:Reference","f028f2b685bb47cd8bf9e82a26dd5a79","testimonial",{"query":21,"folders":22,"createdDate":23,"id":18,"name":24,"modelId":25,"published":13,"data":26,"variations":30,"lastUpdated":31,"firstPublished":32,"testRatio":33,"createdBy":34,"lastUpdatedBy":34,"meta":35,"rev":42},[],[],1735823466309,"We found Push to be more accurate when compared to competitors and the browser agent offered features that others couldn’t match.","42035571a56940ac98bff4544aa79aa5",{"author":27,"jobTitle":28,"quote":24,"image":29},"Jason Waits","\u003Cp>CISO at Inductive Automation\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Ff04c0c0689ce4a89ac0f0708d78c0a07",{},1735910703862,1735823501152,1,"ST0tXQM8slWpFrmioqKHmENB2qe2",{"kind":36,"lastPreviewUrl":37,"breakpoints":38,"hasAutosaves":41},"data","",{"small":39,"medium":40},640,768,true,"3v32gocrrqz","Join the industry's top security minds as they break down the browser attack landscape.",{"url":45,"text":46},"https://pushsecurity.com/webinar/state-of-browser-security","Save Your Spot","State of Browser Attacks Series","/customer-stories/inductive-automation","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fe94fca10aa7b46ac8052b7ea22de54cd",{},1776257019270,1742221533648,"CydmZnOWU1XuAaLhEDCoYNM4Z8W2",[],{"breakpoints":56,"kind":36,"lastPreviewUrl":37,"hasAutosaves":6},{"xsmall":57,"small":39,"medium":40},320,"motto9r9yg",{"createdDate":60,"id":61,"name":62,"modelId":12,"published":13,"query":63,"data":64,"variations":69,"lastUpdated":70,"firstPublished":71,"testRatio":33,"createdBy":53,"lastUpdatedBy":72,"folders":73,"meta":74,"rev":58},1742208588866,"1c7a4e423bf54ac1a328bb4063459ef2","Banner",[],{"type":65,"url":66,"text":67,"link":68},"web-banner","https://pushsecurity.com/resources/browser-attacks-report","Get our latest report analyzing browser attack techniques in 2026",{},{},1774258294825,1742208637545,"jKjF9r5jcvXU8tzZEfFQm31Iyvr2",[],{"kind":36,"lastPreviewUrl":37,"breakpoints":75,"hasAutosaves":41},{"xsmall":57,"small":39,"medium":40},{"createdDate":77,"id":78,"name":79,"modelId":12,"published":13,"stageModifiedSincePublish":6,"query":80,"data":81,"variations":89,"lastUpdated":90,"firstPublished":91,"testRatio":33,"createdBy":53,"lastUpdatedBy":53,"folders":92,"meta":93,"rev":58},1742208469288,"6763051b201f44a0838c6400c580ca67","Resource highlight",[],{"image":82,"type":83,"description":84,"link":85,"title":88},"https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F7b4a5ebf81d64e8c9d7fc35f6c96c4a9","resource","Learn about the latest techniques being used in the wild.",{"url":86,"text":87},"/resources/browser-attacks-report","Download now","Report: 2026 Browser Attack Techniques",{},1776255866789,1742208570400,[],{"kind":36,"lastPreviewUrl":37,"breakpoints":94,"hasAutosaves":6},{"xsmall":57,"small":39,"medium":40},{"createdDate":96,"id":97,"name":98,"modelId":99,"published":13,"query":100,"data":101,"variations":145,"lastUpdated":146,"firstPublished":147,"testRatio":33,"createdBy":34,"lastUpdatedBy":148,"folders":149,"meta":150,"rev":154},1774965361051,"fd266d0172cc47429be7ad10f48c99ad","always visible banner","0678d178ec8b41efb8a23c09dba7874d",[],{"ctaText":102,"text":103,"url":37,"blocks":104,"state":141},"ewrererw","testrfesssssssssss",[105,129],{"@type":106,"@version":107,"id":108,"component":109,"responsiveStyles":119},"@builder.io/sdk:Element",2,"builder-ca12c06a52de41d7b8743da53118cd38",{"name":110,"tag":110,"options":111,"isRSC":118},"TopBannerContent",{"text":112,"ctaText":46,"url":45,"mainText":113,"cta":116},"New Webinar Series: Join John Hammond, Troy Hunt, and Matt Johansen for the State of Browser Attacks",{"content":114,"fontSize":115},"\u003Cp>New Webinar Series: Join John Hammond, Troy Hunt, and Matt Johansen for the State of Browser Attacks\u003C/p>","text-base",{"content":117,"fontSize":115,"url":45},"\u003Cp>\u003Cstrong style=\"font-weight:700;\">Save Your Spot\u003C/strong>\u003C/p>\n",null,{"large":120},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"marginTop":126,"marginBottom":126,"fontSize":127,"fontWeight":128},"flex","column","relative","0","border-box",".56rem","1.125rem","700",{"id":130,"@type":106,"tagName":131,"properties":132,"responsiveStyles":136},"builder-pixel-08zrjigffq5t","img",{"src":133,"aria-hidden":134,"alt":37,"role":135,"width":124,"height":124},"https://cdn.builder.io/api/v1/pixel?apiKey=f3a1111ff5be48cdbb123cd9f5795a05","true","presentation",{"large":137},{"height":124,"width":124,"display":138,"opacity":124,"overflow":139,"pointerEvents":140},"block","hidden","none",{"deviceSize":142,"location":143},"large",{"path":37,"query":144},{},{},1775137295127,1774968080803,"ax7YYfD0OCeqT1Vxxv1G4FUbqVr1",[],{"breakpoints":151,"hasLinks":6,"kind":152,"lastPreviewUrl":153,"hasAutosaves":6},{"xsmall":57,"small":39,"medium":40},"component","https://pushsecurity.com/?builder.space=f3a1111ff5be48cdbb123cd9f5795a05&builder.user.permissions=read%2Ccreate%2Cpublish%2CeditCode%2CeditDesigns%2CeditLayouts%2CeditLayers%2CeditContentPriority%2CeditFolders%2CeditProjects%2CmodifyMcpServers%2CmodifyWorkflowIntegrations%2CmodifyProjectSettings%2CconnectCodeRepository%2CcreateProjects%2CindexDesignSystems%2CsendPullRequests%2CmergePullRequests&builder.user.role.name=Developer&builder.user.role.id=developer&builder.cachebust=true&builder.preview=always-visible-banner&builder.noCache=true&builder.allowTextEdit=true&__builder_editing__=true&builder.overrides.always-visible-banner=fd266d0172cc47429be7ad10f48c99ad&builder.overrides.fd266d0172cc47429be7ad10f48c99ad=fd266d0172cc47429be7ad10f48c99ad&builder.options.locale=Default","2lvuonnywj",[156,180],{"createdDate":157,"id":158,"name":159,"modelId":160,"published":13,"stageModifiedSincePublish":6,"query":161,"data":162,"variations":173,"lastUpdated":174,"firstPublished":175,"testRatio":33,"createdBy":53,"lastUpdatedBy":53,"folders":176,"meta":177,"rev":179},1776247359804,"9136a8f18b3b4a6ba29b8653a99372b1","testimonial-inductive-automation","20d9eaa352304613b3d1a794b400703d",[],{"link":163,"type":19,"testimonialLink":48,"testimonial":164},{},{"@type":17,"id":18,"model":19,"value":165},{"query":166,"folders":167,"createdDate":23,"id":18,"name":24,"modelId":25,"published":13,"data":168,"variations":169,"lastUpdated":31,"firstPublished":32,"testRatio":33,"createdBy":34,"lastUpdatedBy":34,"meta":170,"rev":172},[],[],{"author":27,"jobTitle":28,"quote":24,"image":29},{},{"kind":36,"lastPreviewUrl":37,"breakpoints":171,"hasAutosaves":41},{"small":39,"medium":40},"7t755zfvte3",{},1776247404986,1776247404973,[],{"breakpoints":178,"kind":36,"lastPreviewUrl":37,"hasAutosaves":6},{"xsmall":57,"small":39,"medium":40},"4moh0qpywtr",{"createdDate":181,"id":182,"name":88,"modelId":160,"published":13,"meta":183,"stageModifiedSincePublish":6,"query":185,"data":186,"variations":207,"lastUpdated":208,"firstPublished":209,"testRatio":33,"createdBy":53,"lastUpdatedBy":53,"folders":210,"rev":179},1776255761419,"05a9322735fc427db12e2740e4302300",{"breakpoints":184,"kind":36,"lastPreviewUrl":37,"hasAutosaves":6},{"xsmall":57,"small":39,"medium":40},[],{"testimonial":187,"link":206,"type":83,"title":88,"description":84,"image":82},{"@type":17,"id":188,"model":19,"value":189},"192acbb1f9ca4cac918c0ec435a8bae3",{"query":190,"folders":191,"createdDate":192,"id":188,"name":193,"modelId":25,"published":13,"data":194,"variations":200,"lastUpdated":201,"firstPublished":202,"testRatio":33,"createdBy":34,"lastUpdatedBy":53,"meta":203,"rev":205},[],[],1728981467463,"Push does for identity what CrowdStrike did for the endpoint",{"video":195,"jobTitle":196,"author":197,"qoute":37,"quote":198,"image":199},"https://cdn.builder.io/o/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F8b30e8ca50064058bbaef0f3c6164575%2Fcompressed?apiKey=f3a1111ff5be48cdbb123cd9f5795a05&token=8b30e8ca50064058bbaef0f3c6164575&alt=media&optimized=true","\u003Cp>Deputy CISO at Microsoft\u003C/p>\u003Cp>Former LinkedIn, Slack, Palantir\u003C/p>","Geoff Belknap","Push does for identity what CrowdStrike did for the endpoint.","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F748f0ad0a5064a00a13f4721fcc8dea1",{},1742902158597,1728981782923,{"kind":36,"lastPreviewUrl":37,"breakpoints":204,"hasAutosaves":41},{"small":39,"medium":40},"6s8ic0w0ao6",{"text":87,"url":86},{},1776255810913,1776255810900,[],[212,235],{"createdDate":213,"id":214,"name":88,"modelId":215,"published":13,"meta":216,"stageModifiedSincePublish":6,"query":218,"data":219,"variations":230,"lastUpdated":231,"firstPublished":232,"testRatio":33,"createdBy":53,"lastUpdatedBy":53,"folders":233,"rev":234},1776256900280,"1f429607996e4e5fae8fe3f9b9610e55","4829faa81e7c4ee8bd2d000e160e8d3c",{"breakpoints":217,"kind":36,"lastPreviewUrl":37,"hasAutosaves":6},{"xsmall":57,"small":39,"medium":40},[],{"testimonial":220,"link":229,"type":83,"title":88,"description":84,"image":82},{"@type":17,"id":188,"model":19,"value":221},{"query":222,"folders":223,"createdDate":192,"id":188,"name":193,"modelId":25,"published":13,"data":224,"variations":225,"lastUpdated":201,"firstPublished":202,"testRatio":33,"createdBy":34,"lastUpdatedBy":53,"meta":226,"rev":228},[],[],{"video":195,"jobTitle":196,"author":197,"qoute":37,"quote":198,"image":199},{},{"kind":36,"lastPreviewUrl":37,"breakpoints":227,"hasAutosaves":41},{"small":39,"medium":40},"r77qqueuo3j",{"text":87,"url":86},{},1776256937553,1776256937540,[],"q0jkez80wkg",{"createdDate":236,"id":237,"name":11,"modelId":215,"published":13,"stageModifiedSincePublish":6,"query":238,"data":239,"variations":250,"lastUpdated":251,"firstPublished":252,"testRatio":33,"createdBy":53,"lastUpdatedBy":53,"folders":253,"meta":254,"rev":234},1776256949234,"ce043785b71b4ece98eac811ecf4ba10",[],{"link":240,"type":19,"testimonial":241,"testimonialLink":48},{},{"@type":17,"id":18,"model":19,"value":242},{"query":243,"folders":244,"createdDate":23,"id":18,"name":24,"modelId":25,"published":13,"data":245,"variations":246,"lastUpdated":31,"firstPublished":32,"testRatio":33,"createdBy":34,"lastUpdatedBy":34,"meta":247,"rev":249},[],[],{"author":27,"jobTitle":28,"quote":24,"image":29},{},{"kind":36,"lastPreviewUrl":37,"breakpoints":248,"hasAutosaves":41},{"small":39,"medium":40},"mnaneamy308",{},1776256974140,1776256974130,[],{"breakpoints":255,"kind":36,"lastPreviewUrl":37,"hasAutosaves":6},{"xsmall":57,"small":39,"medium":40},[257,441,560,679,797,917,1037,1157],{"createdDate":258,"id":259,"name":260,"modelId":261,"published":13,"stageModifiedSincePublish":6,"query":262,"data":268,"variations":429,"lastUpdated":430,"firstPublished":431,"testRatio":33,"screenshot":432,"createdBy":34,"lastUpdatedBy":433,"folders":434,"meta":435,"rev":440},1744829487099,"387451215c314dd5bd654668cdc1a197","Zero-day phishing","cca4143377554c5a9163cc203a8ed2ba",[263],{"@type":264,"property":265,"operator":266,"value":267},"@builder.io/core:Query","urlPath","is","/uc/zero-day-phishing-protection",{"inputs":269,"customFonts":270,"seoTitle":318,"title":318,"tsCode":37,"seoDescription":319,"fontAwesomeIcon":320,"jsCode":37,"blocks":321,"url":267,"state":426},[],[271],{"family":272,"kind":273,"version":274,"lastModified":275,"files":276,"category":295,"menu":296,"subsets":297,"variants":300},"DM Sans","webfonts#webfont","v14","2023-07-13",{"100":277,"200":278,"300":279,"500":280,"600":281,"700":282,"800":283,"900":284,"800italic":285,"900italic":286,"700italic":287,"100italic":288,"italic":289,"regular":290,"200italic":291,"500italic":292,"300italic":293,"600italic":294},"https://fonts.gstatic.com/s/dmsans/v14/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAop1hTmf3ZGMZpg.ttf","https://fonts.gstatic.com/s/dmsans/v14/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAIpxhTmf3ZGMZpg.ttf","https://fonts.gstatic.com/s/dmsans/v14/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwA_JxhTmf3ZGMZpg.ttf","https://fonts.gstatic.com/s/dmsans/v14/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAkJxhTmf3ZGMZpg.ttf","https://fonts.gstatic.com/s/dmsans/v14/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAfJthTmf3ZGMZpg.ttf","https://fonts.gstatic.com/s/dmsans/v14/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwARZthTmf3ZGMZpg.ttf","https://fonts.gstatic.com/s/dmsans/v14/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAIpthTmf3ZGMZpg.ttf","https://fonts.gstatic.com/s/dmsans/v14/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAC5thTmf3ZGMZpg.ttf","https://fonts.gstatic.com/s/dmsans/v14/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat8JCm3zRmYJpso5.ttf","https://fonts.gstatic.com/s/dmsans/v14/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat8gCm3zRmYJpso5.ttf","https://fonts.gstatic.com/s/dmsans/v14/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat9uCm3zRmYJpso5.ttf","https://fonts.gstatic.com/s/dmsans/v14/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat-JDG3zRmYJpso5.ttf","https://fonts.gstatic.com/s/dmsans/v14/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat-JDW3zRmYJpso5.ttf","https://fonts.gstatic.com/s/dmsans/v14/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxhTmf3ZGMZpg.ttf","https://fonts.gstatic.com/s/dmsans/v14/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat8JDW3zRmYJpso5.ttf","https://fonts.gstatic.com/s/dmsans/v14/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat-7DW3zRmYJpso5.ttf","https://fonts.gstatic.com/s/dmsans/v14/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat_XDW3zRmYJpso5.ttf","https://fonts.gstatic.com/s/dmsans/v14/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat9XCm3zRmYJpso5.ttf","sans-serif","https://fonts.gstatic.com/s/dmsans/v14/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxRT23z.ttf",[298,299],"latin","latin-ext",[301,302,303,304,305,306,128,307,308,309,310,311,312,313,314,315,316,317],"100","200","300","regular","500","600","800","900","100italic","200italic","300italic","italic","500italic","600italic","700italic","800italic","900italic","Zero-day phishing protection","Detect phishing TTPs directly in the browser and stop credential theft.","faFishingRod",[322,421],{"@type":106,"@version":107,"tagName":323,"id":324,"children":325},"div","builder-76c6b8d1499346c7bc1fd56ae4e93638",[326,343,351,358,370,385,396,407,413],{"@type":106,"@version":107,"layerName":327,"id":328,"component":329,"responsiveStyles":340},"UseCaseHero","builder-5228fe062bef4a40a91e43f1112832fa",{"name":327,"options":330,"isRSC":118},{"title":318,"description":331,"points":332,"video":339},"\u003Cp>Push detects phishing as it happens. Autonomous agents hunt for new phishing techniques, identify kit signatures, and deploy detections within minutes of a new attack being analyzed. From cloned login pages to AiTM credential harvesting, Push sees what traditional filters miss and stops threats before they escalate.\u003C/p>",[333,335,337],{"item":334},"Detect phishing that bypasses traditional filters, including AiTM, SSO password theft, and fake login pages",{"item":336},"Stop never-before-seen attacks with AI-native behavioral and on-page analysis inside the browser",{"item":338},"Investigate faster with unified browser, user, and page context","https://cdn.builder.io/o/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F40433ceeb4f94b43a82e039a0f4fd411%2Fcompressed?apiKey=f3a1111ff5be48cdbb123cd9f5795a05&token=40433ceeb4f94b43a82e039a0f4fd411&alt=media&optimized=true",{"large":341},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"backgroundColor":342},"transparent",{"@type":106,"@version":107,"id":344,"component":345,"responsiveStyles":348},"builder-96634044407e491299e291ed64669e39",{"name":346,"options":347,"isRSC":118},"TrustedBy",{"AllPartners":41,"backgroundTransparent":6},{"large":349},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"backgroundColor":350},"#000",{"@type":106,"@version":107,"id":352,"component":353,"responsiveStyles":356},"builder-2c3768f930534557bb8978e32b6a6a0f",{"name":354,"options":355,"isRSC":118},"Diagonal",{"darkMode":41},{"large":357},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"layerName":359,"id":360,"component":361,"responsiveStyles":368},"TextImageBlockVertical","builder-7c3c1c2840424db2ad2ccbfaf382dd64",{"name":359,"tag":359,"options":362,"isRSC":118},{"darkMode":6,"maxWidth":363,"maxTextWidth":364,"title":365,"description":366,"animatedTitle":37,"image":367,"reverse":6,"descriptionPaddingHorizontal":118},1200,800,"\u003Ch2>Why stop at the inbox?\u003C/h2>","\u003Cp>Phishing attacks have evolved. Whether attackers lure users with QR codes, instant messages, or OAuth consent screens, the outcome is the same: it plays out in the browser. Push gives you real-time detection for in-browser threats, stopping phishing and consent-based attacks before they lead to compromise\u003C/p>\u003Cp>\u003Cbr>\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F7fdcac241f0e4a049166d7076858adeb",{"large":369},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":371,"component":372,"responsiveStyles":380},"builder-41c978b3669749cf947e622b4e79e4d7",{"name":373,"options":374,"isRSC":118},"TextImageBlockHorizontal",{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":376,"title":377,"description":378,"reverse":41,"image":379},600,100,"\u003Cp>Detect phishing at the edge\u003C/p>","\u003Cp>Push uses industry-first telemetry to detect phishing based on behavior, not static indicators. Autonomous agents analyze how phishing pages behave and how users interact with them, uncovering fake logins, credential theft, and phishing kits the moment they load in the browser.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F9df3d180c97b4e61af142af2ccd68721",{"large":381},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"fontFamily":382,"paddingTop":383,"marginTop":384},"DM Sans, sans-serif","20px","0px",{"@type":106,"@version":107,"id":386,"component":387,"responsiveStyles":393},"builder-d2a7bc941feb43cdb898bc116b203cf9",{"name":373,"options":388,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":389,"title":390,"description":391,"reverse":6,"image":392},120,"\u003Ch2>Go beyond blocklists and IOCs\u003C/h2>","\u003Cp>Push goes beyond URLs and easy-to-change indicators. It reads the full phishing playbook like script behavior, session hijacks, DOM changes, user inputs, then connects the dots in real time. This gives your team a complete picture of how the phishing attempt worked, not just an alert.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fabfd58db169b433e96d3f1261797156e",{"large":394},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"paddingTop":395},"36px",{"@type":106,"@version":107,"layerName":373,"id":397,"component":398,"responsiveStyles":404},"builder-42c32198083f4880acb37c5cb76934da",{"name":373,"options":399,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":400,"title":401,"description":402,"reverse":41,"image":403},140,"\u003Ch2>Enhance your phishing response\u003C/h2>","\u003Cp>When phishing enters your environment, speed matters. Push gives you instant access to the telemetry that counts like session data, user behavior, and page activity, so you can investigate fast, trigger in-browser prompts, or forward alerts to your SIEM or SOAR for response. All in real time, right from the browser.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fbb195aec46904056b85e8688629e558e",{"large":405},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"paddingTop":406},"47px",{"@type":106,"@version":107,"id":408,"component":409,"responsiveStyles":411},"builder-9a95b9cbc4854421a92ef7b90f6c7adb",{"name":354,"options":410,"isRSC":118},{"darkMode":6},{"large":412},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":414,"component":415,"responsiveStyles":419},"builder-0afa17a9f25c4661a90f314d5578aa18",{"name":416,"tag":416,"options":417,"isRSC":118},"LatestResources",{"sectionHeading":37,"customClass":418},"bg-black",{"large":420},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"id":422,"@type":106,"tagName":131,"properties":423,"responsiveStyles":424},"builder-pixel-21yj6h3p4wh",{"src":133,"aria-hidden":134,"alt":37,"role":135,"width":124,"height":124},{"large":425},{"height":124,"width":124,"display":138,"opacity":124,"overflow":139,"pointerEvents":140},{"deviceSize":142,"location":427},{"path":37,"query":428},{},{},1776275046831,1745499158657,"https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fff60c30a8442489c8ed7e0af9599d14f","kYgMv6WsbvfmlOUYqR2SFwGzw6e2",[],{"lastPreviewUrl":436,"winningTest":118,"breakpoints":437,"kind":438,"hasLinks":6,"originalContentId":439,"hasAutosaves":6},"https://pushsecurity.com/uc/zero-day-phishing-protection?builder.space=f3a1111ff5be48cdbb123cd9f5795a05&builder.user.permissions=read%2Ccreate%2Cpublish%2CeditDesigns%2CeditLayouts%2CeditLayers%2CeditContentPriority%2CeditFolders%2CcreateProjects%2CsendPullRequests&builder.user.role.name=Designer&builder.user.role.id=creator&builder.cachebust=true&builder.preview=use-case-page&builder.noCache=true&builder.allowTextEdit=true&__builder_editing__=true&builder.overrides.use-case-page=387451215c314dd5bd654668cdc1a197&builder.overrides.387451215c314dd5bd654668cdc1a197=387451215c314dd5bd654668cdc1a197&builder.overrides.use-case-page:/uc/zero-day-phishing-protection=387451215c314dd5bd654668cdc1a197&builder.options.locale=Default",{"xsmall":57,"small":39,"medium":40},"page","2daa5670b8504fc7ba4700633e8bd921","atvz4dp24b7",{"createdDate":442,"id":443,"name":444,"modelId":261,"published":13,"stageModifiedSincePublish":6,"query":445,"data":448,"variations":552,"lastUpdated":553,"firstPublished":554,"testRatio":33,"screenshot":555,"createdBy":34,"lastUpdatedBy":433,"folders":556,"meta":557,"rev":440},1756833377777,"54f8256648f54d439303734b1e69221b","Browser extension security",[446],{"@type":264,"property":265,"operator":266,"value":447},"/uc/browser-extension-security",{"seoDescription":449,"jsCode":37,"fontAwesomeIcon":450,"tsCode":37,"title":444,"seoTitle":444,"customFonts":451,"inputs":456,"blocks":457,"url":447,"state":549},"Shine a light on risky browser extensions.","faPuzzlePiece",[452],{"kind":273,"family":272,"version":274,"files":453,"category":295,"lastModified":275,"subsets":454,"variants":455,"menu":296},{"100":277,"200":278,"300":279,"500":280,"600":281,"700":282,"800":283,"900":284,"100italic":288,"italic":289,"regular":290,"900italic":286,"800italic":285,"700italic":287,"200italic":291,"300italic":293,"500italic":292,"600italic":294},[298,299],[301,302,303,304,305,306,128,307,308,309,310,311,312,313,314,315,316,317],[],[458,544],{"@type":106,"@version":107,"tagName":323,"id":459,"meta":460,"children":461},"builder-71d0648c1d2f4ede8d0d0b5b28b7b94c",{"previousId":324},[462,478,485,492,501,511,521,531,538],{"@type":106,"@version":107,"id":463,"meta":464,"component":465,"responsiveStyles":476},"builder-ff325b4b8fad4edea53f38865947e854",{"previousId":328},{"name":327,"options":466,"isRSC":118},{"title":444,"description":467,"points":468,"video":475},"\u003Cp>Browser extensions introduce new code, new permissions, and new potential for risk. Many include AI features, and most go completely unnoticed. Push gives you full visibility into every extension used across your workforce, across major browsers, so you can uncover shadow IT, assess risky permissions, and block unsafe tools before they lead to compromise.\u003C/p>",[469,471,473],{"item":470},"Discover every browser extension in use",{"item":472},"Spot risky or unsanctioned behavior",{"item":474},"Make informed decisions on extension policy","https://cdn.builder.io/o/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fc538aad95d7f403aa3c3551af72f67c0?alt=media&token=1411fa6d-2eac-4e6c-94bf-ea117da12d67&apiKey=f3a1111ff5be48cdbb123cd9f5795a05",{"large":477},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"backgroundColor":342},{"@type":106,"@version":107,"id":479,"meta":480,"component":481,"responsiveStyles":483},"builder-fb89d128c64e47cf9cbb11d90fc24523",{"previousId":344},{"name":346,"options":482,"isRSC":118},{"AllPartners":41,"backgroundTransparent":6},{"large":484},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"backgroundColor":350},{"@type":106,"@version":107,"id":486,"meta":487,"component":488,"responsiveStyles":490},"builder-54388d35126c4d0096eeebaf8c4448cd",{"previousId":352},{"name":354,"options":489,"isRSC":118},{"darkMode":41},{"large":491},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"layerName":359,"id":493,"component":494,"responsiveStyles":499},"builder-3c8fa6785dd6466abf52a2470d66d85a",{"name":359,"tag":359,"options":495,"isRSC":118},{"darkMode":6,"maxWidth":363,"maxTextWidth":364,"title":496,"description":497,"image":498,"reverse":6},"\u003Ch2>Take control of browser extensions\u003C/h2>","\u003Cp>Attackers are increasingly using malicious browser extensions to gain access to data processed and stored in the browser. And the problem is, most security teams have no visibility into what extensions are being used. Push changes that. With browser-native telemetry, the Push extension continuously inventories browser extensions across your environment, flags the risky ones, and gives you intelligence to act.&nbsp;\u003C/p>\u003Cp>\u003Cbr>\u003C/p>\u003Cp>\u003Cbr>\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F0a004f16a6874f4c8fdf14344acc9fec",{"large":500},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":502,"meta":503,"component":504,"responsiveStyles":509},"builder-93738f98109a4009affb349afd7bb182",{"previousId":371},{"name":373,"options":505,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":376,"title":506,"description":507,"reverse":41,"image":508},"\u003Ch2>Discover every extension in use\u003C/h2>","\u003Cp>Push gives you structured, searchable data about every extension in your environment, so you’re not just seeing what’s there, but also understanding how it got there, what it can do, and who it affects. It’s the kind of granular insight that’s nearly impossible to get from traditional tools, and it lays the groundwork for better policy decisions and faster investigations.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F0e5727ca99474f14b1b7916bf6bbb782",{"large":510},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"fontFamily":382,"paddingTop":383,"marginTop":384},{"@type":106,"@version":107,"id":512,"meta":513,"component":514,"responsiveStyles":519},"builder-83393acb12ee4fdd840839185b51edb4",{"previousId":386},{"name":373,"options":515,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":389,"title":516,"description":517,"reverse":6,"image":518},"\u003Ch2>Spot risky or malicious extensions\u003C/h2>","\u003Cp>Push highlights extensions with dangerous permissions, broad access, or poor reputations. This includes AI extensions that request access far beyond what their stated purpose requires. You can quickly detect sideloaded, manually installed, or development-mode extensions that bypass normal controls. And because Push shows you who’s using them and where, you can respond precisely and effectively.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fa104d58c8da34fbb8901f738fb21453b",{"large":520},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"paddingTop":395},{"@type":106,"@version":107,"layerName":373,"id":522,"meta":523,"component":524,"responsiveStyles":529},"builder-da98e3de949646d89c53a0d1c2784664",{"previousId":397},{"name":373,"options":525,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":400,"title":526,"description":527,"reverse":41,"image":528},"\u003Ch2>Accelerate security reviews\u003C/h2>","\u003Cp>Most teams have extension policies, they just don’t have the data to enforce them. Push reveals how each extension entered your environment, whether it was installed manually, sideloaded, or deployed in dev mode. You’ll see which users are running what, and where, so you can surface violations, investigate quickly, and respond with confidence.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F229f355be6f243b180f410d237a75bb3",{"large":530},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"paddingTop":406},{"@type":106,"@version":107,"id":532,"meta":533,"component":534,"responsiveStyles":536},"builder-1a689287d1a1418997d57db578a71105",{"previousId":408},{"name":354,"options":535,"isRSC":118},{"darkMode":6},{"large":537},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":539,"component":540,"responsiveStyles":542},"builder-feb4e75029f84c10b6498ef1f8f79128",{"name":416,"tag":416,"options":541,"isRSC":118},{"sectionHeading":37,"customClass":418},{"large":543},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"id":545,"@type":106,"tagName":131,"properties":546,"responsiveStyles":547},"builder-pixel-0edn39avfcei",{"src":133,"aria-hidden":134,"alt":37,"role":135,"width":124,"height":124},{"large":548},{"height":124,"width":124,"display":138,"opacity":124,"overflow":139,"pointerEvents":140},{"deviceSize":142,"location":550},{"path":37,"query":551},{},{},1776275365038,1757000441666,"https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F8d496cf111644ee5afcc046b72d1ca5a",[],{"kind":438,"winningTest":118,"breakpoints":558,"lastPreviewUrl":559,"hasLinks":6,"originalContentId":259,"hasAutosaves":6},{"xsmall":57,"small":39,"medium":40},"https://pushsecurity.com/uc/browser-extension-security?builder.space=f3a1111ff5be48cdbb123cd9f5795a05&builder.user.permissions=read%2Ccreate%2Cpublish%2CeditDesigns%2CeditLayouts%2CeditLayers%2CeditContentPriority%2CeditFolders%2CcreateProjects%2CsendPullRequests&builder.user.role.name=Designer&builder.user.role.id=creator&builder.cachebust=true&builder.preview=use-case-page&builder.noCache=true&builder.allowTextEdit=true&__builder_editing__=true&builder.overrides.use-case-page=54f8256648f54d439303734b1e69221b&builder.overrides.54f8256648f54d439303734b1e69221b=54f8256648f54d439303734b1e69221b&builder.overrides.use-case-page:/uc/browser-extension-security=54f8256648f54d439303734b1e69221b&builder.options.locale=Default",{"createdDate":561,"id":562,"name":563,"modelId":261,"published":13,"query":564,"data":567,"variations":670,"lastUpdated":671,"firstPublished":672,"testRatio":33,"screenshot":673,"createdBy":34,"lastUpdatedBy":674,"folders":675,"meta":676,"rev":440},1744923509705,"94bebb7bb99d48629ad157e80cf4d81d","Account takeover detection",[565],{"@type":264,"property":265,"operator":266,"value":566},"/uc/account-takeover-detection",{"title":563,"customFonts":568,"jsCode":37,"seoTitle":563,"seoDescription":573,"fontAwesomeIcon":574,"tsCode":37,"blocks":575,"url":566,"state":667},[569],{"kind":273,"category":295,"variants":570,"menu":296,"files":571,"family":272,"subsets":572,"version":274,"lastModified":275},[301,302,303,304,305,306,128,307,308,309,310,311,312,313,314,315,316,317],{"100":277,"200":278,"300":279,"500":280,"600":281,"700":282,"800":283,"900":284,"300italic":293,"500italic":292,"800italic":285,"700italic":287,"italic":289,"900italic":286,"600italic":294,"200italic":291,"regular":290,"100italic":288},[298,299],"Stop ATO with stolen credential and compromised token detection.","faUserSecret",[576,662],{"@type":106,"@version":107,"tagName":323,"id":577,"meta":578,"children":579},"builder-e7913a774cae44c5a23d6081c5c30a52",{"previousId":324},[580,596,603,610,619,629,639,649,656],{"@type":106,"@version":107,"id":581,"meta":582,"component":583,"responsiveStyles":594},"builder-f1f1ab1601bc4c0f8c2a8aafd173675d",{"previousId":328},{"name":327,"options":584,"isRSC":118},{"title":563,"description":585,"points":586,"video":593},"\u003Cp>Attackers don’t need to phish, they just need a password that works. Push monitors for signs of credential-based attacks in real time, directly in the browser, catching account takeover attempts before the damage spreads. From ghost logins to credential stuffing, Push cuts off the paths attackers use to quietly slip in the back door.\u003C/p>\u003Cp>\u003Cbr>\u003C/p>",[587,589,591],{"item":588},"Identify credential-based ATO as it unfolds",{"item":590},"Surface hijacked sessions and token misuse",{"item":592},"Strengthen authentication where your IdP can’t","https://cdn.builder.io/o/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fb4dd9db24bc9495b8a686b1b4d492016%2Fcompressed?apiKey=f3a1111ff5be48cdbb123cd9f5795a05&token=b4dd9db24bc9495b8a686b1b4d492016&alt=media&optimized=true",{"large":595},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"backgroundColor":342},{"@type":106,"@version":107,"id":597,"meta":598,"component":599,"responsiveStyles":601},"builder-0bc0d1c78ece4994993c3a6427a4d533",{"previousId":344},{"name":346,"options":600,"isRSC":118},{"AllPartners":41,"backgroundTransparent":6},{"large":602},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"backgroundColor":350},{"@type":106,"@version":107,"id":604,"meta":605,"component":606,"responsiveStyles":608},"builder-e45de8f3768c4f16938dbf78e4e87524",{"previousId":352},{"name":354,"options":607,"isRSC":118},{"darkMode":41},{"large":609},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":611,"component":612,"responsiveStyles":617},"builder-c98e8bfd341146c1b67c02d5698ff093",{"name":359,"tag":359,"options":613,"isRSC":118},{"darkMode":6,"maxWidth":363,"maxTextWidth":364,"title":614,"description":615,"image":616,"reverse":6},"\u003Ch2>Assume less. See more.\u003C/h2>","\u003Cp>Most account takeovers don’t start with a breach, they start with a login. Whether it’s a reused password, a local account, or an outdated login flow, Push shows you how accounts are actually accessed day to day, not just how policies say they should be. That means no more blind spots around ghost logins, bypassed SSO, or stale access paths that quietly persist.\u003C/p>\u003Cp>\u003Cbr>\u003C/p>\u003Cp>\u003Cbr>\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F18630ad2746d4eb7b7fcc0428b11a8f0",{"large":618},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":620,"meta":621,"component":622,"responsiveStyles":627},"builder-55c1fc38ddc04fd1a0d6a8e2fb819e00",{"previousId":371},{"name":373,"options":623,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":376,"title":624,"description":625,"reverse":41,"image":626},"\u003Ch2>Catch stolen credential use in real time\u003C/h2>","\u003Cp>Push monitors login activity directly in the browser to detect signs of credential-based attacks like leaked password use or suspicious login flows. By analyzing attacker TTPs instead of relying on known indicators, Push spots credential stuffing and account takeover attempts the moment they begin, not after they’ve succeeded.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F52b0123cac2c4dfdb1dc0af6adf9d603",{"large":628},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"fontFamily":382,"paddingTop":384,"marginTop":384},{"@type":106,"@version":107,"id":630,"meta":631,"component":632,"responsiveStyles":637},"builder-dfb31737b30948c6b95323655d571a50",{"previousId":386},{"name":373,"options":633,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":389,"title":634,"description":635,"reverse":6,"image":636},"\u003Ch2>Detect session hijacks and stealth access\u003C/h2>","\u003Cp>Attackers don’t always need a login screen, they often sidestep it entirely using stolen session tokens. Push detects when valid sessions are reused in unexpected ways, identifying hijacked sessions and stealth access attempts that traditional tools miss. Because we monitor directly in the browser, you see what’s happening inside active sessions in real time.\u003C/p>\u003Cp>\u003Cbr>\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F94a6859a99e04d309ffe5841f3dbdf5c",{"large":638},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"paddingTop":395},{"@type":106,"@version":107,"layerName":373,"id":640,"meta":641,"component":642,"responsiveStyles":647},"builder-f7585b90eb974d03a7dc7eae5b58d227",{"previousId":397},{"name":373,"options":643,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":400,"title":644,"description":645,"reverse":41,"image":646},"\u003Ch2>Harden accounts before they’re compromised\u003C/h2>","\u003Cp>Push goes beyond alerts. It identifies apps that still allow local logins, even when SSO is configured, so you can remove weak access paths. Push also flags users without MFA, reused work credentials, or weak passwords, and prompts users in-browser to fix risky behaviors before they’re exploited.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F01c1b638f1b6497093a4f2b8ceddb5bb",{"large":648},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"paddingTop":406},{"@type":106,"@version":107,"id":650,"meta":651,"component":652,"responsiveStyles":654},"builder-ad81d1e3afec49a791214194eae09bdc",{"previousId":408},{"name":354,"options":653,"isRSC":118},{"darkMode":6},{"large":655},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":657,"component":658,"responsiveStyles":660},"builder-8dac1aa4b9d148628d92252bd8eff822",{"name":416,"tag":416,"options":659,"isRSC":118},{"sectionHeading":37,"customClass":418},{"large":661},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"id":663,"@type":106,"tagName":131,"properties":664,"responsiveStyles":665},"builder-pixel-s5u3wmvz7jq",{"src":133,"aria-hidden":134,"alt":37,"role":135,"width":124,"height":124},{"large":666},{"height":124,"width":124,"display":138,"opacity":124,"overflow":139,"pointerEvents":140},{"deviceSize":142,"location":668},{"path":37,"query":669},{},{},1770892814499,1745499162732,"https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F58b660fa94aa4b30b0faeb9b663ae41a","SfUPqW5tkibIPby49keNFMdHFTr1",[],{"lastPreviewUrl":677,"hasLinks":6,"originalContentId":259,"breakpoints":678,"winningTest":118,"kind":438,"hasAutosaves":41},"https://pushsecurity.com/uc/account-takeover-detection?builder.space=f3a1111ff5be48cdbb123cd9f5795a05&builder.user.permissions=read%2Ccreate%2Cpublish%2CeditCode%2CeditDesigns%2CeditLayouts%2CeditLayers%2CeditContentPriority%2CeditFolders%2CeditProjects%2CmodifyMcpServers%2CmodifyWorkflowIntegrations%2CmodifyProjectSettings%2CconnectCodeRepository%2CcreateProjects%2CindexDesignSystems%2CsendPullRequests&builder.user.role.name=Developer&builder.user.role.id=developer&builder.cachebust=true&builder.preview=use-case-page&builder.noCache=true&builder.allowTextEdit=true&__builder_editing__=true&builder.overrides.use-case-page=94bebb7bb99d48629ad157e80cf4d81d&builder.overrides.94bebb7bb99d48629ad157e80cf4d81d=94bebb7bb99d48629ad157e80cf4d81d&builder.overrides.use-case-page:/uc/account-takeover-detection=94bebb7bb99d48629ad157e80cf4d81d&builder.options.includeRefs=true&builder.options.enrich=true&builder.options.locale=Default",{"xsmall":57,"small":39,"medium":40},{"createdDate":680,"id":681,"name":682,"modelId":261,"published":13,"query":683,"data":686,"variations":789,"lastUpdated":790,"firstPublished":791,"testRatio":33,"screenshot":792,"createdBy":34,"lastUpdatedBy":674,"folders":793,"meta":794,"rev":440},1745009370904,"23eb48fb56d3451cab77cb6ed140ee6d","Attack path hardening",[684],{"@type":264,"property":265,"operator":266,"value":685},"/uc/attack-path-hardening",{"tsCode":37,"seoDescription":687,"jsCode":37,"customFonts":688,"fontAwesomeIcon":693,"seoTitle":682,"title":682,"blocks":694,"url":685,"state":786},"Harden access paths with visibility,  detection, and guardrails.",[689],{"kind":273,"files":690,"version":274,"lastModified":275,"subsets":691,"menu":296,"category":295,"variants":692,"family":272},{"100":277,"200":278,"300":279,"500":280,"600":281,"700":282,"800":283,"900":284,"regular":290,"italic":289,"800italic":285,"500italic":292,"600italic":294,"200italic":291,"900italic":286,"700italic":287,"100italic":288,"300italic":293},[298,299],[301,302,303,304,305,306,128,307,308,309,310,311,312,313,314,315,316,317],"faRadar",[695,781],{"@type":106,"@version":107,"tagName":323,"id":696,"meta":697,"children":698},"builder-1d8553eddcaa44d7bba9e2f4ca13af2a",{"previousId":577},[699,715,722,729,738,748,758,768,775],{"@type":106,"@version":107,"id":700,"meta":701,"component":702,"responsiveStyles":713},"builder-84fe3d7c85a743cf8cef649aa974f1ef",{"previousId":581},{"name":327,"options":703,"isRSC":118},{"title":682,"description":704,"points":705,"video":712},"\u003Cp>Push continuously monitors your environment for exposed login paths, weak credentials, and missing protections like MFA. It detects the gaps attackers exploit and helps you close them before they’re used.\u003C/p>",[706,708,710],{"item":707},"Find weak spots like reused passwords, local logins, and missing MFA",{"item":709},"Monitor how users actually log in across apps, flows, and tools",{"item":711},"Enforce secure access with in-browser guardrails","https://cdn.builder.io/o/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fdbdcf52892034f1bbddded77f753a343%2Fcompressed?apiKey=f3a1111ff5be48cdbb123cd9f5795a05&token=dbdcf52892034f1bbddded77f753a343&alt=media&optimized=true",{"large":714},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"backgroundColor":342},{"@type":106,"@version":107,"id":716,"meta":717,"component":718,"responsiveStyles":720},"builder-b3f66f5b08054cc78a06fecfc3ae2337",{"previousId":597},{"name":346,"options":719,"isRSC":118},{"AllPartners":41,"backgroundTransparent":6},{"large":721},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"backgroundColor":350},{"@type":106,"@version":107,"id":723,"meta":724,"component":725,"responsiveStyles":727},"builder-4c73418b84be49ed85e6e13d2625c5a0",{"previousId":604},{"name":354,"options":726,"isRSC":118},{"darkMode":41},{"large":728},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":730,"component":731,"responsiveStyles":736},"builder-dec0246085e1485c803f7152b1922a81",{"name":359,"tag":359,"options":732,"isRSC":118},{"darkMode":6,"maxWidth":363,"maxTextWidth":364,"title":733,"description":734,"image":735,"reverse":6},"\u003Ch2>Find the gaps that lead to compromise\u003C/h2>","\u003Cp>Misconfigurations don’t show up in your config files, they show up in how users actually access apps. Push monitors real login behavior in the browser, surfacing risky patterns like local login access, duplicate accounts, or missing protections that leave doors wide open.\u003C/p>\u003Cp>\u003Cbr>\u003C/p>\u003Cp>\u003Cbr>\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F309a59bba8d247a19476bb369397460e",{"large":737},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":739,"meta":740,"component":741,"responsiveStyles":746},"builder-ebf049a645604a249550996a88f8f3b6",{"previousId":620},{"name":373,"options":742,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":376,"title":743,"description":744,"reverse":41,"image":745},"\u003Ch2>See real login behavior\u003C/h2>","\u003Cp>Push watches authentication flows as they happen, giving you a live view of how users log in, which methods they choose, and where protections like MFA are missing. Plus, uncover every app and account in use, even shadow IT you didn’t know existed, without relying on stale config files or IdP assumptions. \u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fb51f6b0357cc451b87a7a5016d984e5e",{"large":747},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"fontFamily":382,"paddingTop":383,"marginTop":384},{"@type":106,"@version":107,"id":749,"meta":750,"component":751,"responsiveStyles":756},"builder-431d175c59004669b0b2776b07d71737",{"previousId":630},{"name":373,"options":752,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":389,"title":753,"description":754,"reverse":6,"image":755},"\u003Ch2>Find and fix posture drift\u003C/h2>","\u003Cp>Security posture isn’t static. Push continuously monitors for issues like missing MFA or legacy login methods. When something falls out of policy, you know immediately with custom notifications so you can act before it turns into risk.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F324e39127dfc41e592b1183dfb39892d",{"large":757},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"paddingTop":395},{"@type":106,"@version":107,"layerName":373,"id":759,"meta":760,"component":761,"responsiveStyles":766},"builder-3dffdcbe0a484e2ca4c03f019b6d40ee",{"previousId":640},{"name":373,"options":762,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":400,"title":763,"description":764,"reverse":41,"image":765},"\u003Ch2>Guide users with in-browser guardrails\u003C/h2>","\u003Cp>Push doesn’t just surface problems, it helps you fix them. When users sign in without MFA, reuse a password, or use insecure credentials, Push prompts them directly in the browser to secure their access. It’s faster, more effective, and actually gets results.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fee8b75d13e45488aba55434a8b49ebb0",{"large":767},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"paddingTop":406},{"@type":106,"@version":107,"id":769,"meta":770,"component":771,"responsiveStyles":773},"builder-976bc222cd7647ff905f1e01cfedc453",{"previousId":650},{"name":354,"options":772,"isRSC":118},{"darkMode":6},{"large":774},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":776,"component":777,"responsiveStyles":779},"builder-8c47ec2fd0f74382bb3e6c870555632c",{"name":416,"tag":416,"options":778,"isRSC":118},{"sectionHeading":37,"customClass":418},{"large":780},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"id":782,"@type":106,"tagName":131,"properties":783,"responsiveStyles":784},"builder-pixel-7akm7dayau8",{"src":133,"aria-hidden":134,"alt":37,"role":135,"width":124,"height":124},{"large":785},{"height":124,"width":124,"display":138,"opacity":124,"overflow":139,"pointerEvents":140},{"deviceSize":142,"location":787},{"path":37,"query":788},{},{},1770892844854,1745499166112,"https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F6ca12bf728a045f1a31d40c0beb3bfe5",[],{"kind":438,"lastPreviewUrl":795,"breakpoints":796,"hasLinks":6,"originalContentId":562,"winningTest":118,"hasAutosaves":6},"https://pushsecurity.com/uc/attack-path-hardening?builder.space=f3a1111ff5be48cdbb123cd9f5795a05&builder.user.permissions=read%2Ccreate%2Cpublish%2CeditCode%2CeditDesigns%2CeditLayouts%2CeditLayers%2CeditContentPriority%2CeditFolders%2CeditProjects%2CmodifyMcpServers%2CmodifyWorkflowIntegrations%2CmodifyProjectSettings%2CconnectCodeRepository%2CcreateProjects%2CindexDesignSystems%2CsendPullRequests&builder.user.role.name=Developer&builder.user.role.id=developer&builder.cachebust=true&builder.preview=use-case-page&builder.noCache=true&builder.allowTextEdit=true&__builder_editing__=true&builder.overrides.use-case-page=23eb48fb56d3451cab77cb6ed140ee6d&builder.overrides.23eb48fb56d3451cab77cb6ed140ee6d=23eb48fb56d3451cab77cb6ed140ee6d&builder.overrides.use-case-page:/uc/attack-path-hardening=23eb48fb56d3451cab77cb6ed140ee6d&builder.options.includeRefs=true&builder.options.enrich=true&builder.options.locale=Default",{"xsmall":57,"small":39,"medium":40},{"createdDate":798,"id":799,"name":800,"modelId":261,"published":13,"query":801,"data":804,"variations":909,"lastUpdated":910,"firstPublished":911,"testRatio":33,"screenshot":912,"createdBy":34,"lastUpdatedBy":674,"folders":913,"meta":914,"rev":440},1761675020232,"ea4f309d2ffe46c5aa97ebf0fda4e2e3","ClickFix Protection",[802],{"@type":264,"property":265,"operator":266,"value":803},"/uc/clickfix-protection",{"seoDescription":805,"fontAwesomeIcon":806,"customFonts":807,"seoTitle":812,"jsCode":37,"tsCode":37,"title":812,"blocks":813,"url":803,"state":906},"Block attacks that trick users into running malicious code.","faLaptopCode",[808],{"files":809,"subsets":810,"menu":296,"version":274,"kind":273,"family":272,"lastModified":275,"variants":811,"category":295},{"100":277,"200":278,"300":279,"500":280,"600":281,"700":282,"800":283,"900":284,"200italic":291,"800italic":285,"700italic":287,"600italic":294,"100italic":288,"italic":289,"regular":290,"300italic":293,"500italic":292,"900italic":286},[298,299],[301,302,303,304,305,306,128,307,308,309,310,311,312,313,314,315,316,317],"ClickFix protection",[814,901],{"@type":106,"@version":107,"tagName":323,"id":815,"meta":816,"children":817},"builder-d7eefdde0f2a4b2b9de3dcb2978fd6cb",{"previousId":696},[818,834,841,848,858,868,878,888,895],{"@type":106,"@version":107,"id":819,"meta":820,"component":821,"responsiveStyles":832},"builder-56e2c54bcce040a4af8b92ae03706c12",{"previousId":700},{"name":327,"options":822,"isRSC":118},{"title":812,"description":823,"points":824,"image":831},"\u003Cp>ClickFix attacks are one of the fastest-growing threats, tricking users into copying malicious code from a webpage and running it locally. This technique bypasses traditional EDR, email gateways, and network filters, leading directly to ransomware and data theft. Push stops this attack at the source, in the browser, by detecting and blocking the malicious behavior before the user can ever paste the code.\u003C/p>\u003Cp>\u003Cbr>\u003C/p>",[825,827,829],{"item":826},"Detect ClickFix, FileFix, and fake CAPTCHA in the browser",{"item":828},"Block malicious copy-and-paste actions before code is executed",{"item":830},"See full telemetry into which users were targeted and what they saw","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F7b74af62889847ebb3927364485b0546",{"large":833},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"backgroundColor":342},{"@type":106,"@version":107,"id":835,"meta":836,"component":837,"responsiveStyles":839},"builder-05f9614d4e3e4dc88b3ee8658f54e10e",{"previousId":716},{"name":346,"options":838,"isRSC":118},{"AllPartners":41,"backgroundTransparent":6},{"large":840},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"backgroundColor":350},{"@type":106,"@version":107,"id":842,"meta":843,"component":844,"responsiveStyles":846},"builder-c4fb5179366243c1b6c32d368675cf47",{"previousId":723},{"name":354,"options":845,"isRSC":118},{"darkMode":41},{"large":847},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":849,"meta":850,"component":851,"responsiveStyles":856},"builder-261af50705fd445d8cca4a6ba20d5391",{"previousId":730},{"name":359,"tag":359,"options":852,"isRSC":118},{"darkMode":6,"maxWidth":363,"maxTextWidth":364,"title":853,"description":854,"reverse":6,"image":855},"\u003Ch2>Stop ClickFix-style attacks before they become a breach\u003C/h2>","\u003Cp>Traditional security tools are blind to malicious copy and paste attacks because the attack exploits a gap between the browser and the endpoint. EDR only sees the payload after it runs, and network tools see only part of the picture.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F98b2f7e08dec4eafaf8e24937605b8cf",{"large":857},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":859,"meta":860,"component":861,"responsiveStyles":866},"builder-7d21b8aab8064c40b1e5dd23c4749309",{"previousId":739},{"name":373,"options":862,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":376,"title":863,"description":864,"reverse":41,"image":865},"\u003Ch2>Discover lures at the source\u003C/h2>","\u003Cp>Push inspects page behavior to identify ClickFix attacks as they happen. By inspecting the page, its structure, and how the user interacts with it, Push can detect and block these in-browser threats in real time. This deep, TTP-based inspection spots the trap even on novel pages that are built to bypass traditional web filters and blocklists.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F665bf47e01544c75bf9ddafd3917927b",{"large":867},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"fontFamily":382,"paddingTop":383,"marginTop":384},{"@type":106,"@version":107,"id":869,"meta":870,"component":871,"responsiveStyles":876},"builder-fb91943adf6149259ed9e1e6566c9afe",{"previousId":749},{"name":373,"options":872,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":389,"title":873,"description":874,"reverse":6,"image":875},"\u003Ch2>Block the malicious action\u003C/h2>","\u003Cp>When Push detects a malicious script, it intercepts the user's action and blocks the code from being copied to the clipboard. The user is protected, the attack is stopped, and no malicious code ever reaches the endpoint. Unlike broad DLP tools, this action is surgical, targeting only malicious behavior without disrupting normal work.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F5ee68f81f1ac416685cbfe91298cf827",{"large":877},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"paddingTop":395},{"@type":106,"@version":107,"layerName":373,"id":879,"meta":880,"component":881,"responsiveStyles":886},"builder-bfac95fada864e5a8259b955b5b5f98b",{"previousId":759},{"name":373,"options":882,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":400,"title":883,"description":884,"reverse":41,"image":885},"\u003Ch2>Accelerate ClickFix investigations\u003C/h2>","\u003Cp>When an attack happens, knowing what the user saw or did is critical. Push provides rich browser session data for rapid investigation and containment. Security teams get detailed telemetry on which users were targeted, what lure they were served, and when the block occurred. This enables defenders to reconstruct what happened and respond quickly, even when other tools miss the activity entirely.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F6cdf2a8aeddc4e9a9023cbf974e40239",{"large":887},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"paddingTop":406},{"@type":106,"@version":107,"id":889,"meta":890,"component":891,"responsiveStyles":893},"builder-136892e831684a6987f87d3be67c33d1",{"previousId":769},{"name":354,"options":892,"isRSC":118},{"darkMode":6},{"large":894},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":896,"component":897,"responsiveStyles":899},"builder-dec26b739f2f42beb5a73cfc6c675b60",{"name":416,"tag":416,"options":898,"isRSC":118},{"sectionHeading":37,"customClass":418},{"large":900},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"id":902,"@type":106,"tagName":131,"properties":903,"responsiveStyles":904},"builder-pixel-zzjpxxgrc2l",{"src":133,"aria-hidden":134,"alt":37,"role":135,"width":124,"height":124},{"large":905},{"height":124,"width":124,"display":138,"opacity":124,"overflow":139,"pointerEvents":140},{"deviceSize":142,"location":907},{"path":37,"query":908},{},{},1770892881888,1761847585203,"https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F375467b8bef34ed1a8a1cc5b8b67d75f",[],{"lastPreviewUrl":915,"originalContentId":681,"winningTest":118,"hasLinks":6,"kind":438,"breakpoints":916,"hasAutosaves":6},"https://pushsecurity.com/uc/clickfix-protection?builder.space=f3a1111ff5be48cdbb123cd9f5795a05&builder.user.permissions=read%2Ccreate%2Cpublish%2CeditCode%2CeditDesigns%2CeditLayouts%2CeditLayers%2CeditContentPriority%2CeditFolders%2CeditProjects%2CmodifyMcpServers%2CmodifyWorkflowIntegrations%2CmodifyProjectSettings%2CconnectCodeRepository%2CcreateProjects%2CindexDesignSystems%2CsendPullRequests&builder.user.role.name=Developer&builder.user.role.id=developer&builder.cachebust=true&builder.preview=use-case-page&builder.noCache=true&builder.allowTextEdit=true&__builder_editing__=true&builder.overrides.use-case-page=ea4f309d2ffe46c5aa97ebf0fda4e2e3&builder.overrides.ea4f309d2ffe46c5aa97ebf0fda4e2e3=ea4f309d2ffe46c5aa97ebf0fda4e2e3&builder.overrides.use-case-page:/uc/clickfix-protection=ea4f309d2ffe46c5aa97ebf0fda4e2e3&builder.options.includeRefs=true&builder.options.enrich=true&builder.options.locale=Default",{"xsmall":57,"small":39,"medium":40},{"createdDate":918,"id":919,"name":920,"modelId":261,"published":13,"query":921,"data":924,"variations":1029,"lastUpdated":1030,"firstPublished":1031,"testRatio":33,"screenshot":1032,"createdBy":34,"lastUpdatedBy":674,"folders":1033,"meta":1034,"rev":440},1745009743870,"a9d5556e77f84a37b5bd52310a7110c1","Incident response",[922],{"@type":264,"property":265,"operator":266,"value":923},"/uc/incident-response",{"seoDescription":925,"customFonts":926,"title":920,"jsCode":37,"fontAwesomeIcon":931,"seoTitle":932,"tsCode":37,"blocks":933,"url":923,"state":1026},"Investigate and respond faster with unique browser telemetry.",[927],{"kind":273,"subsets":928,"menu":296,"variants":929,"category":295,"family":272,"version":274,"lastModified":275,"files":930},[298,299],[301,302,303,304,305,306,128,307,308,309,310,311,312,313,314,315,316,317],{"100":277,"200":278,"300":279,"500":280,"600":281,"700":282,"800":283,"900":284,"900italic":286,"600italic":294,"200italic":291,"300italic":293,"100italic":288,"700italic":287,"800italic":285,"regular":290,"italic":289,"500italic":292},"faSatelliteDish","Browser based incident response",[934,1021],{"@type":106,"@version":107,"tagName":323,"id":935,"meta":936,"children":937},"builder-653c4aed737b4def88dc4cd2d695660a",{"previousId":696},[938,955,962,969,978,988,998,1008,1015],{"@type":106,"@version":107,"id":939,"meta":940,"component":941,"responsiveStyles":953},"builder-18190bd36518467d9154d27d7e945b9b",{"previousId":700},{"name":327,"options":942,"isRSC":118},{"title":943,"description":944,"points":945,"video":952},"Browser-based incident response","\u003Cp>Push gives you real-time visibility into what actually happened during a breach, right in the browser where the attack played out. From credential theft to session hijacking, Push captures high-fidelity telemetry so you can investigate quickly, contain confidently, and shut it down before it spreads.\u003C/p>\u003Cp>\u003Cbr>\u003C/p>",[946,948,950],{"item":947},"Reconstruct what happened with real browser session context",{"item":949},"Investigate faster with real-world session context",{"item":951},"Trigger response actions automatically through your SIEM or SOAR","https://cdn.builder.io/o/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fd00e39d3b6e346c296261d875cf55652%2Fcompressed?apiKey=f3a1111ff5be48cdbb123cd9f5795a05&token=d00e39d3b6e346c296261d875cf55652&alt=media&optimized=true",{"large":954},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"backgroundColor":342},{"@type":106,"@version":107,"id":956,"meta":957,"component":958,"responsiveStyles":960},"builder-8a0a8ea63f5d48dd8a6726f2d49cf0ca",{"previousId":716},{"name":346,"options":959,"isRSC":118},{"AllPartners":41,"backgroundTransparent":6},{"large":961},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"backgroundColor":350},{"@type":106,"@version":107,"id":963,"meta":964,"component":965,"responsiveStyles":967},"builder-2df65c3f54334df2b26e7cb744886cdc",{"previousId":723},{"name":354,"options":966,"isRSC":118},{"darkMode":41},{"large":968},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":970,"component":971,"responsiveStyles":976},"builder-2c32c869efc2423ab69ef06b150e9f97",{"name":359,"tag":359,"options":972,"isRSC":118},{"darkMode":6,"maxWidth":363,"maxTextWidth":364,"title":973,"description":974,"image":975,"reverse":6},"\u003Ch2>See attacks unfold, not just their aftermath\u003C/h2>","\u003Cp>Attacks happen in the browser, not in logs. Push captures what traditional tools miss: what users clicked, what loaded, what was entered, and how attackers moved. That gives you real-world evidence, not just assumptions, when every second matters.\u003C/p>\u003Cp>\u003Cbr>\u003C/p>\u003Cp>\u003Cbr>\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F36fc719bd1de4a38b916f4d25c81a26d",{"large":977},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":979,"meta":980,"component":981,"responsiveStyles":986},"builder-370e53c6016e432db01e9193a2ce90f6",{"previousId":739},{"name":373,"options":982,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":376,"title":983,"description":984,"reverse":41,"image":985},"\u003Ch2>Investigate faster with high-fidelity data\u003C/h2>","\u003Cp>Reconstructing an incident shouldn’t feel like guesswork. Push records detailed telemetry from inside the browser: page loads, credential inputs, DOM changes, session activity, user behavior. It’s structured, exportable, and ready to plug into your investigation workflows, so you can move fast without digging through proxy logs or relying on user reports.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fa6adda040e684e67a8d68a55c5ce5f6d",{"large":987},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"fontFamily":382,"paddingTop":384,"marginTop":384},{"@type":106,"@version":107,"id":989,"meta":990,"component":991,"responsiveStyles":996},"builder-a7f3767a8d184bd08fb24520bf210e95",{"previousId":749},{"name":373,"options":992,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":389,"title":993,"description":994,"reverse":6,"image":995},"\u003Ch2>Contain and respond in real time\u003C/h2>","\u003Cp>When something looks off, Push doesn’t just alert you, it gives you options. Guide users with in-browser prompts. Terminate sessions. Trigger SOAR workflows. Enrich SIEM alerts. Push gives you the context and control to stop spread before it starts.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fb3dedeed5aba4847a2c2d22e10d0ec12",{"large":997},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"paddingTop":395},{"@type":106,"@version":107,"layerName":373,"id":999,"meta":1000,"component":1001,"responsiveStyles":1006},"builder-b92036ee0ece4b32acdbdcc7c377366b",{"previousId":759},{"name":373,"options":1002,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":400,"title":1003,"description":1004,"reverse":41,"image":1005},"\u003Ch2>Prevent the next one\u003C/h2>","\u003Cp>Push helps you respond fast, but it also helps you fix what went wrong. It surfaces misconfigurations and risky behaviors that made the attack possible in the first place, then guides users in-browser to remediate. One tool. Full loop. No loose ends.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fc1ecc2d5d3814b62b072fac01827ff96",{"large":1007},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"paddingTop":406},{"@type":106,"@version":107,"id":1009,"meta":1010,"component":1011,"responsiveStyles":1013},"builder-5e8ae39655274de89da32ab573a2525a",{"previousId":769},{"name":354,"options":1012,"isRSC":118},{"darkMode":6},{"large":1014},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":1016,"component":1017,"responsiveStyles":1019},"builder-dfd6850cfb4741d2b8a0c16c2780f00a",{"name":416,"tag":416,"options":1018,"isRSC":118},{"sectionHeading":37,"customClass":418},{"large":1020},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"id":1022,"@type":106,"tagName":131,"properties":1023,"responsiveStyles":1024},"builder-pixel-z197gdgcmu",{"src":133,"aria-hidden":134,"alt":37,"role":135,"width":124,"height":124},{"large":1025},{"height":124,"width":124,"display":138,"opacity":124,"overflow":139,"pointerEvents":140},{"deviceSize":142,"location":1027},{"path":37,"query":1028},{},{},1770892908052,1745427419274,"https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fb07017bfd318431690a5bb35bda35b99",[],{"kind":438,"breakpoints":1035,"originalContentId":681,"winningTest":118,"lastPreviewUrl":1036,"hasLinks":6,"hasAutosaves":6},{"xsmall":57,"small":39,"medium":40},"https://pushsecurity.com/uc/incident-response?builder.space=f3a1111ff5be48cdbb123cd9f5795a05&builder.user.permissions=read%2Ccreate%2Cpublish%2CeditCode%2CeditDesigns%2CeditLayouts%2CeditLayers%2CeditContentPriority%2CeditFolders%2CeditProjects%2CmodifyMcpServers%2CmodifyWorkflowIntegrations%2CmodifyProjectSettings%2CconnectCodeRepository%2CcreateProjects%2CindexDesignSystems%2CsendPullRequests&builder.user.role.name=Developer&builder.user.role.id=developer&builder.cachebust=true&builder.preview=use-case-page&builder.noCache=true&builder.allowTextEdit=true&__builder_editing__=true&builder.overrides.use-case-page=a9d5556e77f84a37b5bd52310a7110c1&builder.overrides.a9d5556e77f84a37b5bd52310a7110c1=a9d5556e77f84a37b5bd52310a7110c1&builder.overrides.use-case-page:/uc/incident-response=a9d5556e77f84a37b5bd52310a7110c1&builder.options.includeRefs=true&builder.options.enrich=true&builder.options.locale=Default",{"createdDate":1038,"id":1039,"name":1040,"modelId":261,"published":13,"query":1041,"data":1044,"variations":1149,"lastUpdated":1150,"firstPublished":1151,"testRatio":33,"screenshot":1152,"createdBy":34,"lastUpdatedBy":674,"folders":1153,"meta":1154,"rev":440},1746122471259,"5f118e24433d46ceb79f5099987156d7","Shadow SaaS",[1042],{"@type":264,"property":265,"operator":266,"value":1043},"/uc/shadow-saas",{"seoTitle":1045,"seoDescription":1046,"customFonts":1047,"fontAwesomeIcon":1052,"title":1053,"jsCode":37,"tsCode":37,"blocks":1054,"url":1043,"state":1146},"Find and secure shadow SaaS","See and control shadow SaaS in the browser.",[1048],{"kind":273,"variants":1049,"files":1050,"family":272,"version":274,"subsets":1051,"lastModified":275,"category":295,"menu":296},[301,302,303,304,305,306,128,307,308,309,310,311,312,313,314,315,316,317],{"100":277,"200":278,"300":279,"500":280,"600":281,"700":282,"800":283,"900":284,"300italic":293,"500italic":292,"regular":290,"900italic":286,"italic":289,"100italic":288,"200italic":291,"600italic":294,"700italic":287,"800italic":285},[298,299],"faShieldCheck","Secure shadow SaaS",[1055,1141],{"@type":106,"@version":107,"tagName":323,"id":1056,"meta":1057,"children":1058},"builder-04da805c4cd34652a2db452fcda52e1d",{"previousId":935},[1059,1075,1082,1089,1098,1108,1118,1128,1135],{"@type":106,"@version":107,"id":1060,"meta":1061,"component":1062,"responsiveStyles":1073},"builder-830d414faeaf41439142f9157e8288c8",{"previousId":939},{"name":327,"options":1063,"isRSC":118},{"title":1045,"description":1064,"points":1065,"video":1072},"\u003Cp>SaaS sprawl is one of today’s fastest-growing security blind spots because most tools monitor around the edges. Push sees it at the source, in the browser, revealing every app users access, flagging risky tools, and helping you shut down exposure before it leads to a breach. No guesswork. No nasty surprises. Just real-time visibility and control.\u003C/p>",[1066,1068,1070],{"item":1067},"Discover every SaaS app users access, managed or not",{"item":1069},"Spot accounts with weak security postures like missing MFA, unmanaged access, and no SSO",{"item":1071},"Control usage with in-browser prompts, blocks, and security guardrails","https://cdn.builder.io/o/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F3e4eece318d04d6586e691d59d0741cf%2Fcompressed?apiKey=f3a1111ff5be48cdbb123cd9f5795a05&token=3e4eece318d04d6586e691d59d0741cf&alt=media&optimized=true",{"large":1074},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"backgroundColor":342},{"@type":106,"@version":107,"id":1076,"meta":1077,"component":1078,"responsiveStyles":1080},"builder-cd7833f966cb4c7e8adf0d6c979414a6",{"previousId":956},{"name":346,"options":1079,"isRSC":118},{"AllPartners":41,"backgroundTransparent":6},{"large":1081},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"backgroundColor":350},{"@type":106,"@version":107,"id":1083,"meta":1084,"component":1085,"responsiveStyles":1087},"builder-49d720b45430454e8b08c526f267c19f",{"previousId":963},{"name":354,"options":1086,"isRSC":118},{"darkMode":41},{"large":1088},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":1090,"component":1091,"responsiveStyles":1096},"builder-3dde0bf6c8544e5e9ab41b18a9d68034",{"name":359,"tag":359,"options":1092,"isRSC":118},{"darkMode":6,"maxWidth":363,"maxTextWidth":364,"title":1093,"description":1094,"image":1095,"reverse":6},"\u003Ch2>Use your browser to curb Saas Sprawl\u003C/h2>","\u003Cp>Shadow SaaS isn’t hiding in your network, it’s in your browser. From AI tools to unsanctioned file-sharing sites, security risks live in the apps your users sign into every day. Push maps your organization's true SaaS footprint in real time, exposing apps and accounts with unmanaged access, poor authentication, or no security oversight.\u003C/p>\u003Cp>\u003Cbr>\u003C/p>\u003Cp>\u003Cbr>\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fb6811a214c7949b6bbe0b9a3bca62efd",{"large":1097},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":1099,"meta":1100,"component":1101,"responsiveStyles":1106},"builder-e2420451ccdc4f088d0a4904cff45935",{"previousId":979},{"name":373,"options":1102,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":376,"title":1103,"description":1104,"reverse":41,"image":1105},"\u003Ch2>Discover hidden SaaS usage\u003C/h2>","\u003Cp>Push captures live browser telemetry across every tab and session. Whether a user signs into a sanctioned app with a personal account or tries a new AI plugin, you’ll see it in real time, with no integrations or manual tagging.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fe16e301f9af94665b95d98232a863d8a",{"large":1107},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"fontFamily":382,"paddingTop":384,"marginTop":384},{"@type":106,"@version":107,"id":1109,"meta":1110,"component":1111,"responsiveStyles":1116},"builder-b36de7fce7994beea9e58d94662e7166",{"previousId":989},{"name":373,"options":1112,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":389,"title":1113,"description":1114,"reverse":6,"image":1115},"\u003Ch2>Spot risky access and unsafe usage\u003C/h2>","\u003Cp>Discovery is just the beginning. Push flags apps with risky traits, no MFA, no SSO, known vulnerabilities, or broad access scopes. You’ll know which tools introduce real risk, and which users are exposed so you can act with precision.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F6585f3c242da4d70ae3cb7d02f481bef",{"large":1117},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"paddingTop":395},{"@type":106,"@version":107,"layerName":373,"id":1119,"meta":1120,"component":1121,"responsiveStyles":1126},"builder-dc366b5134684fe7a508edf8913103ea",{"previousId":999},{"name":373,"options":1122,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":400,"title":1123,"description":1124,"reverse":41,"image":1125},"\u003Ch2>Close gaps before they grow\u003C/h2>","\u003Cp>Push turns insight into action. When risky SaaS use is detected, guide users to enable MFA, block high-risk apps, or apply in-browser guardrails automatically. All without deploying new infrastructure or managing dozens of integrations.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fe6d60b6d91414819bc6258a318f00557",{"large":1127},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"paddingTop":406},{"@type":106,"@version":107,"id":1129,"meta":1130,"component":1131,"responsiveStyles":1133},"builder-8708f6f0d8da4b3f9e17bf16cda70219",{"previousId":1009},{"name":354,"options":1132,"isRSC":118},{"darkMode":6},{"large":1134},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":1136,"component":1137,"responsiveStyles":1139},"builder-8ff4b38d60534cf28cb523ab0f754875",{"name":416,"tag":416,"options":1138,"isRSC":118},{"sectionHeading":37,"customClass":418},{"large":1140},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"id":1142,"@type":106,"tagName":131,"properties":1143,"responsiveStyles":1144},"builder-pixel-d1ul2kmxbed",{"src":133,"aria-hidden":134,"alt":37,"role":135,"width":124,"height":124},{"large":1145},{"height":124,"width":124,"display":138,"opacity":124,"overflow":139,"pointerEvents":140},{"deviceSize":142,"location":1147},{"path":37,"query":1148},{},{},1770892936802,1746714967208,"https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F01bfb2304521412fbd2e1a1180904d40",[],{"originalContentId":919,"winningTest":118,"lastPreviewUrl":1155,"breakpoints":1156,"kind":438,"hasLinks":6,"hasAutosaves":6},"https://pushsecurity.com/uc/shadow-saas?builder.space=f3a1111ff5be48cdbb123cd9f5795a05&builder.user.permissions=read%2Ccreate%2Cpublish%2CeditCode%2CeditDesigns%2CeditLayouts%2CeditLayers%2CeditContentPriority%2CeditFolders%2CeditProjects%2CmodifyMcpServers%2CmodifyWorkflowIntegrations%2CmodifyProjectSettings%2CconnectCodeRepository%2CcreateProjects%2CindexDesignSystems%2CsendPullRequests&builder.user.role.name=Developer&builder.user.role.id=developer&builder.cachebust=true&builder.preview=use-case-page&builder.noCache=true&builder.allowTextEdit=true&__builder_editing__=true&builder.overrides.use-case-page=5f118e24433d46ceb79f5099987156d7&builder.overrides.5f118e24433d46ceb79f5099987156d7=5f118e24433d46ceb79f5099987156d7&builder.overrides.use-case-page:/uc/shadow-saas=5f118e24433d46ceb79f5099987156d7&builder.options.includeRefs=true&builder.options.enrich=true&builder.options.locale=Default",{"xsmall":57,"small":39,"medium":40},{"createdDate":1158,"id":1159,"name":1160,"modelId":261,"published":13,"query":1161,"data":1164,"variations":1268,"lastUpdated":1269,"firstPublished":1270,"testRatio":33,"screenshot":1271,"createdBy":34,"lastUpdatedBy":674,"folders":1272,"meta":1273,"rev":440},1764707470172,"b62629ce2f3741158d961cd10fe74b31","Shadow AI",[1162],{"@type":264,"property":265,"operator":266,"value":1163},"/uc/shadow-ai",{"fontAwesomeIcon":1165,"seoTitle":1166,"jsCode":37,"customFonts":1167,"title":1172,"tsCode":37,"seoDescription":1173,"blocks":1174,"url":1163,"state":1265},"faBrainCircuit","Secure AI native and AI enhanced apps. ",[1168],{"variants":1169,"category":295,"files":1170,"subsets":1171,"family":272,"kind":273,"menu":296,"lastModified":275,"version":274},[301,302,303,304,305,306,128,307,308,309,310,311,312,313,314,315,316,317],{"100":277,"200":278,"300":279,"500":280,"600":281,"700":282,"800":283,"900":284,"800italic":285,"regular":290,"700italic":287,"200italic":291,"italic":289,"500italic":292,"600italic":294,"300italic":293,"100italic":288,"900italic":286},[298,299],"Secure shadow AI","See and control shadow AI apps in the browser.",[1175,1260],{"@type":106,"@version":107,"tagName":323,"id":1176,"meta":1177,"children":1178},"builder-a6e5717a2c914d5695058e4ee201a05d",{"previousId":1056},[1179,1195,1202,1209,1219,1228,1237,1247,1254],{"@type":106,"@version":107,"id":1180,"meta":1181,"component":1182,"responsiveStyles":1193},"builder-3e0ed678683f4a0eb7aa00253cf263b2",{"previousId":1060},{"name":327,"options":1183,"isRSC":118},{"title":1172,"description":1184,"points":1185,"image":1192},"\u003Cp>Your employees are adopting AI faster than you can track it. From native features in corporate apps to unapproved shadow tools, it’s all happening in the browser. Push detects every AI interaction in real time, letting you categorize apps and enforce acceptable use policies in the browser.\u003C/p>",[1186,1188,1190],{"item":1187},"Map every AI tool used across your workforce",{"item":1189},"Review and classify apps by sensitivity, purpose, and policy status",{"item":1191},"Enforce AI usage rules directly in the browser","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F33cf153d920f4e389f3650253577cff7",{"large":1194},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"backgroundColor":342},{"@type":106,"@version":107,"id":1196,"meta":1197,"component":1198,"responsiveStyles":1200},"builder-76968f8471d14893b8189d75b08fb426",{"previousId":1076},{"name":346,"options":1199,"isRSC":118},{"AllPartners":41,"backgroundTransparent":6},{"large":1201},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"backgroundColor":350},{"@type":106,"@version":107,"id":1203,"meta":1204,"component":1205,"responsiveStyles":1207},"builder-b55b9d4bc5a649d8839ce7f6c2043d95",{"previousId":1083},{"name":354,"options":1206,"isRSC":118},{"darkMode":41},{"large":1208},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":1210,"meta":1211,"component":1212,"responsiveStyles":1217},"builder-c3f38ef4d75d4989a29b5903175ed8a1",{"previousId":1090},{"name":359,"tag":359,"options":1213,"isRSC":118},{"darkMode":6,"maxWidth":363,"maxTextWidth":364,"title":1214,"description":1215,"image":1216,"reverse":6},"\u003Ch2>Use your browser to govern AI \u003C/h2>","\u003Cp>The AI footprint inside your company is bigger than you think. From text generators to meeting assistants and design copilots, employees test, adopt, and connect new tools constantly. Push shows you those tools and which users are accessing them, without relying on network scans or API integrations.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F30b43bda6f1644c19478fb1efa20050c",{"large":1218},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":1220,"meta":1221,"component":1222,"responsiveStyles":1226},"builder-90ee9cb9afc44e7f885523715bf51a53",{"previousId":1099},{"name":373,"options":1223,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":376,"title":1224,"description":1225,"reverse":41,"image":1115},"\u003Ch2>Discover every AI tool users touch\u003C/h2>","\u003Cp>Push captures live telemetry from the browser, identifying every AI-native and AI-enhanced application users access. You’ll know which corporate identities are connected, how data flows, and what new AI apps appear across your environment. \u003C/p>",{"large":1227},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"fontFamily":382,"paddingTop":384,"marginTop":384},{"@type":106,"@version":107,"id":1229,"meta":1230,"component":1231,"responsiveStyles":1235},"builder-9e44539fa53c4d8e87406036c921fc46",{"previousId":1109},{"name":373,"options":1232,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":389,"title":1233,"description":1234,"reverse":6,"image":1125},"\u003Ch2>Classify and manage AI risk\u003C/h2>","\u003Cp>For apps you choose to allow, Push lets you apply custom in-browser banners. You can bulk-select categories of AI tools and require users to read and acknowledge your acceptable use policy before they proceed. This creates an auditable trail and moves policy from an easy to forget document to an active, in-workflow control.\u003C/p>",{"large":1236},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"paddingTop":395},{"@type":106,"@version":107,"layerName":373,"id":1238,"meta":1239,"component":1240,"responsiveStyles":1245},"builder-44c1a891926f4bdeaaa37e90721fe6ac",{"previousId":1119},{"name":373,"options":1241,"isRSC":118},{"darkMode":6,"maxWidth":363,"imageMaxWidth":375,"textPaddingTop":400,"title":1242,"description":1243,"reverse":41,"image":1244},"\u003Ch2>Enforce your AI policy in the browser\u003C/h2>","\u003Cp>When an AI tool is deemed non-compliant or too risky, Push blocks it at the source. The block happens directly in the browser, preventing the user from accessing the site or submitting data. This gives you an immediate, powerful lever to stop data exfiltration and enforce a hard line on unacceptable risk.\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fa359ac1805af4e15a8a7f84632b9bb55",{"large":1246},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125,"paddingTop":406},{"@type":106,"@version":107,"id":1248,"meta":1249,"component":1250,"responsiveStyles":1252},"builder-dcc906f9cbe54dc68b3c672668e7a38f",{"previousId":1129},{"name":354,"options":1251,"isRSC":118},{"darkMode":6},{"large":1253},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"@type":106,"@version":107,"id":1255,"component":1256,"responsiveStyles":1258},"builder-d2d64780c31b4349bc75805b23a07e38",{"name":416,"tag":416,"options":1257,"isRSC":118},{"sectionHeading":37,"customClass":418},{"large":1259},{"display":121,"flexDirection":122,"position":123,"flexShrink":124,"boxSizing":125},{"id":1261,"@type":106,"tagName":131,"properties":1262,"responsiveStyles":1263},"builder-pixel-wxx9tk70r9p",{"src":133,"aria-hidden":134,"alt":37,"role":135,"width":124,"height":124},{"large":1264},{"height":124,"width":124,"display":138,"opacity":124,"overflow":139,"pointerEvents":140},{"deviceSize":142,"location":1266},{"path":37,"query":1267},{},{},1770892957225,1764950077593,"https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Fe558b8b069884037a8e6904f7ecc029c",[],{"winningTest":118,"breakpoints":1274,"originalContentId":1039,"kind":438,"lastPreviewUrl":1275,"hasLinks":6,"hasAutosaves":41},{"xsmall":57,"small":39,"medium":40},"https://pushsecurity.com/uc/shadow-ai?builder.space=f3a1111ff5be48cdbb123cd9f5795a05&builder.user.permissions=read%2Ccreate%2Cpublish%2CeditCode%2CeditDesigns%2CeditLayouts%2CeditLayers%2CeditContentPriority%2CeditFolders%2CeditProjects%2CmodifyMcpServers%2CmodifyWorkflowIntegrations%2CmodifyProjectSettings%2CconnectCodeRepository%2CcreateProjects%2CindexDesignSystems%2CsendPullRequests&builder.user.role.name=Developer&builder.user.role.id=developer&builder.cachebust=true&builder.preview=use-case-page&builder.noCache=true&builder.allowTextEdit=true&__builder_editing__=true&builder.overrides.use-case-page=b62629ce2f3741158d961cd10fe74b31&builder.overrides.b62629ce2f3741158d961cd10fe74b31=b62629ce2f3741158d961cd10fe74b31&builder.overrides.use-case-page:/uc/shadow-ai=b62629ce2f3741158d961cd10fe74b31&builder.options.includeRefs=true&builder.options.enrich=true&builder.options.locale=Default",{"_path":1277,"_dir":1278,"_draft":6,"_partial":6,"_locale":37,"sys":1279,"summary":1282,"title":1296,"subtitle":118,"metaTitle":1296,"synopsis":1297,"hashTags":118,"publishedDate":1298,"slug":1299,"ogImage":1300,"tagsCollection":1302,"authorsCollection":1312,"content":1320,"relatedBlogPostsCollection":2221,"_id":5233,"_type":5234,"_source":5235,"_file":5236,"_stem":5237,"_extension":5234},"/blog/shifting-detection-left-for-more-effective-threat-detection","blog",{"id":1280,"publishedAt":1281},"4Bc6qX9kURetHcK7nkS8on","2026-01-30T12:00:41.186Z",{"json":1283},{"data":1284,"content":1285,"nodeType":1295},{},[1286],{"data":1287,"content":1288,"nodeType":1294},{},[1289],{"data":1290,"marks":1291,"value":1292,"nodeType":1293},{},[],"This is the second blog in our series looking at the ‘why’ behind the ‘what’ at Push. In this entry, we’re exploring the idea of shifting detection and response left in the face of modern attacks. ","text","paragraph","document","Shifting detection left for more effective threat detection","Why relying on post-compromise detection and response is no longer an option for modern browser-based attacks.","2024-10-25T00:00:00.000Z","shifting-detection-left-for-more-effective-threat-detection",{"url":1301},"https://images.ctfassets.net/y1cdw1ablpvd/32uMppErtDqKKUWVxBF0xG/5dc1ab2271688efacead5b0aaf2cab8e/Legacy_and_modern_attack_paths.png",{"items":1303},[1304,1308],{"sys":1305,"name":1307},{"id":1306},"4ksQNCFeBf8H4QIORqpRLw","Detection & response",{"sys":1309,"name":1311},{"id":1310},"6A5RXS31ZQx3PwryGb1IMy","Browser-based attacks",{"items":1313},[1314],{"fullName":1315,"firstName":1316,"jobTitle":1317,"profilePicture":1318},"Dan Green","Dan","Threat Research",{"url":1319},"https://images.ctfassets.net/y1cdw1ablpvd/7jik1VhFgA3kgzXBXTm2Vw/fcd8c171da644903d0827eafcfbcaad0/Dan_Headshot_2025.png",{"json":1321,"links":2161},{"nodeType":1295,"data":1322,"content":1323},{},[1324,1331,1338,1345,1354,1364,1371,1377,1384,1390,1397,1405,1412,1418,1425,1460,1467,1474,1509,1517,1524,1532,1541,1548,1555,1575,1582,1589,1596,1604,1611,1618,1651,1658,1711,1718,1725,1733,1740,1747,1754,1762,1769,1792,1799,1847,1854,1860,1867,1910,1917,1925,1932,1939,1972,1980,1987,1993,2000,2006,2013,2019,2026,2114,2121,2129,2136,2154],{"nodeType":1294,"data":1325,"content":1326},{},[1327],{"nodeType":1293,"value":1328,"marks":1329,"data":1330},"As an industry, we’ve been conditioned to think about threat detection and response as something that happens post-compromise. Best practice has formed around resources like the Cyber Kill Chain and the MITRE ATT&CK Framework which focus on detecting indicators of an attacker presence on your network, and their behaviors and actions as they move through it.",[],{},{"nodeType":1294,"data":1332,"content":1333},{},[1334],{"nodeType":1293,"value":1335,"marks":1336,"data":1337},"But with the shift to identity attacks, where attackers look to take over accounts on internet-facing apps and services, relying on an assumed compromise approach to detection is becoming less reliable. The most significant breaches of the last 12-18 months have been the result of browser-based attacks where an attacker has taken over an account, exfiltrated data… and that’s it. ",[],{},{"nodeType":1294,"data":1339,"content":1340},{},[1341],{"nodeType":1293,"value":1342,"marks":1343,"data":1344},"This change means that the typical methods of post-compromise detection and response become much less viable. So, we’re going to talk a bit about what’s changed, why controls are failing, and what we’re doing here at Push to address the detection gaps. ",[],{},{"nodeType":1346,"data":1347,"content":1353},"embedded-entry-block",{"target":1348},{"sys":1349},{"id":1350,"type":1351,"linkType":1352},"4179AY8ZEIJ3Ce9jszn4fA","Link","Entry",[],{"nodeType":1355,"data":1356,"content":1357},"heading-1",{},[1358],{"nodeType":1293,"value":1359,"marks":1360,"data":1363},"The good old days",[1361],{"type":1362},"bold",{},{"nodeType":1294,"data":1365,"content":1366},{},[1367],{"nodeType":1293,"value":1368,"marks":1369,"data":1370},"Over the previous decade the typical attack paths, and the controls that have formed around it, have become very familiar to SecOps teams. ",[],{},{"nodeType":1346,"data":1372,"content":1376},{"target":1373},{"sys":1374},{"id":1375,"type":1351,"linkType":1352},"4AOzwBGuNkXXogyqy46ki5",[],{"nodeType":1294,"data":1378,"content":1379},{},[1380],{"nodeType":1293,"value":1381,"marks":1382,"data":1383},"Even with the more recent transition to enterprise cloud and hybrid networking, the broad offensive logic of “land and expand” remains. This has seen the typical view of a network-based attack path simply expand to add first enterprise cloud, and then SaaS to the picture. ",[],{},{"nodeType":1346,"data":1385,"content":1389},{"target":1386},{"sys":1387},{"id":1388,"type":1351,"linkType":1352},"2J3s38YOVcMuJuTdryhERA",[],{"nodeType":1294,"data":1391,"content":1392},{},[1393],{"nodeType":1293,"value":1394,"marks":1395,"data":1396},"And while this sort of attack path is theoretically possible, what happens in reality looks quite different. ",[],{},{"nodeType":1355,"data":1398,"content":1399},{},[1400],{"nodeType":1293,"value":1401,"marks":1402,"data":1404},"The new world",[1403],{"type":1362},{},{"nodeType":1294,"data":1406,"content":1407},{},[1408],{"nodeType":1293,"value":1409,"marks":1410,"data":1411},"Instead of needing to progress through the network, moving laterally, elevating privileges, etc. modern account takeover tends to take a much more direct approach. ",[],{},{"nodeType":1346,"data":1413,"content":1417},{"target":1414},{"sys":1415},{"id":1416,"type":1351,"linkType":1352},"6wIzMu3jBhaas9jtpV48bz",[],{"nodeType":1294,"data":1419,"content":1420},{},[1421],{"nodeType":1293,"value":1422,"marks":1423,"data":1424},"It’s a common misconception that SaaS compromise typically comes after the traditional attack chain (a myth largely promoted by old-school consultancy providers, MSSPs, and managed SOC providers). There’s no need for an attacker looking to take over a SaaS account to target the network first – and many organizations today simply no longer have a network in the conventional sense.  ",[],{},{"nodeType":1294,"data":1426,"content":1427},{},[1428,1432,1443,1447,1456],{"nodeType":1293,"value":1429,"marks":1430,"data":1431},"This isn’t to say that there aren’t examples of longer SaaS compromises involving lateral movement from SaaS to SaaS, or SaaS to cloud (",[],{},{"nodeType":1433,"data":1434,"content":1436},"hyperlink",{"uri":1435},"https://github.com/pushsecurity/saas-attacks",[1437],{"nodeType":1293,"value":1438,"marks":1439,"data":1442},"we created a whole attack matrix demonstrating the art of the possible here",[1440],{"type":1441},"underline",{},{"nodeType":1293,"value":1444,"marks":1445,"data":1446},"). Equally, there are examples of very short and direct attacks in enterprise cloud environments leading to ransomware deployment (for example, ",[],{},{"nodeType":1433,"data":1448,"content":1450},{"uri":1449},"https://www.bleepingcomputer.com/news/security/mgm-casinos-esxi-servers-allegedly-encrypted-in-ransomware-attack/",[1451],{"nodeType":1293,"value":1452,"marks":1453,"data":1455},"Scattered Spider turning an initial account takeover in Okta into a full-scale VMware ESXi ransomware compromise",[1454],{"type":1441},{},{"nodeType":1293,"value":1457,"marks":1458,"data":1459},"). ",[],{},{"nodeType":1294,"data":1461,"content":1462},{},[1463],{"nodeType":1293,"value":1464,"marks":1465,"data":1466},"But statistically, the average network or enterprise cloud attack involves much more complex lateral movement, privilege escalation, and defense evasion than the average SaaS attack path. ",[],{},{"nodeType":1294,"data":1468,"content":1469},{},[1470],{"nodeType":1293,"value":1471,"marks":1472,"data":1473},"The Snowflake attack path is a useful case study here: ",[],{},{"nodeType":1475,"data":1476,"content":1477},"unordered-list",{},[1478,1489,1499],{"nodeType":1479,"data":1480,"content":1481},"list-item",{},[1482],{"nodeType":1294,"data":1483,"content":1484},{},[1485],{"nodeType":1293,"value":1486,"marks":1487,"data":1488},"Attackers logged into the Snowflake tenant of ~165 organizations using stolen credentials to access user accounts via the web-based ‘SnowSight’ portal. ",[],{},{"nodeType":1479,"data":1490,"content":1491},{},[1492],{"nodeType":1294,"data":1493,"content":1494},{},[1495],{"nodeType":1293,"value":1496,"marks":1497,"data":1498},"To take advantage of the many exposed accounts, the attacker created a utility performing account takeover and recon at-scale. ",[],{},{"nodeType":1479,"data":1500,"content":1501},{},[1502],{"nodeType":1294,"data":1503,"content":1504},{},[1505],{"nodeType":1293,"value":1506,"marks":1507,"data":1508},"The attack finished with the attacker executing the same set of SQL commands across customer instances to stage and exfiltrate data. ",[],{},{"nodeType":1294,"data":1510,"content":1511},{},[1512],{"nodeType":1293,"value":1513,"marks":1514,"data":1516},"And that’s it. ",[1515],{"type":1362},{},{"nodeType":1294,"data":1518,"content":1519},{},[1520],{"nodeType":1293,"value":1521,"marks":1522,"data":1523},"Since these attacks happen in-app, to be able to detect and intercept them you’d need deep app-level telemetry, and probably the ability to automate any containment and response activities. But unfortunately…",[],{},{"nodeType":1355,"data":1525,"content":1526},{},[1527],{"nodeType":1293,"value":1528,"marks":1529,"data":1531},"Detecting and responding after account takeover is really, really difficult",[1530],{"type":1362},{},{"nodeType":1533,"data":1534,"content":1535},"heading-2",{},[1536],{"nodeType":1293,"value":1537,"marks":1538,"data":1540},"Limited log data ",[1539],{"type":1362},{},{"nodeType":1294,"data":1542,"content":1543},{},[1544],{"nodeType":1293,"value":1545,"marks":1546,"data":1547},"The first challenge is that in-app malicious activity is mostly indistinguishable from legitimate user behavior. Even mass data exfiltration might appear legitimate depending on what the app is used for!",[],{},{"nodeType":1294,"data":1549,"content":1550},{},[1551],{"nodeType":1293,"value":1552,"marks":1553,"data":1554},"To meaningfully detect malicious activity in-app, for starters you would need visibility of user behavior and actions. Unfortunately, you don’t have this. ",[],{},{"nodeType":1294,"data":1556,"content":1557},{},[1558,1562,1571],{"nodeType":1293,"value":1559,"marks":1560,"data":1561},"We’ve previously discussed in detail why ",[],{},{"nodeType":1433,"data":1563,"content":1565},{"uri":1564},"https://pushsecurity.com/blog/the-web-proxy-is-dead-long-live-the-browser-extension/",[1566],{"nodeType":1293,"value":1567,"marks":1568,"data":1570},"log sources like network (web proxy), IdP, and app logs fall short",[1569],{"type":1441},{},{"nodeType":1293,"value":1572,"marks":1573,"data":1574}," when it comes to identity attacks, but the TL;DR is that most applications provide extremely limited security logging (if they provide it at all). ",[],{},{"nodeType":1294,"data":1576,"content":1577},{},[1578],{"nodeType":1293,"value":1579,"marks":1580,"data":1581},"When logs are available, you’re limited to the events that the third-party deems suitable to log. Out of the 100 most popular apps we see across our customers, and perhaps the few dozen or so that are security critical, only a small handful provide any useful logging. So extremely risky actions, like cloning a private GitHub repo, or downloading SharePoint files via ‘open in app’ or file syncing, don’t generate any logs at all. ",[],{},{"nodeType":1294,"data":1583,"content":1584},{},[1585],{"nodeType":1293,"value":1586,"marks":1587,"data":1588},"Further, the lack of out-of-the-box connectors for many apps means that complex custom architectures are often required for ingestion.",[],{},{"nodeType":1294,"data":1590,"content":1591},{},[1592],{"nodeType":1293,"value":1593,"marks":1594,"data":1595},"So, even if logs are available and you’re able to ingest them into your SIEM, there’s no guarantee that the telemetry available will contribute to any meaningful detection of malicious activity. ",[],{},{"nodeType":1533,"data":1597,"content":1598},{},[1599],{"nodeType":1293,"value":1600,"marks":1601,"data":1603},"Limited response capabilities",[1602],{"type":1362},{},{"nodeType":1294,"data":1605,"content":1606},{},[1607],{"nodeType":1293,"value":1608,"marks":1609,"data":1610},"By some miracle, you’ve detected an account takeover. Now what?",[],{},{"nodeType":1294,"data":1612,"content":1613},{},[1614],{"nodeType":1293,"value":1615,"marks":1616,"data":1617},"The ability to respond to an attack is dictated by the controls that are available to the security team. Unfortunately:",[],{},{"nodeType":1475,"data":1619,"content":1620},{},[1621,1631,1641],{"nodeType":1479,"data":1622,"content":1623},{},[1624],{"nodeType":1294,"data":1625,"content":1626},{},[1627],{"nodeType":1293,"value":1628,"marks":1629,"data":1630},"Depending on the app and how it was adopted, there’s no guarantee that you have admin rights. ",[],{},{"nodeType":1479,"data":1632,"content":1633},{},[1634],{"nodeType":1294,"data":1635,"content":1636},{},[1637],{"nodeType":1293,"value":1638,"marks":1639,"data":1640},"It’s not guaranteed that admins will have the required security features available to them, like forcing a logout on a session or disabling an account (you may not even know who the users and admins are within your organization, particularly if it was self-adopted by a specific team). ",[],{},{"nodeType":1479,"data":1642,"content":1643},{},[1644],{"nodeType":1294,"data":1645,"content":1646},{},[1647],{"nodeType":1293,"value":1648,"marks":1649,"data":1650},"Response probably requires that you log into the app and perform these actions in the admin interface (rather than being something you can orchestrate via SIEM workflow or API).",[],{},{"nodeType":1294,"data":1652,"content":1653},{},[1654],{"nodeType":1293,"value":1655,"marks":1656,"data":1657},"So at the point that the SecOps team is engaged, the team needs to be able to respond by eradicating the attacker’s access and closing the vulnerabilities exploited to prevent re-entry. To do this, the team needs to be able to identify, for example:",[],{},{"nodeType":1475,"data":1659,"content":1660},{},[1661,1671,1681,1691,1701],{"nodeType":1479,"data":1662,"content":1663},{},[1664],{"nodeType":1294,"data":1665,"content":1666},{},[1667],{"nodeType":1293,"value":1668,"marks":1669,"data":1670},"How the attacker gained access to the account",[],{},{"nodeType":1479,"data":1672,"content":1673},{},[1674],{"nodeType":1294,"data":1675,"content":1676},{},[1677],{"nodeType":1293,"value":1678,"marks":1679,"data":1680},"What the attacker did using the compromised account",[],{},{"nodeType":1479,"data":1682,"content":1683},{},[1684],{"nodeType":1294,"data":1685,"content":1686},{},[1687],{"nodeType":1293,"value":1688,"marks":1689,"data":1690},"Whether any alternative access methods were established (e.g. backup emails, API keys, or OAuth integrations)",[],{},{"nodeType":1479,"data":1692,"content":1693},{},[1694],{"nodeType":1294,"data":1695,"content":1696},{},[1697],{"nodeType":1293,"value":1698,"marks":1699,"data":1700},"Where the attacker could have laterally moved to using the account (based on the integrations and permissions of the identity)",[],{},{"nodeType":1479,"data":1702,"content":1703},{},[1704],{"nodeType":1294,"data":1705,"content":1706},{},[1707],{"nodeType":1293,"value":1708,"marks":1709,"data":1710},"Other accounts the attacker could also access using the same credentials",[],{},{"nodeType":1294,"data":1712,"content":1713},{},[1714],{"nodeType":1293,"value":1715,"marks":1716,"data":1717},"Given the limited tools available and the probable lack of app-specific knowledge (you can’t be an expert in every app!), by the time you’ve managed to respond, the attacker has probably already sailed off into the sunset with all of the data they can lay their hands on. ",[],{},{"nodeType":1294,"data":1719,"content":1720},{},[1721],{"nodeType":1293,"value":1722,"marks":1723,"data":1724},"Clearly, post-compromise detection and response isn’t really a viable option – you’re basically entering full response and recovery mode at this point. ",[],{},{"nodeType":1355,"data":1726,"content":1727},{},[1728],{"nodeType":1293,"value":1729,"marks":1730,"data":1732},"Shifting detection left",[1731],{"type":1362},{},{"nodeType":1294,"data":1734,"content":1735},{},[1736],{"nodeType":1293,"value":1737,"marks":1738,"data":1739},"If you can’t reasonably detect and respond to post-compromise activity, it makes detecting and blocking initial access much more important. ",[],{},{"nodeType":1294,"data":1741,"content":1742},{},[1743],{"nodeType":1293,"value":1744,"marks":1745,"data":1746},"Again, it seems obvious, but it’s yet another notion that’s fallen under the radar – despite the trendiness of ‘shifting left’ in other areas like software development and vulnerability management. Partly because as we’ve discussed, post-compromise detection and response has been the norm for so long. But also because we’ve accepted the status quo of the (somewhat disappointing) preventative controls that are available. ",[],{},{"nodeType":1294,"data":1748,"content":1749},{},[1750],{"nodeType":1293,"value":1751,"marks":1752,"data":1753},"First, let’s isolate the techniques and steps that attackers typically rely on for account takeover. ",[],{},{"nodeType":1533,"data":1755,"content":1756},{},[1757],{"nodeType":1293,"value":1758,"marks":1759,"data":1761},"Methods of account takeover",[1760],{"type":1362},{},{"nodeType":1294,"data":1763,"content":1764},{},[1765],{"nodeType":1293,"value":1766,"marks":1767,"data":1768},"To be able to hijack an account, an attacker needs to possess one of two things:",[],{},{"nodeType":1475,"data":1770,"content":1771},{},[1772,1782],{"nodeType":1479,"data":1773,"content":1774},{},[1775],{"nodeType":1294,"data":1776,"content":1777},{},[1778],{"nodeType":1293,"value":1779,"marks":1780,"data":1781},"Authentication material e.g. a username and password, with a login portal URL.",[],{},{"nodeType":1479,"data":1783,"content":1784},{},[1785],{"nodeType":1294,"data":1786,"content":1787},{},[1788],{"nodeType":1293,"value":1789,"marks":1790,"data":1791},"Session material e.g. session cookies. ",[],{},{"nodeType":1294,"data":1793,"content":1794},{},[1795],{"nodeType":1293,"value":1796,"marks":1797,"data":1798},"There are three main ways that an attacker can hijack an account by acquiring (or generating) these materials: Phishing, infostealers, and credential stuffing. ",[],{},{"nodeType":1475,"data":1800,"content":1801},{},[1802,1817,1832],{"nodeType":1479,"data":1803,"content":1804},{},[1805],{"nodeType":1294,"data":1806,"content":1807},{},[1808,1813],{"nodeType":1293,"value":1809,"marks":1810,"data":1812},"Phishing:",[1811],{"type":1362},{},{"nodeType":1293,"value":1814,"marks":1815,"data":1816}," Stealing valid authentication and session material from victims, including usernames, passwords, and session cookies (if AitM or BitM), for a specific site or app.",[],{},{"nodeType":1479,"data":1818,"content":1819},{},[1820],{"nodeType":1294,"data":1821,"content":1822},{},[1823,1828],{"nodeType":1293,"value":1824,"marks":1825,"data":1827},"Infostealers:",[1826],{"type":1362},{},{"nodeType":1293,"value":1829,"marks":1830,"data":1831}," Stealing valid authentication and session material from the victim’s web browsers for all apps that the user has signed into, as well as desktop information from the device.",[],{},{"nodeType":1479,"data":1833,"content":1834},{},[1835],{"nodeType":1294,"data":1836,"content":1837},{},[1838,1843],{"nodeType":1293,"value":1839,"marks":1840,"data":1842},"Credential stuffing: ",[1841],{"type":1362},{},{"nodeType":1293,"value":1844,"marks":1845,"data":1846},"Using previously breached authentication or session material in data breach dumps, or taking advantage of weak or guessable passwords (as a result of password reuse).",[],{},{"nodeType":1294,"data":1848,"content":1849},{},[1850],{"nodeType":1293,"value":1851,"marks":1852,"data":1853},"Once this information has been acquired, the attack path follows a similar journey regardless of the initial attack technique, ending in the attacker initiating a session in their own browser. ",[],{},{"nodeType":1346,"data":1855,"content":1859},{"target":1856},{"sys":1857},{"id":1858,"type":1351,"linkType":1352},"7CJT84yPsiUaUO4Mfb6oFd",[],{"nodeType":1294,"data":1861,"content":1862},{},[1863],{"nodeType":1293,"value":1864,"marks":1865,"data":1866},"Clearly, there are a number of steps here that involve user behaviors/actions that could in theory be detected with the right visibility:",[],{},{"nodeType":1475,"data":1868,"content":1869},{},[1870,1880,1890,1900],{"nodeType":1479,"data":1871,"content":1872},{},[1873],{"nodeType":1294,"data":1874,"content":1875},{},[1876],{"nodeType":1293,"value":1877,"marks":1878,"data":1879},"The victim being sent and accessing a malicious link, or downloading a malicious file",[],{},{"nodeType":1479,"data":1881,"content":1882},{},[1883],{"nodeType":1294,"data":1884,"content":1885},{},[1886],{"nodeType":1293,"value":1887,"marks":1888,"data":1889},"The victim loading a malicious webpage",[],{},{"nodeType":1479,"data":1891,"content":1892},{},[1893],{"nodeType":1294,"data":1894,"content":1895},{},[1896],{"nodeType":1293,"value":1897,"marks":1898,"data":1899},"The victim interacting with a malicious webpage, such as entering their credentials",[],{},{"nodeType":1479,"data":1901,"content":1902},{},[1903],{"nodeType":1294,"data":1904,"content":1905},{},[1906],{"nodeType":1293,"value":1907,"marks":1908,"data":1909},"(If an infostealer attack) The victim executing malware on their device",[],{},{"nodeType":1294,"data":1911,"content":1912},{},[1913],{"nodeType":1293,"value":1914,"marks":1915,"data":1916},"Finally, the attacker must also access the stolen account from their own device/browser.",[],{},{"nodeType":1533,"data":1918,"content":1919},{},[1920],{"nodeType":1293,"value":1921,"marks":1922,"data":1924},"Existing controls are falling short",[1923],{"type":1362},{},{"nodeType":1294,"data":1926,"content":1927},{},[1928],{"nodeType":1293,"value":1929,"marks":1930,"data":1931},"So, now we know what these attacks look like, how do you feasibly detect and block them? ",[],{},{"nodeType":1294,"data":1933,"content":1934},{},[1935],{"nodeType":1293,"value":1936,"marks":1937,"data":1938},"The vast majority of identity attacks take place entirely over the internet. These attacks don’t involve traditional network and endpoint-based techniques, and therefore don’t run into many of your existing perimeter controls. Infostealer attacks are the exception in that they do involve an endpoint compromise (and therefore come up against EDR), but attackers are continually finding new bypass techniques, or are targeting unmanaged devices that are not protected by EDR. ",[],{},{"nodeType":1294,"data":1940,"content":1941},{},[1942,1946,1955,1959,1968],{"nodeType":1293,"value":1943,"marks":1944,"data":1945},"This leaves us in the hands of TI-driven blocklists and SWG/email controls that identify and block malicious content. However, these controls are largely based on ",[],{},{"nodeType":1433,"data":1947,"content":1949},{"uri":1948},"https://pushsecurity.com/blog/our-design-philosophy-detecting-what-matters/",[1950],{"nodeType":1293,"value":1951,"marks":1952,"data":1954},"indicators like domain names, URLs, and IPs",[1953],{"type":1441},{},{"nodeType":1293,"value":1956,"marks":1957,"data":1958}," which are easy for attackers to change (and therefore bypass). Where pages and downloads are analyzed, ",[],{},{"nodeType":1433,"data":1960,"content":1962},{"uri":1961},"https://pushsecurity.com/blog/how-aitm-phishing-kits-evade-detection/",[1963],{"nodeType":1293,"value":1964,"marks":1965,"data":1967},"attackers are routinely implementing obfuscation measures to defeat more advanced dynamic controls",[1966],{"type":1441},{},{"nodeType":1293,"value":1969,"marks":1970,"data":1971}," with a lot of success, or using techniques like HTML smuggling to bypass download scanning tools. ",[],{},{"nodeType":1533,"data":1973,"content":1974},{},[1975],{"nodeType":1293,"value":1976,"marks":1977,"data":1979},"Detecting and responding to account takeover with Push",[1978],{"type":1362},{},{"nodeType":1294,"data":1981,"content":1982},{},[1983],{"nodeType":1293,"value":1984,"marks":1985,"data":1986},"But, Push’s vantage point in the browser gives us a very different perspective. Because in the browser, you have much better visibility of the rendered web page (meaning it's much harder to disguise malicious content). You also aren’t restricted to email, and can intercept a user loading a malicious page whatever it’s source. ",[],{},{"nodeType":1346,"data":1988,"content":1992},{"target":1989},{"sys":1990},{"id":1991,"type":1351,"linkType":1352},"4JpFRHGRGEbCb1hNF0CGlE",[],{"nodeType":1294,"data":1994,"content":1995},{},[1996],{"nodeType":1293,"value":1997,"marks":1998,"data":1999},"So, let’s compare the typical web-based controls that organizations rely on against what’s possible using Push’s browser-based solution. We’ll put EDR to one side here and focus on a typical phishing attack, since the majority of the attack path happens over the internet (and the attacker has to return to the internet to access the app/account anyway). ",[],{},{"nodeType":1346,"data":2001,"content":2005},{"target":2002},{"sys":2003},{"id":2004,"type":1351,"linkType":1352},"4ua9ZNNSnxJnRLwJvRTaf1",[],{"nodeType":1294,"data":2007,"content":2008},{},[2009],{"nodeType":1293,"value":2010,"marks":2011,"data":2012},"You can see here that attackers have established methods of routinely bypassing these controls. In contrast, with Push, there are layered detections against different stages of the attack path to account takeover, providing defense-in-depth should a layer be somehow bypassed.",[],{},{"nodeType":1346,"data":2014,"content":2018},{"target":2015},{"sys":2016},{"id":2017,"type":1351,"linkType":1352},"ogIj92nzV9Q2Z7I9YOgG3",[],{"nodeType":1294,"data":2020,"content":2021},{},[2022],{"nodeType":1293,"value":2023,"marks":2024,"data":2025},"In practice, this creates four strong lines of defense – all before an attacker can even take over an account. ",[],{},{"nodeType":1475,"data":2027,"content":2028},{},[2029,2050,2072,2093],{"nodeType":1479,"data":2030,"content":2031},{},[2032],{"nodeType":1294,"data":2033,"content":2034},{},[2035,2039,2047],{"nodeType":1293,"value":2036,"marks":2037,"data":2038},"1st line: ",[],{},{"nodeType":1433,"data":2040,"content":2042},{"uri":2041},"https://pushsecurity.com/blog/introducing-cloned-login-page-detection/",[2043],{"nodeType":1293,"value":2044,"marks":2045,"data":2046},"Detecting when a login page that you access is cloned from a legitimate page.",[],{},{"nodeType":1293,"value":37,"marks":2048,"data":2049},[],{},{"nodeType":1479,"data":2051,"content":2052},{},[2053],{"nodeType":1294,"data":2054,"content":2055},{},[2056,2060,2068],{"nodeType":1293,"value":2057,"marks":2058,"data":2059},"2nd line: ",[],{},{"nodeType":1433,"data":2061,"content":2063},{"uri":2062},"https://pushsecurity.com/blog/introducing-aitm-phishing-toolkit-detection-powered-by-the-push-browser/",[2064],{"nodeType":1293,"value":2065,"marks":2066,"data":2067},"Detecting and blocking access to a page with a known phishing kit signature present on the page",[],{},{"nodeType":1293,"value":2069,"marks":2070,"data":2071},". ",[],{},{"nodeType":1479,"data":2073,"content":2074},{},[2075],{"nodeType":1294,"data":2076,"content":2077},{},[2078,2082,2090],{"nodeType":1293,"value":2079,"marks":2080,"data":2081},"3rd line: ",[],{},{"nodeType":1433,"data":2083,"content":2085},{"uri":2084},"https://pushsecurity.com/blog/introducing-sso-password-protection/",[2086],{"nodeType":1293,"value":2087,"marks":2088,"data":2089},"Detecting and blocking the user behavior of entering their password into any site that the password doesn’t belong to",[],{},{"nodeType":1293,"value":2069,"marks":2091,"data":2092},[],{},{"nodeType":1479,"data":2094,"content":2095},{},[2096],{"nodeType":1294,"data":2097,"content":2098},{},[2099,2103,2111],{"nodeType":1293,"value":2100,"marks":2101,"data":2102},"4th line: ",[],{},{"nodeType":1433,"data":2104,"content":2106},{"uri":2105},"https://pushsecurity.com/blog/introducing-session-token-theft-detection-why-browser-is-best/",[2107],{"nodeType":1293,"value":2108,"marks":2109,"data":2110},"Detecting when an attacker resumes a stolen session in a browser without the Push extension running. ",[],{},{"nodeType":1293,"value":37,"marks":2112,"data":2113},[],{},{"nodeType":1294,"data":2115,"content":2116},{},[2117],{"nodeType":1293,"value":2118,"marks":2119,"data":2120},"Each of these controls either detects and blocks the account takeover attempt outright, or provides a high-fidelity indicator that should trigger a priority investigation via your SecOps workflow. ",[],{},{"nodeType":1355,"data":2122,"content":2123},{},[2124],{"nodeType":1293,"value":2125,"marks":2126,"data":2128},"Conclusion",[2127],{"type":1362},{},{"nodeType":1294,"data":2130,"content":2131},{},[2132],{"nodeType":1293,"value":2133,"marks":2134,"data":2135},"Hopefully we’ve demonstrated shifting detection left isn’t just possible, but essential for defending against modern identity attacks and account takeover. ",[],{},{"nodeType":1294,"data":2137,"content":2138},{},[2139,2143,2151],{"nodeType":1293,"value":2140,"marks":2141,"data":2142},"This is the second post in our design philosophy series, so if you want to read about how we’re building detections that are hard for attackers to bypass using the Pyramid of Pain, ",[],{},{"nodeType":1433,"data":2144,"content":2145},{"uri":1948},[2146],{"nodeType":1293,"value":2147,"marks":2148,"data":2150},"you can check it out here",[2149],{"type":1441},{},{"nodeType":1293,"value":2069,"marks":2152,"data":2153},[],{},{"nodeType":1294,"data":2155,"content":2156},{},[2157],{"nodeType":1293,"value":2158,"marks":2159,"data":2160},"We look forward to sharing more about our design philosophy with you in the future! ",[],{},{"entries":2162},{"hyperlink":2163,"inline":2164,"block":2165},[],[],[2166,2173,2181,2188,2194,2200,2208,2215],{"sys":2167,"__typename":2168,"type":2169,"ctaText":2170,"buttonLabel":2171,"buttonColour":2172,"buttonUrl":1948},{"id":1350},"CtaWidget","Custom","New to the series? Read our first design principles blog on building better detections using the Pyramid of Pain","Read the blog","sunny orange",{"sys":2174,"__typename":2175,"title":2176,"caption":2176,"layoutMode":118,"file":2177},{"id":1375},"Image","Network compromise in a traditional 'on-prem' environment",{"url":2178,"width":2179,"height":2180},"https://images.ctfassets.net/y1cdw1ablpvd/2kWUeTHvxsqJDvXP0v2Mev/57cc372e313a1d36e9c53e4c099831b1/Traditional_attack_path.png",1362,597,{"sys":2182,"__typename":2175,"title":2183,"caption":2183,"layoutMode":118,"file":2184},{"id":1388},"The typical attack path (according to old-school consultancies and MSSPs)",{"url":2185,"width":2186,"height":2187},"https://images.ctfassets.net/y1cdw1ablpvd/2lqJtgZROb1Qyoa0myb692/37dedf4120ba60cfb340fd3a69bea248/Typical_hybrid_attack_path.png",1535,893,{"sys":2189,"__typename":2175,"title":2190,"caption":2190,"layoutMode":118,"file":2191},{"id":1416},"The average SaaS attack path involves direct in-app compromise following account takeover",{"url":2192,"width":2179,"height":2193},"https://images.ctfassets.net/y1cdw1ablpvd/3DOQd2fcWYdjMSVBZZvHHU/2cd487cb316aef8acd77e14a1960c391/SaaS_attack_path.png",458,{"sys":2195,"__typename":2175,"title":2196,"caption":2197,"layoutMode":118,"file":2198},{"id":1858},"Paths to account takeover","Overlapping paths to account takeover via phishing, infostealers and credential stuffing",{"url":2199,"width":2186,"height":2187},"https://images.ctfassets.net/y1cdw1ablpvd/3UZL6NydNnGa0kJHF9s6Ld/2fdb6d3aa8abb45d89cf334f5d3e9139/Paths_to_account_takeover__1_.png",{"sys":2201,"__typename":2175,"title":2202,"caption":2203,"layoutMode":118,"file":2204},{"id":1991},"Browser visibility and telemetry","The browser provides deep, real time visibility of the rendered web app and user activity",{"url":2205,"width":2206,"height":2207},"https://images.ctfassets.net/y1cdw1ablpvd/7ntzZN0bNnt4Rc3kseTfji/d303986b42f9bab60a6566c5694d26b7/image2.png",1786,738,{"sys":2209,"__typename":2175,"title":2210,"caption":2211,"layoutMode":118,"file":2212},{"id":2004},"Identity attack detection without Push","TI-driven blocklists and email scanning tools are routinely bypassed by attackers",{"url":2213,"width":2186,"height":2214},"https://images.ctfassets.net/y1cdw1ablpvd/1pyLJUgcNuPV2hHz8BgXt6/6e587945d0985e9025e9e628efc2e227/Phishing_detection_without_Push__6_.png",764,{"sys":2216,"__typename":2175,"title":2217,"caption":2218,"layoutMode":118,"file":2219},{"id":2017},"Identity attack detection with Push","Push detects and blocks multiple stages of an account takeover attempt",{"url":2220,"width":2186,"height":2214},"https://images.ctfassets.net/y1cdw1ablpvd/3DfcvJLYux6dAVkf6w0izK/0b2ecf039f7f8c749c05a4cde306f4b6/Session_hijacking_detection_with_Push__1_.png",{"items":2222},[2223,2888,4139],{"__typename":2224,"sys":2225,"content":2227,"title":2874,"synopsis":2875,"hashTags":118,"publishedDate":2876,"slug":2877,"tagsCollection":2878,"authorsCollection":2884},"BlogPosts",{"id":2226},"1qegIy4rMdm5XZXnIEoKpE",{"json":2228},{"nodeType":1295,"data":2229,"content":2230},{},[2231,2238,2245,2270,2276,2283,2290,2294,2301,2321,2327,2334,2377,2384,2391,2398,2405,2412,2419,2437,2445,2448,2455,2462,2469,2476,2483,2490,2497,2545,2552,2559,2566,2586,2593,2600,2607,2614,2621,2628,2635,2653,2671,2714,2721,2728,2788,2795,2798,2805,2821,2839,2846,2852,2858,2861,2867],{"nodeType":1294,"data":2232,"content":2233},{},[2234],{"nodeType":1293,"value":2235,"marks":2236,"data":2237},"The field of threat detection and security monitoring has changed significantly over the last decade. Security tools and product categories have been added and replaced, specialist disciplines established, and methodologies created. ",[],{},{"nodeType":1294,"data":2239,"content":2240},{},[2241],{"nodeType":1293,"value":2242,"marks":2243,"data":2244},"Naturally, defenders have had to mature their approach because of the changing nature of the threat facing organizations. Attackers have always looked for new ways to target their victims, and naturally, defenders have had to adapt, forcing attackers to change things up… it’s a cat and mouse game. ",[],{},{"nodeType":1294,"data":2246,"content":2247},{},[2248,2252,2261,2265],{"nodeType":1293,"value":2249,"marks":2250,"data":2251},"Blue teamers have used the concept of the ",[],{},{"nodeType":1433,"data":2253,"content":2255},{"uri":2254},"https://detect-respond.blogspot.com/2013/03/the-pyramid-of-pain.html",[2256],{"nodeType":1293,"value":2257,"marks":2258,"data":2260},"Pyramid of Pain",[2259],{"type":1441},{},{"nodeType":1293,"value":2262,"marks":2263,"data":2264}," for over a decade. The logic is simple: ",[],{},{"nodeType":1293,"value":2266,"marks":2267,"data":2269},"Focus on detecting and responding to indicators that are hard for attackers to change. ",[2268],{"type":1362},{},{"nodeType":1346,"data":2271,"content":2275},{"target":2272},{"sys":2273},{"id":2274,"type":1351,"linkType":1352},"6cG2fx3AikwptyEyXKrYCK",[],{"nodeType":1294,"data":2277,"content":2278},{},[2279],{"nodeType":1293,"value":2280,"marks":2281,"data":2282},"If an attacker only has to tweak a variable to get around your detection rule, like adding a space to change a hash value, it’s probably not a very good detection. It’s not going to remain effective for long and you’re always going to be one step behind the attacker – waiting for them to make their next move so you can react. This usually ends up meaning that attackers enjoy at least some success before they can be shut out again. ",[],{},{"nodeType":1294,"data":2284,"content":2285},{},[2286],{"nodeType":1293,"value":2287,"marks":2288,"data":2289},"The Pyramid of Pain – and the goal of implementing hard-to-bypass detections that hit attackers where it hurts – is central to our design philosophy. But before we get into how we apply this approach, and the types of controls we’ve created as a result, it’s useful to look at how IT and security have changed since the Pyramid was created more than a decade ago. ",[],{},{"nodeType":2291,"data":2292,"content":2293},"hr",{},[],{"nodeType":1355,"data":2295,"content":2296},{},[2297],{"nodeType":1293,"value":2298,"marks":2299,"data":2300},"A new era for cyber security",[],{},{"nodeType":1294,"data":2302,"content":2303},{},[2304,2308,2317],{"nodeType":1293,"value":2305,"marks":2306,"data":2307},"We’ve spoken a lot about how we’re in the midst of a new era in cybersecurity, in which identity is now the outermost digital perimeter for security teams to defend. (",[],{},{"nodeType":1433,"data":2309,"content":2311},{"uri":2310},"https://pushsecurity.com/resources/video/the-new-saas-cyber-kill-chain-so-con-2024/",[2312],{"nodeType":1293,"value":2313,"marks":2314,"data":2316},"You’ll be familiar with this if you’ve seen any of Luke’s talks on the New SaaS Cyber Kill Chain.",[2315],{"type":1441},{},{"nodeType":1293,"value":2318,"marks":2319,"data":2320},") ",[],{},{"nodeType":1346,"data":2322,"content":2326},{"target":2323},{"sys":2324},{"id":2325,"type":1351,"linkType":1352},"6nYSZAYpsbj78jKm0q75zs",[],{"nodeType":1294,"data":2328,"content":2329},{},[2330],{"nodeType":1293,"value":2331,"marks":2332,"data":2333},"This is primarily because modern working is no longer contained to a heavily centralized corporate network, and instead happens primarily in applications accessed over the internet via web browser.",[],{},{"nodeType":1294,"data":2335,"content":2336},{},[2337,2341,2349,2353,2361,2365,2373],{"nodeType":1293,"value":2338,"marks":2339,"data":2340},"In this new world, attacks don’t even have to touch the old perimeters, because all the data and functionality they could want exists on the public internet. As a result, we’re seeing more and more ",[],{},{"nodeType":1433,"data":2342,"content":2344},{"uri":2343},"https://pushsecurity.com/blog/saas-attack-techniques/",[2345],{"nodeType":1293,"value":2346,"marks":2347,"data":2348},"attacks targeting SaaS apps",[],{},{"nodeType":1293,"value":2350,"marks":2351,"data":2352},", with the entire attack chain being concluded outside customer networks, not touching any traditional endpoints or networks. The ",[],{},{"nodeType":1433,"data":2354,"content":2356},{"uri":2355},"https://pushsecurity.com/blog/identity-attacks-in-the-wild/#id-snowflake-june-2024",[2357],{"nodeType":1293,"value":2358,"marks":2359,"data":2360},"recent attacks on Snowflake customers",[],{},{"nodeType":1293,"value":2362,"marks":2363,"data":2364},", hailed ",[],{},{"nodeType":1433,"data":2366,"content":2368},{"uri":2367},"https://www.wired.com/story/snowflake-breach-advanced-auto-parts-lendingtree/",[2369],{"nodeType":1293,"value":2370,"marks":2371,"data":2372},"one of the biggest breaches in history",[],{},{"nodeType":1293,"value":2374,"marks":2375,"data":2376},", demonstrate this risk all too well. ",[],{},{"nodeType":1294,"data":2378,"content":2379},{},[2380],{"nodeType":1293,"value":2381,"marks":2382,"data":2383},"This creates a problem for security teams looking to detect and respond to these attacks. ",[],{},{"nodeType":1533,"data":2385,"content":2386},{},[2387],{"nodeType":1293,"value":2388,"marks":2389,"data":2390},"Attacks today are shorter and faster, but just as dangerous",[],{},{"nodeType":1294,"data":2392,"content":2393},{},[2394],{"nodeType":1293,"value":2395,"marks":2396,"data":2397},"Detecting and responding to identity attacks – phishing, credential stuffing, etc. – used to be just one possible method of initial access in quite a lengthy Kill Chain that stretched from the compromise of the user device, pivoting to internal network resources, escalating privileges, moving laterally, and finally achieving their objectives.",[],{},{"nodeType":1294,"data":2399,"content":2400},{},[2401],{"nodeType":1293,"value":2402,"marks":2403,"data":2404},"This meant that defenders could adopt an assumed compromise mentality and build layered detections, as well as proactively hunting for threats across these various stages and layers of the network. The more actions an attacker has to perform, the more opportunities for detection, and the higher the likelihood that they’ll be caught in the act before any real, lasting damage can be caused. ",[],{},{"nodeType":1294,"data":2406,"content":2407},{},[2408],{"nodeType":1293,"value":2409,"marks":2410,"data":2411},"Today, attackers have a lot of opportunities to cause significant damage for much less effort than before. For example, if the goal is to compromise an app like Snowflake and dump the data from it, the Kill Chain is way shorter than a traditional network-based attack. And all the great tools and security products you have, like EDR, don’t come into play. ",[],{},{"nodeType":1294,"data":2413,"content":2414},{},[2415],{"nodeType":1293,"value":2416,"marks":2417,"data":2418},"This means that the initial layer of anti-account takeover controls are much more important in this context. But, the historical detections in this space – email gateway security products, analyzing web pages for malicious content, and URL blocklisting – are either less relevant, or built upon easy to bypass detections toward the bottom of the Pyramid of Pain. ",[],{},{"nodeType":1294,"data":2420,"content":2421},{},[2422,2426,2433],{"nodeType":1293,"value":2423,"marks":2424,"data":2425},"As an example, ",[],{},{"nodeType":1433,"data":2427,"content":2428},{"uri":1961},[2429],{"nodeType":1293,"value":2430,"marks":2431,"data":2432},"we recently published an article on all the ways that AitM phishing sites are evading detection",[],{},{"nodeType":1293,"value":2434,"marks":2435,"data":2436},". TL;DR – there are a lot, and they seem to be quite effective. But this is partly because the majority of the detections they're trying to avoid are built on shaky ground.   ",[],{},{"nodeType":1294,"data":2438,"content":2439},{},[2440],{"nodeType":1293,"value":2441,"marks":2442,"data":2444},"So what? Well, it’s clear that the controls that the industry has relied on in the past to stop identity attacks are too easy to bypass, and are no longer sufficient. ",[2443],{"type":1362},{},{"nodeType":2291,"data":2446,"content":2447},{},[],{"nodeType":1355,"data":2449,"content":2450},{},[2451],{"nodeType":1293,"value":2452,"marks":2453,"data":2454},"Building effective identity threat detection controls",[],{},{"nodeType":1294,"data":2456,"content":2457},{},[2458],{"nodeType":1293,"value":2459,"marks":2460,"data":2461},"Now we’ve covered the problem that we set out to solve, let’s look at what we’re doing differently. ",[],{},{"nodeType":1294,"data":2463,"content":2464},{},[2465],{"nodeType":1293,"value":2466,"marks":2467,"data":2468},"In order to climb the Pyramid toward the apex, you need to find ways to detect increasingly generic parts of an attack technique. So you want to avoid things like what a specific malware’s code looks like, or where it connects back to. But what the malware does, or what happens when it runs, is more generic, and therefore more interesting to us.  ",[],{},{"nodeType":1294,"data":2470,"content":2471},{},[2472],{"nodeType":1293,"value":2473,"marks":2474,"data":2475},"The shift from static code signatures and fuzzy hashes to dynamic analysis of what code does on a live system is at the heart of why EDR killed antivirus a decade ago. It proved at-scale the value of moving detections up the pyramid.",[],{},{"nodeType":1294,"data":2477,"content":2478},{},[2479],{"nodeType":1293,"value":2480,"marks":2481,"data":2482},"We’re always on the lookout for ways to move our detections up the pyramid as well. It’s easiest to explain how we’ve applied this by looking at an example. ",[],{},{"nodeType":1533,"data":2484,"content":2485},{},[2486],{"nodeType":1293,"value":2487,"marks":2488,"data":2489},"Scenario: Detecting a web-based phishing attack",[],{},{"nodeType":1294,"data":2491,"content":2492},{},[2493],{"nodeType":1293,"value":2494,"marks":2495,"data":2496},"Let’s break down the stages of a web-based phishing attack as an example. For a user to be successfully phished:",[],{},{"nodeType":1475,"data":2498,"content":2499},{},[2500,2515,2530],{"nodeType":1479,"data":2501,"content":2502},{},[2503],{"nodeType":1294,"data":2504,"content":2505},{},[2506,2511],{"nodeType":1293,"value":2507,"marks":2508,"data":2510},"Stage 1:",[2509],{"type":1362},{},{"nodeType":1293,"value":2512,"marks":2513,"data":2514}," The victim must be lured to visit a website.",[],{},{"nodeType":1479,"data":2516,"content":2517},{},[2518],{"nodeType":1294,"data":2519,"content":2520},{},[2521,2526],{"nodeType":1293,"value":2522,"marks":2523,"data":2525},"Stage 2:",[2524],{"type":1362},{},{"nodeType":1293,"value":2527,"marks":2528,"data":2529}," The website must somehow trick or convince the user that it’s legitimate and trustworthy, for example by mimicking a legitimate site.",[],{},{"nodeType":1479,"data":2531,"content":2532},{},[2533],{"nodeType":1294,"data":2534,"content":2535},{},[2536,2541],{"nodeType":1293,"value":2537,"marks":2538,"data":2540},"Stage 3:",[2539],{"type":1362},{},{"nodeType":1293,"value":2542,"marks":2543,"data":2544}," The user must enter their actual credentials into that website.",[],{},{"nodeType":1294,"data":2546,"content":2547},{},[2548],{"nodeType":1293,"value":2549,"marks":2550,"data":2551},"So, how might you go about detecting this attack? Let’s start from the bottom of the pyramid and work our way up.",[],{},{"nodeType":1533,"data":2553,"content":2554},{},[2555],{"nodeType":1293,"value":2556,"marks":2557,"data":2558},"Stage 1: Determining if a URL, IP, or domain is bad",[],{},{"nodeType":1294,"data":2560,"content":2561},{},[2562],{"nodeType":1293,"value":2563,"marks":2564,"data":2565},"You might start by looking for the lure – historically an email. You could look for links in emails, or links in attachments in an email and then check if they are bad (which is essentially what email security products do). You could look for known-bad URLs in emails, but these change for every phishing campaign. In modern attacks, every target can receive a unique email and link. Even just using a URL shortener can bypass this. It’s equivalent to a malware hash – trivial to change, and therefore not a great thing to pin your detections on. ",[],{},{"nodeType":1294,"data":2567,"content":2568},{},[2569,2573,2582],{"nodeType":1293,"value":2570,"marks":2571,"data":2572},"You could look at which IP address the user connects to, but these days it’s very simple for attackers to add a new IP to their cloud-hosted server. If a domain is flagged as known-bad, the attacker only has to register a new domain, or compromise a WordPress server on an already trusted domain. Both of these things are ",[],{},{"nodeType":1433,"data":2574,"content":2576},{"uri":2575},"https://www.bleepingcomputer.com/news/security/revolver-rabbit-gang-registers-500-000-domains-for-malware-campaigns/",[2577],{"nodeType":1293,"value":2578,"marks":2579,"data":2581},"happening on a massive scale",[2580],{"type":1441},{},{"nodeType":1293,"value":2583,"marks":2584,"data":2585}," as attackers pre-plan for the fact that their domains will be burned at some point. Attackers are more than happy to spend $10-$20 per new domain in the grand scheme of the potential proceeds of crime. ",[],{},{"nodeType":1294,"data":2587,"content":2588},{},[2589],{"nodeType":1293,"value":2590,"marks":2591,"data":2592},"But there’s a more fundamental flaw here – for defenders to know that a URL, IP, or domain name is bad, it needs to be reported first. When are things reported? Typically after being used in an attack – so unfortunately, someone always gets hurt.  ",[],{},{"nodeType":1533,"data":2594,"content":2595},{},[2596],{"nodeType":1293,"value":2597,"marks":2598,"data":2599},"Stage 2: Determining if a site is legitimate",[],{},{"nodeType":1294,"data":2601,"content":2602},{},[2603],{"nodeType":1293,"value":2604,"marks":2605,"data":2606},"So how can we detect a phishing website, on day-zero, the first time anyone runs into it? Well we can look at the second step – does the URL resemble a real website, does the HTML code for a page look similar to a legitimate login page for a known website, is it loading the same image files? This is not trivial to detect, but with the right fuzzy matches and image analysis it can be automated.",[],{},{"nodeType":1294,"data":2608,"content":2609},{},[2610],{"nodeType":1293,"value":2611,"marks":2612,"data":2613},"We’ve now moved up a level on the Pyramid – we’re detecting website artifacts. If we see a legitimate looking website on an unknown domain, it’s likely to be a malicious clone.",[],{},{"nodeType":1294,"data":2615,"content":2616},{},[2617],{"nodeType":1293,"value":2618,"marks":2619,"data":2620},"Unfortunately, the attacker’s website doesn’t need to send each visitor to the same website. It can change dynamically based on where the visitor is coming from – or even randomly, so that not all visitors are served the phishing page. This means that tools which resolve where the links in emails go to be able to analyze them (such as email security appliances) don’t necessarily see the same site the user is actually visiting – a fact that is commonly abused by attackers to bypass detection. It’s critical that detection happens on the actual web page that the victim sees.",[],{},{"nodeType":1533,"data":2622,"content":2623},{},[2624],{"nodeType":1293,"value":2625,"marks":2626,"data":2627},"Stage 3: Detecting the user entering their credentials",[],{},{"nodeType":1294,"data":2629,"content":2630},{},[2631],{"nodeType":1293,"value":2632,"marks":2633,"data":2634},"For a phishing attack to succeed, the victim must enter their actual credentials into the webpage. If you can stop the user entering their real password, there’s no attack. There’s no getting around it. ",[],{},{"nodeType":1294,"data":2636,"content":2637},{},[2638,2642,2649],{"nodeType":1293,"value":2639,"marks":2640,"data":2641},"So, this is exactly what we did: Earlier this year, we released a control which ",[],{},{"nodeType":1433,"data":2643,"content":2644},{"uri":2084},[2645],{"nodeType":1293,"value":2646,"marks":2647,"data":2648},"stops users from entering their password belonging to a particular login page anywhere else",[],{},{"nodeType":1293,"value":2650,"marks":2651,"data":2652},".",[],{},{"nodeType":1294,"data":2654,"content":2655},{},[2656,2660,2667],{"nodeType":1293,"value":2657,"marks":2658,"data":2659},"Seems simple, right? By focusing on this generic action, that always has to happen, you can essentially stop your users being phished altogether. This means, it doesn’t matter ",[],{},{"nodeType":1433,"data":2661,"content":2662},{"uri":1961},[2663],{"nodeType":1293,"value":2664,"marks":2665,"data":2666},"what the attacker does before that point",[],{},{"nodeType":1293,"value":2668,"marks":2669,"data":2670},":",[],{},{"nodeType":1475,"data":2672,"content":2673},{},[2674,2684,2694,2704],{"nodeType":1479,"data":2675,"content":2676},{},[2677],{"nodeType":1294,"data":2678,"content":2679},{},[2680],{"nodeType":1293,"value":2681,"marks":2682,"data":2683},"It doesn't matter if they run the site using Cloudflare Workers to block automatic analysis.",[],{},{"nodeType":1479,"data":2685,"content":2686},{},[2687],{"nodeType":1294,"data":2688,"content":2689},{},[2690],{"nodeType":1293,"value":2691,"marks":2692,"data":2693},"It doesn’t matter if they hack a WordPress blog to get a reputable domain.",[],{},{"nodeType":1479,"data":2695,"content":2696},{},[2697],{"nodeType":1294,"data":2698,"content":2699},{},[2700],{"nodeType":1293,"value":2701,"marks":2702,"data":2703},"It doesn’t matter if they use clever redirects and rotate the URLs delivered to the user.",[],{},{"nodeType":1479,"data":2705,"content":2706},{},[2707],{"nodeType":1294,"data":2708,"content":2709},{},[2710],{"nodeType":1293,"value":2711,"marks":2712,"data":2713},"It doesn’t matter if they randomize the HTML title for the web page. ",[],{},{"nodeType":1294,"data":2715,"content":2716},{},[2717],{"nodeType":1293,"value":2718,"marks":2719,"data":2720},"They can’t avoid the fact that a user is required to enter their credentials on the page for the attack to succeed. ",[],{},{"nodeType":1294,"data":2722,"content":2723},{},[2724],{"nodeType":1293,"value":2725,"marks":2726,"data":2727},"So, when you apply the Pyramid of Pain to some of the controls we’ve shipped this year, we get a clear feel for the value, from highest to lowest:",[],{},{"nodeType":1475,"data":2729,"content":2730},{},[2731,2750,2769],{"nodeType":1479,"data":2732,"content":2733},{},[2734],{"nodeType":1294,"data":2735,"content":2736},{},[2737,2741,2747],{"nodeType":1293,"value":2738,"marks":2739,"data":2740},"User Behavior: ",[],{},{"nodeType":1433,"data":2742,"content":2743},{"uri":2084},[2744],{"nodeType":1293,"value":2087,"marks":2745,"data":2746},[],{},{"nodeType":1293,"value":2069,"marks":2748,"data":2749},[],{},{"nodeType":1479,"data":2751,"content":2752},{},[2753],{"nodeType":1294,"data":2754,"content":2755},{},[2756,2760,2766],{"nodeType":1293,"value":2757,"marks":2758,"data":2759},"Tool Behavior: ",[],{},{"nodeType":1433,"data":2761,"content":2762},{"uri":2041},[2763],{"nodeType":1293,"value":2044,"marks":2764,"data":2765},[],{},{"nodeType":1293,"value":37,"marks":2767,"data":2768},[],{},{"nodeType":1479,"data":2770,"content":2771},{},[2772],{"nodeType":1294,"data":2773,"content":2774},{},[2775,2779,2785],{"nodeType":1293,"value":2776,"marks":2777,"data":2778},"Tool Signature: ",[],{},{"nodeType":1433,"data":2780,"content":2781},{"uri":2062},[2782],{"nodeType":1293,"value":2065,"marks":2783,"data":2784},[],{},{"nodeType":1293,"value":2069,"marks":2786,"data":2787},[],{},{"nodeType":1294,"data":2789,"content":2790},{},[2791],{"nodeType":1293,"value":2792,"marks":2793,"data":2794},"Naturally, we want to continue focusing on the apex of the Pyramid – at TTPs and Tools – to ensure that the controls we build are as robust as possible, and can’t be bypassed by attackers. ",[],{},{"nodeType":2291,"data":2796,"content":2797},{},[],{"nodeType":1355,"data":2799,"content":2800},{},[2801],{"nodeType":1293,"value":2802,"marks":2803,"data":2804},"The power of the Push browser agent",[],{},{"nodeType":1294,"data":2806,"content":2807},{},[2808,2812,2817],{"nodeType":1293,"value":2809,"marks":2810,"data":2811},"You might ask: ",[],{},{"nodeType":1293,"value":2813,"marks":2814,"data":2816},"If it’s so simple, why hasn’t this been done yet?",[2815],{"type":1362},{},{"nodeType":1293,"value":2818,"marks":2819,"data":2820}," Well, before now, there was no good way of doing it! Teams simply didn’t have tools in the right place to be able to capture the level of data needed, or respond effectively (i.e. automatically, at the point of impact). ",[],{},{"nodeType":1294,"data":2822,"content":2823},{},[2824,2828,2835],{"nodeType":1293,"value":2825,"marks":2826,"data":2827},"This is where being in the browser comes into play. The browser is a great place to observe the behavior of a page in real time, without needing to reconstruct decrypted HTTP data post-TLS termination and try to guess what the rendered page in all its Javascript-infused glory actually does, ",[],{},{"nodeType":1433,"data":2829,"content":2830},{"uri":1564},[2831],{"nodeType":1293,"value":2832,"marks":2833,"data":2834},"as we’ve blogged about previously",[],{},{"nodeType":1293,"value":2836,"marks":2837,"data":2838},". As we’ve seen through the ability to not only detect but prevent phishing attacks, it’s also a great control enforcement point, as you’re able to intercept the user at the point of impact, and you sit as closely as possible to where their work typically happens – in the browser. ",[],{},{"nodeType":1294,"data":2840,"content":2841},{},[2842],{"nodeType":1293,"value":2843,"marks":2844,"data":2845},"To illustrate how crucial the browser is to implementing controls that sit at the apex of the Pyramid of Pain, we created a modified version designed specifically for identity attacks. ",[],{},{"nodeType":1346,"data":2847,"content":2851},{"target":2848},{"sys":2849},{"id":2850,"type":1351,"linkType":1352},"HrK2xQak6KfjInDbeSgv8",[],{"nodeType":1346,"data":2853,"content":2857},{"target":2854},{"sys":2855},{"id":2856,"type":1351,"linkType":1352},"7kLilJ8Y08smUI9ttM3BSO",[],{"nodeType":2291,"data":2859,"content":2860},{},[],{"nodeType":1355,"data":2862,"content":2863},{},[2864],{"nodeType":1293,"value":2125,"marks":2865,"data":2866},[],{},{"nodeType":1294,"data":2868,"content":2869},{},[2870],{"nodeType":1293,"value":2871,"marks":2872,"data":2873},"Hopefully, this blog post has shone a light on why we do things the way we do here at Push. The goal of building generic detections that are difficult, painful, and costly for attackers to bypass is a key part of our design strategy, and we look forward to sharing many more controls with you that demonstrate this in the future.",[],{},"Our design philosophy: Detecting what matters","This is the first blog in a short series we’re putting together about the ‘why’ behind the ‘what’ at Push. This entry is focused on threat detection. ","2024-08-05T00:00:00.000Z","our-design-philosophy-detecting-what-matters",{"items":2879},[2880,2882],{"sys":2881,"name":1307},{"id":1306},{"sys":2883,"name":1311},{"id":1310},{"items":2885},[2886],{"fullName":1315,"firstName":1316,"jobTitle":1317,"profilePicture":2887},{"url":1319},{"__typename":2224,"sys":2889,"content":2891,"title":4121,"synopsis":4122,"hashTags":118,"publishedDate":4123,"slug":4124,"tagsCollection":4125,"authorsCollection":4131},{"id":2890},"489LTCEVau7lh88tLgSPX5",{"json":2892},{"nodeType":1295,"data":2893,"content":2894},{},[2895,2902,2922,2929,2935,2942,2975,2981,2987,2994,3001,3007,3014,3034,3041,3048,3054,3061,3068,3116,3134,3141,3148,3155,3161,3168,3175,3182,3189,3196,3203,3215,3221,3228,3247,3265,3272,3279,3299,3306,3323,3330,3383,3390,3409,3416,3422,3439,3457,3464,3483,3490,3496,3503,3522,3529,3536,3542,3549,3556,3563,3570,3576,3583,3590,3597,3604,3610,3617,3624,3636,3652,3659,3666,3734,3741,3748,3755,3762,3769,3776,3783,3790,3809,3816,3822,3829,3835,3842,3849,3856,3862,3869,3876,3883,3916,3923,3930,3937,3944,3951,3958,3965,3972,4020,4026,4033,4077,4083,4090,4109,4115],{"nodeType":1294,"data":2896,"content":2897},{},[2898],{"nodeType":1293,"value":2899,"marks":2900,"data":2901},"The last time “hacking” topped the attacker actions chart in a Verizon DBIR, Gamestop was being saved by Redditors, ChatGPT didn’t exist, and Will Smith was welcome at the Oscars. ",[],{},{"nodeType":1294,"data":2903,"content":2904},{},[2905,2909,2918],{"nodeType":1293,"value":2906,"marks":2907,"data":2908},"That’s right, it was back in the ",[],{},{"nodeType":1433,"data":2910,"content":2912},{"uri":2911},"https://www.verizon.com/business/resources/reports/dbir/2021/masters-guide/",[2913],{"nodeType":1293,"value":2914,"marks":2915,"data":2917},"2021 DBIR",[2916],{"type":1441},{},{"nodeType":1293,"value":2919,"marks":2920,"data":2921}," that good old-fashioned hacking was the thing hackers did the most. ",[],{},{"nodeType":1294,"data":2923,"content":2924},{},[2925],{"nodeType":1293,"value":2926,"marks":2927,"data":2928},"In every report since, stolen credentials have been the most common “select way-in” (weird term, I know). In this year’s DBIR, stolen credentials accounted for roughly half of the breaches recorded. ",[],{},{"nodeType":1346,"data":2930,"content":2934},{"target":2931},{"sys":2932},{"id":2933,"type":1351,"linkType":1352},"16WQ5Siz92HZKCjDsxWBdr",[],{"nodeType":1294,"data":2936,"content":2937},{},[2938],{"nodeType":1293,"value":2939,"marks":2940,"data":2941},"These stats, along with others like CrowdStrike’s widely cited “80% of attacks involve identity and compromised credentials,” continue to prove that “hackers don’t hack in, they log in.” ",[],{},{"nodeType":1294,"data":2943,"content":2944},{},[2945,2949,2958,2962,2971],{"nodeType":1293,"value":2946,"marks":2947,"data":2948},"In the last year, more stories behind those statistics have started to emerge with a series of high profile “no-hack” identity attacks hitting the headlines – the most recent being the ",[],{},{"nodeType":1433,"data":2950,"content":2952},{"uri":2951},"https://pushsecurity.com/resources/video/snowflake-the-tip-of-the-iceberg/",[2953],{"nodeType":1293,"value":2954,"marks":2955,"data":2957},"Snowflake incident",[2956],{"type":1441},{},{"nodeType":1293,"value":2959,"marks":2960,"data":2961},". You can read more about that breach and others in our repository of ",[],{},{"nodeType":1433,"data":2963,"content":2965},{"uri":2964},"https://pushsecurity.com/blog/identity-attacks-in-the-wild/",[2966],{"nodeType":1293,"value":2967,"marks":2968,"data":2970},"identity attacks in the wild",[2969],{"type":1441},{},{"nodeType":1293,"value":2972,"marks":2973,"data":2974}," where we take a deep dive into the techniques attackers have been using. ",[],{},{"nodeType":1346,"data":2976,"content":2980},{"target":2977},{"sys":2978},{"id":2979,"type":1351,"linkType":1352},"6QY3hnMLMJvnk6zYHYa6pf",[],{"nodeType":1346,"data":2982,"content":2986},{"target":2983},{"sys":2984},{"id":2985,"type":1351,"linkType":1352},"7oAUuhbwgEH5XnDZrm5Zk9",[],{"nodeType":1294,"data":2988,"content":2989},{},[2990],{"nodeType":1293,"value":2991,"marks":2992,"data":2993},"Why should they go to the effort of targeting hardened and well-monitored attack surfaces like networks and endpoints with 0-day exploits or EDR-evading malware, when they can instead simply take a set of stolen credentials and fire them at popular business apps to see which pop open?",[],{},{"nodeType":1294,"data":2995,"content":2996},{},[2997],{"nodeType":1293,"value":2998,"marks":2999,"data":3000},"Taking over an account is the equivalent of compromising an endpoint or getting a foothold on a web-facing server. From this point, an attacker can move laterally, escalate their privileges, and achieve their objective of deploying ransomware, stealing data or disrupting business-critical systems. ",[],{},{"nodeType":1346,"data":3002,"content":3006},{"target":3003},{"sys":3004},{"id":3005,"type":1351,"linkType":1352},"3vdbE3kqFxvhE145q2CwOy",[],{"nodeType":1294,"data":3008,"content":3009},{},[3010],{"nodeType":1293,"value":3011,"marks":3012,"data":3013},"The data shows that account takeover, whether it’s using stolen credentials or session tokens, is now the route of least resistance for attackers, and the #1 attack vector for security teams to defend against.",[],{},{"nodeType":1294,"data":3015,"content":3016},{},[3017,3021,3030],{"nodeType":1293,"value":3018,"marks":3019,"data":3020},"I’m sure you already use a number of tools to secure your workforce identities – MFA, SSO, EDR, etc., and all of them have an important role to play. That said, they also have limitations that attackers are exploiting. We’ve laid out some of the ",[],{},{"nodeType":1433,"data":3022,"content":3024},{"uri":3023},"https://pushsecurity.com/blog/5-reasons-why-push-security-shouldnt-exist/",[3025],{"nodeType":1293,"value":3026,"marks":3027,"data":3029},"typical misconceptions that can undermine an identity security strategy",[3028],{"type":1441},{},{"nodeType":1293,"value":3031,"marks":3032,"data":3033}," so you can avoid the common pitfalls and achieve defense in depth.",[],{},{"nodeType":1355,"data":3035,"content":3036},{},[3037],{"nodeType":1293,"value":3038,"marks":3039,"data":3040},"Push vs. account takeover techniques",[],{},{"nodeType":1294,"data":3042,"content":3043},{},[3044],{"nodeType":1293,"value":3045,"marks":3046,"data":3047},"In this article, we’re going to show you how to use Push to bolster your identity security strategy and prevent account takeover. More specifically, we’ll cover how Push prevents, detects, and blocks some of the common attack techniques seen in this account takeover attack chain:",[],{},{"nodeType":1346,"data":3049,"content":3053},{"target":3050},{"sys":3051},{"id":3052,"type":1351,"linkType":1352},"1FPMzCU0mBgpg1GMSz1sJH",[],{"nodeType":1294,"data":3055,"content":3056},{},[3057],{"nodeType":1293,"value":3058,"marks":3059,"data":3060},"Push uses browser data collected by our browser agent to either detect the attack techniques directly, or identify the vulnerabilities being exploited. Upon making a detection, the browser agent enforces a relevant security control to either block the attack or prevent the user from introducing a vulnerability.",[],{},{"nodeType":1294,"data":3062,"content":3063},{},[3064],{"nodeType":1293,"value":3065,"marks":3066,"data":3067},"If you’re wondering why we’ve opted to build our tool in the browser, the short answer is that being in the browser gives us:",[],{},{"nodeType":1475,"data":3069,"content":3070},{},[3071,3086,3101],{"nodeType":1479,"data":3072,"content":3073},{},[3074],{"nodeType":1294,"data":3075,"content":3076},{},[3077,3082],{"nodeType":1293,"value":3078,"marks":3079,"data":3081},"The broadest visibility",[3080],{"type":1362},{},{"nodeType":1293,"value":3083,"marks":3084,"data":3085}," across all workforce identities, including unmanaged identities outside your IdP.",[],{},{"nodeType":1479,"data":3087,"content":3088},{},[3089],{"nodeType":1294,"data":3090,"content":3091},{},[3092,3097],{"nodeType":1293,"value":3093,"marks":3094,"data":3096},"The best telemetry",[3095],{"type":1362},{},{"nodeType":1293,"value":3098,"marks":3099,"data":3100}," for detecting identity attack TTPs and tools.",[],{},{"nodeType":1479,"data":3102,"content":3103},{},[3104],{"nodeType":1294,"data":3105,"content":3106},{},[3107,3112],{"nodeType":1293,"value":3108,"marks":3109,"data":3111},"The perfect enforcement point",[3110],{"type":1362},{},{"nodeType":1293,"value":3113,"marks":3114,"data":3115}," for stopping attacker actions or risky employee actions in real time. ",[],{},{"nodeType":1294,"data":3117,"content":3118},{},[3119,3123,3131],{"nodeType":1293,"value":3120,"marks":3121,"data":3122},"If you want a more detailed technical explanation, you can read this article by Dan on ",[],{},{"nodeType":1433,"data":3124,"content":3125},{"uri":1564},[3126],{"nodeType":1293,"value":3127,"marks":3128,"data":3130},"why browser data is a better source of telemetry for detecting identity attacks than network, IdP and app logs",[3129],{"type":1441},{},{"nodeType":1293,"value":2650,"marks":3132,"data":3133},[],{},{"nodeType":1294,"data":3135,"content":3136},{},[3137],{"nodeType":1293,"value":3138,"marks":3139,"data":3140},"Now we’ve cleared that up, let's look at some account takeover techniques.",[],{},{"nodeType":1355,"data":3142,"content":3143},{},[3144],{"nodeType":1293,"value":3145,"marks":3146,"data":3147},"Part 1: Phishing (including AitM and BitM toolkits)",[],{},{"nodeType":1294,"data":3149,"content":3150},{},[3151],{"nodeType":1293,"value":3152,"marks":3153,"data":3154},"Phishing has been around since forever and there’s a mature category of solutions that are designed to detect and prevent it. But despite solutions like security awareness training, phishing domain detection services and email filtering tools, phishing is still one of the top breach vectors. ",[],{},{"nodeType":1346,"data":3156,"content":3160},{"target":3157},{"sys":3158},{"id":3159,"type":1351,"linkType":1352},"4urh9lIuo0ePgVIJZNtP2B",[],{"nodeType":1294,"data":3162,"content":3163},{},[3164],{"nodeType":1293,"value":3165,"marks":3166,"data":3167},"We’ve all been conditioned to think about phishing as something that happens over email, but it’s actually the browser where most of the action happens, regardless of the initial delivery channel. Push’s position in the browser gives you the ideal vantage point for detecting and stopping phishing attacks.",[],{},{"nodeType":1294,"data":3169,"content":3170},{},[3171],{"nodeType":1293,"value":3172,"marks":3173,"data":3174},"The Push browser agent performs both passive observation and active interrogation in order to detect employees having their passwords harvested or visiting cloned app login pages or pages using AitM/BitM toolkits. Phishing attacks are detected in real time so Push blocks them before your employees can enter their credentials.",[],{},{"nodeType":1533,"data":3176,"content":3177},{},[3178],{"nodeType":1293,"value":3179,"marks":3180,"data":3181},"Detecting phishing through user behavior",[],{},{"nodeType":1294,"data":3183,"content":3184},{},[3185],{"nodeType":1293,"value":3186,"marks":3187,"data":3188},"Rather than trying to detect phishing websites and domains that constantly change, Push detects and blocks phishing attempts based on observing user behavior in the browser.",[],{},{"nodeType":1294,"data":3190,"content":3191},{},[3192],{"nodeType":1293,"value":3193,"marks":3194,"data":3195},"Push does this by observing all logins and generating a fingerprint (or technically a k-anonymized salted partial hash) of the user’s password. This fingerprint is then stored locally to allow Push to perform comparisons.",[],{},{"nodeType":1294,"data":3197,"content":3198},{},[3199],{"nodeType":1293,"value":3200,"marks":3201,"data":3202},"To detect potential phishing attacks, the browser agent compares the observed password fingerprint to known fingerprints for passwords that already exist in local storage.",[],{},{"nodeType":1294,"data":3204,"content":3205},{},[3206,3211],{"nodeType":1293,"value":3207,"marks":3208,"data":3210},"This means that it works even if that employee was the first person to get phished using a new attacker site: ",[3209],{"type":1362},{},{"nodeType":1293,"value":3212,"marks":3213,"data":3214},"Push still detects it and blocks it before your employee can submit their credentials. It also works regardless of the delivery vector used to get the phishing link to the intended victim.",[],{},{"nodeType":1346,"data":3216,"content":3220},{"target":3217},{"sys":3218},{"id":3219,"type":1351,"linkType":1352},"2V2My5IpdVUwh4QugqInUw",[],{"nodeType":1294,"data":3222,"content":3223},{},[3224],{"nodeType":1293,"value":3225,"marks":3226,"data":3227},"Once you’ve discovered a malicious site, you can use Push’s companion feature, URL blocking, to add the domain to a blocklist and prevent your other end-users from even visiting the site.",[],{},{"nodeType":1294,"data":3229,"content":3230},{},[3231,3235,3243],{"nodeType":1293,"value":3232,"marks":3233,"data":3234},"You can programmatically manage URL blocking as part of responding to an attempted phishing incident by using the ",[],{},{"nodeType":1433,"data":3236,"content":3238},{"uri":3237},"https://pushsecurity.redoc.ly/rest-v1/",[3239],{"nodeType":1293,"value":3240,"marks":3241,"data":3242},"Push REST API",[],{},{"nodeType":1293,"value":3244,"marks":3245,"data":3246}," to automatically add URLs to the blocklist or to sync with other threat intelligence sources of known-bad sites.",[],{},{"nodeType":1294,"data":3248,"content":3249},{},[3250,3254,3262],{"nodeType":1293,"value":3251,"marks":3252,"data":3253},"You can find out more about this control in this ",[],{},{"nodeType":1433,"data":3255,"content":3256},{"uri":2084},[3257],{"nodeType":1293,"value":3258,"marks":3259,"data":3261},"deep-dive article",[3260],{"type":1441},{},{"nodeType":1293,"value":2069,"marks":3263,"data":3264},[],{},{"nodeType":1533,"data":3266,"content":3267},{},[3268],{"nodeType":1293,"value":3269,"marks":3270,"data":3271},"Detecting cloned login pages",[],{},{"nodeType":1294,"data":3273,"content":3274},{},[3275],{"nodeType":1293,"value":3276,"marks":3277,"data":3278},"It’s now very easy for attackers to create cloned login pages that appear to be legitimate, tricking users into providing their credentials. ",[],{},{"nodeType":1294,"data":3280,"content":3281},{},[3282,3286,3295],{"nodeType":1293,"value":3283,"marks":3284,"data":3285},"There’s a number of phishing kits that allow the attacker to simply copy the HTML code from a legitimate website and duplicate it on the malicious site, creating a virtually identical interface that tricks users into entering their credentials. A final sprinkle of typosquatting techniques completes the illusion of legitimacy. The Federal Communications Commission (FCC) ",[],{},{"nodeType":1433,"data":3287,"content":3289},{"uri":3288},"https://www.nextgov.com/cybersecurity/2024/03/fcc-staff-targeted-phishing-attack-cloned-agency-login-site/394609/",[3290],{"nodeType":1293,"value":3291,"marks":3292,"data":3294},"was a recent target",[3293],{"type":1441},{},{"nodeType":1293,"value":3296,"marks":3297,"data":3298}," of this kind of attack. ",[],{},{"nodeType":1294,"data":3300,"content":3301},{},[3302],{"nodeType":1293,"value":3303,"marks":3304,"data":3305},"Push’s cloned app detection feature detects fraudulent login pages by inspecting the resources and structure of pages users log into and fingerprinting them so they can be used to detect when that action occurs on the wrong domain. ",[],{},{"nodeType":1294,"data":3307,"content":3308},{},[3309,3313,3320],{"nodeType":1293,"value":3310,"marks":3311,"data":3312},"You can ",[],{},{"nodeType":1433,"data":3314,"content":3315},{"uri":2041},[3316],{"nodeType":1293,"value":3317,"marks":3318,"data":3319},"read more about this feature here",[],{},{"nodeType":1293,"value":2650,"marks":3321,"data":3322},[],{},{"nodeType":1533,"data":3324,"content":3325},{},[3326],{"nodeType":1293,"value":3327,"marks":3328,"data":3329},"Detecting AitM and BitM toolkits",[],{},{"nodeType":1294,"data":3331,"content":3332},{},[3333,3337,3345,3349,3357,3360,3368,3372,3380],{"nodeType":1293,"value":3334,"marks":3335,"data":3336},"Adversary-in-the-Middle (AitM) phishing is a technique that uses dedicated tooling to act as a proxy between the target and a legitimate login portal for an application, principally to bypass MFA. As it’s a proxy to the real application, the page will appear exactly as the user expects, making this technique difficult to spot. Popular AitM toolkits include ",[],{},{"nodeType":1433,"data":3338,"content":3340},{"uri":3339},"https://github.com/drk1wi/Modlishka",[3341],{"nodeType":1293,"value":3342,"marks":3343,"data":3344},"Modlishka",[],{},{"nodeType":1293,"value":3346,"marks":3347,"data":3348},", ",[],{},{"nodeType":1433,"data":3350,"content":3352},{"uri":3351},"https://github.com/muraenateam/muraena",[3353],{"nodeType":1293,"value":3354,"marks":3355,"data":3356},"Muraena",[],{},{"nodeType":1293,"value":3346,"marks":3358,"data":3359},[],{},{"nodeType":1433,"data":3361,"content":3363},{"uri":3362},"https://github.com/kgretzky/evilginx2",[3364],{"nodeType":1293,"value":3365,"marks":3366,"data":3367},"Evilginx",[],{},{"nodeType":1293,"value":3369,"marks":3370,"data":3371}," and ",[],{},{"nodeType":1433,"data":3373,"content":3375},{"uri":3374},"https://www.bleepingcomputer.com/news/security/evilproxy-uses-indeedcom-open-redirect-for-microsoft-365-phishing/",[3376],{"nodeType":1293,"value":3377,"marks":3378,"data":3379},"Evilproxy",[],{},{"nodeType":1293,"value":2069,"marks":3381,"data":3382},[],{},{"nodeType":1294,"data":3384,"content":3385},{},[3386],{"nodeType":1293,"value":3387,"marks":3388,"data":3389},"Browser-in-the-Middle (BitM) toolkits are different to AitM toolkits because they don’t act as a reverse proxy. Instead, they trick their victim into directly controlling the attacker’s own browser using remote desktop screen sharing and control approaches — think of this like VNC or RDP but using the browser as a client. This is the virtual equivalent of an attacker handing their laptop to their victim, asking them to log in to an app for them, and then taking their laptop back afterwards.",[],{},{"nodeType":1294,"data":3391,"content":3392},{},[3393,3397,3406],{"nodeType":1293,"value":3394,"marks":3395,"data":3396},"We’ve conducted a lot of research into AitM and BitM toolkits recently. If you want to learn more about how they work and see a demo of them in action, ",[],{},{"nodeType":1433,"data":3398,"content":3400},{"uri":3399},"https://pushsecurity.com/resources/video/phishing-detecting-evilginx-evilnovnc-muraena-and-modlishka/",[3401],{"nodeType":1293,"value":3402,"marks":3403,"data":3405},"head over here",[3404],{"type":1441},{},{"nodeType":1293,"value":2069,"marks":3407,"data":3408},[],{},{"nodeType":1294,"data":3410,"content":3411},{},[3412],{"nodeType":1293,"value":3413,"marks":3414,"data":3415},"Push gives you a preconfigured set of detections for AitM and BitM toolkits, informed by our threat detection team’s research into their behavior. This phishing tool detection feature will automatically prevent users from accessing a site that’s running one of these malicious tools, and display a custom warning message to your end-users.",[],{},{"nodeType":1346,"data":3417,"content":3421},{"target":3418},{"sys":3419},{"id":3420,"type":1351,"linkType":1352},"4ixcEsEW4EyqckOTmP5Pbb",[],{"nodeType":1294,"data":3423,"content":3424},{},[3425,3429,3435],{"nodeType":1293,"value":3426,"marks":3427,"data":3428},"Administrators can also consume phishing tool detection events via the ",[],{},{"nodeType":1433,"data":3430,"content":3431},{"uri":3237},[3432],{"nodeType":1293,"value":3240,"marks":3433,"data":3434},[],{},{"nodeType":1293,"value":3436,"marks":3437,"data":3438}," into their SIEM or use Push’s webhooks to alert when a warn or block event has occurred.",[],{},{"nodeType":1294,"data":3440,"content":3441},{},[3442,3446,3454],{"nodeType":1293,"value":3443,"marks":3444,"data":3445},"You can read a full write-up of this feature if you want to ",[],{},{"nodeType":1433,"data":3447,"content":3448},{"uri":2062},[3449],{"nodeType":1293,"value":3450,"marks":3451,"data":3453},"learn more",[3452],{"type":1441},{},{"nodeType":1293,"value":2069,"marks":3455,"data":3456},[],{},{"nodeType":1355,"data":3458,"content":3459},{},[3460],{"nodeType":1293,"value":3461,"marks":3462,"data":3463},"Part 2: Infostealer malware",[],{},{"nodeType":1294,"data":3465,"content":3466},{},[3467,3471,3479],{"nodeType":1293,"value":3468,"marks":3469,"data":3470},"The recent ",[],{},{"nodeType":1433,"data":3472,"content":3473},{"uri":2355},[3474],{"nodeType":1293,"value":3475,"marks":3476,"data":3478},"Snowflake breach",[3477],{"type":1441},{},{"nodeType":1293,"value":3480,"marks":3481,"data":3482}," highlighted how infostealer malware is becoming a serious issue for security teams. As well as being able to steal credentials for account takeover, infostealers can also be used to steal session tokens which then allow the attacker to assume an already authorized session without needing to bypass MFA.   ",[],{},{"nodeType":1294,"data":3484,"content":3485},{},[3486],{"nodeType":1293,"value":3487,"marks":3488,"data":3489},"Nearly half of the malware detected last year by Sophos targeted victims’ data specifically, and the majority of that malware was classified as infostealers. ",[],{},{"nodeType":1346,"data":3491,"content":3495},{"target":3492},{"sys":3493},{"id":3494,"type":1351,"linkType":1352},"66B5MBFIhbmky7VuLGbuM3",[],{"nodeType":1294,"data":3497,"content":3498},{},[3499],{"nodeType":1293,"value":3500,"marks":3501,"data":3502},"Infostealers are primarily being used by Initial Access Brokers to harvest credentials and session tokens that they then sell to other threat actors intent on executing more penetrating attacks (e.g. ransomware).  ",[],{},{"nodeType":1294,"data":3504,"content":3505},{},[3506,3510,3519],{"nodeType":1293,"value":3507,"marks":3508,"data":3509},"EDR is seen as the go-to solution for defending against infostealer malware. However, attackers are always looking for ways to get around security controls by obfuscating malicious behavior and evading signature-based checks. For example, ",[],{},{"nodeType":1433,"data":3511,"content":3513},{"uri":3512},"https://thehackernews.com/2024/07/microsoft-defender-flaw-exploited-to.html",[3514],{"nodeType":1293,"value":3515,"marks":3516,"data":3518},"a flaw in Microsoft Defender SmartScreen was recently exploited to deliver infostealer malware",[3517],{"type":1441},{},{"nodeType":1293,"value":2650,"marks":3520,"data":3521},[],{},{"nodeType":1294,"data":3523,"content":3524},{},[3525],{"nodeType":1293,"value":3526,"marks":3527,"data":3528},"Getting total coverage across your endpoint estate is notoriously difficult, if not totally unrealistic. Unless the malware is stopped on execution, then data will inevitably be stolen, and will continue to be taken until stopped (or it self-terminates). And once an attacker has stolen employee credentials or sessions, the credential stuffing and session hijacking attacks that come next won’t touch the endpoint. ",[],{},{"nodeType":1294,"data":3530,"content":3531},{},[3532],{"nodeType":1293,"value":3533,"marks":3534,"data":3535},"For those reasons, you can’t rely on EDR as a single line of defense against infostealers. Push gives you those extra layers of defense to stop account takeover attempts that use stolen credentials and sessions.",[],{},{"nodeType":1346,"data":3537,"content":3541},{"target":3538},{"sys":3539},{"id":3540,"type":1351,"linkType":1352},"4YB6DLIE5TvaAsAAUoJd5v",[],{"nodeType":1533,"data":3543,"content":3544},{},[3545],{"nodeType":1293,"value":3546,"marks":3547,"data":3548},"Detecting stolen sessions ",[],{},{"nodeType":1294,"data":3550,"content":3551},{},[3552],{"nodeType":1293,"value":3553,"marks":3554,"data":3555},"Push uses its browser agent to inject a unique marker into the user agent string of sessions that occur in browsers enrolled in Push. You then add the list of domains where you wish to inject the marker into sessions, such as an identity provider like Okta or Microsoft. ",[],{},{"nodeType":1294,"data":3557,"content":3558},{},[3559],{"nodeType":1293,"value":3560,"marks":3561,"data":3562},"By analyzing logs from the IdP, you can identify activity from the same session that both has the Push marker and that lacks the marker. This can only ever happen when a session is extracted from a browser and maliciously imported into a different browser.",[],{},{"nodeType":1294,"data":3564,"content":3565},{},[3566],{"nodeType":1293,"value":3567,"marks":3568,"data":3569},"This is a high-fidelity signal that a stolen session token is being used by an attacker. It’s certainly a lot cleaner than relying on IP-based or geolocation-based signals, which result in frequent false positives.",[],{},{"nodeType":1346,"data":3571,"content":3575},{"target":3572},{"sys":3573},{"id":3574,"type":1351,"linkType":1352},"1XNNkaoW64t3PPvC54KGXF",[],{"nodeType":1533,"data":3577,"content":3578},{},[3579],{"nodeType":1293,"value":3580,"marks":3581,"data":3582},"Detecting stolen credentials being sold on the dark web",[],{},{"nodeType":1294,"data":3584,"content":3585},{},[3586],{"nodeType":1293,"value":3587,"marks":3588,"data":3589},"Push integrates stolen credential threat intelligence and alerts you when your employees’ credentials are being sold on the dark web. ",[],{},{"nodeType":1294,"data":3591,"content":3592},{},[3593],{"nodeType":1293,"value":3594,"marks":3595,"data":3596},"Commercial TI feeds of stolen credentials have been available for some time. But what we’ve found is that the false-positive rate is incredibly high and the vast majority of credentials are no longer in use.",[],{},{"nodeType":1294,"data":3598,"content":3599},{},[3600],{"nodeType":1293,"value":3601,"marks":3602,"data":3603},"Push validates that leaked credentials match those that are currently being used by your employees to authenticate on any apps they are using in the browser. That means that any alerts or automated actions generated by Push are actionable true positives, cutting out a huge amount of noise and saving your security team time. ",[],{},{"nodeType":1346,"data":3605,"content":3609},{"target":3606},{"sys":3607},{"id":3608,"type":1351,"linkType":1352},"3RnPM0ioGWi3CFMLkxQanO",[],{"nodeType":1355,"data":3611,"content":3612},{},[3613],{"nodeType":1293,"value":3614,"marks":3615,"data":3616},"Part 3: Credential stuffing",[],{},{"nodeType":1294,"data":3618,"content":3619},{},[3620],{"nodeType":1293,"value":3621,"marks":3622,"data":3623},"The previous sections looked at how Push detects and stops common techniques used for stealing and acquiring credentials. We’re now going to cover how Push stops stolen credentials from being used to access and take over employee accounts. ",[],{},{"nodeType":1294,"data":3625,"content":3626},{},[3627,3632],{"nodeType":1293,"value":3628,"marks":3629,"data":3631},"Credential stuffing ",[3630],{"type":1362},{},{"nodeType":1293,"value":3633,"marks":3634,"data":3635},"is when attackers use tools that automate the process of taking a list of stolen passwords and retargeting those credentials against different apps.",[],{},{"nodeType":1294,"data":3637,"content":3638},{},[3639,3643,3648],{"nodeType":1293,"value":3640,"marks":3641,"data":3642},"Closely related to credential stuffing is ",[],{},{"nodeType":1293,"value":3644,"marks":3645,"data":3647},"password spraying",[3646],{"type":1362},{},{"nodeType":1293,"value":3649,"marks":3650,"data":3651},". Instead of using stolen credentials, an attacker uses a list of commonly used usernames and passwords to attempt to compromise accounts. ",[],{},{"nodeType":1294,"data":3653,"content":3654},{},[3655],{"nodeType":1293,"value":3656,"marks":3657,"data":3658},"Both credential stuffing and password spraying are high-volume, automated attacks, and they are an unrelenting problem for most businesses. Microsoft observes 4,000 of them every second and nearly half of all login requests Auth0 receive each day are attempts at credential stuffing. ",[],{},{"nodeType":1294,"data":3660,"content":3661},{},[3662],{"nodeType":1293,"value":3663,"marks":3664,"data":3665},"The true scale of the problem is hard to grasp, as neither app vendors nor users have effective means of monitoring for unauthorized access. Typically these breaches are only detected when:",[],{},{"nodeType":1475,"data":3667,"content":3668},{},[3669,3689,3711],{"nodeType":1479,"data":3670,"content":3671},{},[3672],{"nodeType":1294,"data":3673,"content":3674},{},[3675,3679,3686],{"nodeType":1293,"value":3676,"marks":3677,"data":3678},"The attacker leaks the data they’ve stolen, like in the ",[],{},{"nodeType":1433,"data":3680,"content":3681},{"uri":2355},[3682],{"nodeType":1293,"value":3475,"marks":3683,"data":3685},[3684],{"type":1441},{},{"nodeType":1293,"value":2069,"marks":3687,"data":3688},[],{},{"nodeType":1479,"data":3690,"content":3691},{},[3692],{"nodeType":1294,"data":3693,"content":3694},{},[3695,3699,3708],{"nodeType":1293,"value":3696,"marks":3697,"data":3698},"The attacker deploys ransomware that results in business disruption, like that suffered by ",[],{},{"nodeType":1433,"data":3700,"content":3702},{"uri":3701},"https://pushsecurity.com/blog/identity-attacks-in-the-wild/#id-mgm-resorts-september-2023",[3703],{"nodeType":1293,"value":3704,"marks":3705,"data":3707},"MGM resorts",[3706],{"type":1441},{},{"nodeType":1293,"value":2650,"marks":3709,"data":3710},[],{},{"nodeType":1479,"data":3712,"content":3713},{},[3714],{"nodeType":1294,"data":3715,"content":3716},{},[3717,3721,3730],{"nodeType":1293,"value":3718,"marks":3719,"data":3720},"The attackers use a compromised account to do something deliberately in the public eye. For example, when the SEC’s X (formerly Twitter) account was compromised and ",[],{},{"nodeType":1433,"data":3722,"content":3724},{"uri":3723},"https://incyber.org/en/article/fake-sec-tweet-triggers-bitcoin-surge/#:~:text=The%20fake%20headline%20convinced%20a,an%20unauthorized%20tweet%20was%20posted.",[3725],{"nodeType":1293,"value":3726,"marks":3727,"data":3729},"sent out a message announcing the approval of Bitcoin ETF",[3728],{"type":1441},{},{"nodeType":1293,"value":3731,"marks":3732,"data":3733},".  ",[],{},{"nodeType":1294,"data":3735,"content":3736},{},[3737],{"nodeType":1293,"value":3738,"marks":3739,"data":3740},"Push gives you a number of controls to combat attacks using stolen and guessed passwords, both to prevent them from occurring, and detect them when they do.",[],{},{"nodeType":1533,"data":3742,"content":3743},{},[3744],{"nodeType":1293,"value":3745,"marks":3746,"data":3747},"Prevent employees using credentials that have already been stolen and leaked",[],{},{"nodeType":1294,"data":3749,"content":3750},{},[3751],{"nodeType":1293,"value":3752,"marks":3753,"data":3754},"First, let's stop your employees from using any credentials that have already been stolen and are available to attackers for use in a credential-stuffing attack. ",[],{},{"nodeType":1294,"data":3756,"content":3757},{},[3758],{"nodeType":1293,"value":3759,"marks":3760,"data":3761},"Push monitors stolen credential threat intelligence and compares it to the credentials employees are currently using to access their apps. ",[],{},{"nodeType":1294,"data":3763,"content":3764},{},[3765],{"nodeType":1293,"value":3766,"marks":3767,"data":3768},"You might be wondering, “Does that mean Push sees all our employees’ passwords!?” No. Rather, we use a fingerprint of each password and it's checked locally in the users’ browser and never leaves it. ",[],{},{"nodeType":1294,"data":3770,"content":3771},{},[3772],{"nodeType":1293,"value":3773,"marks":3774,"data":3775},"When we get a match – a stolen password that could successfully be used in a credential-stuffing attack – Push alerts you.",[],{},{"nodeType":1533,"data":3777,"content":3778},{},[3779],{"nodeType":1293,"value":3780,"marks":3781,"data":3782},"Enforce MFA on all employee accounts",[],{},{"nodeType":1294,"data":3784,"content":3785},{},[3786],{"nodeType":1293,"value":3787,"marks":3788,"data":3789},"Next step is to secure the accounts most vulnerable to a credential stuffing attack – those that only use a password for single-factor authentication. ",[],{},{"nodeType":1294,"data":3791,"content":3792},{},[3793,3797,3806],{"nodeType":1293,"value":3794,"marks":3795,"data":3796},"If you’re using SSO to access apps, then it’s easy to overlook instances where local accounts (e.g. username and password logins) are missing MFA – particularly if you’re relying on an IdP solution to audit and enforce MFA. ",[],{},{"nodeType":1433,"data":3798,"content":3800},{"uri":3799},"https://pushsecurity.com/blog/ghost-logins-when-forgotten-identities-come-back-to-haunt-you/",[3801],{"nodeType":1293,"value":3802,"marks":3803,"data":3805},"You can read more about this problem in our blog post on ghost logins",[3804],{"type":1441},{},{"nodeType":1293,"value":2069,"marks":3807,"data":3808},[],{},{"nodeType":1294,"data":3810,"content":3811},{},[3812],{"nodeType":1293,"value":3813,"marks":3814,"data":3815},"Push observes every login made by your employees (both inside and outside SSO) and inspects the authentication protocols used. Accounts that are missing MFA are identified and presented to you in the Push platform.",[],{},{"nodeType":1346,"data":3817,"content":3821},{"target":3818},{"sys":3819},{"id":3820,"type":1351,"linkType":1352},"4t1PHxzadoTBjtJua6dzuJ",[],{"nodeType":1294,"data":3823,"content":3824},{},[3825],{"nodeType":1293,"value":3826,"marks":3827,"data":3828},"You can then use Push to enforce MFA on employee accounts, or present them with in-browser guidance requesting that they enable it themselves.  ",[],{},{"nodeType":1346,"data":3830,"content":3834},{"target":3831},{"sys":3832},{"id":3833,"type":1351,"linkType":1352},"3JSTEJGtLT0hfwnkpLRP4K",[],{"nodeType":1533,"data":3836,"content":3837},{},[3838],{"nodeType":1293,"value":3839,"marks":3840,"data":3841},"Prevent multiple accounts being compromised by credential stuffing due to password reuse",[],{},{"nodeType":1294,"data":3843,"content":3844},{},[3845],{"nodeType":1293,"value":3846,"marks":3847,"data":3848},"The credential stuffing tools that attackers use will target a long list of popular business apps. If a password is reused across multiple apps and is breached, the blast radius is naturally increased – the attacker will be able to hijack multiple accounts, across numerous business applications.",[],{},{"nodeType":1294,"data":3850,"content":3851},{},[3852],{"nodeType":1293,"value":3853,"marks":3854,"data":3855},"Push detects when employees are trying to use the same password across multiple apps. When this happens, you can request that they change their password.",[],{},{"nodeType":1346,"data":3857,"content":3861},{"target":3858},{"sys":3859},{"id":3860,"type":1351,"linkType":1352},"7ARHp2JPiHeKRYHwa2jwIZ",[],{"nodeType":1533,"data":3863,"content":3864},{},[3865],{"nodeType":1293,"value":3866,"marks":3867,"data":3868},"Prevent password spraying breaches",[],{},{"nodeType":1294,"data":3870,"content":3871},{},[3872],{"nodeType":1293,"value":3873,"marks":3874,"data":3875},"To stop your employees’ accounts from being breached by password spraying attacks, Push checks every password to see if it is easily guessable for attackers.",[],{},{"nodeType":1294,"data":3877,"content":3878},{},[3879],{"nodeType":1293,"value":3880,"marks":3881,"data":3882},"To determine if a password is easily guessable, the Push browser agent automatically checks the password against:",[],{},{"nodeType":1475,"data":3884,"content":3885},{},[3886,3896,3906],{"nodeType":1479,"data":3887,"content":3888},{},[3889],{"nodeType":1294,"data":3890,"content":3891},{},[3892],{"nodeType":1293,"value":3893,"marks":3894,"data":3895},"A list of top 10,000 weak base passwords.",[],{},{"nodeType":1479,"data":3897,"content":3898},{},[3899],{"nodeType":1294,"data":3900,"content":3901},{},[3902],{"nodeType":1293,"value":3903,"marks":3904,"data":3905},"Number and special character variations on these weak base passwords, for example: Password1! or January2022.",[],{},{"nodeType":1479,"data":3907,"content":3908},{},[3909],{"nodeType":1294,"data":3910,"content":3911},{},[3912],{"nodeType":1293,"value":3913,"marks":3914,"data":3915},"Variations on these weak base passwords that replace letters with numerals (1337), for example: P455w0rd.",[],{},{"nodeType":1294,"data":3917,"content":3918},{},[3919],{"nodeType":1293,"value":3920,"marks":3921,"data":3922},"You can also add your own custom word list that employees and attackers will predictably try and use. Push will then stop those words being used as part of passwords.",[],{},{"nodeType":1533,"data":3924,"content":3925},{},[3926],{"nodeType":1293,"value":3927,"marks":3928,"data":3929},"Detect unauthorized sessions  ",[],{},{"nodeType":1294,"data":3931,"content":3932},{},[3933],{"nodeType":1293,"value":3934,"marks":3935,"data":3936},"Once you have enabled all the Push controls that prevent employees from creating and using accounts that can be easily compromised by credential stuffing and password spraying attacks, the next line of defense is to detect when accounts are taken over.",[],{},{"nodeType":1294,"data":3938,"content":3939},{},[3940],{"nodeType":1293,"value":3941,"marks":3942,"data":3943},"Push uses its browser agent to inject a unique marker into the user agent string of sessions that occur in browsers enrolled in Push. You then add the list of domains that you want to have injected with the session marker. ",[],{},{"nodeType":1294,"data":3945,"content":3946},{},[3947],{"nodeType":1293,"value":3948,"marks":3949,"data":3950},"By analyzing logs from the IdP, you can identify activity from the same session that both has the Push marker and that lacks the marker. This indicates that the session is not being used by the legitimate user (your employees) in their usual work browser, and could be an attacker using their account. ",[],{},{"nodeType":1533,"data":3952,"content":3953},{},[3954],{"nodeType":1293,"value":3955,"marks":3956,"data":3957},"Reduce your identity attack surface",[],{},{"nodeType":1294,"data":3959,"content":3960},{},[3961],{"nodeType":1293,"value":3962,"marks":3963,"data":3964},"Finally, you’ll likely want to reduce your attack surface that can be targeted by credential stuffing. In other words, reduce the number of username and password accounts your employees have. ",[],{},{"nodeType":1294,"data":3966,"content":3967},{},[3968],{"nodeType":1293,"value":3969,"marks":3970,"data":3971},"There are a few ways that Push can help you do this.",[],{},{"nodeType":1475,"data":3973,"content":3974},{},[3975,3990,4005],{"nodeType":1479,"data":3976,"content":3977},{},[3978],{"nodeType":1294,"data":3979,"content":3980},{},[3981,3986],{"nodeType":1293,"value":3982,"marks":3983,"data":3985},"Block access to unapproved apps",[3984],{"type":1362},{},{"nodeType":1293,"value":3987,"marks":3988,"data":3989},". Using Push, you can create a block list of apps that you don’t want your users to create accounts and identities on.",[],{},{"nodeType":1479,"data":3991,"content":3992},{},[3993],{"nodeType":1294,"data":3994,"content":3995},{},[3996,4001],{"nodeType":1293,"value":3997,"marks":3998,"data":4000},"Use app banners to stop users from creating local accounts",[3999],{"type":1362},{},{"nodeType":1293,"value":4002,"marks":4003,"data":4004},". When an employee goes to sign up to an app, Push will present an app banner that tells them to use their SSO identity and not to create a username and password account.",[],{},{"nodeType":1479,"data":4006,"content":4007},{},[4008],{"nodeType":1294,"data":4009,"content":4010},{},[4011,4016],{"nodeType":1293,"value":4012,"marks":4013,"data":4015},"Get existing accounts and apps behind SSO",[4014],{"type":1362},{},{"nodeType":1293,"value":4017,"marks":4018,"data":4019},". Push shows you how your employees are logging in to every account on every app, including whether they’re using SAML or OIDC SSO. Armed with this data, you can get your employees to use your preferred SSO solution on the apps where it’s already available, and look into whether other popular apps being used in the business offer SSO.",[],{},{"nodeType":1346,"data":4021,"content":4025},{"target":4022},{"sys":4023},{"id":4024,"type":1351,"linkType":1352},"3y8L55hbcQaRYPCdYYb3xA",[],{"nodeType":1355,"data":4027,"content":4028},{},[4029],{"nodeType":1293,"value":4030,"marks":4031,"data":4032},"Stop account takeover at the push of a button",[],{},{"nodeType":1294,"data":4034,"content":4035},{},[4036,4040,4048,4052,4057,4060,4065,4069,4073],{"nodeType":1293,"value":4037,"marks":4038,"data":4039},"We’ve described a lot of controls in this article. The good news is that they’re all pre-configured on the the ",[],{},{"nodeType":1433,"data":4041,"content":4043},{"uri":4042},"https://pushsecurity.com/help/audience/administrators/docs/manage-security-controls/#start",[4044],{"nodeType":1293,"value":4045,"marks":4046,"data":4047},"Controls",[],{},{"nodeType":1293,"value":4049,"marks":4050,"data":4051}," page in the Push platform. When you get started with Push, you can simply turn on all the controls you want, and decide whether you want them to work in ",[],{},{"nodeType":1293,"value":4053,"marks":4054,"data":4056},"monitor",[4055],{"type":1362},{},{"nodeType":1293,"value":3346,"marks":4058,"data":4059},[],{},{"nodeType":1293,"value":4061,"marks":4062,"data":4064},"warn",[4063],{"type":1362},{},{"nodeType":1293,"value":4066,"marks":4067,"data":4068}," mode or ",[],{},{"nodeType":1293,"value":138,"marks":4070,"data":4072},[4071],{"type":1362},{},{"nodeType":1293,"value":4074,"marks":4075,"data":4076}," mode.    ",[],{},{"nodeType":1346,"data":4078,"content":4082},{"target":4079},{"sys":4080},{"id":4081,"type":1351,"linkType":1352},"6FCuO78yQMNZvkcbcALmis",[],{"nodeType":1533,"data":4084,"content":4085},{},[4086],{"nodeType":1293,"value":4087,"marks":4088,"data":4089},"See it for yourself",[],{},{"nodeType":1294,"data":4091,"content":4092},{},[4093,4097,4105],{"nodeType":1293,"value":4094,"marks":4095,"data":4096},"To learn more, ",[],{},{"nodeType":1433,"data":4098,"content":4100},{"uri":4099},"https://pushsecurity.com/demo/",[4101],{"nodeType":1293,"value":4102,"marks":4103,"data":4104},"book a demo",[],{},{"nodeType":1293,"value":4106,"marks":4107,"data":4108},". We’ll be happy to show you these features, along with how we discover all the apps your employees are using, even the ones not behind SSO.",[],{},{"nodeType":1346,"data":4110,"content":4114},{"target":4111},{"sys":4112},{"id":4113,"type":1351,"linkType":1352},"4IRtR9zicpB7lXdz2RvIlK",[],{"nodeType":1294,"data":4116,"content":4117},{},[4118],{"nodeType":1293,"value":37,"marks":4119,"data":4120},[],{},"Hackers don’t hack in, they log in: How to prevent account takeover with Push","How Push stops attackers from using identity attack tools and techniques to compromise your employee user accounts. ","2024-08-19T00:00:00.000Z","how-to-prevent-account-takeover-with-push",{"items":4126},[4127,4129],{"sys":4128,"name":1307},{"id":1306},{"sys":4130,"name":1311},{"id":1310},{"items":4132},[4133],{"fullName":4134,"firstName":4135,"jobTitle":4136,"profilePicture":4137},"Alex Henshall","Alex","Product Team",{"url":4138},"https://images.ctfassets.net/y1cdw1ablpvd/2rz3Pre3b1MexPIQ4hzPUe/0ef8a092b7e7df00fbce3f7d1ccb96d1/Alex_Henshall.jpeg",{"__typename":2224,"sys":4140,"content":4142,"title":5219,"synopsis":5220,"hashTags":118,"publishedDate":5221,"slug":5222,"tagsCollection":5223,"authorsCollection":5229},{"id":4141},"1LxqUNZpD2VynzSqbv719Z",{"json":4143},{"data":4144,"content":4145,"nodeType":1295},{},[4146,4165,4172,4179,4186,4193,4196,4203,4295,4302,4309,4316,4332,4352,4359,4362,4369,4376,4383,4400,4424,4431,4438,4470,4503,4510,4528,4535,4542,4549,4557,4564,4595,4602,4619,4652,4659,4678,4685,4692,4710,4717,4724,4727,4734,4741,4748,4751,4758,4765,4772,4791,4928,4935,4938,4945,4952,5054,5061,5068,5071,5078,5085,5138,5145,5152,5155,5162,5169,5188,5207,5213],{"data":4147,"content":4148,"nodeType":1294},{},[4149,4153,4161],{"data":4150,"marks":4151,"value":4152,"nodeType":1293},{},[],"When we created the ",{"data":4154,"content":4155,"nodeType":1433},{"uri":1435},[4156],{"data":4157,"marks":4158,"value":4160,"nodeType":1293},{},[4159],{"type":1441},"SaaS attack matrix",{"data":4162,"marks":4163,"value":4164,"nodeType":1293},{},[],", we made a conscious break away from the endpoint-focused techniques captured in industry resources like the MITRE ATT&CK Framework. ",{"data":4166,"content":4167,"nodeType":1294},{},[4168],{"data":4169,"marks":4170,"value":4171,"nodeType":1293},{},[],"At the time, we were anticipating a shift that was yet to fully materialize. But, a lot can change (and has changed) in the space of a year. We’ve seen the impact of SaaS account takeover attacks laid bare. Snowflake, billed one of the biggest breaches in history, is a telling example that we’ll no doubt look back on as a watershed moment. ",{"data":4173,"content":4174,"nodeType":1294},{},[4175],{"data":4176,"marks":4177,"value":4178,"nodeType":1293},{},[],"It isn’t an exaggeration or marketing fluff to say that identity attacks are the #1 threat facing organizations today. SaaS apps, and the identities that are used to access them, are clearly the weakest link – and therefore the lowest-hanging fruit for attackers to reach for. ",{"data":4180,"content":4181,"nodeType":1294},{},[4182],{"data":4183,"marks":4184,"value":4185,"nodeType":1293},{},[],"This makes resources like the SaaS attack matrix more relevant than ever – both for red teams seeking to emulate the latest offensive techniques, and blue teams trying to defend against them. Understanding these techniques is essential for building effective defenses, and identifying where new platforms and controls are required to do so. ",{"data":4187,"content":4188,"nodeType":1294},{},[4189],{"data":4190,"marks":4191,"value":4192,"nodeType":1293},{},[],"Let’s take a look at what we’ve learned so far.",{"data":4194,"content":4195,"nodeType":2291},{},[],{"data":4197,"content":4198,"nodeType":1355},{},[4199],{"data":4200,"marks":4201,"value":4202,"nodeType":1293},{},[],"Hot right now: Initial access techniques",{"data":4204,"content":4205,"nodeType":1294},{},[4206,4210,4219,4222,4231,4234,4243,4246,4255,4259,4268,4272,4281,4284,4292],{"data":4207,"marks":4208,"value":4209,"nodeType":1293},{},[],"The majority of techniques we've seen rise to prominence in 2023/4 sit predominantly in the initial access phase. Since the matrix first launched, we’ve added more techniques to initial access than any other category, including ",{"data":4211,"content":4213,"nodeType":1433},{"uri":4212},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/ghost_logins/description.md",[4214],{"data":4215,"marks":4216,"value":4218,"nodeType":1293},{},[4217],{"type":1441},"ghost logins",{"data":4220,"marks":4221,"value":3346,"nodeType":1293},{},[],{"data":4223,"content":4225,"nodeType":1433},{"uri":4224},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/aitm_phishing/description.md",[4226],{"data":4227,"marks":4228,"value":4230,"nodeType":1293},{},[4229],{"type":1441},"AitM phishing",{"data":4232,"marks":4233,"value":3346,"nodeType":1293},{},[],{"data":4235,"content":4237,"nodeType":1433},{"uri":4236},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/session_cookie_theft/description.md",[4238],{"data":4239,"marks":4240,"value":4242,"nodeType":1293},{},[4241],{"type":1441},"session cookie theft",{"data":4244,"marks":4245,"value":3346,"nodeType":1293},{},[],{"data":4247,"content":4249,"nodeType":1433},{"uri":4248},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/mfa_downgrade/description.md",[4250],{"data":4251,"marks":4252,"value":4254,"nodeType":1293},{},[4253],{"type":1441},"MFA downgrade attacks",{"data":4256,"marks":4257,"value":4258,"nodeType":1293},{},[],", and ",{"data":4260,"content":4262,"nodeType":1433},{"uri":4261},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/guest_access_abuse/description.md",[4263],{"data":4264,"marks":4265,"value":4267,"nodeType":1293},{},[4266],{"type":1441},"guest access abuse,",{"data":4269,"marks":4270,"value":4271,"nodeType":1293},{},[]," all of which are methods of account takeover – complementing the classics like ",{"data":4273,"content":4275,"nodeType":1433},{"uri":4274},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/credential_stuffing/description.md",[4276],{"data":4277,"marks":4278,"value":4280,"nodeType":1293},{},[4279],{"type":1441},"credential stuffing",{"data":4282,"marks":4283,"value":3369,"nodeType":1293},{},[],{"data":4285,"content":4287,"nodeType":1433},{"uri":4286},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/email_phishing/description.md",[4288],{"data":4289,"marks":4290,"value":4291,"nodeType":1293},{},[],"email phishing",{"data":4293,"marks":4294,"value":2650,"nodeType":1293},{},[],{"data":4296,"content":4297,"nodeType":1294},{},[4298],{"data":4299,"marks":4300,"value":4301,"nodeType":1293},{},[],"We’ll spend a bit of time delving into these techniques in the next section, but let’s first consider what this tells us about SaaS attacks. ",{"data":4303,"content":4304,"nodeType":1533},{},[4305],{"data":4306,"marks":4307,"value":4308,"nodeType":1293},{},[],"Identity attacks are the leading cause of SaaS breaches",{"data":4310,"content":4311,"nodeType":1294},{},[4312],{"data":4313,"marks":4314,"value":4315,"nodeType":1293},{},[],"The initial identity attack designed to achieve account takeover is the most important part of the SaaS attack chain. The fact that attackers are focused on finding new ways of compromising identities illustrates the value, but also the fragility of the identity controls that most organizations are relying on (which may also be one of the reasons attackers are fixated on it). Whether we’re talking about anti-phishing protections, conditional access policies, or MFA – attackers are continually finding new ways of getting around them.",{"data":4317,"content":4318,"nodeType":1294},{},[4319,4323,4328],{"data":4320,"marks":4321,"value":4322,"nodeType":1293},{},[],"And, if all an attacker really needs to do to cause harm is log into an app and abuse its legitimate features and functions, there really is no margin for error – you need to successfully stop the initial identity attack ",{"data":4324,"marks":4325,"value":4327,"nodeType":1293},{},[4326],{"type":1362},"every time",{"data":4329,"marks":4330,"value":4331,"nodeType":1293},{},[],". ",{"data":4333,"content":4334,"nodeType":1294},{},[4335,4339,4348],{"data":4336,"marks":4337,"value":4338,"nodeType":1293},{},[],"You can’t rely on your endpoint and network controls to catch them later like you used to. Equally, it’s unlikely that your CASB or DLP solution can stop a legitimate app using legitimate features like ",{"data":4340,"content":4342,"nodeType":1433},{"uri":4341},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/shadow_workflows/description.md",[4343],{"data":4344,"marks":4345,"value":4347,"nodeType":1293},{},[4346],{"type":1441},"API-based workflows",{"data":4349,"marks":4350,"value":4351,"nodeType":1293},{},[]," from sending data to attacker-controlled infrastructure. ",{"data":4353,"content":4354,"nodeType":1294},{},[4355],{"data":4356,"marks":4357,"value":4358,"nodeType":1293},{},[],"It’s a classic case of attackers only needing to win once. And right now, it’s a numbers game that they’re winning enough to keep them coming back for more. ",{"data":4360,"content":4361,"nodeType":2291},{},[],{"data":4363,"content":4364,"nodeType":1355},{},[4365],{"data":4366,"marks":4367,"value":4368,"nodeType":1293},{},[],"Most wanted: Techniques gaining notoriety in the wild",{"data":4370,"content":4371,"nodeType":1294},{},[4372],{"data":4373,"marks":4374,"value":4375,"nodeType":1293},{},[],"Let’s take a closer look at some of the techniques we’ve seen rise to prominence in 2023/4. ",{"data":4377,"content":4378,"nodeType":1533},{},[4379],{"data":4380,"marks":4381,"value":4382,"nodeType":1293},{},[],"Ghost logins",{"data":4384,"content":4385,"nodeType":1294},{},[4386,4389,4396],{"data":4387,"marks":4388,"value":37,"nodeType":1293},{},[],{"data":4390,"content":4391,"nodeType":1433},{"uri":4212},[4392],{"data":4393,"marks":4394,"value":4382,"nodeType":1293},{},[4395],{"type":1441},{"data":4397,"marks":4398,"value":4399,"nodeType":1293},{},[]," is a technique that exploits the fact that SaaS user accounts often enable multiple simultaneous logins using different sign-in methods. ",{"data":4401,"content":4402,"nodeType":1294},{},[4403,4407,4412,4415,4420],{"data":4404,"marks":4405,"value":4406,"nodeType":1293},{},[],"Ghost logins can be used for both the ",{"data":4408,"marks":4409,"value":4411,"nodeType":1293},{},[4410],{"type":1362},"initial access",{"data":4413,"marks":4414,"value":3369,"nodeType":1293},{},[],{"data":4416,"marks":4417,"value":4419,"nodeType":1293},{},[4418],{"type":1362},"persistence",{"data":4421,"marks":4422,"value":4423,"nodeType":1293},{},[]," stages of a cyber attack, doubling up as a defense evasion technique because of low login method visibility.",{"data":4425,"content":4426,"nodeType":1294},{},[4427],{"data":4428,"marks":4429,"value":4430,"nodeType":1293},{},[],"For initial access, the technique exploits the fact that local and SSO logins can exist simultaneously. Given that many apps are self-adopted by users, it’s likely that many users will default to a local username and password login at this stage. If the app is later adopted companywide and brought into SSO, the original local login will continue to exist unless explicitly disabled or deleted. ",{"data":4432,"content":4433,"nodeType":1294},{},[4434],{"data":4435,"marks":4436,"value":4437,"nodeType":1293},{},[],"Because MFA is applied at the app and IdP level independently, it is possible to end up with an SSO login that requires MFA (via the IdP login), but a local login that does not. This creates an easy target identity for attackers to look for. When combined with other identity vulnerabilities such as weak, breached, and/or reused passwords, attackers can easily automate ghost login discovery and exploitation at scale.  ",{"data":4439,"content":4440,"nodeType":1294},{},[4441,4445,4453,4457,4466],{"data":4442,"marks":4443,"value":4444,"nodeType":1293},{},[],"We saw the impact of ghost logins for initial access with ",{"data":4446,"content":4447,"nodeType":1433},{"uri":2355},[4448],{"data":4449,"marks":4450,"value":4452,"nodeType":1293},{},[4451],{"type":1441},"the recent ShinyHunters campaign against Snowflake customers",{"data":4454,"marks":4455,"value":4456,"nodeType":1293},{},[],". Because Snowflake accounts did not require mandatory MFA for accounts, or give admins the ability to enforce MFA by default, attackers were able to find and exploit a large number of Snowflake accounts using breached credentials from historical data breach dumps. Much of the industry response focused on ensuring SSO and MFA were deployed, but ",{"data":4458,"content":4460,"nodeType":1433},{"uri":4459},"https://pushsecurity.com/resources/video/demonstrating-ghost-logins-in-snowflake-and-how-to-remediate-them/",[4461],{"data":4462,"marks":4463,"value":4465,"nodeType":1293},{},[4464],{"type":1441},"the practicalities of gathering data and manually unsetting local passwords in Snowflake",{"data":4467,"marks":4468,"value":4469,"nodeType":1293},{},[]," meant that ghost logins were easy to overlook by organizations responding to the attacks.   ",{"data":4471,"content":4472,"nodeType":1294},{},[4473,4477,4486,4490,4499],{"data":4474,"marks":4475,"value":4476,"nodeType":1293},{},[],"Ghost logins can also be created after an attacker has established access to an app. For example, if a social login is used to access an account, an adversary may be able to configure a separate username/password login, or even (though much less commonly) connect a second social account that the adversary controls. If the account has sufficient privileges, it may also be possible to ",{"data":4478,"content":4480,"nodeType":1433},{"uri":4479},"https://pushsecurity.com/blog/samljacking-a-poisoned-tenant/",[4481],{"data":4482,"marks":4483,"value":4485,"nodeType":1293},{},[4484],{"type":1441},"set up or change the SAML login settings to inject a malicious URL",{"data":4487,"marks":4488,"value":4489,"nodeType":1293},{},[]," (for example to an attacker controlled tenant) or simply ",{"data":4491,"content":4493,"nodeType":1433},{"uri":4492},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/api_keys/description.md",[4494],{"data":4495,"marks":4496,"value":4498,"nodeType":1293},{},[4497],{"type":1441},"configure API access",{"data":4500,"marks":4501,"value":4502,"nodeType":1293},{},[]," to forgo the need to log in entirely. ",{"data":4504,"content":4505,"nodeType":1533},{},[4506],{"data":4507,"marks":4508,"value":4509,"nodeType":1293},{},[],"AitM phishing ",{"data":4511,"content":4512,"nodeType":1294},{},[4513,4516,4524],{"data":4514,"marks":4515,"value":37,"nodeType":1293},{},[],{"data":4517,"content":4518,"nodeType":1433},{"uri":4224},[4519],{"data":4520,"marks":4521,"value":4523,"nodeType":1293},{},[4522],{"type":1441},"Adversary-in-the-Middle (AitM) phishing",{"data":4525,"marks":4526,"value":4527,"nodeType":1293},{},[]," is a newer variant of phishing that uses dedicated tooling to act as a web proxy between the victim and a legitimate login portal for an application the victim has access to, principally to make it easier to defeat MFA protection (with the victim responding to the MFA request as part of the attack).",{"data":4529,"content":4530,"nodeType":1294},{},[4531],{"data":4532,"marks":4533,"value":4534,"nodeType":1293},{},[],"As it’s a proxy to the real application, the page will appear exactly as the user expects, because they are logging into the legitimate site – just taking a detour via the attacker’s device. For example, if accessing their webmail, the user will see all their real emails; if accessing their cloud file store then all their real files will be present, etc. ",{"data":4536,"content":4537,"nodeType":1294},{},[4538],{"data":4539,"marks":4540,"value":4541,"nodeType":1293},{},[],"This gives AitM an increased sense of authenticity and makes the compromise less obvious to the user. Because the attacker is sitting in the middle of this connection, they are able to observe all interactions and take control of the authenticated session. ",{"data":4543,"content":4544,"nodeType":1294},{},[4545],{"data":4546,"marks":4547,"value":4548,"nodeType":1293},{},[],"Alongside AitM phishing is Browser-in-the-Middle (BitM), really a form of sub-technique. Rather than act as a reverse web proxy, this technique tricks a target into directly controlling the attacker’s own browser remotely using desktop screen sharing and control approaches (such as VNC and RDP). ",{"data":4550,"content":4551,"nodeType":1294},{},[4552],{"data":4553,"marks":4554,"value":4556,"nodeType":1293},{},[4555],{"type":1362},"This is the virtual equivalent of an attacker handing their laptop to their victim, asking them to login to Okta for them, and then taking their laptop back afterwards.",{"data":4558,"content":4559,"nodeType":1294},{},[4560],{"data":4561,"marks":4562,"value":4563,"nodeType":1293},{},[],"A growing majority of modern phishing attacks typically leverage AitM or BitM tooling – they are now the standard choice for threat actors, offering the ability to bypass MFA without any real tradeoff. ",{"data":4565,"content":4566,"nodeType":1294},{},[4567,4571,4580,4584,4592],{"data":4568,"marks":4569,"value":4570,"nodeType":1293},{},[],"For more information you can ",{"data":4572,"content":4574,"nodeType":1433},{"uri":4573},"https://pushsecurity.com/blog/phishing-2-0-how-phishing-toolkits-are-evolving-with-aitm/",[4575],{"data":4576,"marks":4577,"value":4579,"nodeType":1293},{},[4578],{"type":1441},"read our recent blog post",{"data":4581,"marks":4582,"value":4583,"nodeType":1293},{},[]," or ",{"data":4585,"content":4586,"nodeType":1433},{"uri":3399},[4587],{"data":4588,"marks":4589,"value":4591,"nodeType":1293},{},[4590],{"type":1441},"watch our on-demand webinar on Phishing 2.0 to see AitM and BitM tools like Evilginx and EvilnoVNC in action",{"data":4593,"marks":4594,"value":2069,"nodeType":1293},{},[],{"data":4596,"content":4597,"nodeType":1533},{},[4598],{"data":4599,"marks":4600,"value":4601,"nodeType":1293},{},[],"Credential stuffing",{"data":4603,"content":4604,"nodeType":1294},{},[4605,4608,4615],{"data":4606,"marks":4607,"value":37,"nodeType":1293},{},[],{"data":4609,"content":4610,"nodeType":1433},{"uri":4274},[4611],{"data":4612,"marks":4613,"value":4601,"nodeType":1293},{},[4614],{"type":1441},{"data":4616,"marks":4617,"value":4618,"nodeType":1293},{},[]," attacks continue to pose a risk to organizations. Despite the fact that MFA has now become an expected control, accounts without MFA continue to be hacked as a result of using weak, reused, and/or previously breached credentials. ",{"data":4620,"content":4621,"nodeType":1294},{},[4622,4626,4635,4639,4648],{"data":4623,"marks":4624,"value":4625,"nodeType":1293},{},[],"Credential stuffing is being fed by an increase in the number of ",{"data":4627,"content":4629,"nodeType":1433},{"uri":4628},"https://pushsecurity.com/blog/what-the-rise-of-infostealers-says-about-identity-attacks/?utm_source=ebook&utm_medium=organic",[4630],{"data":4631,"marks":4632,"value":4634,"nodeType":1293},{},[4633],{"type":1441},"infostealer",{"data":4636,"marks":4637,"value":4638,"nodeType":1293},{},[]," attacks designed to harvest credentials to be sold on criminal marketplaces. Infostealers have been boosted by the success of the Snowflake attacks (",{"data":4640,"content":4642,"nodeType":1433},{"uri":4641},"https://pushsecurity.com/blog/identity-attacks-in-the-wild/#id-snowflake-june-2024?utm_source=ebook&utm_medium=organic",[4643],{"data":4644,"marks":4645,"value":4647,"nodeType":1293},{},[4646],{"type":1441},"where 80% of the credentials used to access accounts could be traced back to infostealer infections dating back to 2020",{"data":4649,"marks":4650,"value":4651,"nodeType":1293},{},[],"). ",{"data":4653,"content":4654,"nodeType":1533},{},[4655],{"data":4656,"marks":4657,"value":4658,"nodeType":1293},{},[],"Session cookie theft",{"data":4660,"content":4661,"nodeType":1294},{},[4662,4666,4674],{"data":4663,"marks":4664,"value":4665,"nodeType":1293},{},[],"Attackers are increasingly ",{"data":4667,"content":4668,"nodeType":1433},{"uri":4236},[4669],{"data":4670,"marks":4671,"value":4673,"nodeType":1293},{},[4672],{"type":1441},"targeting session cookies",{"data":4675,"marks":4676,"value":4677,"nodeType":1293},{},[]," to be able to hijack live user sessions as a means of getting around MFA. Although session cookies are predominantly stolen via infostealers, techniques like AitM and BitM phishing described above are also methods of stealing session cookies and hijacking sessions.",{"data":4679,"content":4680,"nodeType":1294},{},[4681],{"data":4682,"marks":4683,"value":4684,"nodeType":1293},{},[],"While the majority of infostealer data dumps result in credential stuffing attacks rather than session hijacking, as the infostealer marketplace continues to heat up, it’s likely that more instances of session cookie theft will be the cause of breaches going forward. ",{"data":4686,"content":4687,"nodeType":1533},{},[4688],{"data":4689,"marks":4690,"value":4691,"nodeType":1293},{},[],"MFA downgrade",{"data":4693,"content":4694,"nodeType":1294},{},[4695,4699,4706],{"data":4696,"marks":4697,"value":4698,"nodeType":1293},{},[],"While many organizations are waking up to the fact that it’s not enough to have any old MFA method, it’s still often overlooked that you need to actually remove or disable the phishable methods. Otherwise, in many cases they remain valid, opening affected identities up to ",{"data":4700,"content":4701,"nodeType":1433},{"uri":4248},[4702],{"data":4703,"marks":4704,"value":4691,"nodeType":1293},{},[4705],{"type":1441},{"data":4707,"marks":4708,"value":4709,"nodeType":1293},{},[]," attacks. ",{"data":4711,"content":4712,"nodeType":1294},{},[4713],{"data":4714,"marks":4715,"value":4716,"nodeType":1293},{},[],"Just because a user has a phishing-resistant factor setup (such as passkeys) and may use them by default, it does not mean they are necessarily enforced. Often, services support the use of multiple authentication options, particularly for second factors. In particular, passkeys are device-bound and so enforcing their use prevents logins from other devices and can cause recovery issues in a lost/broken device scenario. Therefore, it’s common for the default case to be that passkey authentication is optional, rather than required.",{"data":4718,"content":4719,"nodeType":1294},{},[4720],{"data":4721,"marks":4722,"value":4723,"nodeType":1293},{},[],"When used in combination with AitM phishing tools, it’s possible for attackers to modify requests/responses so as to prevent the ability of passkeys to be selected as a login option and prompting the user to use vulnerable factors, such as passwords, TOTPs and push notifications instead. Since the server-side supports other authentication options, if the user continues and enters one of these alternative factors then their authenticated session will be compromised – despite the fact they usually use phishing-resistant MFA methods like passkeys or similar.",{"data":4725,"content":4726,"nodeType":2291},{},[],{"data":4728,"content":4729,"nodeType":1355},{},[4730],{"data":4731,"marks":4732,"value":4733,"nodeType":1293},{},[],"Use case inspo: How red teamers are using the SaaS attack matrix",{"data":4735,"content":4736,"nodeType":1294},{},[4737],{"data":4738,"marks":4739,"value":4740,"nodeType":1293},{},[],"The techniques that advanced red teams are using to (ethically) hack into their clients are always a good indicator of what direction hackers in the real world are headed.  ",{"data":4742,"content":4743,"nodeType":1294},{},[4744],{"data":4745,"marks":4746,"value":4747,"nodeType":1293},{},[],"We spoke to a few of the best red teams around to see how they are using the matrix: Let’s see what they had to say. ",{"data":4749,"content":4750,"nodeType":2291},{},[],{"data":4752,"content":4753,"nodeType":1533},{},[4754],{"data":4755,"marks":4756,"value":4757,"nodeType":1293},{},[],"Rob Maslen | Managing Principal Consultant | MDSec",{"data":4759,"content":4760,"nodeType":1294},{},[4761],{"data":4762,"marks":4763,"value":4764,"nodeType":1293},{},[],"“We use the matrix throughout our engagements: When scoping and proposing projects to clients, during testing to assist our consultants in successfully utilizing novel SaaS-attack techniques, and for reporting to provide a common language across the vendors that they work with. ",{"data":4766,"content":4767,"nodeType":1294},{},[4768],{"data":4769,"marks":4770,"value":4771,"nodeType":1293},{},[],"It’s been most useful to us when performing engagements on more modern Zero Trust Environments where macOS is predominantly the Operating System of choice. The objectives tend to be either access to critical applications that reside within the cloud and require the compromise of SaaS credentials, or to gain privileged access to a SaaS application. Whilst resources like the MITRE ATT&CK Framework can help to describe the techniques that have been used against a more traditional environment, the SaaS Matrix aids with performing and describing attacks against a more modern infrastructure.  ",{"data":4773,"content":4774,"nodeType":1294},{},[4775,4779,4787],{"data":4776,"marks":4777,"value":4778,"nodeType":1293},{},[],"The technique we’ve seen most success with, across both traditional Active Directory attacks and more modern Zero Trust Environments, is ",{"data":4780,"content":4781,"nodeType":1433},{"uri":4236},[4782],{"data":4783,"marks":4784,"value":4786,"nodeType":1293},{},[4785],{"type":1441},"Session Cookie Theft",{"data":4788,"marks":4789,"value":4790,"nodeType":1293},{},[],". The protection of browser cookies (for inexplicable reasons) has had less engineering attention than it should have, opening up opportunities for lateral movement using session cookies, credentials, or API keys recovered from a host becomes a key technique. In our experience defensive tooling has yet to catch up with this threat. ",{"data":4792,"content":4793,"nodeType":1294},{},[4794,4798,4807,4810,4819,4822,4831,4834,4843,4846,4855,4858,4866,4869,4877,4880,4889,4892,4900,4904,4913,4916,4925],{"data":4795,"marks":4796,"value":4797,"nodeType":1293},{},[],"We’ve also seen success with various techniques across Kill Chain stages, including ",{"data":4799,"content":4801,"nodeType":1433},{"uri":4800},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/subdomain_tenant_discovery/description.md",[4802],{"data":4803,"marks":4804,"value":4806,"nodeType":1293},{},[4805],{"type":1441},"Subdomain tenant discovery",{"data":4808,"marks":4809,"value":3346,"nodeType":1293},{},[],{"data":4811,"content":4813,"nodeType":1433},{"uri":4812},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/dns_reconnaissance/description.md",[4814],{"data":4815,"marks":4816,"value":4818,"nodeType":1293},{},[4817],{"type":1441},"DNS reconnaissance",{"data":4820,"marks":4821,"value":3346,"nodeType":1293},{},[],{"data":4823,"content":4825,"nodeType":1433},{"uri":4824},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/username_enumeration/description.md",[4826],{"data":4827,"marks":4828,"value":4830,"nodeType":1293},{},[4829],{"type":1441},"username enumeration",{"data":4832,"marks":4833,"value":3346,"nodeType":1293},{},[],{"data":4835,"content":4837,"nodeType":1433},{"uri":4836},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/consent_phishing/description.md",[4838],{"data":4839,"marks":4840,"value":4842,"nodeType":1293},{},[4841],{"type":1441},"consent phishing",{"data":4844,"marks":4845,"value":3346,"nodeType":1293},{},[],{"data":4847,"content":4849,"nodeType":1433},{"uri":4848},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/device_code_phishing/description.md",[4850],{"data":4851,"marks":4852,"value":4854,"nodeType":1293},{},[4853],{"type":1441},"device code phishing",{"data":4856,"marks":4857,"value":3346,"nodeType":1293},{},[],{"data":4859,"content":4860,"nodeType":1433},{"uri":4261},[4861],{"data":4862,"marks":4863,"value":4865,"nodeType":1293},{},[4864],{"type":1441},"guest access abuse",{"data":4867,"marks":4868,"value":3346,"nodeType":1293},{},[],{"data":4870,"content":4871,"nodeType":1433},{"uri":4341},[4872],{"data":4873,"marks":4874,"value":4876,"nodeType":1293},{},[4875],{"type":1441},"shadow workflows",{"data":4878,"marks":4879,"value":3346,"nodeType":1293},{},[],{"data":4881,"content":4883,"nodeType":1433},{"uri":4882},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/oauth_tokens/description.md",[4884],{"data":4885,"marks":4886,"value":4888,"nodeType":1293},{},[4887],{"type":1441},"OAuth tokens",{"data":4890,"marks":4891,"value":3346,"nodeType":1293},{},[],{"data":4893,"content":4894,"nodeType":1433},{"uri":4492},[4895],{"data":4896,"marks":4897,"value":4899,"nodeType":1293},{},[4898],{"type":1441},"API keys",{"data":4901,"marks":4902,"value":4903,"nodeType":1293},{},[]," (as long as you ensure the target isn't notified – make sure you delete the notification of creation email!), ",{"data":4905,"content":4907,"nodeType":1433},{"uri":4906},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/api_secret_theft/description.md",[4908],{"data":4909,"marks":4910,"value":4912,"nodeType":1293},{},[4911],{"type":1441},"API secret theft",{"data":4914,"marks":4915,"value":4258,"nodeType":1293},{},[],{"data":4917,"content":4919,"nodeType":1433},{"uri":4918},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/link_backdooring/description.md",[4920],{"data":4921,"marks":4922,"value":4924,"nodeType":1293},{},[4923],{"type":1441},"link backdooring",{"data":4926,"marks":4927,"value":2069,"nodeType":1293},{},[],{"data":4929,"content":4930,"nodeType":1294},{},[4931],{"data":4932,"marks":4933,"value":4934,"nodeType":1293},{},[],"Embracing the modern Zero Trust architecture with its greater SaaS usage does not come without security risks, and while it does invalidate a large number of the attacks that can be performed within an AD environment, the SaaS attack matrix is a great way of illustrating how these attacks work, as well as helping red and blue teams respectively to simulate and defend against them.\" ",{"data":4936,"content":4937,"nodeType":2291},{},[],{"data":4939,"content":4940,"nodeType":1533},{},[4941],{"data":4942,"marks":4943,"value":4944,"nodeType":1293},{},[],"Tom Ellson | Head of Offensive Security | Stripe OLT",{"data":4946,"content":4947,"nodeType":1294},{},[4948],{"data":4949,"marks":4950,"value":4951,"nodeType":1293},{},[],"“We've used the SaaS attack matrix across several cloud-native engagements, for both initial access and lateral movement. My go-to techniques so far have been:",{"data":4953,"content":4954,"nodeType":1475},{},[4955,4983,5005,5027],{"data":4956,"content":4957,"nodeType":1479},{},[4958],{"data":4959,"content":4960,"nodeType":1294},{},[4961,4964,4974,4979],{"data":4962,"marks":4963,"value":37,"nodeType":1293},{},[],{"data":4965,"content":4967,"nodeType":1433},{"uri":4966},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/im_phishing/description.md",[4968],{"data":4969,"marks":4970,"value":4973,"nodeType":1293},{},[4971,4972],{"type":1441},{"type":1362},"IM phishing:",{"data":4975,"marks":4976,"value":4978,"nodeType":1293},{},[4977],{"type":1362}," ",{"data":4980,"marks":4981,"value":4982,"nodeType":1293},{},[],"Phishing via Microsoft Teams in particular has been highly successful, especially when paired with a number of abusable “features” (working as intended, clearly). ",{"data":4984,"content":4985,"nodeType":1479},{},[4986],{"data":4987,"content":4988,"nodeType":1294},{},[4989,4992,5001],{"data":4990,"marks":4991,"value":37,"nodeType":1293},{},[],{"data":4993,"content":4994,"nodeType":1433},{"uri":4848},[4995],{"data":4996,"marks":4997,"value":5000,"nodeType":1293},{},[4998,4999],{"type":1441},{"type":1362},"Device code phishing:",{"data":5002,"marks":5003,"value":5004,"nodeType":1293},{},[]," We use this for both initial access and persistence. It’s a great way of getting around MFA by tricking the victim into following the device approval process for our device, but using their device. ",{"data":5006,"content":5007,"nodeType":1479},{},[5008],{"data":5009,"content":5010,"nodeType":1294},{},[5011,5014,5023],{"data":5012,"marks":5013,"value":37,"nodeType":1293},{},[],{"data":5015,"content":5016,"nodeType":1433},{"uri":4224},[5017],{"data":5018,"marks":5019,"value":5022,"nodeType":1293},{},[5020,5021],{"type":1441},{"type":1362},"AitM phishing:",{"data":5024,"marks":5025,"value":5026,"nodeType":1293},{},[]," This is now a staple for credential harvesting. Better security controls force us to abuse other avenues to bypass conditional access policies, such as extraction of the PRT token from the end user device, thus granting us claimed access, which can be achieved using AitM and BitM techniques.",{"data":5028,"content":5029,"nodeType":1479},{},[5030],{"data":5031,"content":5032,"nodeType":1294},{},[5033,5036,5046,5050],{"data":5034,"marks":5035,"value":37,"nodeType":1293},{},[],{"data":5037,"content":5039,"nodeType":1433},{"uri":5038},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/oauth_token_enumeration/description.md",[5040],{"data":5041,"marks":5042,"value":5045,"nodeType":1293},{},[5043,5044],{"type":1441},{"type":1362},"OAuth token enumeration:",{"data":5047,"marks":5048,"value":4978,"nodeType":1293},{},[5049],{"type":1362},{"data":5051,"marks":5052,"value":5053,"nodeType":1293},{},[],"Once an account has been compromised, the Myapps portal is commonly used to validate the accessible applications and further target downstream apps to access data and functionality. ",{"data":5055,"content":5056,"nodeType":1294},{},[5057],{"data":5058,"marks":5059,"value":5060,"nodeType":1293},{},[],"We’re usually targeting M365 environments but have still found these attack techniques to be highly effective. In some cases, we’ve leveraged other SaaS applications such as abusing in-app phishing via GitHub to compromise development pipelines. The matrix is particularly useful as a playbook of further attacks once initial access has been established. Even just the awareness of how to pivot from SaaS to SaaS (and sometimes back to Microsoft or Google) is really eye-opening for red teams, and adds a new dimension to the security testing that our clients are used to experiencing. ",{"data":5062,"content":5063,"nodeType":1294},{},[5064],{"data":5065,"marks":5066,"value":5067,"nodeType":1293},{},[],"Because of the success of using these methods, we’ve now incorporated the SaaS attack matrix techniques into our purple teaming methodology to ensure that our clients can build awareness of their detection visibility gaps when it comes to identity attacks, and are routinely benchmarked against them.”  ",{"data":5069,"content":5070,"nodeType":2291},{},[],{"data":5072,"content":5073,"nodeType":1533},{},[5074],{"data":5075,"marks":5076,"value":5077,"nodeType":1293},{},[],"Max Corbridge | Head of Adversarial Simulation | JUMPSEC",{"data":5079,"content":5080,"nodeType":1294},{},[5081],{"data":5082,"marks":5083,"value":5084,"nodeType":1293},{},[],"“I’ve been a big fan of the matrix from day one. We use it for two main purposes – as a catalog of TTPs to apply during threat modeling exercises with cloud-native clients, and as a guide for how to apply novel TTPs to different apps and situations. The wiki descriptions, video demonstrations and references help enormously with this. ",{"data":5086,"content":5087,"nodeType":1294},{},[5088,5092,5100,5103,5110,5113,5122,5125,5134],{"data":5089,"marks":5090,"value":5091,"nodeType":1293},{},[],"We’ve mostly relied on ",{"data":5093,"content":5094,"nodeType":1433},{"uri":4966},[5095],{"data":5096,"marks":5097,"value":5099,"nodeType":1293},{},[5098],{"type":1441},"IM phishing",{"data":5101,"marks":5102,"value":3346,"nodeType":1293},{},[],{"data":5104,"content":5105,"nodeType":1433},{"uri":4224},[5106],{"data":5107,"marks":5108,"value":4230,"nodeType":1293},{},[5109],{"type":1441},{"data":5111,"marks":5112,"value":3346,"nodeType":1293},{},[],{"data":5114,"content":5116,"nodeType":1433},{"uri":5115},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/abuse_existing_oauth_integrations/description.md",[5117],{"data":5118,"marks":5119,"value":5121,"nodeType":1293},{},[5120],{"type":1441},"abusing OAuth integrations",{"data":5123,"marks":5124,"value":4258,"nodeType":1293},{},[],{"data":5126,"content":5128,"nodeType":1433},{"uri":5127},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/samljacking/description.md",[5129],{"data":5130,"marks":5131,"value":5133,"nodeType":1293},{},[5132],{"type":1441},"SAMLjacking",{"data":5135,"marks":5136,"value":5137,"nodeType":1293},{},[],". In one recent engagement, we were able to compromise a cloud identity with limited permissions in the target Azure environment. We were able to enumerate additional OAuth integrations to laterally move to a third-party IT Service Management SaaS application, which presented a much easier target to elevate privileges. We actually ended up finding a number of 0-days in the application, which we then used as a trusted platform to launch a covert spear-phishing campaign against specific high-privilege users, communicating back-and-forth as though we were a genuine support team, and hiding risky changes to cover our tracks. Ultimately we were able to pivot back into the target Azure estate, but now with administrative privileges. ",{"data":5139,"content":5140,"nodeType":1294},{},[5141],{"data":5142,"marks":5143,"value":5144,"nodeType":1293},{},[],"This really shows how third-party identities and apps are often the soft underbelly for a lot of otherwise pretty secure orgs that we work with, and we’re enjoying the challenge of finding new ways of getting to the crown jewels. ",{"data":5146,"content":5147,"nodeType":1294},{},[5148],{"data":5149,"marks":5150,"value":5151,"nodeType":1293},{},[],"In my eyes the world of cloud and SaaS-native attack techniques is under-researched for how increasingly relevant it is becoming. Many of the older TTPs and tradecraft are no longer relevant in a cloud-native world, and even when the techniques are consistent with the ways we used to target networks and endpoints, the context and how it actually works is completely different. So, resources like the SaaS attack matrix will continue to be needed for both offensive and defensive security practitioners going forwards”.",{"data":5153,"content":5154,"nodeType":2291},{},[],{"data":5156,"content":5157,"nodeType":1355},{},[5158],{"data":5159,"marks":5160,"value":5161,"nodeType":1293},{},[],"Get involved!",{"data":5163,"content":5164,"nodeType":1294},{},[5165],{"data":5166,"marks":5167,"value":5168,"nodeType":1293},{},[],"Hopefully you're now feeling inspired to get involved and start applying the SaaS attack matrix yourself. And if you’ve been using the matrix and want to share your experience with us, we’d love to hear from you. ",{"data":5170,"content":5171,"nodeType":1294},{},[5172,5176,5184],{"data":5173,"marks":5174,"value":5175,"nodeType":1293},{},[],"We hope to see your comments, discussions, or PRs on ",{"data":5177,"content":5178,"nodeType":1433},{"uri":1435},[5179],{"data":5180,"marks":5181,"value":5183,"nodeType":1293},{},[5182],{"type":1441},"GitHub",{"data":5185,"marks":5186,"value":5187,"nodeType":1293},{},[],"!",{"data":5189,"content":5190,"nodeType":1294},{},[5191,5195,5204],{"data":5192,"marks":5193,"value":5194,"nodeType":1293},{},[],"If this has piqued your interest, we’ve just released a 2024 edition of our SaaS attacks report: ",{"data":5196,"content":5198,"nodeType":1433},{"uri":5197},"https://pushsecurity.com/resources/book/saas-attacks-report/",[5199],{"data":5200,"marks":5201,"value":5203,"nodeType":1293},{},[5202],{"type":1441},"get your copy here",{"data":5205,"marks":5206,"value":2069,"nodeType":1293},{},[],{"data":5208,"content":5212,"nodeType":1346},{"target":5209},{"sys":5210},{"id":5211,"type":1351,"linkType":1352},"J11G6XCdDAYu0GQbKGCnm",[],{"data":5214,"content":5215,"nodeType":1294},{},[5216],{"data":5217,"marks":5218,"value":37,"nodeType":1293},{},[],"The SaaS attack matrix: A year in review","It’s been almost exactly a year since we released our open source repository of SaaS-native attack techniques. Let's reflect on what’s changed. ","2024-08-27T00:00:00.000Z","the-saas-attack-matrix-one-year-on",{"items":5224},[5225,5227],{"sys":5226,"name":1311},{"id":1310},{"sys":5228,"name":1307},{"id":1306},{"items":5230},[5231],{"fullName":1315,"firstName":1316,"jobTitle":1317,"profilePicture":5232},{"url":1319},"content:blog:shifting-detection-left-for-more-effective-threat-detection.json","json","content","blog/shifting-detection-left-for-more-effective-threat-detection.json","blog/shifting-detection-left-for-more-effective-threat-detection",1776359987407]