[{"data":1,"prerenderedAt":3525},["ShallowReactive",2],{"application-flags":3,"navbar":7,"always-visible-banner":95,"navbar-about-highlight":155,"navbar-resource-highlight":211,"use-case-page":256,"blog/how-aitm-phishing-kits-evade-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,"ogImage":118,"summary":1282,"title":1296,"subtitle":118,"metaTitle":1297,"synopsis":1298,"hashTags":118,"publishedDate":1299,"slug":1300,"tagsCollection":1301,"relatedBlogPostsCollection":1311,"authorsCollection":2872,"content":2876,"_id":3520,"_type":3521,"_source":3522,"_file":3523,"_stem":3524,"_extension":3521},"/blog/how-aitm-phishing-kits-evade-detection","blog",{"id":1280,"publishedAt":1281},"11C3shj5SlkS8sAd3AlYDp","2025-03-13T11:59:41.983Z",{"json":1283},{"data":1284,"content":1285,"nodeType":1295},{},[1286],{"data":1287,"content":1288,"nodeType":1294},{},[1289],{"data":1290,"marks":1291,"value":1292,"nodeType":1293},{},[],"Attackers are getting creative with their AitM phishing toolkits, using several tricks to hide from the prying eyes of security teams and threat intelligence vendors. We decided to pick apart one toolkit to see exactly how it tries to hide its malicious intent. ","text","paragraph","document","How AitM phishing kits evade detection","Analyzing AitM phish kits and the ways they evade detection","Taking a closer look at the steps that AitM phishing kits take to hide from the prying eyes of security teams and threat intelligence vendors.","2024-07-23T00:00:00.000Z","how-aitm-phishing-kits-evade-detection",{"items":1302},[1303,1307],{"sys":1304,"name":1306},{"id":1305},"4ksQNCFeBf8H4QIORqpRLw","Detection & response",{"sys":1308,"name":1310},{"id":1309},"6A5RXS31ZQx3PwryGb1IMy","Browser-based attacks",{"items":1312},[1313,2032,2531],{"__typename":1314,"sys":1315,"content":1317,"title":2014,"synopsis":2015,"hashTags":118,"publishedDate":2016,"slug":2017,"tagsCollection":2018,"authorsCollection":2024},"BlogPosts",{"id":1316},"6XHbplcolYfUeAB6x3olYQ",{"json":1318},{"nodeType":1295,"data":1319,"content":1320},{},[1321,1329,1351,1387,1394,1403,1410,1417,1451,1458,1465,1472,1479,1487,1494,1501,1508,1515,1522,1529,1536,1543,1550,1557,1564,1571,1577,1583,1590,1597,1604,1611,1617,1624,1631,1651,1658,1678,1684,1691,1698,1705,1712,1718,1725,1732,1739,1746,1753,1759,1765,1772,1779,1786,1793,1800,1807,1813,1820,1827,1834,1841,1848,1854,1860,1867,1874,1881,1887,1894,1901,1908,1914,1921,1927,1934,1941,1959,1977,1984,2002,2008],{"nodeType":1322,"data":1323,"content":1324},"heading-1",{},[1325],{"nodeType":1293,"value":1326,"marks":1327,"data":1328},"Picking up where we left off...",[],{},{"nodeType":1294,"data":1330,"content":1331},{},[1332,1336,1347],{"nodeType":1293,"value":1333,"marks":1334,"data":1335},"In our previous ",[],{},{"nodeType":1337,"data":1338,"content":1340},"hyperlink",{"uri":1339},"https://pushsecurity.com/blog/how-aitm-phishing-kits-evade-detection/",[1341],{"nodeType":1293,"value":1342,"marks":1343,"data":1346},"blog post",[1344],{"type":1345},"underline",{},{"nodeType":1293,"value":1348,"marks":1349,"data":1350},", we looked at a range of techniques implemented by a then-recent instance of the NakedPages AiTM phishing kit for evading detection. The techniques covered previously were mostly intended to make two detection strategies for defenders much more difficult:",[],{},{"nodeType":1352,"data":1353,"content":1354},"unordered-list",{},[1355,1372],{"nodeType":1356,"data":1357,"content":1358},"list-item",{},[1359],{"nodeType":1294,"data":1360,"content":1361},{},[1362,1368],{"nodeType":1293,"value":1363,"marks":1364,"data":1367},"Writing toolkit signatures",[1365],{"type":1366},"bold",{},{"nodeType":1293,"value":1369,"marks":1370,"data":1371},": Through heavy use of randomization, constantly changing hosting domains/IPs, legitimate hosting options etc., it becomes very difficult for defenders to maintain effective signatures to detect either generic phishing kit code or where they are hosted.",[],{},{"nodeType":1356,"data":1373,"content":1374},{},[1375],{"nodeType":1294,"data":1376,"content":1377},{},[1378,1383],{"nodeType":1293,"value":1379,"marks":1380,"data":1382},"Automating dynamic analysis",[1381],{"type":1366},{},{"nodeType":1293,"value":1384,"marks":1385,"data":1386},": Similarly to sandbox evasion for malware, phishing kits are designed to evade automated discovery and analysis, e.g. by using Cloudflare Turnstile bot detection, and requiring legitimate browser interaction and JavaScript execution in order for execution flow to reach the malicious phishing functionality.",[],{},{"nodeType":1294,"data":1388,"content":1389},{},[1390],{"nodeType":1293,"value":1391,"marks":1392,"data":1393},"In this blog post, we're diving deeper into a specific category of signature-based detection and how attackers are getting around them: Login page signatures. ",[],{},{"nodeType":1395,"data":1396,"content":1402},"embedded-entry-block",{"target":1397},{"sys":1398},{"id":1399,"type":1400,"linkType":1401},"1aaDMth4Cxv6CMT0PJW5py","Link","Entry",[],{"nodeType":1322,"data":1404,"content":1405},{},[1406],{"nodeType":1293,"value":1407,"marks":1408,"data":1409},"Login page signatures 101",[],{},{"nodeType":1294,"data":1411,"content":1412},{},[1413],{"nodeType":1293,"value":1414,"marks":1415,"data":1416},"The overwhelming majority of common AiTM phishing kits in the wild now are targeting the most dominant identity providers (IdPs), such as Microsoft Entra or Google Workspace. They typically emulate the login pages of these platforms to ensure the victim uses the correct password and MFA factor and completes the login process, so the attacker can steal the valid session.",[],{},{"nodeType":1294,"data":1418,"content":1419},{},[1420,1424,1429,1433,1438,1442,1447],{"nodeType":1293,"value":1421,"marks":1422,"data":1423},"As a result, security product vendors are naturally looking to move away from unreliable detections based on signaturing ever-changing phishing kits, toward detecting login pages that ",[],{},{"nodeType":1293,"value":1425,"marks":1426,"data":1428},"look like",[1427],{"type":1366},{},{"nodeType":1293,"value":1430,"marks":1431,"data":1432}," ",[],{},{"nodeType":1293,"value":1434,"marks":1435,"data":1437},"Microsoft Entra, Google Workspace",[1436],{"type":1366},{},{"nodeType":1293,"value":1439,"marks":1440,"data":1441}," (or any other common IdP) ",[],{},{"nodeType":1293,"value":1443,"marks":1444,"data":1446},"but are not hosted on the official domains",[1445],{"type":1366},{},{"nodeType":1293,"value":1448,"marks":1449,"data":1450},". The benefit here is that you’re focusing on a fixed, known target, rather than a constantly moving one (e.g. phishing kit codebases).",[],{},{"nodeType":1294,"data":1452,"content":1453},{},[1454],{"nodeType":1293,"value":1455,"marks":1456,"data":1457},"However, attackers have managed to stay one step ahead and are already using a wide range of techniques to break these detections and counter the countermeasures.",[],{},{"nodeType":1322,"data":1459,"content":1460},{},[1461],{"nodeType":1293,"value":1462,"marks":1463,"data":1464},"Signature evasion strategies",[],{},{"nodeType":1294,"data":1466,"content":1467},{},[1468],{"nodeType":1293,"value":1469,"marks":1470,"data":1471},"Well, like most good ideas, someone else has already had it — many phishing kits pre-emptively take steps to evade detections based on login page signatures. The specific evasion techniques used are a useful insight into what detection techniques are out there and are needing to be circumvented. ",[],{},{"nodeType":1294,"data":1473,"content":1474},{},[1475],{"nodeType":1293,"value":1476,"marks":1477,"data":1478},"Before we delve into the specific examples, let’s first consider the general strategies for this: document object model (DOM) obfuscation, and visual obfuscation. ",[],{},{"nodeType":1480,"data":1481,"content":1482},"heading-2",{},[1483],{"nodeType":1293,"value":1484,"marks":1485,"data":1486},"DOM obfuscation",[],{},{"nodeType":1294,"data":1488,"content":1489},{},[1490],{"nodeType":1293,"value":1491,"marks":1492,"data":1493},"This is the more traditional evasion approach. The goal for an attacker is to have a login page that is visually identical to the real page when viewed with the human eye. ",[],{},{"nodeType":1294,"data":1495,"content":1496},{},[1497],{"nodeType":1293,"value":1498,"marks":1499,"data":1500},"But that doesn’t mean the underlying DOM (or loaded HTML, CSS, and JS code) needs to be the same, or even similar, to the real login page. It’s possible to  construct a completely different DOM that ensures the same visual output with a very different underlying code. ",[],{},{"nodeType":1294,"data":1502,"content":1503},{},[1504],{"nodeType":1293,"value":1505,"marks":1506,"data":1507},"It’s also possible to use dynamic modification techniques to ensure the DOM changes during execution to frustrate fixed point-in-time analysis controls, like those that may be used by web proxies.  ",[],{},{"nodeType":1480,"data":1509,"content":1510},{},[1511],{"nodeType":1293,"value":1512,"marks":1513,"data":1514},"Visual obfuscation",[],{},{"nodeType":1294,"data":1516,"content":1517},{},[1518],{"nodeType":1293,"value":1519,"marks":1520,"data":1521},"With the ever-increasing capabilities of machine learning (ML) and other artificial intelligence (AI) technologies, we don’t just have to look at the underlying code and text signatures anymore. There are a range of computer vision based techniques that can be used to simulate a more human approach to assessing if a login page matches another example. ",[],{},{"nodeType":1294,"data":1523,"content":1524},{},[1525],{"nodeType":1293,"value":1526,"marks":1527,"data":1528},"Therefore, another approach to defeat login page signatures would be to perform visual obfuscation techniques that can frustrate computer vision-based detections, while still fooling a human user.",[],{},{"nodeType":1322,"data":1530,"content":1531},{},[1532],{"nodeType":1293,"value":1533,"marks":1534,"data":1535},"DOM obfuscation techniques",[],{},{"nodeType":1294,"data":1537,"content":1538},{},[1539],{"nodeType":1293,"value":1540,"marks":1541,"data":1542},"For consistency, we’re going to focus on Microsoft login phishing kits as they are the most common (by far), but we’ll pick from some different samples we’ve observed. Let’s start with a few examples of DOM obfuscation we have seen in the wild:",[],{},{"nodeType":1480,"data":1544,"content":1545},{},[1546],{"nodeType":1293,"value":1547,"marks":1548,"data":1549},"#1 – DOM structure change",[],{},{"nodeType":1294,"data":1551,"content":1552},{},[1553],{"nodeType":1293,"value":1554,"marks":1555,"data":1556},"If an attacker were to simply clone Microsoft’s login page, then we’d expect to see a very similar (if not identical) DOM structure, right? After all, the simplest way to emulate a web page visually is either to copy the HTML directly or transparently proxy requests to the real target with minimal changes, as tools like Evilginx do. This would make detection far simpler as we’d have a known code structure to look for. ",[],{},{"nodeType":1294,"data":1558,"content":1559},{},[1560],{"nodeType":1293,"value":1561,"marks":1562,"data":1563},"Unfortunately, it’s pretty common for attackers to deliberately use a completely different DOM structure for something that’s almost identical to the eye. It takes a lot more effort to implement this and so the reason for it is almost certainly to avoid this detection technique.  ",[],{},{"nodeType":1294,"data":1565,"content":1566},{},[1567],{"nodeType":1293,"value":1568,"marks":1569,"data":1570},"Check out the examples below to see a high-level interpretation of the DOM structure for a legitimate Microsoft login page and one phishing example. You can see how they are visually very similar, but radically different from one another when looking at DOM code:",[],{},{"nodeType":1395,"data":1572,"content":1576},{"target":1573},{"sys":1574},{"id":1575,"type":1400,"linkType":1401},"4amv144ZzTBmd9ssh66kkr",[],{"nodeType":1395,"data":1578,"content":1582},{"target":1579},{"sys":1580},{"id":1581,"type":1400,"linkType":1401},"2gC49b2f2Th4wAEWLPvAnL",[],{"nodeType":1480,"data":1584,"content":1585},{},[1586],{"nodeType":1293,"value":1587,"marks":1588,"data":1589},"#2 – Randomizing page titles",[],{},{"nodeType":1294,"data":1591,"content":1592},{},[1593],{"nodeType":1293,"value":1594,"marks":1595,"data":1596},"The HTML page title is one very specific place to check for similarity. For Microsoft, it can change slightly depending on the service, but if we use Outlook as an example then the page title is “Sign in to Outlook”. This also has a favicon of the Microsoft logo (another issue we’ll visit later in the article). \n\nIt’s unsurprising that attackers are randomizing the page title to evade basic detections – how many users would really notice any difference?",[],{},{"nodeType":1294,"data":1598,"content":1599},{},[1600],{"nodeType":1293,"value":1601,"marks":1602,"data":1603},"Some kits, such as the NakedPages case study we looked at in the previous article, use purely randomized alphanumeric text. Others use english words that may seem innocuous if a user does inspect them, but are in fact randomized between iterations to ensure any one set that is flagged will not completely block the phishing kit from operating. ",[],{},{"nodeType":1294,"data":1605,"content":1606},{},[1607],{"nodeType":1293,"value":1608,"marks":1609,"data":1610},"For example, see three refreshed examples of the same phishing kit below when compared with the legitimate Outlook login page title next to it.",[],{},{"nodeType":1395,"data":1612,"content":1616},{"target":1613},{"sys":1614},{"id":1615,"type":1400,"linkType":1401},"2KuHCssISCeGYeZNC005pV",[],{"nodeType":1480,"data":1618,"content":1619},{},[1620],{"nodeType":1293,"value":1621,"marks":1622,"data":1623},"#3 – Desktop control techniques (e.g. NoVNC)",[],{},{"nodeType":1294,"data":1625,"content":1626},{},[1627],{"nodeType":1293,"value":1628,"marks":1629,"data":1630},"The most common AiTM phishing technique is some form of a web proxy method, where the victim interacts with a legitimate website that is proxying certain requests to the real backend. However, this is not the only method. Some tools utilize a Browser-in-the-Middle (BiTM) technique that involves using desktop sharing technologies to remotely control an attacker’s browser instead. ",[],{},{"nodeType":1294,"data":1632,"content":1633},{},[1634,1638,1647],{"nodeType":1293,"value":1635,"marks":1636,"data":1637},"If you want to know more about this, check out our ",[],{},{"nodeType":1337,"data":1639,"content":1641},{"uri":1640},"https://pushsecurity.com/blog/phishing-2-0-how-phishing-toolkits-are-evolving-with-aitm/",[1642],{"nodeType":1293,"value":1643,"marks":1644,"data":1646},"previous article on AiTM phishing",[1645],{"type":1345},{},{"nodeType":1293,"value":1648,"marks":1649,"data":1650},".",[],{},{"nodeType":1294,"data":1652,"content":1653},{},[1654],{"nodeType":1293,"value":1655,"marks":1656,"data":1657},"The upside of this for an attacker is that the website is actually completely different from the target website under the hood. If anything, it just looks like any other website making use of similar technologies like NoVNC.",[],{},{"nodeType":1294,"data":1659,"content":1660},{},[1661,1665,1674],{"nodeType":1293,"value":1662,"marks":1663,"data":1664},"For example, see the following screenshot example of using the open-source BiTM tool, ",[],{},{"nodeType":1337,"data":1666,"content":1668},{"uri":1667},"https://github.com/JoelGMSec/EvilnoVNC",[1669],{"nodeType":1293,"value":1670,"marks":1671,"data":1673},"EvilNoVNC",[1672],{"type":1345},{},{"nodeType":1293,"value":1675,"marks":1676,"data":1677},". You can see how the underlying HTML and DOM are completely different due to the use of this technique, with effectively the entire page just being an HTML canvas element that is rendered like a video.",[],{},{"nodeType":1395,"data":1679,"content":1683},{"target":1680},{"sys":1681},{"id":1682,"type":1400,"linkType":1401},"60Jt2P0ip14ycdtS9qLPhc",[],{"nodeType":1480,"data":1685,"content":1686},{},[1687],{"nodeType":1293,"value":1688,"marks":1689,"data":1690},"#4 – Dynamic text decoding",[],{},{"nodeType":1294,"data":1692,"content":1693},{},[1694],{"nodeType":1293,"value":1695,"marks":1696,"data":1697},"Sometimes there may be very specific strings that detection tools might try to signature on. Let’s use the example of text that appears visually on the login page. While most login text can be pretty generic, e.g. “Sign in”, that’s not always the case. To appear authentic, it’s better for an attacker to keep it the same, but that leaves it vulnerable to signature detection. ",[],{},{"nodeType":1294,"data":1699,"content":1700},{},[1701],{"nodeType":1293,"value":1702,"marks":1703,"data":1704},"For example, the placeholder text on Microsoft’s login page is “Email, phone, or Skype”. Particularly given Microsoft’s historical acquisition of Skype, this is actually a pretty specific piece of text that you won’t usually find in the username field of a login page very often. ",[],{},{"nodeType":1294,"data":1706,"content":1707},{},[1708],{"nodeType":1293,"value":1709,"marks":1710,"data":1711},"So how do you keep this text but make it harder to signature on? Well you fall back to classic decoding techniques to avoid static signatures. In this case, that is decoded from base64 using JavaScript’s atob() function in order to load that text dynamically during execution rather than have it statically within the HTML. This makes it harder to create a signature using common point-in-time static analysis techniques.",[],{},{"nodeType":1395,"data":1713,"content":1717},{"target":1714},{"sys":1715},{"id":1716,"type":1400,"linkType":1401},"1PymaE09il5CubFvwSfLqW",[],{"nodeType":1480,"data":1719,"content":1720},{},[1721],{"nodeType":1293,"value":1722,"marks":1723,"data":1724},"#5 – Image element obfuscation",[],{},{"nodeType":1294,"data":1726,"content":1727},{},[1728],{"nodeType":1293,"value":1729,"marks":1730,"data":1731},"We’re starting to shift towards more visual-based obfuscation elements now, but first let’s cover  an interesting example that straddles the two.",[],{},{"nodeType":1294,"data":1733,"content":1734},{},[1735],{"nodeType":1293,"value":1736,"marks":1737,"data":1738},"Many login pages will have very clear examples of vendor logos present in specific locations and elements as part of a login page. This is a huge part of an authentic visual experience and so attackers would like to keep them there. However, as defenders we could specifically look for these elements, both for pure structural matching techniques or as a pre-processing step for visual matching techniques later (e.g. visually matching a logo, rather than the entire page). ",[],{},{"nodeType":1294,"data":1740,"content":1741},{},[1742],{"nodeType":1293,"value":1743,"marks":1744,"data":1745},"For this reason, attackers might want to obfuscate this aspect in order to make it difficult to match or locate the images used within the login page, while still ensuring they appear visually identical to a user.",[],{},{"nodeType":1294,"data":1747,"content":1748},{},[1749],{"nodeType":1293,"value":1750,"marks":1751,"data":1752},"Below, we can see a comparison of a legitimate Microsoft login page and a phishing kit. You can see how in the original a standard HTML \u003Cimg> element of a specific size and name are used. In comparison, our phishing kit has replaced this with a \u003Cdiv> element of a different size and made use of background image styling to ensure the \u003Cdiv> ends up with the same visual appearance despite the structural differences.",[],{},{"nodeType":1395,"data":1754,"content":1758},{"target":1755},{"sys":1756},{"id":1757,"type":1400,"linkType":1401},"4MvwXZDjMA56ZYSdjKpu9R",[],{"nodeType":1395,"data":1760,"content":1764},{"target":1761},{"sys":1762},{"id":1763,"type":1400,"linkType":1401},"6tNMjTvHuAWkuK0x7ZEgKr",[],{"nodeType":1322,"data":1766,"content":1767},{},[1768],{"nodeType":1293,"value":1769,"marks":1770,"data":1771},"Visual obfuscation techniques",[],{},{"nodeType":1294,"data":1773,"content":1774},{},[1775],{"nodeType":1293,"value":1776,"marks":1777,"data":1778},"As if that wasn’t enough, let’s move on to some visual obfuscation techniques that attackers are also using.",[],{},{"nodeType":1480,"data":1780,"content":1781},{},[1782],{"nodeType":1293,"value":1783,"marks":1784,"data":1785},"#6 – Favicon changes",[],{},{"nodeType":1294,"data":1787,"content":1788},{},[1789],{"nodeType":1293,"value":1790,"marks":1791,"data":1792},"We effectively saw this earlier when speaking about HTML page title randomization. The favicon is also an easy place to look for the obvious use of vendor logos. How many legitimate websites are going to have the Microsoft logo as their favicon? If they do, they may quickly end up with a cease and desist letter!",[],{},{"nodeType":1294,"data":1794,"content":1795},{},[1796],{"nodeType":1293,"value":1797,"marks":1798,"data":1799},"Favicons also render at a fixed size, so if an attacker wants to ensure that the Microsoft logo appears as the favicon for their page, it gives defenders a fixed target to perform image recognition against for cloned logos. ",[],{},{"nodeType":1294,"data":1801,"content":1802},{},[1803],{"nodeType":1293,"value":1804,"marks":1805,"data":1806},"In this phishing kit example, it looks like the authors have decided they are better off just leaving the favicon empty to avoid being vulnerable to this detection technique.",[],{},{"nodeType":1395,"data":1808,"content":1812},{"target":1809},{"sys":1810},{"id":1811,"type":1400,"linkType":1401},"7FknWWF9ri9eZvu8Prhkd5",[],{"nodeType":1480,"data":1814,"content":1815},{},[1816],{"nodeType":1293,"value":1817,"marks":1818,"data":1819},"#7 – Blurred background images",[],{},{"nodeType":1294,"data":1821,"content":1822},{},[1823],{"nodeType":1293,"value":1824,"marks":1825,"data":1826},"Ok, this is a pretty clever one. Let’s say as a defender we wanted to perform sophisticated image recognition techniques to detect websites that look visually very similar to Microsoft’s login page overall. There may be many challenges around rendering resolution etc to deal with but conceptually we could look to match on the whole page. ",[],{},{"nodeType":1294,"data":1828,"content":1829},{},[1830],{"nodeType":1293,"value":1831,"marks":1832,"data":1833},"However, if an attacker makes a substantial visual change to the page that still appears authentic then this would prevent the technique from operating effectively. One common graphic design method used when a modal pops up is to blur the background. Some phishing kits use similar techniques on their login pages with a variety of different background images that are derived from legitimate Microsoft sources. ",[],{},{"nodeType":1294,"data":1835,"content":1836},{},[1837],{"nodeType":1293,"value":1838,"marks":1839,"data":1840},"The first time you see this, it’s easy to think you’ve seen this a hundred times before. It just seems very familiar and authentic… except it’s not. The real login page has a blank background. Therefore, any algorithms looking for visual similarity of the overall page are not going to match because they are actually radically different. ",[],{},{"nodeType":1294,"data":1842,"content":1843},{},[1844],{"nodeType":1293,"value":1845,"marks":1846,"data":1847},"This is a trick on the human brain and the way we interpret images, not a trick on a computer vision algorithm. Take a look at the phishing example and the real Microsoft login page below:",[],{},{"nodeType":1395,"data":1849,"content":1853},{"target":1850},{"sys":1851},{"id":1852,"type":1400,"linkType":1401},"6KnrHECqltSOgSCGHIjYEL",[],{"nodeType":1395,"data":1855,"content":1859},{"target":1856},{"sys":1857},{"id":1858,"type":1400,"linkType":1401},"1nb6K1MyBkON2eBHk1365B",[],{"nodeType":1480,"data":1861,"content":1862},{},[1863],{"nodeType":1293,"value":1864,"marks":1865,"data":1866},"#8 – Logo substitution",[],{},{"nodeType":1294,"data":1868,"content":1869},{},[1870],{"nodeType":1293,"value":1871,"marks":1872,"data":1873},"You might have noticed one other change with the previous image – the logo that was used. We saw earlier how some phishing kits make it harder to identify individual logos within an image through DOM obfuscation techniques. However, the other approach is to substitute logos for similar ones that give a sense of authenticity to the user but are visually completely different.",[],{},{"nodeType":1294,"data":1875,"content":1876},{},[1877],{"nodeType":1293,"value":1878,"marks":1879,"data":1880},"In this case, the phishing kit has chosen to use the newer purple hexagon Microsoft 365 logo in place of the standard Microsoft logo on the login page. Users will no doubt be familiar with this logo as belonging to Microsoft and so it still gives the sense of authenticity. A computer vision algorithm looking to match the original logo won’t know that though!",[],{},{"nodeType":1395,"data":1882,"content":1886},{"target":1883},{"sys":1884},{"id":1885,"type":1400,"linkType":1401},"5o1WRmupkYPr9QmeQUf5uF",[],{"nodeType":1480,"data":1888,"content":1889},{},[1890],{"nodeType":1293,"value":1891,"marks":1892,"data":1893},"#9 - Sub-image obfuscation",[],{},{"nodeType":1294,"data":1895,"content":1896},{},[1897],{"nodeType":1293,"value":1898,"marks":1899,"data":1900},"Ok, so let’s say an attacker wants to use the real logo and they’ve even used the image element obfuscation method we saw earlier to dynamically set the image as a background image for a \u003Cdiv> element. ",[],{},{"nodeType":1294,"data":1902,"content":1903},{},[1904],{"nodeType":1293,"value":1905,"marks":1906,"data":1907},"However, it’s not impossible for these images to be isolated and analyzed. Perhaps a defender might enumerate all divs, compute the background images and analyze them all. We can see an example of using code to do this to determine the image used by a \u003Cdiv> element in a phishing kit below:",[],{},{"nodeType":1395,"data":1909,"content":1913},{"target":1910},{"sys":1911},{"id":1912,"type":1400,"linkType":1401},"79e7r8I5p0Nh9hpqrRs9eJ",[],{"nodeType":1294,"data":1915,"content":1916},{},[1917],{"nodeType":1293,"value":1918,"marks":1919,"data":1920},"This gives us the base64 image data that was set as the background image. However, if we look at that image data directly we see it’s an obfuscated form of the image, even though it displays correctly when properly cropped as it’s embedded in the overall page:",[],{},{"nodeType":1395,"data":1922,"content":1926},{"target":1923},{"sys":1924},{"id":1925,"type":1400,"linkType":1401},"jXlXRHrezWsZ27CiQIyBO",[],{"nodeType":1294,"data":1928,"content":1929},{},[1930],{"nodeType":1293,"value":1931,"marks":1932,"data":1933},"This makes it harder for a visual algorithm to match the logo as it’s clearly not exactly the same. Instead, careful construction of the div and related DOM has ensured that these obfuscated edge pieces do not show visually to the user.",[],{},{"nodeType":1322,"data":1935,"content":1936},{},[1937],{"nodeType":1293,"value":1938,"marks":1939,"data":1940},"Conclusion",[],{},{"nodeType":1294,"data":1942,"content":1943},{},[1944,1948,1955],{"nodeType":1293,"value":1945,"marks":1946,"data":1947},"In ",[],{},{"nodeType":1337,"data":1949,"content":1950},{"uri":1339},[1951],{"nodeType":1293,"value":1952,"marks":1953,"data":1954},"our previous article",[],{},{"nodeType":1293,"value":1956,"marks":1957,"data":1958},", we looked at a higher level set of techniques used by phishing kits to avoid detection. In this article, we’ve dived deeper into one particular strategy of breaking login page signatures and have shown how, even inside of this one strategy, there are many different sub-techniques being used to evade common detections.",[],{},{"nodeType":1294,"data":1960,"content":1961},{},[1962,1966,1973],{"nodeType":1293,"value":1963,"marks":1964,"data":1965},"Looking at the evasion techniques discussed here and in ",[],{},{"nodeType":1337,"data":1967,"content":1968},{"uri":1339},[1969],{"nodeType":1293,"value":1970,"marks":1971,"data":1972},"Part 1",[],{},{"nodeType":1293,"value":1974,"marks":1975,"data":1976},", it’s pretty clear that attackers are consciously looking to bypass automated detection techniques typically implemented through either web traffic analysis (using a web proxy inspection tool or Secure Web Gateway) or website sandboxing (for example link analysis provided by an email security appliance).",[],{},{"nodeType":1294,"data":1978,"content":1979},{},[1980],{"nodeType":1293,"value":1981,"marks":1982,"data":1983},"On a positive note, this shows us that (at least some) detection tools are trending upwards on the Pyramid of Pain — moving away from nearly pointless signatures like IP addresses and domains towards more in-depth detections of specific tool techniques. Though it’s also fair to say that, in this cat-and-mouse game, it seems the attackers are maintaining the advantage. This may be because these detection technologies are widely available, and attackers can test their kits against these tools and change them just enough to bypass them.",[],{},{"nodeType":1294,"data":1985,"content":1986},{},[1987,1991,1999],{"nodeType":1293,"value":1988,"marks":1989,"data":1990},"If you’re interested in how Push is able to detect these attacks despite all these ever evolving evasion techniques by using browser telemetry and evaluating user interaction with these kits — ",[],{},{"nodeType":1337,"data":1992,"content":1994},{"uri":1993},"https://pushsecurity.com/blog/detecting-and-blocking-phishing-attacks-in-the-browser/",[1995],{"nodeType":1293,"value":1996,"marks":1997,"data":1998},"take a look at how we do phishing detection.",[],{},{"nodeType":1293,"value":37,"marks":2000,"data":2001},[],{},{"nodeType":1395,"data":2003,"content":2007},{"target":2004},{"sys":2005},{"id":2006,"type":1400,"linkType":1401},"6H8HmAmYiGvs3T7kQLA4dd",[],{"nodeType":1294,"data":2009,"content":2010},{},[2011],{"nodeType":1293,"value":37,"marks":2012,"data":2013},[],{},"How AitM phishing kits evade detection: Part 2","How attackers are breaking detection signatures designed to identify phishing sites impersonating real login pages.","2024-11-12T00:00:00.000Z","how-aitm-phishing-kits-evade-detection-p2",{"items":2019},[2020,2022],{"sys":2021,"name":1306},{"id":1305},{"sys":2023,"name":1310},{"id":1309},{"items":2025},[2026],{"fullName":2027,"firstName":2028,"jobTitle":2029,"profilePicture":2030},"Luke Jennings","Luke","Vice President, R&D",{"url":2031},"https://images.ctfassets.net/y1cdw1ablpvd/4Hosb4zKi1dA0PUyDLMe1h/27e09d894861f2196ba794037986fb08/T016S22KZ96-U02NVQM7ZD4-57761d542d83-512.jpeg",{"__typename":1314,"sys":2033,"content":2035,"title":2513,"synopsis":2514,"hashTags":118,"publishedDate":2515,"slug":2516,"tagsCollection":2517,"authorsCollection":2523},{"id":2034},"7yCGcUryKQGOHYHRtipn6W",{"json":2036},{"nodeType":1295,"data":2037,"content":2038},{},[2039,2046,2053,2060,2067,2074,2081,2088,2095,2102,2120,2138,2145,2152,2172,2179,2191,2234,2241,2260,2268,2275,2282,2289,2296,2303,2370,2377,2383,2390,2397,2404,2411,2431,2438,2445,2452,2459,2466,2473,2480,2487,2494,2500,2506],{"nodeType":1294,"data":2040,"content":2041},{},[2042],{"nodeType":1293,"value":2043,"marks":2044,"data":2045},"User web activity can be a rich source of attack detection data. To this end, most organizations today ingest some form of network traffic data for security monitoring purposes. ",[],{},{"nodeType":1294,"data":2047,"content":2048},{},[2049],{"nodeType":1293,"value":2050,"marks":2051,"data":2052},"Typically, network traffic data is gathered by analyzing web proxy and/or DNS logs. But, we regularly speak to organizations that are frustrated with the challenge of piecing together web traffic data, without understanding the opportunity presented by the alternatives.",[],{},{"nodeType":1294,"data":2054,"content":2055},{},[2056],{"nodeType":1293,"value":2057,"marks":2058,"data":2059},"Even with proxies that can terminate TLS-encrypted datastreams, it’s difficult for even expert security teams to collect and analyze any meaningful data from web proxy logs. While the kind of data needed might be technically possible to extract, the process of reconstructing proxy data to analyze the specific data points that you really need, at scale, is prohibitively complicated.",[],{},{"nodeType":1294,"data":2061,"content":2062},{},[2063],{"nodeType":1293,"value":2064,"marks":2065,"data":2066},"The old “needle in a haystack” adage is very apt here! Rather than trying to piece together half-broken data – overlaying noisy proxy logs with other sources such as app and IdP telemetry – we think that the browser presents a much simpler way of analyzing relevant data points, particularly when it comes to identity attacks. ",[],{},{"nodeType":1294,"data":2068,"content":2069},{},[2070],{"nodeType":1293,"value":2071,"marks":2072,"data":2073},"Before we get on to detection opportunities in the browser, let’s take a deeper look at the web proxy situation.",[],{},{"nodeType":1322,"data":2075,"content":2076},{},[2077],{"nodeType":1293,"value":2078,"marks":2079,"data":2080},"Detection based on web proxy – how does it work and what are the limitations?",[],{},{"nodeType":1294,"data":2082,"content":2083},{},[2084],{"nodeType":1293,"value":2085,"marks":2086,"data":2087},"Web proxies generate common data points that can be used for threat detection, particularly when looking for indicators of an endpoint compromise. They work by inspecting network traffic to and from the endpoint, which includes web activity in the browser. ",[],{},{"nodeType":1294,"data":2089,"content":2090},{},[2091],{"nodeType":1293,"value":2092,"marks":2093,"data":2094},"The classic use case would be inspecting traffic from an endpoint to networked servers and devices, either on the local network or over the internet (e.g. via VPN), to detect signs of suspicious/malicious behavior from the device (indicating a potential compromise). Data is then shipped to a central proxy server where it can be analyzed for indicators of malicious activity. ",[],{},{"nodeType":1294,"data":2096,"content":2097},{},[2098],{"nodeType":1293,"value":2099,"marks":2100,"data":2101},"The traditional proxy setup has a number of limitations: ",[],{},{"nodeType":1352,"data":2103,"content":2104},{},[2105],{"nodeType":1356,"data":2106,"content":2107},{},[2108],{"nodeType":1294,"data":2109,"content":2110},{},[2111,2116],{"nodeType":1293,"value":2112,"marks":2113,"data":2115},"The proxy needs to be in a position to intercept traffic.",[2114],{"type":1366},{},{"nodeType":1293,"value":2117,"marks":2118,"data":2119}," It may only be active when a user is in the office, on a VPN and/or for external web traffic only. It might not work if a user is on their home or other other Wi-Fi – e.g. when working from Starbucks, or visiting a customer site, which isn’t an ideal setup in the era of remote working.  ",[],{},{"nodeType":1352,"data":2121,"content":2122},{},[2123],{"nodeType":1356,"data":2124,"content":2125},{},[2126],{"nodeType":1294,"data":2127,"content":2128},{},[2129,2134],{"nodeType":1293,"value":2130,"marks":2131,"data":2133},"Most web traffic is protected by TLS – so a proxy has to decrypt this to inspect what’s inside.",[2132],{"type":1366},{},{"nodeType":1293,"value":2135,"marks":2136,"data":2137}," At the very least you’re going to need to deploy a CA cert to every endpoint. But, some websites use things like certificate pinning or other SSL-enforcement controls to straight up prevent this. Unless you’re doing TLS-termination at scale with a COTS solution, then the ability to do proxy-based monitoring is seriously limited. ",[],{},{"nodeType":1480,"data":2139,"content":2140},{},[2141],{"nodeType":1293,"value":2142,"marks":2143,"data":2144},"Proxies under the hood",[],{},{"nodeType":1294,"data":2146,"content":2147},{},[2148],{"nodeType":1293,"value":2149,"marks":2150,"data":2151},"Let’s pop the hood and take a look at the data you can collect using a web proxy that is useful for threat detection. ",[],{},{"nodeType":1294,"data":2153,"content":2154},{},[2155,2159,2168],{"nodeType":1293,"value":2156,"marks":2157,"data":2158},"Typically, you’re looking at data points such as domain names or IP addresses. If the proxy is terminating TLS, you might also have web URLs, the type of web content accessed, and other HTTP-level metadata. Higher level data like file uploads/downloads can sometimes be reconstructed when using very vanilla methods. More advanced proxies might run or open downloaded files in a sandbox for dynamic analysis to identify potentially malicious properties, which has ",[],{},{"nodeType":1337,"data":2160,"content":2162},{"uri":2161},"https://www.cyfirma.com/research/html-smuggling-a-stealthier-approach-to-deliver-malware/",[2163],{"nodeType":1293,"value":2164,"marks":2165,"data":2167},"given rise to techniques like HTML smuggling",[2166],{"type":1345},{},{"nodeType":1293,"value":2169,"marks":2170,"data":2171}," to hide these file downloads from advanced proxies. ",[],{},{"nodeType":1294,"data":2173,"content":2174},{},[2175],{"nodeType":1293,"value":2176,"marks":2177,"data":2178},"In practice this means that you might see that an endpoint at IP address X accessed google.com. If it’s an authenticated proxy, you might see the user of the endpoint as well. Using this data, it’s possible to see which endpoint’s owner accessed the web domain, but not the identity/account they used, or whether they actually logged in at all. So for the majority of in-house proxy setups not doing TLS-termination… that’s it. Even then, without decrypting TLS you can’t be sure you’re seeing the actual/final domain because of technologies like domain fronting that are commonly implemented in modern CDNs. ",[],{},{"nodeType":1294,"data":2180,"content":2181},{},[2182,2186],{"nodeType":1293,"value":2183,"marks":2184,"data":2185},"With TLS termination, it’s possible to see a lot more by inspecting/unpacking the HTTP data. At this point there are two possible approaches: Manual analysis after the fact, or automated analysis on the fly. ",[],{},{"nodeType":1293,"value":2187,"marks":2188,"data":2190},"Unfortunately, there are problems with both options. ",[2189],{"type":1366},{},{"nodeType":1352,"data":2192,"content":2193},{},[2194,2214],{"nodeType":1356,"data":2195,"content":2196},{},[2197],{"nodeType":1294,"data":2198,"content":2199},{},[2200,2205,2209],{"nodeType":1293,"value":2201,"marks":2202,"data":2204},"There is too much HTTP data to store and manually analyze everything:",[2203],{"type":1366},{},{"nodeType":1293,"value":2206,"marks":2207,"data":2208}," Usually, organizations limit the data being stored to specific metadata as opposed to trying to store everything (terabytes of data per day), which would be impossibly expensive to store (and also to build the server infrastructure required to index and search it – effectively a mini-datacenter). ",[],{},{"nodeType":1293,"value":2210,"marks":2211,"data":2213},"Not to mention that storing detailed HTTP body data presents a significant security risk, as it includes valid session tokens/cookies for all your identities…  ",[2212],{"type":312},{},{"nodeType":1356,"data":2215,"content":2216},{},[2217],{"nodeType":1294,"data":2218,"content":2219},{},[2220,2225,2229],{"nodeType":1293,"value":2221,"marks":2222,"data":2224},"Each web app is custom, making automated analysis (virtually) impossible:",[2223],{"type":1366},{},{"nodeType":1293,"value":2226,"marks":2227,"data":2228}," Proxy-based solutions have to reconstruct the data after TLS encryption. HTTP data is usually stored in large application JSON/XML objects or even in totally custom encoding – per each app. This means that complex, custom code is required per each app to be able to perform automated analysis. When businesses today are using hundreds of apps on average, ",[],{},{"nodeType":1293,"value":2230,"marks":2231,"data":2233},"automating this process is not feasible as it requires constant reverse engineering of every web app. ",[2232],{"type":1366},{},{"nodeType":1294,"data":2235,"content":2236},{},[2237],{"nodeType":1293,"value":2238,"marks":2239,"data":2240},"So what does this mean? Well, even organizations with a TLS-terminating proxy are limited to manual analysis of select metadata after-the-fact, which massively reduces its utility. You could sink a day or more’s analysis into gathering a small amount of useful data, for example whether a URL was accessed, but not necessarily which device/user, or what account/creds were used to log in). This means you’re probably going to use proxy data to aid in the investigation of a known incident rather than anything proactive. ",[],{},{"nodeType":1294,"data":2242,"content":2243},{},[2244,2249,2255],{"nodeType":1293,"value":2245,"marks":2246,"data":2248},"It might be ",[2247],{"type":1366},{},{"nodeType":1293,"value":2250,"marks":2251,"data":2254},"theoretically",[2252,2253],{"type":312},{"type":1366},{},{"nodeType":1293,"value":2256,"marks":2257,"data":2259}," possible to sift through decrypted HTTP data to identify and correlate identities and actions, effectively reconstructing web pages from the network traffic automatically and on the fly (in the same way that it’s theoretically possible to remove my head and transplant it onto your body), but is it practical or reasonable for most organizations to do this? No. ",[2258],{"type":1366},{},{"nodeType":1322,"data":2261,"content":2262},{},[2263],{"nodeType":1293,"value":2264,"marks":2265,"data":2267},"Browser data: a better alternative?",[2266],{"type":1366},{},{"nodeType":1294,"data":2269,"content":2270},{},[2271],{"nodeType":1293,"value":2272,"marks":2273,"data":2274},"One way of overcoming some of the limitations of the classic web proxy setup is to use a browser-based solution. It’s much easier to collect data at the browser level before it’s encrypted. ",[],{},{"nodeType":1294,"data":2276,"content":2277},{},[2278],{"nodeType":1293,"value":2279,"marks":2280,"data":2281},"A browser agent isn’t just a proxy for pre-TLS HTML data, though. In the browser, you’re able to dynamically interact with the DOM or the rendered web application, including its JS code. This makes it easy to find, for example, input fields for usernames and passwords. You can see what information the user is inputting and where, without needing to figure out how the data is encoded and sent back to the app. These are fairly generic fields that can be identified across your suite of apps without needing complex custom code. To put it in perspective, approximately 10 login cases cover the entirety of the SaaS apps we support (~1000). Using a proxy-based solution, each of these would require custom development.   ",[],{},{"nodeType":1294,"data":2283,"content":2284},{},[2285],{"nodeType":1293,"value":2286,"marks":2287,"data":2288},"While it's technically possible to keep track of multiple sessions for thousands of users across hundreds of apps via proxy, it’s no mean feat – made much easier when each extension is tracking one user, in one browser, and even knows the browser tab it’s running in. You also get additional context at the identity layer such as the email address, authentication protocol, and credentials used, neatly mapped to that specific user and browser profile – no more trying to link the owner of an IP address to log events!",[],{},{"nodeType":1294,"data":2290,"content":2291},{},[2292],{"nodeType":1293,"value":2293,"marks":2294,"data":2295},"The browser also has the added benefit of being a natural enforcement point. You can collect and analyze data dynamically, and produce an immediate response – rather than taking info away, analyzing it, and coming back with a detection minutes or hours later (and potentially prompting a manual response). ",[],{},{"nodeType":1294,"data":2297,"content":2298},{},[2299],{"nodeType":1293,"value":2300,"marks":2301,"data":2302},"Let’s look at a couple of examples based on how we’re using our browser agent to detect and block identity attacks. ",[],{},{"nodeType":1352,"data":2304,"content":2305},{},[2306,2328,2349],{"nodeType":1356,"data":2307,"content":2308},{},[2309],{"nodeType":1294,"data":2310,"content":2311},{},[2312,2315,2324],{"nodeType":1293,"value":37,"marks":2313,"data":2314},[],{},{"nodeType":1337,"data":2316,"content":2318},{"uri":2317},"https://pushsecurity.com/blog/introducing-sso-password-protection/",[2319],{"nodeType":1293,"value":2320,"marks":2321,"data":2323},"Pinning passwords to the legitimate site they are linked with",[2322],{"type":1345},{},{"nodeType":1293,"value":2325,"marks":2326,"data":2327},". This is made possible by interacting with the DOM to observe passwords being entered – enabling the Push agent to intercept and block before an HTTP network request can even be made. ",[],{},{"nodeType":1356,"data":2329,"content":2330},{},[2331],{"nodeType":1294,"data":2332,"content":2333},{},[2334,2337,2345],{"nodeType":1293,"value":37,"marks":2335,"data":2336},[],{},{"nodeType":1337,"data":2338,"content":2340},{"uri":2339},"https://pushsecurity.com/blog/introducing-aitm-phishing-toolkit-detection-powered-by-the-push-browser/",[2341],{"nodeType":1293,"value":2342,"marks":2343,"data":2344},"Detecting and blocking malicious phishing tools",[],{},{"nodeType":1293,"value":2346,"marks":2347,"data":2348}," running on websites by observing behavioral attributes in the browser, such as Javascript calls being made or data structures saved to local storage.",[],{},{"nodeType":1356,"data":2350,"content":2351},{},[2352],{"nodeType":1294,"data":2353,"content":2354},{},[2355,2358,2366],{"nodeType":1293,"value":37,"marks":2356,"data":2357},[],{},{"nodeType":1337,"data":2359,"content":2361},{"uri":2360},"https://pushsecurity.com/blog/manage-third-party-data-access/",[2362],{"nodeType":1293,"value":2363,"marks":2364,"data":2365},"Observing users signing up to and using risky apps",[],{},{"nodeType":1293,"value":2367,"marks":2368,"data":2369},", or changing or removing authentication methods, MFA methods, and configuration methods, which could indicate account takeover. ",[],{},{"nodeType":1294,"data":2371,"content":2372},{},[2373],{"nodeType":1293,"value":2374,"marks":2375,"data":2376},"It’s always useful to refer back to the concept of the Pyramid of Pain in these situations. The opportunities to detect and block in the browser tend to align with indicators at the apex of the pyramid, meaning they are a significant obstruction for attackers – and difficult to circumvent. This contrasts the indicators aligned with proxy-based solutions, which are much easier to bypass through, for example, IP masking using residential proxy networks, or changing the domains and URLs used for phishing campaigns.  ",[],{},{"nodeType":1395,"data":2378,"content":2382},{"target":2379},{"sys":2380},{"id":2381,"type":1400,"linkType":1401},"HrK2xQak6KfjInDbeSgv8",[],{"nodeType":1294,"data":2384,"content":2385},{},[2386],{"nodeType":1293,"value":2387,"marks":2388,"data":2389},"In summary: Browser data provides high-fidelity indicators of malicious activity, without the complications of proxy-based approaches. The scope for response in the browser is significant and immediate, meaning it’s a great enforcement point for security controls to be able to disrupt attacks. ",[],{},{"nodeType":1322,"data":2391,"content":2392},{},[2393],{"nodeType":1293,"value":2394,"marks":2395,"data":2396},"Won’t my app and IdP logs cover this?",[],{},{"nodeType":1294,"data":2398,"content":2399},{},[2400],{"nodeType":1293,"value":2401,"marks":2402,"data":2403},"App and IdP logs are useful (when you can get them), but neither give you the full picture. ",[],{},{"nodeType":1480,"data":2405,"content":2406},{},[2407],{"nodeType":1293,"value":2408,"marks":2409,"data":2410},"App logs are limited in availability, scope, and ease of ingestion ",[],{},{"nodeType":1294,"data":2412,"content":2413},{},[2414,2418,2427],{"nodeType":1293,"value":2415,"marks":2416,"data":2417},"When relying on app logs, you’re naturally constrained by the app provider. Many smaller apps provide no security logging, while others ",[],{},{"nodeType":1337,"data":2419,"content":2421},{"uri":2420},"https://audit-logs.tax/",[2422],{"nodeType":1293,"value":2423,"marks":2424,"data":2426},"lock security logging behind the premium tier subscription",[2425],{"type":1345},{},{"nodeType":1293,"value":2428,"marks":2429,"data":2430},". When logs are available, you’re limited to the events that the third-party deems suitable to log. ",[],{},{"nodeType":1294,"data":2432,"content":2433},{},[2434],{"nodeType":1293,"value":2435,"marks":2436,"data":2437},"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. This means, naturally, that the majority of apps do not. ",[],{},{"nodeType":1294,"data":2439,"content":2440},{},[2441],{"nodeType":1293,"value":2442,"marks":2443,"data":2444},"To top it all off, the process of extracting these logs and feeding them into your SIEM (or equivalent) is also not straightforward. The lack of out-of-the-box connectors for many apps means that complex custom architectures are required for collecting data. Some vendors place constraints on the format and mechanism for extracting logs which can make ingestion difficult to feed reliable detections – even before any meaningful analysis of the data can take place. ",[],{},{"nodeType":1294,"data":2446,"content":2447},{},[2448],{"nodeType":1293,"value":2449,"marks":2450,"data":2451},"Until application security logs are made widely available (and at no additional cost) it’s unlikely you’re going to be able to get the visibility you need from app logs, for every app your employees use (though of course there are exceptions – and we hope to see more vendors in future treating security as a minimum requirement, not a chargeable addon). ",[],{},{"nodeType":1480,"data":2453,"content":2454},{},[2455],{"nodeType":1293,"value":2456,"marks":2457,"data":2458},"IdP logs cover only SSO integrated apps and are limited in scope",[],{},{"nodeType":1294,"data":2460,"content":2461},{},[2462],{"nodeType":1293,"value":2463,"marks":2464,"data":2465},"You might think, “but all of our business apps are behind SSO, right?” In reality, only about 1 in 3 apps support SSO (and even fewer at the ‘free’ tier). And in practice, our data shows us that only 1 in 5 apps on average are actually behind SSO per organization. The theoretical security benefit of IdP logs is that they provide context, a foundation for the user’s activity across (and between) a suite of apps. But because of the lack of coverage, this isn’t the case. ",[],{},{"nodeType":1294,"data":2467,"content":2468},{},[2469],{"nodeType":1293,"value":2470,"marks":2471,"data":2472},"IdP logs are naturally focused on authentication, and so don’t compensate for any gaps in app logging. Naturally, they are only able to observe what happens on the IdP side – and so are blind to client side attacks like phishing (which we’ve already shown the browser provides superior visibility of compared to typical alternatives like proxy logs).   ",[],{},{"nodeType":1480,"data":2474,"content":2475},{},[2476],{"nodeType":1293,"value":2477,"marks":2478,"data":2479},"Browser is best for stopping identity attacks",[],{},{"nodeType":1294,"data":2481,"content":2482},{},[2483],{"nodeType":1293,"value":2484,"marks":2485,"data":2486},"This is where the browser comes in. Think of your browser as your source of truth, a broad data baseline for user activity where the browser provides complete context of the browser profile, employee, accounts, credentials, auth methods, and MFA types – as well as employee interaction with web sites.",[],{},{"nodeType":1294,"data":2488,"content":2489},{},[2490],{"nodeType":1293,"value":2491,"marks":2492,"data":2493},"The TL;DR is that your visibility in the browser is theoretically limitless. Every page loaded (and its source, javascript state, local storage), every user interaction can be observed. And best of all, this analysis is done securely in the browser and only the results of detections are reported back, rather than decrypting the entire raw traffic stream including all session data in an additional centralized system. ",[],{},{"nodeType":1395,"data":2495,"content":2499},{"target":2496},{"sys":2497},{"id":2498,"type":1400,"linkType":1401},"5jPCGPO1tnIkoI7MKW4oUi",[],{"nodeType":1322,"data":2501,"content":2502},{},[2503],{"nodeType":1293,"value":1938,"marks":2504,"data":2505},[],{},{"nodeType":1294,"data":2507,"content":2508},{},[2509],{"nodeType":1293,"value":2510,"marks":2511,"data":2512},"As an industry, we need to start looking at browser-based detection and response as the next logical evolution to stop identity attacks. There are clear parallels with the emergence of EDR – which came about because existing endpoint log sources were not sufficient. Today, we wouldn’t dream of trying to detect and respond to endpoint-based attacks without EDR – it’s time we started thinking about cloud identity attacks and the browser in the same way.  ",[],{},"The web proxy is dead… long live the browser extension!","Right now the majority of detections for identity attacks rely on web proxy telemetry. Here’s why the browser can be a better alternative.","2024-06-11T00:00:00.000Z","the-web-proxy-is-dead-long-live-the-browser-extension",{"items":2518},[2519,2521],{"sys":2520,"name":1306},{"id":1305},{"sys":2522,"name":1310},{"id":1309},{"items":2524},[2525],{"fullName":2526,"firstName":2527,"jobTitle":2528,"profilePicture":2529},"Dan Green","Dan","Threat Research",{"url":2530},"https://images.ctfassets.net/y1cdw1ablpvd/7jik1VhFgA3kgzXBXTm2Vw/fcd8c171da644903d0827eafcfbcaad0/Dan_Headshot_2025.png",{"__typename":1314,"sys":2532,"content":2534,"title":2854,"synopsis":2855,"hashTags":118,"publishedDate":2856,"slug":2857,"tagsCollection":2858,"authorsCollection":2864},{"id":2533},"4bYO5rVy9n2OO3vtMVQeda",{"json":2535},{"nodeType":1295,"data":2536,"content":2537},{},[2538,2545,2565,2581,2588,2595,2599,2606,2613,2666,2673,2679,2682,2689,2696,2703,2710,2717,2734,2740,2747,2754,2771,2777,2784,2791,2798,2805,2812,2815,2822,2842,2848],{"nodeType":1322,"data":2539,"content":2540},{},[2541],{"nodeType":1293,"value":2542,"marks":2543,"data":2544},"All phishing eventually leads to the browser",[],{},{"nodeType":1294,"data":2546,"content":2547},{},[2548,2552,2561],{"nodeType":1293,"value":2549,"marks":2550,"data":2551},"The best attack detection methods are those that focus on ",[],{},{"nodeType":1337,"data":2553,"content":2555},{"uri":2554},"https://pushsecurity.com/blog/our-design-philosophy-detecting-what-matters/",[2556],{"nodeType":1293,"value":2557,"marks":2558,"data":2560},"detecting indicators that are difficult for attackers to change or obfuscate",[2559],{"type":1345},{},{"nodeType":1293,"value":2562,"marks":2563,"data":2564},". ",[],{},{"nodeType":1294,"data":2566,"content":2567},{},[2568,2572,2577],{"nodeType":1293,"value":2569,"marks":2570,"data":2571},"For a credential phishing attack to succeed, the victim ",[],{},{"nodeType":1293,"value":2573,"marks":2574,"data":2576},"has",[2575],{"type":1345},{},{"nodeType":1293,"value":2578,"marks":2579,"data":2580}," to enter their password into a webpage. There’s no two-ways about it, attackers cannot change this. ",[],{},{"nodeType":1294,"data":2582,"content":2583},{},[2584],{"nodeType":1293,"value":2585,"marks":2586,"data":2587},"So it stands to reason that, if you can detect this user behavior, and block them from entering their password, then you can stop phishing. ",[],{},{"nodeType":1294,"data":2589,"content":2590},{},[2591],{"nodeType":1293,"value":2592,"marks":2593,"data":2594},"This is exactly what Push does.",[],{},{"nodeType":2596,"data":2597,"content":2598},"hr",{},[],{"nodeType":1480,"data":2600,"content":2601},{},[2602],{"nodeType":1293,"value":2603,"marks":2604,"data":2605},"Most anti-phishing tools are easily bypassed",[],{},{"nodeType":1294,"data":2607,"content":2608},{},[2609],{"nodeType":1293,"value":2610,"marks":2611,"data":2612},"Other anti-phishing tools rely on detecting elements of the attack that attackers can change and hide, such as domains or the webpage contents. Attackers use tricks to evade these detection, like:",[],{},{"nodeType":1352,"data":2614,"content":2615},{},[2616,2626,2636,2646,2656],{"nodeType":1356,"data":2617,"content":2618},{},[2619],{"nodeType":1294,"data":2620,"content":2621},{},[2622],{"nodeType":1293,"value":2623,"marks":2624,"data":2625},"Using Cloudflare Workers to block automatic analysis of their phishing site",[],{},{"nodeType":1356,"data":2627,"content":2628},{},[2629],{"nodeType":1294,"data":2630,"content":2631},{},[2632],{"nodeType":1293,"value":2633,"marks":2634,"data":2635},"Hacking a Wordpress blog to get a reputable domain that passes domain checks ",[],{},{"nodeType":1356,"data":2637,"content":2638},{},[2639],{"nodeType":1294,"data":2640,"content":2641},{},[2642],{"nodeType":1293,"value":2643,"marks":2644,"data":2645},"Using redirects and rotating the URLs delivered to the victim to bypass link analysis",[],{},{"nodeType":1356,"data":2647,"content":2648},{},[2649],{"nodeType":1294,"data":2650,"content":2651},{},[2652],{"nodeType":1293,"value":2653,"marks":2654,"data":2655},"Randomizing the HTML title for the web page to bypass blocklists ",[],{},{"nodeType":1356,"data":2657,"content":2658},{},[2659],{"nodeType":1294,"data":2660,"content":2661},{},[2662],{"nodeType":1293,"value":2663,"marks":2664,"data":2665},"One-time phishing links that only work the first time they are clicked",[],{},{"nodeType":1294,"data":2667,"content":2668},{},[2669],{"nodeType":1293,"value":2670,"marks":2671,"data":2672},"Push is putting an end to this game of cat and mouse, by keeping it really simple; you can’t phish someone who can’t put their password into a phishing page. ",[],{},{"nodeType":1395,"data":2674,"content":2678},{"target":2675},{"sys":2676},{"id":2677,"type":1400,"linkType":1401},"6AwOZSpqaChmeksnj4SyWE",[],{"nodeType":2596,"data":2680,"content":2681},{},[],{"nodeType":1480,"data":2683,"content":2684},{},[2685],{"nodeType":1293,"value":2686,"marks":2687,"data":2688},"Domain-binding passwords",[],{},{"nodeType":1294,"data":2690,"content":2691},{},[2692],{"nodeType":1293,"value":2693,"marks":2694,"data":2695},"If you’re familiar with how passkeys are domain-bound, then think of what Push does as domain-binding passwords. We pin the password to its legitimate domain(s) and then don’t allow it to be entered into any webpage on any other domain. ",[],{},{"nodeType":1294,"data":2697,"content":2698},{},[2699],{"nodeType":1293,"value":2700,"marks":2701,"data":2702},"But just because you’ve stopped your users from being phished doesn’t mean you don’t want to know when attackers are attempting to phish your users and how. ",[],{},{"nodeType":1294,"data":2704,"content":2705},{},[2706],{"nodeType":1293,"value":2707,"marks":2708,"data":2709},"Push still inspects webpages to see if attackers are rendering cloned app login pages in the browser or if known AitM and BitM toolkits are being used. This way you don’t lose visibility of the unsuccessful attacks that are targeting your users. Think of it as a handy second and third layer of defense.",[],{},{"nodeType":1294,"data":2711,"content":2712},{},[2713],{"nodeType":1293,"value":2714,"marks":2715,"data":2716},"Lets run through a quick before and after example:",[],{},{"nodeType":1480,"data":2718,"content":2719},{},[2720,2724,2730],{"nodeType":1293,"value":2721,"marks":2722,"data":2723},"Scenario 1: An attacker attempts to phish an employee that ",[],{},{"nodeType":1293,"value":2725,"marks":2726,"data":2729},"doesn’t",[2727,2728],{"type":1345},{"type":1366},{},{"nodeType":1293,"value":2731,"marks":2732,"data":2733}," have Push deployed to their browser.",[],{},{"nodeType":1395,"data":2735,"content":2739},{"target":2736},{"sys":2737},{"id":2738,"type":1400,"linkType":1401},"2CbGMUSJsP1mNeHkmpLl6N",[],{"nodeType":1294,"data":2741,"content":2742},{},[2743],{"nodeType":1293,"value":2744,"marks":2745,"data":2746},"Here, an attacker hacks a Wordpress blog to get a reputable domain and then runs a phishing toolkit on the webpage. They email one of your employees a link to it. Your SWG / email scanning solution inspects it in a sandbox but the phish kit detects this and redirects to a benign site so that it passes the inspection. ",[],{},{"nodeType":1294,"data":2748,"content":2749},{},[2750],{"nodeType":1293,"value":2751,"marks":2752,"data":2753},"Your user gets the email with the link and is now free to interact with the phishing page. They enter their credentials plus MFA code into the page and voila! The attacker steals them and is able to compromise the user’s account.  ",[],{},{"nodeType":1480,"data":2755,"content":2756},{},[2757,2761,2767],{"nodeType":1293,"value":2758,"marks":2759,"data":2760},"Scenario 2: An attacker attempts to phish an employee that ",[],{},{"nodeType":1293,"value":2762,"marks":2763,"data":2766},"does",[2764,2765],{"type":1345},{"type":1366},{},{"nodeType":1293,"value":2768,"marks":2769,"data":2770}," have Push deployed to their browser. ",[],{},{"nodeType":1395,"data":2772,"content":2776},{"target":2773},{"sys":2774},{"id":2775,"type":1400,"linkType":1401},"77smnID1woCfFJrJPyTvKY",[],{"nodeType":1294,"data":2778,"content":2779},{},[2780],{"nodeType":1293,"value":2781,"marks":2782,"data":2783},"This time, the attacker uses the same phishing toolkit and domain from the first example. But in reality, they don’t have to send it to your employee using email, instead, they could use LinkedIn messenger, Slack, Teams, or any application that allows employees to communicate with each other. ",[],{},{"nodeType":1294,"data":2785,"content":2786},{},[2787],{"nodeType":1293,"value":2788,"marks":2789,"data":2790},"Like before, the user receives the link, opens it and starts to enter their credentials into the webpage. This time though, the Push browser extension inspects the webpage running in the user's browser. Push observes that the webpage is a login page and the user is entering their password into the page.",[],{},{"nodeType":1294,"data":2792,"content":2793},{},[2794],{"nodeType":1293,"value":2795,"marks":2796,"data":2797},"The first detection Push makes is checking that the password the user is entering matches the domain that password is pinned to. Since it doesn't match, based on this detection alone the user is automatically redirected to a blocking page. An important point to make here is that the password never leaves the user’s browser and the check is made using a shortened salted hash of the password.   ",[],{},{"nodeType":1294,"data":2799,"content":2800},{},[2801],{"nodeType":1293,"value":2802,"marks":2803,"data":2804},"The second detection Push makes is that the rendered web app is using a cloned app login page. The third detection is that a phishing toolkit is running in the web app code. ",[],{},{"nodeType":1294,"data":2806,"content":2807},{},[2808],{"nodeType":1293,"value":2809,"marks":2810,"data":2811},"In this particular scenario these second and third detections serve as useful context for understanding the nature of the phishing attack. But both will still redirect to a blocking page if they are triggered in isolation of the other phishing detections. ",[],{},{"nodeType":2596,"data":2813,"content":2814},{},[],{"nodeType":1322,"data":2816,"content":2817},{},[2818],{"nodeType":1293,"value":2819,"marks":2820,"data":2821},"We don’t just stop phishing attacks",[],{},{"nodeType":1294,"data":2823,"content":2824},{},[2825,2829,2838],{"nodeType":1293,"value":2826,"marks":2827,"data":2828},"We also detect other identity-related attack techniques used to compromise user accounts. That includes credential stuffing, password spraying and session hijacking using stolen session tokens. If you want to learn more about how Push helps you to detect and defeat common identity attack techniques, ",[],{},{"nodeType":1337,"data":2830,"content":2832},{"uri":2831},"https://pushsecurity.com/demo/",[2833],{"nodeType":1293,"value":2834,"marks":2835,"data":2837},"book some time with one of our team",[2836],{"type":1345},{},{"nodeType":1293,"value":2839,"marks":2840,"data":2841},".  ",[],{},{"nodeType":1395,"data":2843,"content":2847},{"target":2844},{"sys":2845},{"id":2846,"type":1400,"linkType":1401},"2JSmYDaiAciOx7Z1MRuJlA",[],{"nodeType":1294,"data":2849,"content":2850},{},[2851],{"nodeType":1293,"value":37,"marks":2852,"data":2853},[],{},"Detecting and blocking phishing attacks in the browser","How Push detects and blocks phishing attempts in the browser – explained in less than two minutes. ","2024-10-23T00:00:00.000Z","detecting-and-blocking-phishing-attacks-in-the-browser",{"items":2859},[2860,2862],{"sys":2861,"name":1310},{"id":1309},{"sys":2863,"name":1306},{"id":1305},{"items":2865},[2866],{"fullName":2867,"firstName":2868,"jobTitle":2869,"profilePicture":2870},"Alex Henshall","Alex","Product Team",{"url":2871},"https://images.ctfassets.net/y1cdw1ablpvd/2rz3Pre3b1MexPIQ4hzPUe/0ef8a092b7e7df00fbce3f7d1ccb96d1/Alex_Henshall.jpeg",{"items":2873},[2874],{"fullName":2027,"firstName":2028,"jobTitle":2029,"profilePicture":2875},{"url":2031},{"json":2877,"links":3443},{"data":2878,"content":2879,"nodeType":1295},{},[2880,2900,2919,2926,2932,2939,2946,2953,2960,2969,2988,2995,3002,3009,3015,3022,3055,3062,3069,3076,3083,3089,3096,3103,3110,3142,3148,3155,3162,3193,3199,3206,3213,3220,3227,3233,3239,3246,3253,3260,3266,3273,3280,3287,3294,3313,3329,3335,3342,3349,3355,3362,3381,3387,3394,3421,3428,3435],{"data":2881,"content":2882,"nodeType":1294},{},[2883,2887,2896],{"data":2884,"marks":2885,"value":2886,"nodeType":1293},{},[],"It’s been well reported that ",{"data":2888,"content":2890,"nodeType":1337},{"uri":2889},"https://pushsecurity.com/blog/identity-attacks-in-the-wild/",[2891],{"data":2892,"marks":2893,"value":2895,"nodeType":1293},{},[2894],{"type":1345},"identity attacks are on the rise",{"data":2897,"marks":2898,"value":2899,"nodeType":1293},{},[],", and constantly evolving phishing tools and techniques are a big part of this. In particular, the increasing prevalence of MFA has led to AitM phishing attacks becoming much more common. The threat intelligence industry naturally wants to locate and shutdown all the phishing servers – but the phishers are fighting back.",{"data":2901,"content":2902,"nodeType":1294},{},[2903,2907,2915],{"data":2904,"marks":2905,"value":2906,"nodeType":1293},{},[],"Before we dive into how AitM phishing kits evade detection, you should check out our earlier blog post on ‘",{"data":2908,"content":2909,"nodeType":1337},{"uri":1640},[2910],{"data":2911,"marks":2912,"value":2914,"nodeType":1293},{},[2913],{"type":1345},"Phishing 2.0 – how phishing toolkits are evolving with AitM",{"data":2916,"marks":2917,"value":2918,"nodeType":1293},{},[],"’ if you want to get up to speed with what these toolkits are, and why attackers are using them more regularly. ",{"data":2920,"content":2921,"nodeType":1294},{},[2922],{"data":2923,"marks":2924,"value":2925,"nodeType":1293},{},[],"In this blog post, we’re going to look at a recent instance of the NakedPages AitM phishing toolkit and some of the steps it takes to frustrate detection and analysis. In particular, we’ll look at how malicious activity is obfuscated through the use of legitimate SaaS services. NakedPages uses a range of different techniques and so serves as a good case study as to how AitM toolkits are being designed to evade detection.",{"data":2927,"content":2931,"nodeType":1395},{"target":2928},{"sys":2929},{"id":2930,"type":1400,"linkType":1401},"2Qcn2nNRXVkdqqxGO8lDZf",[],{"data":2933,"content":2934,"nodeType":1294},{},[2935],{"data":2936,"marks":2937,"value":2938,"nodeType":1293},{},[],"Before we dive in, it’s useful to keep in mind that while there is a lot of complication here, most of this happens in seconds and is transparent to the intended victim accessing from a real browser.",{"data":2940,"content":2941,"nodeType":1322},{},[2942],{"data":2943,"marks":2944,"value":2945,"nodeType":1293},{},[],"Step 1: Cloudflare Workers for the initial gateway",{"data":2947,"content":2948,"nodeType":1294},{},[2949],{"data":2950,"marks":2951,"value":2952,"nodeType":1293},{},[],"A key feature of the NakedPages kit is that it has several stages and redirections and, in order for it to operate as intended, the target has to arrive at the beginning. The first step involves visiting a URL that is simply a Cloudflare Worker. Cloudflare Workers are a serverless execution environment, a bit like AWS lambdas.",{"data":2954,"content":2955,"nodeType":1294},{},[2956],{"data":2957,"marks":2958,"value":2959,"nodeType":1293},{},[],"The benefit to the attacker is that this gives them a highly reputable primary domain as it is one owned and operated by Cloudflare. Flagging recently registered or uncategorized/rare domains for further analysis won’t work for this. For example, the URL used in this instance was the following:",{"data":2961,"content":2962,"nodeType":1294},{},[2963],{"data":2964,"marks":2965,"value":2968,"nodeType":1293},{},[2966],{"type":2967},"code","hxxps://226028cc.502f135e3e036e726fba22d4.workers.dev",{"data":2970,"content":2971,"nodeType":1294},{},[2972,2976,2985],{"data":2973,"marks":2974,"value":2975,"nodeType":1293},{},[],"For other examples of Cloudflare Workers being abused for phishing, ",{"data":2977,"content":2979,"nodeType":1337},{"uri":2978},"https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/its-raining-phish-and-scams-how-cloudflare-pages-dev-and-workers-dev-domains-get-abused/",[2980],{"data":2981,"marks":2982,"value":2984,"nodeType":1293},{},[2983],{"type":1345},"check out this blog post from Trustwave",{"data":2986,"marks":2987,"value":1648,"nodeType":1293},{},[],{"data":2989,"content":2990,"nodeType":1322},{},[2991],{"data":2992,"marks":2993,"value":2994,"nodeType":1293},{},[],"Step 2: Cloudflare Turnstile for bot detection",{"data":2996,"content":2997,"nodeType":1294},{},[2998],{"data":2999,"marks":3000,"value":3001,"nodeType":1293},{},[],"The only purpose of the Cloudflare Worker is to act as a bot gateway to prevent automated analysis getting further than this point. For this it uses Cloudflare Turnstile. Turnstile is a highly effective tool for detecting the difference between bots and human users as a replacement for CAPTCHAs used by websites across the world. ",{"data":3003,"content":3004,"nodeType":1294},{},[3005],{"data":3006,"marks":3007,"value":3008,"nodeType":1293},{},[],"If it doesn’t work transparently then you’ll probably see something like this:",{"data":3010,"content":3014,"nodeType":1395},{"target":3011},{"sys":3012},{"id":3013,"type":1400,"linkType":1401},"4XNxLbiZf3xUK1WeFDjjxl",[],{"data":3016,"content":3017,"nodeType":1294},{},[3018],{"data":3019,"marks":3020,"value":3021,"nodeType":1293},{},[],"However, who else wants to keep out the bots? Well, phishers of course! There are many sandbox environments and other automated platforms out there, visiting every URL they come across in the search for malicious behavior. This stops many of them in their tracks as they never get past the Turnstile check. ",{"data":3023,"content":3024,"nodeType":1294},{},[3025,3029,3038,3042,3051],{"data":3026,"marks":3027,"value":3028,"nodeType":1293},{},[],"Malicious use of Turnstile use has become much more common now. Examples include other criminal kits ",{"data":3030,"content":3032,"nodeType":1337},{"uri":3031},"https://blog.sekoia.io/tycoon-2fa-an-in-depth-analysis-of-the-latest-version-of-the-aitm-phishing-kit/",[3033],{"data":3034,"marks":3035,"value":3037,"nodeType":1293},{},[3036],{"type":1345},"such as Tycoon",{"data":3039,"marks":3040,"value":3041,"nodeType":1293},{},[],", as well as ",{"data":3043,"content":3045,"nodeType":1337},{"uri":3044},"https://fin3ss3g0d.net/index.php/2024/04/08/evilgophishs-approach-to-advanced-bot-detection-with-cloudflare-turnstile/",[3046],{"data":3047,"marks":3048,"value":3050,"nodeType":1293},{},[3049],{"type":1345},"open-source phishing tools focused on red teaming",{"data":3052,"marks":3053,"value":3054,"nodeType":1293},{},[],". ",{"data":3056,"content":3057,"nodeType":1322},{},[3058],{"data":3059,"marks":3060,"value":3061,"nodeType":1293},{},[],"Step 3: Required URL parameters and custom auth headers",{"data":3063,"content":3064,"nodeType":1294},{},[3065],{"data":3066,"marks":3067,"value":3068,"nodeType":1293},{},[],"If you get past Turnstile, then you’ll finally be redirected to a more conventionally suspicious domain. However, you’ll need to supply the correct URL parameters and headers, or that request might behave differently. ",{"data":3070,"content":3071,"nodeType":1294},{},[3072],{"data":3073,"marks":3074,"value":3075,"nodeType":1293},{},[],"Suspicious domains can be found and interrogated through other means, such as observing new domain registrations or certificate transparency logs. In this case, the phishers add other steps involving required URL parameters and custom headers. This means that a defender who knows the domain name can’t discover the malicious behavior just by making a simple HTTP(S) request to the domain.",{"data":3077,"content":3078,"nodeType":1294},{},[3079],{"data":3080,"marks":3081,"value":3082,"nodeType":1293},{},[],"The following code snippet shows how this operates. Bonus points for spotting how they actually forgot to implement their own RSA encryption function and instead send their “encrypted” user agents in clear text:",{"data":3084,"content":3088,"nodeType":1395},{"target":3085},{"sys":3086},{"id":3087,"type":1400,"linkType":1401},"45aif31bot9phquQPkz20p",[],{"data":3090,"content":3091,"nodeType":1322},{},[3092],{"data":3093,"marks":3094,"value":3095,"nodeType":1293},{},[],"Step 4: Requiring JavaScript execution",{"data":3097,"content":3098,"nodeType":1294},{},[3099],{"data":3100,"marks":3101,"value":3102,"nodeType":1293},{},[],"Another aspect of the previous step is that it requires JavaScript to execute. That means defensive techniques that simply make HTTP(S) requests and scrape content will not automatically be able to follow the link without allowing JavaScript execution. This forces the use of dynamic sandbox techniques that actually load a DOM, as it’s almost impossible for static analysis to generically solve this problem.",{"data":3104,"content":3105,"nodeType":1322},{},[3106],{"data":3107,"marks":3108,"value":3109,"nodeType":1293},{},[],"Step 5: Redirecting to legitimate domains",{"data":3111,"content":3112,"nodeType":1294},{},[3113,3117,3125,3129,3138],{"data":3114,"marks":3115,"value":3116,"nodeType":1293},{},[],"Attackers will also redirect to legitimate domains to mask their activity. Let’s say a defender has visited the attacker’s malicious domain without executing JavaScript or supplying the correct URL parameters. The attacker doesn’t want to activate their malicious phishing behavior at this point, so they need to do something benign instead. In this case, they simply redirect to ",{"data":3118,"content":3120,"nodeType":1337},{"uri":3119},"https://example.com",[3121],{"data":3122,"marks":3123,"value":3119,"nodeType":1293},{},[3124],{"type":1345},{"data":3126,"marks":3127,"value":3128,"nodeType":1293},{},[],". Interestingly, ",{"data":3130,"content":3132,"nodeType":1337},{"uri":3131},"https://www.youtube.com/watch?v=-W-LxcbUxI4&t=643s",[3133],{"data":3134,"marks":3135,"value":3137,"nodeType":1293},{},[3136],{"type":1345},"EvilProxy has also been seen redirecting to example.com too",{"data":3139,"marks":3140,"value":3141,"nodeType":1293},{},[],":",{"data":3143,"content":3147,"nodeType":1395},{"target":3144},{"sys":3145},{"id":3146,"type":1400,"linkType":1401},"450Y7W1uXVkKSps5y0xhBe",[],{"data":3149,"content":3150,"nodeType":1322},{},[3151],{"data":3152,"marks":3153,"value":3154,"nodeType":1293},{},[],"Step 6: HTTP referer header masking",{"data":3156,"content":3157,"nodeType":1294},{},[3158],{"data":3159,"marks":3160,"value":3161,"nodeType":1293},{},[],"Maintainers of legitimate websites often look at the HTTP referer header to see where they are being linked from. This is often a critical task for businesses, particularly for things like marketing. However, what if employees spot strange redirects coming in from suspicious looking domains like the ones used by this phishing kit? Perhaps they might investigate those domains and/or tip off relevant security vendors and organizations. ",{"data":3163,"content":3164,"nodeType":1294},{},[3165,3169,3177,3181,3189],{"data":3166,"marks":3167,"value":3168,"nodeType":1293},{},[],"Unless, of course, you were to use a service to mask the HTTP referrer – which is exactly what the phishing kit does in this case. NakedPages makes use of ",{"data":3170,"content":3172,"nodeType":1337},{"uri":3171},"https://href.li/",[3173],{"data":3174,"marks":3175,"value":3171,"nodeType":1293},{},[3176],{"type":1345},{"data":3178,"marks":3179,"value":3180,"nodeType":1293},{},[]," as a service to strip the referral to ensure the redirection is performed anonymously. Rather conveniently, it seems the default example that ",{"data":3182,"content":3184,"nodeType":1337},{"uri":3183},"https://href.li",[3185],{"data":3186,"marks":3187,"value":3183,"nodeType":1293},{},[3188],{"type":1345},{"data":3190,"marks":3191,"value":3192,"nodeType":1293},{},[]," uses is… example.com:",{"data":3194,"content":3198,"nodeType":1395},{"target":3195},{"sys":3196},{"id":3197,"type":1400,"linkType":1401},"78xFQwTG1r0YWGJ24iEdYP",[],{"data":3200,"content":3201,"nodeType":1322},{},[3202],{"data":3203,"marks":3204,"value":3205,"nodeType":1293},{},[],"Step 7: Loading balanced domains",{"data":3207,"content":3208,"nodeType":1294},{},[3209],{"data":3210,"marks":3211,"value":3212,"nodeType":1293},{},[],"You’re probably thinking: Step 7? Surely, if a victim’s browser has finally made it this far then the attackers would just serve up the malicious phishing content at this point, right? Well, we aren’t quite done yet. These initial gateway servers are one of the most important components to keep undetected, as existing phishing campaigns and (as yet unread) emails will be leading to them.",{"data":3214,"content":3215,"nodeType":1294},{},[3216],{"data":3217,"marks":3218,"value":3219,"nodeType":1293},{},[],"Once we get to the more obviously malicious phishing activity, there is a higher chance of detection and user reports. In this case the phishing kit actually retrieves a new URL to redirect to, along with a suitable JWT authentication parameter. The benefit of this is that when URLs/hostnames get flagged as malicious, blocked or otherwise taken down, the phishing kit can just redirect to other hostnames, and the attacker’s can keep updating with new URLs over time. ",{"data":3221,"content":3222,"nodeType":1294},{},[3223],{"data":3224,"marks":3225,"value":3226,"nodeType":1293},{},[],"Below we can see an example of the response containing a URL, with a JWT auth parameter:",{"data":3228,"content":3232,"nodeType":1395},{"target":3229},{"sys":3230},{"id":3231,"type":1400,"linkType":1401},"4NpH7V5oEdTASNNJsqCJ47",[],{"data":3234,"content":3238,"nodeType":1395},{"target":3235},{"sys":3236},{"id":3237,"type":1400,"linkType":1401},"7oqkrhNXtyOlJMEz0BZyLo",[],{"data":3240,"content":3241,"nodeType":1294},{},[3242],{"data":3243,"marks":3244,"value":3245,"nodeType":1293},{},[],"Automating this request in this example brings back around 20 different primary domains used for the final phishing attack. These domains are rotated over time as some are blocked and new ones are created.",{"data":3247,"content":3248,"nodeType":1322},{},[3249],{"data":3250,"marks":3251,"value":3252,"nodeType":1293},{},[],"Step 8: Breaking login page signatures",{"data":3254,"content":3255,"nodeType":1294},{},[3256],{"data":3257,"marks":3258,"value":3259,"nodeType":1293},{},[],"If all the previous checks have passed then a victim user is finally presented with a phishing page. The attacker has most closely emulated the sign-on page for live.com for Outlook in this case, though it also has some aspects from a business Microsoft login too, as we can see in the examples below:",{"data":3261,"content":3265,"nodeType":1395},{"target":3262},{"sys":3263},{"id":3264,"type":1400,"linkType":1401},"2Ez0fgAlmkrisdQGWfL6CV",[],{"data":3267,"content":3268,"nodeType":1294},{},[3269],{"data":3270,"marks":3271,"value":3272,"nodeType":1293},{},[],"However, one obvious change can be seen in the HTML title in the tab header. This normally says something like “Sign in to Outlook” or “Sign in to your account”. In this case, the phishing kit has randomized the HTML title. \n\nOne super easy way to detect websites pretending to be common login pages that have 1:1 cloned the website or are performing full reverse proxy AiTM techniques would be to search for obvious HTML content like this. Not many legitimate websites should have an HTML title of “Sign in to Outlook” other than Microsoft’s own legitimate domains for it, right?",{"data":3274,"content":3275,"nodeType":1294},{},[3276],{"data":3277,"marks":3278,"value":3279,"nodeType":1293},{},[],"Taking a closer look, we’ll see that the HTML, DOM and JavaScript etc. differ quite significantly from the true login pages, even if the visual appearance is very similar. One reason for this is to make it harder for defenders to simply signature on specific aspects of commonly spoofed login pages.",{"data":3281,"content":3282,"nodeType":1322},{},[3283],{"data":3284,"marks":3285,"value":3286,"nodeType":1293},{},[],"Step 9: B2B targeting",{"data":3288,"content":3289,"nodeType":1294},{},[3290],{"data":3291,"marks":3292,"value":3293,"nodeType":1293},{},[],"The final interesting aspect of this particular example is that it modifies its behavior during the login process depending on whether a personal Microsoft account or an organization account is used.",{"data":3295,"content":3296,"nodeType":1294},{},[3297,3301,3309],{"data":3298,"marks":3299,"value":3300,"nodeType":1293},{},[],"When entering an email address associated with a personal Microsoft account, or picking ‘personal account’ when prompted after entering an email address that is used for both purposes, the server will return a 302 redirect and send the user to ",{"data":3302,"content":3304,"nodeType":1337},{"uri":3303},"https://login.live.com/",[3305],{"data":3306,"marks":3307,"value":3303,"nodeType":1293},{},[3308],{"type":1345},{"data":3310,"marks":3311,"value":3312,"nodeType":1293},{},[]," where they can then re-enter their credentials and login to Microsoft legitimately if they continue. This reduces the potential for detection further as no AitM phishing login will actually occur.",{"data":3314,"content":3315,"nodeType":1294},{},[3316,3320,3325],{"data":3317,"marks":3318,"value":3319,"nodeType":1293},{},[],"On the other hand, when using an organization account the phishing process continues as expected. ",{"data":3321,"marks":3322,"value":3324,"nodeType":1293},{},[3323],{"type":1366},"This phishing campaign is exclusively targeting corp accounts",{"data":3326,"marks":3327,"value":3328,"nodeType":1293},{},[]," and you could almost say it has a B2B (or is that A2B?) rather than B2C business model.  ",{"data":3330,"content":3331,"nodeType":1322},{},[3332],{"data":3333,"marks":3334,"value":1938,"nodeType":1293},{},[],{"data":3336,"content":3337,"nodeType":1294},{},[3338],{"data":3339,"marks":3340,"value":3341,"nodeType":1293},{},[],"As you may have guessed from the extremely suspicious domains in use and examples of sloppy coding (like forgetting to implement an encryption function) the NakedPages kit is far from sophisticated. Despite this, the tricks that attackers are using to make detection and analysis more difficult seem to be quite effective when used in a layered model. ",{"data":3343,"content":3344,"nodeType":1294},{},[3345],{"data":3346,"marks":3347,"value":3348,"nodeType":1293},{},[],"For example, at the time of writing this particular Worker had been up for at least two days and was currently only triggering 1 detection on VirusTotal. ",{"data":3350,"content":3354,"nodeType":1395},{"target":3351},{"sys":3352},{"id":3353,"type":1400,"linkType":1401},"1mIOpDtmgcMasK6dEhRHsm",[],{"data":3356,"content":3357,"nodeType":1294},{},[3358],{"data":3359,"marks":3360,"value":3361,"nodeType":1293},{},[],"One key takeaway is that it’s near impossible to stay on top of all the phishing servers on the internet. Even the untargeted mass campaigns will initially be missed by TI feeds, let alone the targeted ones. ",{"data":3363,"content":3364,"nodeType":1294},{},[3365,3369,3377],{"data":3366,"marks":3367,"value":3368,"nodeType":1293},{},[],"The best foot forward for resilience against these attacks is through the use of domain-bound MFA methods like WebAuthn. Common MFA methods like OTPs, SMS, push notifications etc. are routinely bypassed using ",{"data":3370,"content":3371,"nodeType":1337},{"uri":1640},[3372],{"data":3373,"marks":3374,"value":3376,"nodeType":1293},{},[3375],{"type":1345},"AitM techniques that proxy the MFA authentication as well",{"data":3378,"marks":3379,"value":3380,"nodeType":1293},{},[],". Even if you are one of the few who use phishing-resistant MFA methods like WebAuthn or other passkeys, the devil is in the detail and we’ve seen MFA downgrade attacks being used to bypass them by choosing a phishable method that’s also active.",{"data":3382,"content":3386,"nodeType":1395},{"target":3383},{"sys":3384},{"id":3385,"type":1400,"linkType":1401},"17lSgRFD6fDzRUn9eOHJg6",[],{"data":3388,"content":3389,"nodeType":1322},{},[3390],{"data":3391,"marks":3392,"value":3393,"nodeType":1293},{},[],"P.S. How did we detect this?",{"data":3395,"content":3396,"nodeType":1294},{},[3397,3401,3406,3410,3418],{"data":3398,"marks":3399,"value":3400,"nodeType":1293},{},[],"After all that, you might be wondering how we managed to automate a process to generically pass through all these detection evasion techniques – ",{"data":3402,"marks":3403,"value":3405,"nodeType":1293},{},[3404],{"type":1366},"well the short answer is: We didn’t.",{"data":3407,"marks":3408,"value":3409,"nodeType":1293},{},[]," Instead, we detected the act of an employee ",{"data":3411,"content":3412,"nodeType":1337},{"uri":2317},[3413],{"data":3414,"marks":3415,"value":3417,"nodeType":1293},{},[3416],{"type":1345},"attempting to put their Microsoft password into a website that wasn’t Microsoft",{"data":3419,"marks":3420,"value":1648,"nodeType":1293},{},[],{"data":3422,"content":3423,"nodeType":1294},{},[3424],{"data":3425,"marks":3426,"value":3427,"nodeType":1293},{},[],"The TTP for phishing is effectively “trick someone into putting their valid credentials into the wrong site” – so detecting that behavior directly (the action of entering a legit password into the wrong site) can be a lot simpler and more effective than playing the cat-and-mouse detection → detection-evasion game.",{"data":3429,"content":3430,"nodeType":1294},{},[3431],{"data":3432,"marks":3433,"value":3434,"nodeType":1293},{},[],"Having said that, if you’re interested, here are the domain IOCs for this campaign:",{"data":3436,"content":3437,"nodeType":1294},{},[3438],{"data":3439,"marks":3440,"value":3442,"nodeType":1293},{},[3441],{"type":2967},"226028cc[.]502f135e3e036e726fba22d4[.]workers[.]dev\nacevoorgukmembership[.]buzz\nalerteditorroyalsocietyorgnz[.]buzz\nandymarshallsgeniuslocidigestghostiomghostio[.]buzz\nblogresponseinsperitycom[.]buzz\ncampaigneventbritecomnoreply[.]buzz\ncharityexcellencer1technologytrustnewsorg[.]buzz\nclerkenwelldesignweekcomnoreply[.]buzz\nconfirminfothetrainlinecomauto[.]buzz\nhealthestatejournalcomnoreply[.]buzz\nmentalhealthdesignandbuildcomnoreply[.]buzz\nnoreplynotificationswhoopcom[.]buzz\nstepexhibitionscomeventsupport[.]buzz\ntheathletice1theathleticcom[.]buzz\nthekakahoonssubstackcom[.]buzz",{"entries":3444},{"hyperlink":3445,"inline":3446,"block":3447},[],[],[3448,3456,3465,3472,3480,3487,3494,3501,3508,3515],{"sys":3449,"__typename":3450,"type":3451,"ctaText":3452,"buttonLabel":3453,"buttonColour":3454,"buttonUrl":3455},{"id":2930},"CtaWidget","Custom","Check out our on-demand webinar to see more ways how AitM toolkits like NakedPages, Tycoon and Evilginx evade detection","Watch Now","sea blue","https://pushsecurity.com/resources/on-demand-webinar-phish-kit-teardown",{"sys":3457,"__typename":3458,"title":3459,"caption":3460,"layoutMode":118,"file":3461},{"id":3013},"Image","Turnstile requiring human interaction","Cloudflare Turnstile requiring human interaction",{"url":3462,"width":3463,"height":3464},"https://images.ctfassets.net/y1cdw1ablpvd/DbEYzQt7m3jY56ALCYWEy/59846e7bd4a3ed204722a9d561e97231/image2.png",938,361,{"sys":3466,"__typename":3458,"title":3467,"caption":3467,"layoutMode":118,"file":3468},{"id":3087}," Turns out encryption is hard for attackers as well",{"url":3469,"width":3470,"height":3471},"https://images.ctfassets.net/y1cdw1ablpvd/6pBPG14eFuJclV4KNtDVtG/1c335e64e4ac779b9bdfbb287e8424c6/image5.png",580,418,{"sys":3473,"__typename":3458,"title":3474,"caption":3475,"layoutMode":118,"file":3476},{"id":3146},"Example domain","If everything doesn’t go perfectly you end up on example.com instead of the phishing page",{"url":3477,"width":3478,"height":3479},"https://images.ctfassets.net/y1cdw1ablpvd/4ABcdZCFsxrZYSHYpQNZY1/f2d6438d1b53ec2e47e0bfbfec44fe59/image6.png",1422,574,{"sys":3481,"__typename":3458,"title":3482,"caption":3482,"layoutMode":118,"file":3483},{"id":3197},"The href.li service that hides referrers",{"url":3484,"width":3485,"height":3486},"https://images.ctfassets.net/y1cdw1ablpvd/6lfYLQVz50TRqhfuOE3020/5ca9a4ccee7894769a3b9e39addf5b5c/image7.png",1636,614,{"sys":3488,"__typename":3458,"title":3489,"caption":118,"layoutMode":118,"file":3490},{"id":3231},"URL with a JWT auth parameter:",{"url":3491,"width":3492,"height":3493},"https://images.ctfassets.net/y1cdw1ablpvd/1wFzygwfEek9GamL9NxzXm/d537558134774817d9dc87075cd3db8f/image8.png",1654,660,{"sys":3495,"__typename":3458,"title":3496,"caption":118,"layoutMode":118,"file":3497},{"id":3237},"URL with a JWT auth parameter (2)",{"url":3498,"width":3499,"height":3500},"https://images.ctfassets.net/y1cdw1ablpvd/1m75J16LXvOv3ilKd2PndP/60e24888b30259018d9b36c2171b990b/image3.png",1226,906,{"sys":3502,"__typename":3458,"title":3503,"caption":118,"layoutMode":118,"file":3504},{"id":3264},"Breaking login page signatures",{"url":3505,"width":3506,"height":3507},"https://images.ctfassets.net/y1cdw1ablpvd/5zCs41eAanFqhO8lEqmhSn/4aad92d073bf87a7d03fd7c8901f29e6/image1.png",1935,761,{"sys":3509,"__typename":3458,"title":3510,"caption":118,"layoutMode":118,"file":3511},{"id":3353},"VirusTotal entry for NakedPages URL",{"url":3512,"width":3513,"height":3514},"https://images.ctfassets.net/y1cdw1ablpvd/6f6zM8NSe0UZ0H9ydCDgqi/784b6a8ad40f32835d7e8733010f8ad0/image4.png",1340,277,{"sys":3516,"__typename":3450,"type":3451,"ctaText":3517,"buttonLabel":3518,"buttonColour":3519,"buttonUrl":1339},{"id":3385},"Want to see more ways AitM kits evade detection? Check out Part 2 here.","Read Blog","orange","content:blog:how-aitm-phishing-kits-evade-detection.json","json","content","blog/how-aitm-phishing-kits-evade-detection.json","blog/how-aitm-phishing-kits-evade-detection",1776359988182]