[{"data":1,"prerenderedAt":3007},["ShallowReactive",2],{"application-flags":3,"navbar":7,"always-visible-banner":36,"navbar-about-highlight":108,"navbar-resource-highlight":182,"blog/how-consent-phishing-is-evolving":226},[4],{"name":5,"enabled":6},"maintenanceMode",false,[8],{"createdDate":9,"id":10,"name":11,"modelId":12,"published":13,"query":14,"data":15,"variations":20,"lastUpdated":21,"firstPublished":22,"testRatio":23,"createdBy":24,"lastUpdatedBy":25,"folders":26,"meta":27,"rev":35},1742208588866,"1c7a4e423bf54ac1a328bb4063459ef2","Banner","1c6207a5f24948ab82d4a0b17f251193","published",[],{"type":16,"url":17,"text":18,"link":19},"web-banner","https://pushsecurity.com/resources/browser-attacks-report","Get our latest report analyzing browser attack techniques in 2026",{},{},1774258294825,1742208637545,1,"CydmZnOWU1XuAaLhEDCoYNM4Z8W2","jKjF9r5jcvXU8tzZEfFQm31Iyvr2",[],{"kind":28,"lastPreviewUrl":29,"breakpoints":30,"hasAutosaves":34},"data","",{"xsmall":31,"small":32,"medium":33},320,640,768,true,"ga0kpxjhh76",{"createdDate":37,"id":38,"name":39,"modelId":40,"published":13,"stageModifiedSincePublish":6,"query":41,"data":42,"variations":97,"lastUpdated":98,"firstPublished":99,"testRatio":23,"createdBy":100,"lastUpdatedBy":101,"folders":102,"meta":103,"rev":107},1774965361051,"fd266d0172cc47429be7ad10f48c99ad","always visible banner","0678d178ec8b41efb8a23c09dba7874d",[],{"ctaText":43,"text":44,"url":29,"blocks":45,"state":93},"ewrererw","testrfesssssssssss",[46,73,81],{"@type":47,"@version":48,"id":49,"component":50,"responsiveStyles":63},"@builder.io/sdk:Element",2,"builder-ca12c06a52de41d7b8743da53118cd38",{"name":51,"tag":51,"options":52,"isRSC":62},"TopBannerContent",{"text":53,"ctaText":54,"url":55,"mainText":56,"cta":59},"New Webinar Series: Join John Hammond, Troy Hunt, and Matt Johansen for the State of Browser Attacks","Save Your Spot","https://pushsecurity.com/webinar/state-of-browser-security",{"content":57,"fontSize":58},"\u003Cp>Meet Push's browser security experts at BlackHat 2026.\u003C/p>","text-base",{"content":60,"fontSize":58,"url":61},"\u003Cp>Book a meeting →\u003C/p>","https://pushsecurity.com/events/blackhat-2026-meeting",null,{"large":64},{"display":65,"flexDirection":66,"position":67,"flexShrink":68,"boxSizing":69,"marginTop":70,"marginBottom":70,"fontSize":71,"fontWeight":72},"flex","column","relative","0","border-box",".56rem","1.125rem","700",{"@type":47,"@version":48,"id":74,"component":75,"responsiveStyles":79},"builder-a2e1f4b9f30b464bb814d7f5de5b0aa7",{"name":76,"options":77,"isRSC":62},"Custom Code",{"code":78,"scriptsClientOnly":6},"\u003Cstyle>\n  .top-banner.bg-web-orange{background:rgb(114, 79, 255);}\n\u003C/style>\n",{"large":80},{"display":65,"flexDirection":66,"position":67,"flexShrink":68,"boxSizing":69},{"id":82,"@type":47,"tagName":83,"properties":84,"responsiveStyles":88},"builder-pixel-o503s4fpvk","img",{"src":85,"aria-hidden":86,"alt":29,"role":87,"width":68,"height":68},"https://cdn.builder.io/api/v1/pixel?apiKey=f3a1111ff5be48cdbb123cd9f5795a05","true","presentation",{"large":89},{"height":68,"width":68,"display":90,"opacity":68,"overflow":91,"pointerEvents":92},"block","hidden","none",{"deviceSize":94,"location":95},"large",{"path":29,"query":96},{},{},1783541846936,1774968080803,"ST0tXQM8slWpFrmioqKHmENB2qe2","kYgMv6WsbvfmlOUYqR2SFwGzw6e2",[],{"kind":104,"lastPreviewUrl":105,"hasLinks":6,"breakpoints":106,"hasErrors":6,"hasAutosaves":6},"component","https://pushsecurity.com/?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=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",{"xsmall":31,"small":32,"medium":33},"kyujw1aptq",[109,145],{"createdDate":110,"id":111,"name":112,"modelId":113,"published":13,"stageModifiedSincePublish":6,"query":114,"data":115,"variations":138,"lastUpdated":139,"firstPublished":140,"testRatio":23,"createdBy":24,"lastUpdatedBy":24,"folders":141,"meta":142,"rev":144},1776247359804,"9136a8f18b3b4a6ba29b8653a99372b1","testimonial-inductive-automation","20d9eaa352304613b3d1a794b400703d",[],{"link":116,"type":117,"testimonialLink":118,"testimonial":119},{},"testimonial","/customer-stories/inductive-automation",{"@type":120,"id":121,"model":117,"value":122},"@builder.io/core:Reference","f028f2b685bb47cd8bf9e82a26dd5a79",{"query":123,"folders":124,"createdDate":125,"id":121,"name":126,"modelId":127,"published":13,"data":128,"variations":132,"lastUpdated":133,"firstPublished":134,"testRatio":23,"createdBy":100,"lastUpdatedBy":100,"meta":135,"rev":137},[],[],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":129,"jobTitle":130,"quote":126,"image":131},"Jason Waits","\u003Cp>CISO at Inductive Automation\u003C/p>","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2Ff04c0c0689ce4a89ac0f0708d78c0a07",{},1735910703862,1735823501152,{"kind":28,"lastPreviewUrl":29,"breakpoints":136,"hasAutosaves":34},{"small":32,"medium":33},"e8bsg4qrgtu",{},1776247404986,1776247404973,[],{"breakpoints":143,"kind":28,"lastPreviewUrl":29,"hasAutosaves":6},{"xsmall":31,"small":32,"medium":33},"g9lqcuxphw7",{"createdDate":146,"id":147,"name":148,"modelId":113,"published":13,"meta":149,"stageModifiedSincePublish":6,"query":151,"data":152,"variations":178,"lastUpdated":179,"firstPublished":180,"testRatio":23,"createdBy":24,"lastUpdatedBy":24,"folders":181,"rev":144},1776255761419,"05a9322735fc427db12e2740e4302300","Report: 2026 Browser Attack Techniques",{"breakpoints":150,"kind":28,"lastPreviewUrl":29,"hasAutosaves":6},{"xsmall":31,"small":32,"medium":33},[],{"testimonial":153,"link":172,"type":175,"title":148,"description":176,"image":177},{"@type":120,"id":154,"model":117,"value":155},"192acbb1f9ca4cac918c0ec435a8bae3",{"query":156,"folders":157,"createdDate":158,"id":154,"name":159,"modelId":127,"published":13,"data":160,"variations":166,"lastUpdated":167,"firstPublished":168,"testRatio":23,"createdBy":100,"lastUpdatedBy":24,"meta":169,"rev":171},[],[],1728981467463,"Push does for identity what CrowdStrike did for the endpoint",{"video":161,"jobTitle":162,"author":163,"qoute":29,"quote":164,"image":165},"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":28,"lastPreviewUrl":29,"breakpoints":170,"hasAutosaves":34},{"small":32,"medium":33},"ulhc0im1hfo",{"text":173,"url":174},"Download now","/resources/browser-attacks-report","resource","Learn about the latest techniques being used in the wild.","https://cdn.builder.io/api/v1/image/assets%2Ff3a1111ff5be48cdbb123cd9f5795a05%2F7b4a5ebf81d64e8c9d7fc35f6c96c4a9",{},1776255810913,1776255810900,[],[183,205],{"createdDate":184,"id":185,"name":148,"modelId":186,"published":13,"meta":187,"stageModifiedSincePublish":6,"query":189,"data":190,"variations":200,"lastUpdated":201,"firstPublished":202,"testRatio":23,"createdBy":24,"lastUpdatedBy":24,"folders":203,"rev":204},1776256900280,"1f429607996e4e5fae8fe3f9b9610e55","4829faa81e7c4ee8bd2d000e160e8d3c",{"breakpoints":188,"kind":28,"lastPreviewUrl":29,"hasAutosaves":6},{"xsmall":31,"small":32,"medium":33},[],{"testimonial":191,"link":199,"type":175,"title":148,"description":176,"image":177},{"@type":120,"id":154,"model":117,"value":192},{"query":193,"folders":194,"createdDate":158,"id":154,"name":159,"modelId":127,"published":13,"data":195,"variations":196,"lastUpdated":167,"firstPublished":168,"testRatio":23,"createdBy":100,"lastUpdatedBy":24,"meta":197,"rev":171},[],[],{"video":161,"jobTitle":162,"author":163,"qoute":29,"quote":164,"image":165},{},{"kind":28,"lastPreviewUrl":29,"breakpoints":198,"hasAutosaves":34},{"small":32,"medium":33},{"text":173,"url":174},{},1776256937553,1776256937540,[],"xggsv10v1q9",{"createdDate":206,"id":207,"name":208,"modelId":186,"published":13,"stageModifiedSincePublish":6,"query":209,"data":210,"variations":220,"lastUpdated":221,"firstPublished":222,"testRatio":23,"createdBy":24,"lastUpdatedBy":24,"folders":223,"meta":224,"rev":204},1776256949234,"ce043785b71b4ece98eac811ecf4ba10","inductive-automation",[],{"link":211,"type":117,"testimonial":212,"testimonialLink":118},{},{"@type":120,"id":121,"model":117,"value":213},{"query":214,"folders":215,"createdDate":125,"id":121,"name":126,"modelId":127,"published":13,"data":216,"variations":217,"lastUpdated":133,"firstPublished":134,"testRatio":23,"createdBy":100,"lastUpdatedBy":100,"meta":218,"rev":137},[],[],{"author":129,"jobTitle":130,"quote":126,"image":131},{},{"kind":28,"lastPreviewUrl":29,"breakpoints":219,"hasAutosaves":34},{"small":32,"medium":33},{},1776256974140,1776256974130,[],{"breakpoints":225,"kind":28,"lastPreviewUrl":29,"hasAutosaves":6},{"xsmall":31,"small":32,"medium":33},{"id":227,"title":228,"authorsCollection":229,"content":237,"extension":819,"faqItemsCollection":820,"faqTitle":62,"featured":6,"hashTags":62,"meta":822,"metaTitle":823,"ogImage":62,"publishedDate":824,"relatedBlogPostsCollection":825,"slug":2983,"stem":2984,"subtitle":62,"summary":2985,"synopsis":2996,"sys":2997,"tagsCollection":3000,"__hash__":3006},"blog/blog/how-consent-phishing-is-evolving.json","How consent phishing is evolving to defeat detection controls",{"items":230},[231],{"fullName":232,"firstName":233,"jobTitle":234,"profilePicture":235},"Dan Green","Dan","Threat Research",{"url":236},"https://images.ctfassets.net/y1cdw1ablpvd/7jik1VhFgA3kgzXBXTm2Vw/fcd8c171da644903d0827eafcfbcaad0/Dan_Headshot_2025.png",{"json":238,"links":696},{"data":239,"content":240,"nodeType":695},{},[241,277,297,304,311,315,325,332,341,347,353,360,380,386,389,397,404,411,418,424,431,438,444,451,471,477,484,487,495,502,508,515,563,569,576,579,587,594,601,607,613,619,622,630,637,643,650,657,660,668,675],{"data":242,"content":243,"nodeType":276},{},[244,248,259,263,272],{"data":245,"marks":246,"value":29,"nodeType":247},{},[],"text",{"data":249,"content":251,"nodeType":258},{"uri":250},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/consent_phishing/description.md",[252],{"data":253,"marks":254,"value":257,"nodeType":247},{},[255],{"type":256},"underline","Consent phishing","hyperlink",{"data":260,"marks":261,"value":262,"nodeType":247},{},[]," was one of the first techniques we added to the ",{"data":264,"content":266,"nodeType":258},{"uri":265},"https://github.com/pushsecurity/saas-attacks?tab=readme-ov-file",[267],{"data":268,"marks":269,"value":271,"nodeType":247},{},[270],{"type":256},"SaaS attacks matrix",{"data":273,"marks":274,"value":275,"nodeType":247},{},[],", where attackers trick users into authorizing malicious OAuth apps. ","paragraph",{"data":278,"content":279,"nodeType":276},{},[280,284,293],{"data":281,"marks":282,"value":283,"nodeType":247},{},[],"The attacker sends a phishing link to a target that requests permissions to access sensitive data or permissions to perform dangerous actions for an app the victim is using. If the target grants consent for the permissions, the adversary gains that level of access over the target’s account — and certain data and functionality ",{"data":285,"content":287,"nodeType":258},{"uri":286},"https://pushsecurity.com/blog/the-risky-terrain-of-oauth-scopes-in-third-party/",[288],{"data":289,"marks":290,"value":292,"nodeType":247},{},[291],{"type":256},"depending on the scopes granted",{"data":294,"marks":295,"value":296,"nodeType":247},{},[],". This attack bypasses MFA entirely (including phishing-resistant MFA) by sidestepping the login process — think of it as an authorization attack, as opposed to an authentication one. Naturally, this means it also persists through typical authentication changes like a password reset. ",{"data":298,"content":299,"nodeType":276},{},[300],{"data":301,"marks":302,"value":303,"nodeType":247},{},[],"Consent phishing has been primarily aimed at getting access to larger cloud platforms like Microsoft Azure or Google Workspace tenants, or more complex apps like GitHub. These apps present an obvious opportunity to attackers in terms of the functionality and and data they contain.  ",{"data":305,"content":306,"nodeType":276},{},[307],{"data":308,"marks":309,"value":310,"nodeType":247},{},[],"Two separate cases of consent phishing have hit the headlines this month representing very different use cases — let’s compare them. ",{"data":312,"content":313,"nodeType":314},{},[],"hr",{"data":316,"content":317,"nodeType":324},{},[318],{"data":319,"marks":320,"value":323,"nodeType":247},{},[321],{"type":322},"bold","1. Classic consent phishing","heading-1",{"data":326,"content":327,"nodeType":276},{},[328],{"data":329,"marks":330,"value":331,"nodeType":247},{},[],"Attackers targeted GitHub users across 12,000 repositories by creating fake security alert issues in GitHub repositories. These legit-looking alerts send the victim to a GitHub authorization page for a \"gitsecurityapp\" OAuth app that requests a lot of very risky scopes granting full access to a user's account and repositories.",{"data":333,"content":339,"nodeType":340},{"target":334},{"sys":335},{"id":336,"type":337,"linkType":338},"7s7VLePAQzhzXJ6cFkSCAe","Link","Entry",[],"embedded-entry-block",{"data":342,"content":346,"nodeType":340},{"target":343},{"sys":344},{"id":345,"type":337,"linkType":338},"5dppSzNOgffeZTZK2lG6V5",[],{"data":348,"content":352,"nodeType":340},{"target":349},{"sys":350},{"id":351,"type":337,"linkType":338},"1dsYU7bM5mPW1AXyRLnqpp",[],{"data":354,"content":355,"nodeType":276},{},[356],{"data":357,"marks":358,"value":359,"nodeType":247},{},[],"Once authorized, the attacker has extensive access to the account, from which point they can modify repositories to conduct further attacks against users (e.g. by infecting them with malware), poison the repos and services connected to the repository, and exfiltrate any sensitive data the account has access to. ",{"data":361,"content":362,"nodeType":276},{},[363,367,376],{"data":364,"marks":365,"value":366,"nodeType":247},{},[],"Alongside consent phishing, this is an example of ",{"data":368,"content":370,"nodeType":258},{"uri":369},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/in-app_phishing/description.md",[371],{"data":372,"marks":373,"value":375,"nodeType":247},{},[374],{"type":256},"in-app phishing",{"data":377,"marks":378,"value":379,"nodeType":247},{},[],", which avoids delivering the message via corporate email. Even if the target gets an email notification, the phish isn’t delivered via email directly, and so email-based scanning solutions won’t detect it — they’ll receive a legitimate notification email directly from GitHub. It’s also less likely to raise suspicion as GitHub issue notifications are expected, increasing the click chance. ",{"data":381,"content":385,"nodeType":340},{"target":382},{"sys":383},{"id":384,"type":337,"linkType":338},"6d6MMyPQ7vaY2KrJTHGeO6",[],{"data":387,"content":388,"nodeType":314},{},[],{"data":390,"content":391,"nodeType":324},{},[392],{"data":393,"marks":394,"value":396,"nodeType":247},{},[395],{"type":322},"2. Not really consent phishing?",{"data":398,"content":399,"nodeType":276},{},[400],{"data":401,"marks":402,"value":403,"nodeType":247},{},[],"This example is much more unusual. In this case, the attacker used malicious Microsoft OAuth apps impersonating Adobe and DocuSign. ",{"data":405,"content":406,"nodeType":276},{},[407],{"data":408,"marks":409,"value":410,"nodeType":247},{},[],"Rather than trying to grab lots of juicy permissions for Microsoft, the attacker used consent phishing to prevent automated analysis of their phishing page by security tools. To be served the real phishing page, you need to first authorize the fake OAuth app — meaning that security tools and bots won’t be able to reach the page to determine if it’s malicious or not. ",{"data":412,"content":413,"nodeType":276},{},[414],{"data":415,"marks":416,"value":417,"nodeType":247},{},[],"The attack started with attackers sending phishing emails to target users with a fake password reset lure. ",{"data":419,"content":423,"nodeType":340},{"target":420},{"sys":421},{"id":422,"type":337,"linkType":338},"3cLd6EbraN9fKuGgL0kkgC",[],{"data":425,"content":426,"nodeType":276},{},[427],{"data":428,"marks":429,"value":430,"nodeType":247},{},[],"Because the initial phishing link directs to the legitimate login.microsoftonline.com URL, it appears legitimate and bypasses common domain-based security checks. ",{"data":432,"content":433,"nodeType":276},{},[434],{"data":435,"marks":436,"value":437,"nodeType":247},{},[],"After clicking the link, the user signs into their real Microsoft account (this might even happen automatically if the user is already signed in on the device/browser they’re using). They are then redirected to a permissions request page for the fake OAuth app. ",{"data":439,"content":443,"nodeType":340},{"target":440},{"sys":441},{"id":442,"type":337,"linkType":338},"6O4CSx1VCoPAIjjsnKzu75",[],{"data":445,"content":446,"nodeType":276},{},[447],{"data":448,"marks":449,"value":450,"nodeType":247},{},[],"The permissions requested by the app (profile, email, openid) are so limited as to be basically unexploitable. They are also the same permissions you would accept if you were authorizing Microsoft to perform a social login (SSO via OIDC) to a third party app.",{"data":452,"content":453,"nodeType":276},{},[454,458,467],{"data":455,"marks":456,"value":457,"nodeType":247},{},[],"Clicking the link redirects the victim to the malicious page but masks it using the legit Cloudflare Turnstile service. As well as making the page look more credible (since its fronted by a legit service to block bots) this is a common detection evasion technique we’ve ",{"data":459,"content":461,"nodeType":258},{"uri":460},"https://pushsecurity.com/blog/how-aitm-phishing-kits-evade-detection/",[462],{"data":463,"marks":464,"value":466,"nodeType":247},{},[465],{"type":256},"blogged about previously",{"data":468,"marks":469,"value":470,"nodeType":247},{},[]," which prevents security solutions from accessing and analysing the malicious page. ",{"data":472,"content":476,"nodeType":340},{"target":473},{"sys":474},{"id":475,"type":337,"linkType":338},"7csybR6fJlCWsRy91CbNYL",[],{"data":478,"content":479,"nodeType":276},{},[480],{"data":481,"marks":482,"value":483,"nodeType":247},{},[],"After completing the verification, the page (and the malicious phishing kit element) is finally loaded. If the victim authenticates, the session will be stolen by the attacker, along with the captured credentials and MFA code. ",{"data":485,"content":486,"nodeType":314},{},[],{"data":488,"content":489,"nodeType":324},{},[490],{"data":491,"marks":492,"value":494,"nodeType":247},{},[493],{"type":322},"Using consent phishing to evade detection",{"data":496,"content":497,"nodeType":276},{},[498],{"data":499,"marks":500,"value":501,"nodeType":247},{},[],"The attacker is essentially using their fake OAuth app to prevent security analysts and bots from analysing the real phishing page, because the first page loaded is a link to a legitimate Microsoft domain. They’re also layering it with a range of other detection evasion techniques like using Cloudflare Turnstile.  ",{"data":503,"content":507,"nodeType":340},{"target":504},{"sys":505},{"id":506,"type":337,"linkType":338},"4Bi9YoMwWVmKoWfkh5tiTA",[],{"data":509,"content":510,"nodeType":276},{},[511],{"data":512,"marks":513,"value":514,"nodeType":247},{},[],"We’ve previously blogged about how attackers are using layered detection evasion techniques to circumvent typical phishing page detections, which are often email-based, including:",{"data":516,"content":517,"nodeType":562},{},[518,540],{"data":519,"content":520,"nodeType":539},{},[521],{"data":522,"content":523,"nodeType":276},{},[524,527,535],{"data":525,"marks":526,"value":29,"nodeType":247},{},[],{"data":528,"content":529,"nodeType":258},{"uri":460},[530],{"data":531,"marks":532,"value":534,"nodeType":247},{},[533],{"type":256},"Prevent analysis of phishing pages",{"data":536,"marks":537,"value":538,"nodeType":247},{},[]," by security bots, including using legitimate services like Cloudflare Workers and Turnstile (as above), CAPTCHA, and various sandbox-aware techniques to ensure only the intended victim is served the phishing page, such as only providing the correct parameters to load the page if the correct path is followed (rather than attempting to load the malicious page by going directly to the domain). ","list-item",{"data":541,"content":542,"nodeType":539},{},[543],{"data":544,"content":545,"nodeType":276},{},[546,549,558],{"data":547,"marks":548,"value":29,"nodeType":247},{},[],{"data":550,"content":552,"nodeType":258},{"uri":551},"https://pushsecurity.com/blog/how-aitm-phishing-kits-evade-detection-p2/",[553],{"data":554,"marks":555,"value":557,"nodeType":247},{},[556],{"type":256},"DOM and visual obfuscation",{"data":559,"marks":560,"value":561,"nodeType":247},{},[]," of phishing pages when the victim does land on the page to prevent it from being identified as malicious through signature-based detection of page elements. ","unordered-list",{"data":564,"content":568,"nodeType":340},{"target":565},{"sys":566},{"id":567,"type":337,"linkType":338},"2dN8np5odBecf7r1vBr69K",[],{"data":570,"content":571,"nodeType":276},{},[572],{"data":573,"marks":574,"value":575,"nodeType":247},{},[],"This seems a bit overkill and many of the steps here are likely to raise suspicion — like the fact that you’re never asked to provide the original code for the password reset, and are asked to unexpectedly consent to an OAuth app. But clearly, the attacker is more concerned about bypassing technical safeguards than human ones (not a great endorsement for the state of phishing awareness training). ",{"data":577,"content":578,"nodeType":314},{},[],{"data":580,"content":581,"nodeType":324},{},[582],{"data":583,"marks":584,"value":586,"nodeType":247},{},[585],{"type":322},"How Push detects and blocks phishing attacks",{"data":588,"content":589,"nodeType":276},{},[590],{"data":591,"marks":592,"value":593,"nodeType":247},{},[],"Push overcomes the various detection evasion techniques shown here by using in-browser detections based on the phishing page that the user sees. This means that no matter where the user accesses the link from (email, IM platform, social media, or anywhere else on the internet) Push can observe and analyse the page to determine if it's malicious. ",{"data":595,"content":596,"nodeType":276},{},[597],{"data":598,"marks":599,"value":600,"nodeType":247},{},[],"Push uses layered detections based on identifying the phishing kit running on the page itself, whether the page is cloned from a legitimate login page, as well as detecting whether the credentials being entered on the page have been used to log into your SSO account previously. ",{"data":602,"content":606,"nodeType":340},{"target":603},{"sys":604},{"id":605,"type":337,"linkType":338},"6B1toQAf44rDzQZijYRd9g",[],{"data":608,"content":612,"nodeType":340},{"target":609},{"sys":610},{"id":611,"type":337,"linkType":338},"4ixcEsEW4EyqckOTmP5Pbb",[],{"data":614,"content":618,"nodeType":340},{"target":615},{"sys":616},{"id":617,"type":337,"linkType":338},"01musWa3FUiO0CVFNWfwcy",[],{"data":620,"content":621,"nodeType":314},{},[],{"data":623,"content":624,"nodeType":324},{},[625],{"data":626,"marks":627,"value":629,"nodeType":247},{},[628],{"type":322},"Using Push to review OAuth integrations",{"data":631,"content":632,"nodeType":276},{},[633],{"data":634,"marks":635,"value":636,"nodeType":247},{},[],"You can also use Push to discover and remove risky OAuth integrations accepted by your users. ",{"data":638,"content":642,"nodeType":340},{"target":639},{"sys":640},{"id":641,"type":337,"linkType":338},"5kJvy5SBcWLrK2EhLyR1ZD",[],{"data":644,"content":645,"nodeType":276},{},[646],{"data":647,"marks":648,"value":649,"nodeType":247},{},[],"This shows which OAuth apps have been added, which apps they are integrated with, what permissions they’ve been granted, as well as other properties that indicate risk (e.g. whether the app’s publisher has been verified). ",{"data":651,"content":652,"nodeType":276},{},[653],{"data":654,"marks":655,"value":656,"nodeType":247},{},[],"If your users are consent phished, you’ll be notified via webhook event that a new integration has been added. These risky integrations can be removed via the Push platform by clicking ‘delete integration’. ",{"data":658,"content":659,"nodeType":314},{},[],{"data":661,"content":662,"nodeType":324},{},[663],{"data":664,"marks":665,"value":667,"nodeType":247},{},[666],{"type":322},"We don’t just stop phishing attacks",{"data":669,"content":670,"nodeType":276},{},[671],{"data":672,"marks":673,"value":674,"nodeType":247},{},[],"It doesn’t stop there — Push provides comprehensive identity attack detection and response capabilities against techniques like credential stuffing, password spraying and session hijacking using stolen session tokens. You can also use Push to find and fix identity vulnerabilities across every app that your employees use like: ghost logins; SSO coverage gaps; MFA gaps; weak, breached and reused passwords; risky OAuth integrations; and more. ",{"data":676,"content":677,"nodeType":276},{},[678,682,691],{"data":679,"marks":680,"value":681,"nodeType":247},{},[],"If you want to learn more about how Push helps you to detect and defeat common identity attack techniques, ",{"data":683,"content":685,"nodeType":258},{"uri":684},"https://pushsecurity.com/demo?utm_campaign=9983377-FY25Q1_Bleeping-Computer-Organic-Article&utm_source=bleepingcomputer&utm_medium=sponsored-content&utm_content=organic%20article",[686],{"data":687,"marks":688,"value":690,"nodeType":247},{},[689],{"type":256},"book some time with one of our team",{"data":692,"marks":693,"value":694,"nodeType":247},{},[]," for a live demo.","document",{"entries":697},{"hyperlink":698,"inline":699,"block":700},[],[],[701,710,718,726,734,742,749,757,765,772,780,788,811],{"sys":702,"__typename":703,"title":704,"caption":705,"layoutMode":62,"file":706},{"id":336},"Image","Consent phishing blog image 1","Initial notification in GitHub repo",{"url":707,"width":708,"height":709},"https://images.ctfassets.net/y1cdw1ablpvd/45AWiiVZDMMx4wkVeh4OmH/e043c8d9975ad87c354c60ed2b95f3d8/image11_1.png",1145,520,{"sys":711,"__typename":703,"title":712,"caption":713,"layoutMode":62,"file":714},{"id":345},"Consent phishing image 2","Phishing message delivered via GitHub",{"url":715,"width":716,"height":717},"https://images.ctfassets.net/y1cdw1ablpvd/5SF3XeGhHBxwDX8WamgdOI/66abad1b2770344e360c276c33528129/image_506.png",1372,1045,{"sys":719,"__typename":703,"title":720,"caption":721,"layoutMode":62,"file":722},{"id":351},"Consent phishing image 3","Consent phishing authorization page connecting the victim's GitHub account to the malicious app",{"url":723,"width":724,"height":725},"https://images.ctfassets.net/y1cdw1ablpvd/2NfxL5bELb1XbET7MubvGN/e47630f6d0a3c85c3f2c567c4e443a0c/image1.png",1600,1065,{"sys":727,"__typename":728,"type":729,"ctaText":730,"buttonLabel":731,"buttonColour":732,"buttonUrl":733},{"id":384},"CtaWidget","Custom","Learn why phishing prevention needs to move beyond email to stop modern attacks taking place inside apps, IM platforms, via malvertising, and on social media.","Read the Blog","sunny orange","https://pushsecurity.com/blog/why-its-time-for-phishing-prevention-to-move-beyond-email/",{"sys":735,"__typename":703,"title":736,"caption":737,"layoutMode":62,"file":738},{"id":422},"Consent phishing image 4","Phishing email prompting the user to reset their password",{"url":739,"width":740,"height":741},"https://images.ctfassets.net/y1cdw1ablpvd/7z6EOVPvvj2gxyafDubSEa/fc4ad4cd51af2da38478313fe991f445/Group_524.png",997,544,{"sys":743,"__typename":703,"title":744,"caption":745,"layoutMode":62,"file":746},{"id":442},"Consent phishing image 5","OAuth apps impersonating Adobe and DocuSign",{"url":747,"width":724,"height":748},"https://images.ctfassets.net/y1cdw1ablpvd/maxSjZ6EyNf0ZL9tgcUBU/3d6da51a409fd1273b576ebc9b132703/image2.png",629,{"sys":750,"__typename":703,"title":751,"caption":752,"layoutMode":62,"file":753},{"id":475},"Consent phishing blog image 6","Cloudflare Turnstile is often used to prevent security bots from analysing the attacker's phishing page.",{"url":754,"width":755,"height":756},"https://images.ctfassets.net/y1cdw1ablpvd/DbEYzQt7m3jY56ALCYWEy/59846e7bd4a3ed204722a9d561e97231/image2.png",938,361,{"sys":758,"__typename":703,"title":759,"caption":760,"layoutMode":62,"file":761},{"id":506},"Consent phishing image 8","Summary of the attack path",{"url":762,"width":763,"height":764},"https://images.ctfassets.net/y1cdw1ablpvd/6aWw8YdAR2WFHvFlTeshsQ/76236f4031c3d921cd1cd00887ce0e90/Slide_16_9_-_110.png",1920,649,{"sys":766,"__typename":703,"title":767,"caption":767,"layoutMode":62,"file":768},{"id":567},"Comparing a legitimate page’s DOM structure with an attacker’s cloned page",{"url":769,"width":770,"height":771},"https://images.ctfassets.net/y1cdw1ablpvd/4HmklQ1H0YIMlNdTkZR8B0/e2e727d9d96867b9d46e35bf097f7a0f/6.png",1875,562,{"sys":773,"__typename":703,"title":774,"caption":775,"layoutMode":62,"file":776},{"id":605},"How Push stops phishing attacks","Push detects and intercepts phishing attackers in the browser when the victim tries to load the page. ",{"url":777,"width":778,"height":779},"https://images.ctfassets.net/y1cdw1ablpvd/2CPV9LSQGHdFgmTxyF1c6s/c1ddb7eb7352ad7a161e447a8fa400e6/image1.png",1535,764,{"sys":781,"__typename":703,"title":782,"caption":783,"layoutMode":62,"file":784},{"id":611},"Phishing toolkit detection","Accessing pages running malicious phishing toolkits is automatically blocked. ",{"url":785,"width":786,"height":787},"https://images.ctfassets.net/y1cdw1ablpvd/3ylgW0MDCCesBjQsoqjD4P/a8bc4df9a430aca6c725f913d2bc6444/image11.png",1440,767,{"sys":789,"__typename":790,"content":791,"name":810,"title":62},{"id":617},"InsightTextBlockComponent",{"json":792},{"nodeType":695,"data":793,"content":794},{},[795,802],{"nodeType":276,"data":796,"content":797},{},[798],{"nodeType":247,"value":799,"marks":800,"data":801},"By fingerprinting the password for your most important accounts used to log into IdPs like Microsoft, Google, Okta, etc. Push can prevent users from entering this password into any other page. So for example, if the user attempts to enter their real Microsoft password onto a phishing page, Push detects and intercepts it, blocking the phishing attempt. ",[],{},{"nodeType":276,"data":803,"content":804},{},[805],{"nodeType":247,"value":806,"marks":807,"data":809},"You can’t phish a victim if they can’t enter their credentials into your phishing site!",[808],{"type":322},{},"Consent phishing blog insight box 1",{"sys":812,"__typename":703,"title":813,"caption":814,"layoutMode":62,"file":815},{"id":641},"Consent phishing blog image 7","Using Push to analyze and manage OAuth integrations detected in your environment. ",{"url":816,"width":817,"height":818},"https://images.ctfassets.net/y1cdw1ablpvd/37VWcMZobEQXskI8lbfadH/8d771afb2d57258f16c542517b910d72/image10.png",1999,1111,"json",{"items":821},[],{},"Analyzing two different forms of consent phishing","2025-03-31T00:00:00.000Z",{"items":826},[827,1171,2196],{"__typename":828,"sys":829,"content":831,"title":1149,"synopsis":1150,"hashTags":62,"publishedDate":1151,"slug":1152,"tagsCollection":1153,"authorsCollection":1163},"BlogPosts",{"id":830},"4bYO5rVy9n2OO3vtMVQeda",{"json":832},{"nodeType":695,"data":833,"content":834},{},[835,842,862,878,885,892,895,903,910,963,970,976,979,986,993,1000,1007,1014,1031,1037,1044,1051,1068,1074,1081,1088,1095,1102,1109,1112,1118,1137,1143],{"nodeType":324,"data":836,"content":837},{},[838],{"nodeType":247,"value":839,"marks":840,"data":841},"All phishing eventually leads to the browser",[],{},{"nodeType":276,"data":843,"content":844},{},[845,849,858],{"nodeType":247,"value":846,"marks":847,"data":848},"The best attack detection methods are those that focus on ",[],{},{"nodeType":258,"data":850,"content":852},{"uri":851},"https://pushsecurity.com/blog/our-design-philosophy-detecting-what-matters/",[853],{"nodeType":247,"value":854,"marks":855,"data":857},"detecting indicators that are difficult for attackers to change or obfuscate",[856],{"type":256},{},{"nodeType":247,"value":859,"marks":860,"data":861},". ",[],{},{"nodeType":276,"data":863,"content":864},{},[865,869,874],{"nodeType":247,"value":866,"marks":867,"data":868},"For a credential phishing attack to succeed, the victim ",[],{},{"nodeType":247,"value":870,"marks":871,"data":873},"has",[872],{"type":256},{},{"nodeType":247,"value":875,"marks":876,"data":877}," to enter their password into a webpage. There’s no two-ways about it, attackers cannot change this. ",[],{},{"nodeType":276,"data":879,"content":880},{},[881],{"nodeType":247,"value":882,"marks":883,"data":884},"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":276,"data":886,"content":887},{},[888],{"nodeType":247,"value":889,"marks":890,"data":891},"This is exactly what Push does.",[],{},{"nodeType":314,"data":893,"content":894},{},[],{"nodeType":896,"data":897,"content":898},"heading-2",{},[899],{"nodeType":247,"value":900,"marks":901,"data":902},"Most anti-phishing tools are easily bypassed",[],{},{"nodeType":276,"data":904,"content":905},{},[906],{"nodeType":247,"value":907,"marks":908,"data":909},"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":562,"data":911,"content":912},{},[913,923,933,943,953],{"nodeType":539,"data":914,"content":915},{},[916],{"nodeType":276,"data":917,"content":918},{},[919],{"nodeType":247,"value":920,"marks":921,"data":922},"Using Cloudflare Workers to block automatic analysis of their phishing site",[],{},{"nodeType":539,"data":924,"content":925},{},[926],{"nodeType":276,"data":927,"content":928},{},[929],{"nodeType":247,"value":930,"marks":931,"data":932},"Hacking a Wordpress blog to get a reputable domain that passes domain checks ",[],{},{"nodeType":539,"data":934,"content":935},{},[936],{"nodeType":276,"data":937,"content":938},{},[939],{"nodeType":247,"value":940,"marks":941,"data":942},"Using redirects and rotating the URLs delivered to the victim to bypass link analysis",[],{},{"nodeType":539,"data":944,"content":945},{},[946],{"nodeType":276,"data":947,"content":948},{},[949],{"nodeType":247,"value":950,"marks":951,"data":952},"Randomizing the HTML title for the web page to bypass blocklists ",[],{},{"nodeType":539,"data":954,"content":955},{},[956],{"nodeType":276,"data":957,"content":958},{},[959],{"nodeType":247,"value":960,"marks":961,"data":962},"One-time phishing links that only work the first time they are clicked",[],{},{"nodeType":276,"data":964,"content":965},{},[966],{"nodeType":247,"value":967,"marks":968,"data":969},"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":340,"data":971,"content":975},{"target":972},{"sys":973},{"id":974,"type":337,"linkType":338},"6AwOZSpqaChmeksnj4SyWE",[],{"nodeType":314,"data":977,"content":978},{},[],{"nodeType":896,"data":980,"content":981},{},[982],{"nodeType":247,"value":983,"marks":984,"data":985},"Domain-binding passwords",[],{},{"nodeType":276,"data":987,"content":988},{},[989],{"nodeType":247,"value":990,"marks":991,"data":992},"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":276,"data":994,"content":995},{},[996],{"nodeType":247,"value":997,"marks":998,"data":999},"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":276,"data":1001,"content":1002},{},[1003],{"nodeType":247,"value":1004,"marks":1005,"data":1006},"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":276,"data":1008,"content":1009},{},[1010],{"nodeType":247,"value":1011,"marks":1012,"data":1013},"Lets run through a quick before and after example:",[],{},{"nodeType":896,"data":1015,"content":1016},{},[1017,1021,1027],{"nodeType":247,"value":1018,"marks":1019,"data":1020},"Scenario 1: An attacker attempts to phish an employee that ",[],{},{"nodeType":247,"value":1022,"marks":1023,"data":1026},"doesn’t",[1024,1025],{"type":256},{"type":322},{},{"nodeType":247,"value":1028,"marks":1029,"data":1030}," have Push deployed to their browser.",[],{},{"nodeType":340,"data":1032,"content":1036},{"target":1033},{"sys":1034},{"id":1035,"type":337,"linkType":338},"2CbGMUSJsP1mNeHkmpLl6N",[],{"nodeType":276,"data":1038,"content":1039},{},[1040],{"nodeType":247,"value":1041,"marks":1042,"data":1043},"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":276,"data":1045,"content":1046},{},[1047],{"nodeType":247,"value":1048,"marks":1049,"data":1050},"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":896,"data":1052,"content":1053},{},[1054,1058,1064],{"nodeType":247,"value":1055,"marks":1056,"data":1057},"Scenario 2: An attacker attempts to phish an employee that ",[],{},{"nodeType":247,"value":1059,"marks":1060,"data":1063},"does",[1061,1062],{"type":256},{"type":322},{},{"nodeType":247,"value":1065,"marks":1066,"data":1067}," have Push deployed to their browser. ",[],{},{"nodeType":340,"data":1069,"content":1073},{"target":1070},{"sys":1071},{"id":1072,"type":337,"linkType":338},"77smnID1woCfFJrJPyTvKY",[],{"nodeType":276,"data":1075,"content":1076},{},[1077],{"nodeType":247,"value":1078,"marks":1079,"data":1080},"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":276,"data":1082,"content":1083},{},[1084],{"nodeType":247,"value":1085,"marks":1086,"data":1087},"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":276,"data":1089,"content":1090},{},[1091],{"nodeType":247,"value":1092,"marks":1093,"data":1094},"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":276,"data":1096,"content":1097},{},[1098],{"nodeType":247,"value":1099,"marks":1100,"data":1101},"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":276,"data":1103,"content":1104},{},[1105],{"nodeType":247,"value":1106,"marks":1107,"data":1108},"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":314,"data":1110,"content":1111},{},[],{"nodeType":324,"data":1113,"content":1114},{},[1115],{"nodeType":247,"value":667,"marks":1116,"data":1117},[],{},{"nodeType":276,"data":1119,"content":1120},{},[1121,1125,1133],{"nodeType":247,"value":1122,"marks":1123,"data":1124},"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":258,"data":1126,"content":1128},{"uri":1127},"https://pushsecurity.com/demo/",[1129],{"nodeType":247,"value":690,"marks":1130,"data":1132},[1131],{"type":256},{},{"nodeType":247,"value":1134,"marks":1135,"data":1136},".  ",[],{},{"nodeType":340,"data":1138,"content":1142},{"target":1139},{"sys":1140},{"id":1141,"type":337,"linkType":338},"2JSmYDaiAciOx7Z1MRuJlA",[],{"nodeType":276,"data":1144,"content":1145},{},[1146],{"nodeType":247,"value":29,"marks":1147,"data":1148},[],{},"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":1154},[1155,1159],{"sys":1156,"name":1158},{"id":1157},"6A5RXS31ZQx3PwryGb1IMy","Browser-based attacks",{"sys":1160,"name":1162},{"id":1161},"4ksQNCFeBf8H4QIORqpRLw","Detection & response",{"items":1164},[1165],{"fullName":1166,"firstName":1167,"jobTitle":1168,"profilePicture":1169},"Alex Henshall","Alex","Product Team",{"url":1170},"https://images.ctfassets.net/y1cdw1ablpvd/2rz3Pre3b1MexPIQ4hzPUe/0ef8a092b7e7df00fbce3f7d1ccb96d1/Alex_Henshall.jpeg",{"__typename":828,"sys":1172,"content":1174,"title":2177,"synopsis":2178,"hashTags":62,"publishedDate":2179,"slug":2180,"tagsCollection":2181,"authorsCollection":2189},{"id":1173},"5aB5x5VXrMv7PDmH0iiK0c",{"json":1175},{"nodeType":695,"data":1176,"content":1177},{},[1178,1198,1205,1212,1219,1226,1232,1239,1255,1258,1265,1272,1279,1286,1297,1304,1311,1318,1326,1333,1407,1419,1426,1434,1441,1500,1512,1519,1525,1533,1540,1573,1597,1604,1614,1617,1624,1644,1651,1684,1691,1698,1705,1711,1714,1721,1728,1736,1743,1750,1767,1773,1781,1788,1794,1802,1822,1829,1862,1883,1889,1909,1929,1937,1944,1951,1957,1977,1980,1988,2003,2010,2017,2067,2073,2080,2087,2130,2133,2141,2148,2151,2158],{"nodeType":276,"data":1179,"content":1180},{},[1181,1185,1194],{"nodeType":247,"value":1182,"marks":1183,"data":1184},"It wasn’t supposed to be like this. Passwords were supposed to be dead (just ask ",[],{},{"nodeType":258,"data":1186,"content":1188},{"uri":1187},"https://www.cnet.com/news/privacy/gates-predicts-death-of-the-password/",[1189],{"nodeType":247,"value":1190,"marks":1191,"data":1193},"Bill Gates",[1192],{"type":256},{},{"nodeType":247,"value":1195,"marks":1196,"data":1197},").",[],{},{"nodeType":276,"data":1199,"content":1200},{},[1201],{"nodeType":247,"value":1202,"marks":1203,"data":1204},"Instead, hardworking security pros are left to sit around in community center basements drinking mediocre coffee and commiserating.",[],{},{"nodeType":276,"data":1206,"content":1207},{},[1208],{"nodeType":247,"value":1209,"marks":1210,"data":1211},"“I admit it. My users still use passwords.”",[],{},{"nodeType":276,"data":1213,"content":1214},{},[1215],{"nodeType":247,"value":1216,"marks":1217,"data":1218},"“Yeah, mine too. I’ve been telling people we’re rolling out passkeys for three years now. I’m not sure how much longer I can keep this up …”",[],{},{"nodeType":276,"data":1220,"content":1221},{},[1222],{"nodeType":247,"value":1223,"marks":1224,"data":1225},"Somber nodding all around. Hugs. A few chocolate-chip cookies on paper napkins.",[],{},{"nodeType":340,"data":1227,"content":1231},{"target":1228},{"sys":1229},{"id":1230,"type":337,"linkType":338},"4Wt29DxSSczFt5THWkuIiS",[],{"nodeType":276,"data":1233,"content":1234},{},[1235],{"nodeType":247,"value":1236,"marks":1237,"data":1238},"This is a no-judgment zone here at Push Security. So let’s take a look at why we’re still stuck with passwords, how attackers are increasingly exploiting weak credentials to infiltrate organizations, and how Push can help you get visibility and control of all your workforce identities.",[],{},{"nodeType":276,"data":1240,"content":1241},{},[1242,1246,1251],{"nodeType":247,"value":1243,"marks":1244,"data":1245},"We’ll also cover how you can use Push’s latest feature, ",[],{},{"nodeType":247,"value":1247,"marks":1248,"data":1250},"Strong password enforcement",[1249],{"type":322},{},{"nodeType":247,"value":1252,"marks":1253,"data":1254},", to require that employees use strong, unique passwords. Push automatically detects when employees have weak, reused, or stolen passwords and then guides them to update their password using in-browser messaging — even on apps that don’t natively support administrative control of password posture.",[],{},{"nodeType":314,"data":1256,"content":1257},{},[],{"nodeType":324,"data":1259,"content":1260},{},[1261],{"nodeType":247,"value":1262,"marks":1263,"data":1264},"3 reasons why we’re still stuck with passwords",[],{},{"nodeType":276,"data":1266,"content":1267},{},[1268],{"nodeType":247,"value":1269,"marks":1270,"data":1271},"At the risk of preaching to the choir, let’s review why we’re still stuck with passwords. ",[],{},{"nodeType":276,"data":1273,"content":1274},{},[1275],{"nodeType":247,"value":1276,"marks":1277,"data":1278},"It’s worth stating the Push perspective up front: We’re not here to push the narrative that you must completely get rid of passwords. To begin with, it’s not easy to get rid of them. Like the imaginary scene from the passwordless support group, we’ve lived the reality of this.",[],{},{"nodeType":276,"data":1280,"content":1281},{},[1282],{"nodeType":247,"value":1283,"marks":1284,"data":1285},"What we observe across our install base for the Push browser agent reinforces this reality. For the last 1 million or so logins that Push recorded, more than a quarter (26%) were password logins.",[],{},{"nodeType":1287,"data":1288,"content":1289},"blockquote",{},[1290],{"nodeType":276,"data":1291,"content":1292},{},[1293],{"nodeType":247,"value":1294,"marks":1295,"data":1296},"For the last 1M+ logins that the Push browser agent observed, more than a quarter were password logins.",[],{},{"nodeType":276,"data":1298,"content":1299},{},[1300],{"nodeType":247,"value":1301,"marks":1302,"data":1303},"Of those password logins, 18% had a security issue with the password — reused, easily guessable, already leaked in a public breach list, or actively for sale in criminal forums.",[],{},{"nodeType":276,"data":1305,"content":1306},{},[1307],{"nodeType":247,"value":1308,"marks":1309,"data":1310},"Yet when strong, unique passwords are used in conjunction with MFA, they can provide a powerful line of defense. Indeed, in cases where onboarding an app to SSO isn’t possible (for reasons we’ll cover below), a strong, unique password plus MFA is the most pragmatic solution you can achieve.",[],{},{"nodeType":276,"data":1312,"content":1313},{},[1314],{"nodeType":247,"value":1315,"marks":1316,"data":1317},"Here’s why bad passwords persist, and why it matters.",[],{},{"nodeType":896,"data":1319,"content":1320},{},[1321],{"nodeType":247,"value":1322,"marks":1323,"data":1325},"Systemic reasons",[1324],{"type":322},{},{"nodeType":276,"data":1327,"content":1328},{},[1329],{"nodeType":247,"value":1330,"marks":1331,"data":1332},"If we zoom out, there are several systemic reasons that contribute to the persistence of password security issues:",[],{},{"nodeType":562,"data":1334,"content":1335},{},[1336,1364,1392],{"nodeType":539,"data":1337,"content":1338},{},[1339],{"nodeType":276,"data":1340,"content":1341},{},[1342,1347,1351,1360],{"nodeType":247,"value":1343,"marks":1344,"data":1346},"Self-adoption of work apps",[1345],{"type":322},{},{"nodeType":247,"value":1348,"marks":1349,"data":1350}," makes it extremely difficult to know all the workforce identities that exist across your environment, let alone whether they’re using a secure authentication method, or the strength or uniqueness of their password. Push’s ",[],{},{"nodeType":258,"data":1352,"content":1354},{"uri":1353},"https://pushsecurity.com/blog/how-many-vulnerable-identities-do-you-have/",[1355],{"nodeType":247,"value":1356,"marks":1357,"data":1359},"own research",[1358],{"type":256},{},{"nodeType":247,"value":1361,"marks":1362,"data":1363}," shows that for an average organization, each employee has 15 identities.",[],{},{"nodeType":539,"data":1365,"content":1366},{},[1367],{"nodeType":276,"data":1368,"content":1369},{},[1370,1375,1379,1388],{"nodeType":247,"value":1371,"marks":1372,"data":1374},"Apps optimize signups for low friction, not security.",[1373],{"type":322},{},{"nodeType":247,"value":1376,"marks":1377,"data":1378}," That often results in multiple authentication methods tied to any given account because local password accounts can still persist even after SSO onboarding — a phenomenon that we call ",[],{},{"nodeType":258,"data":1380,"content":1382},{"uri":1381},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/ghost_logins/description.md",[1383],{"nodeType":247,"value":1384,"marks":1385,"data":1387},"ghost logins",[1386],{"type":256},{},{"nodeType":247,"value":1389,"marks":1390,"data":1391}," because they provide attackers with a way around a company’s enterprise SSO solution. These local accounts represent a significant risk, and most are invisible. Which brings us to …",[],{},{"nodeType":539,"data":1393,"content":1394},{},[1395],{"nodeType":276,"data":1396,"content":1397},{},[1398,1403],{"nodeType":247,"value":1399,"marks":1400,"data":1402},"Many apps provide very little information to admins about the posture of accounts",[1401],{"type":322},{},{"nodeType":247,"value":1404,"marks":1405,"data":1406}," on that service, and even fewer offer management options to address security issues on those accounts. Some services provide no information at all about which accounts can even access a given tenant.",[],{},{"nodeType":276,"data":1408,"content":1409},{},[1410,1415],{"nodeType":247,"value":1411,"marks":1412,"data":1414},"The impact: ",[1413],{"type":322},{},{"nodeType":247,"value":1416,"marks":1417,"data":1418},"These systemic factors contribute to what we see many organizations grappling with: Known visibility gaps in their workforce identities, which are scattered across many more third-party apps than they imagine, and unknown account security risks for both managed and unmanaged apps.",[],{},{"nodeType":276,"data":1420,"content":1421},{},[1422],{"nodeType":247,"value":1423,"marks":1424,"data":1425},"These gaps open up a large attack surface for organizations. The 2024 Verizon DBIR found that 79% of web application compromises were the result of breached creds, and researchers at IBM reported last year that they observed a 71% year-over-year increase in cyberattacks using stolen or compromised credentials.",[],{},{"nodeType":896,"data":1427,"content":1428},{},[1429],{"nodeType":247,"value":1430,"marks":1431,"data":1433},"Technical reasons",[1432],{"type":322},{},{"nodeType":276,"data":1435,"content":1436},{},[1437],{"nodeType":247,"value":1438,"marks":1439,"data":1440},"There are also several technical reasons why bad passwords persist:",[],{},{"nodeType":562,"data":1442,"content":1443},{},[1444,1472],{"nodeType":539,"data":1445,"content":1446},{},[1447],{"nodeType":276,"data":1448,"content":1449},{},[1450,1453,1463,1468],{"nodeType":247,"value":29,"marks":1451,"data":1452},[],{},{"nodeType":258,"data":1454,"content":1456},{"uri":1455},"https://www.ncsc.gov.uk/blog-post/passkeys-not-perfect-getting-better",[1457],{"nodeType":247,"value":1458,"marks":1459,"data":1462},"Going passwordless is hard",[1460,1461],{"type":256},{"type":322},{},{"nodeType":247,"value":1464,"marks":1465,"data":1467}," ",[1466],{"type":322},{},{"nodeType":247,"value":1469,"marks":1470,"data":1471},"because it requires a large investment of time, money, and training for end-users. In environments with a mix of older and newer infrastructure, it can be challenging to get complete coverage, and employees may struggle with the transition to device-based authentication (especially when they lose their device and aren’t familiar with how to regain account access).",[],{},{"nodeType":539,"data":1473,"content":1474},{},[1475],{"nodeType":276,"data":1476,"content":1477},{},[1478,1483,1487,1496],{"nodeType":247,"value":1479,"marks":1480,"data":1482},"Many apps do not even provide a SAML option",[1481],{"type":322},{},{"nodeType":247,"value":1484,"marks":1485,"data":1486},", making it difficult to onboard every business app to SSO even once you know about them all. Last we checked, only about 30% of commonly used work apps supported SAML. Even when apps do provide the option, many charge the infamous “",[],{},{"nodeType":258,"data":1488,"content":1490},{"uri":1489},"https://sso.tax/",[1491],{"nodeType":247,"value":1492,"marks":1493,"data":1495},"SSO tax",[1494],{"type":256},{},{"nodeType":247,"value":1497,"marks":1498,"data":1499},",” putting the feature behind enterprise plans.",[],{},{"nodeType":276,"data":1501,"content":1502},{},[1503,1508],{"nodeType":247,"value":1504,"marks":1505,"data":1507},"The impact:",[1506],{"type":322},{},{"nodeType":247,"value":1509,"marks":1510,"data":1511}," What ends up happening in many organizations is a patchwork of login methods, including passwords, passkeys, OIDC, and SAML. Looking at data from Push’s install base, we see on average around 15,000 accounts per 1,000 users, with 5,900+ outside of SSO — about 40%. ",[],{},{"nodeType":276,"data":1513,"content":1514},{},[1515],{"nodeType":247,"value":1516,"marks":1517,"data":1518},"That means more — not less — for a security and IT team to manage, often without the visibility or control they need to do so effectively.",[],{},{"nodeType":340,"data":1520,"content":1524},{"target":1521},{"sys":1522},{"id":1523,"type":337,"linkType":338},"2QnWVpPYRyJQaQ5TuKSSLp",[],{"nodeType":896,"data":1526,"content":1527},{},[1528],{"nodeType":247,"value":1529,"marks":1530,"data":1532},"Human reasons",[1531],{"type":322},{},{"nodeType":276,"data":1534,"content":1535},{},[1536],{"nodeType":247,"value":1537,"marks":1538,"data":1539},"Finally, there are a lot of human reasons why poor passwords persist, all of them familiar and intractable:",[],{},{"nodeType":562,"data":1541,"content":1542},{},[1543,1558],{"nodeType":539,"data":1544,"content":1545},{},[1546],{"nodeType":276,"data":1547,"content":1548},{},[1549,1554],{"nodeType":247,"value":1550,"marks":1551,"data":1553},"Password change fatigue",[1552],{"type":322},{},{"nodeType":247,"value":1555,"marks":1556,"data":1557},", resulting in weak and reused passwords — often driven by incomplete adoption of enterprise password managers or outdated password security policies that require users to rotate passwords frequently. ",[],{},{"nodeType":539,"data":1559,"content":1560},{},[1561],{"nodeType":276,"data":1562,"content":1563},{},[1564,1569],{"nodeType":247,"value":1565,"marks":1566,"data":1568},"Shortcuts that busy humans take",[1567],{"type":322},{},{"nodeType":247,"value":1570,"marks":1571,"data":1572}," to get work done on a daily basis, including reusing passwords across personal and corporate accounts, storing passwords insecurely, and using easier-to-remember passwords over secure, complex ones.  ",[],{},{"nodeType":276,"data":1574,"content":1575},{},[1576,1580,1584,1593],{"nodeType":247,"value":1504,"marks":1577,"data":1579},[1578],{"type":322},{},{"nodeType":247,"value":1581,"marks":1582,"data":1583}," When there’s a large, complex, and largely invisible attack surface made up of these online corporate identities, adversaries profit. Just look at any of the ",[],{},{"nodeType":258,"data":1585,"content":1587},{"uri":1586},"https://pushsecurity.com/resources/2024-identity-attacks",[1588],{"nodeType":247,"value":1589,"marks":1590,"data":1592},"major identity attacks",[1591],{"type":256},{},{"nodeType":247,"value":1594,"marks":1595,"data":1596}," of the past year, some of which used password-spraying and credential-stuffing techniques to compromise accounts and pivot to high-value systems and data.",[],{},{"nodeType":276,"data":1598,"content":1599},{},[1600],{"nodeType":247,"value":1601,"marks":1602,"data":1603},"Password reuse also extends the blast radius for any account takeover incident when MFA is missing — a gap that occurs more often than you may think. Typically, 37% of logins observed by Push upon initial deployment into a new customer environment do not use any form of MFA.",[],{},{"nodeType":1287,"data":1605,"content":1606},{},[1607],{"nodeType":276,"data":1608,"content":1609},{},[1610],{"nodeType":247,"value":1611,"marks":1612,"data":1613},"2 in 5 logins observed by Push upon initial deployment into a new customer environment do not use any form of MFA.",[],{},{"nodeType":314,"data":1615,"content":1616},{},[],{"nodeType":324,"data":1618,"content":1619},{},[1620],{"nodeType":247,"value":1621,"marks":1622,"data":1623},"Why identity posture matters more in a SaaS-first world",[],{},{"nodeType":276,"data":1625,"content":1626},{},[1627,1631,1640],{"nodeType":247,"value":1628,"marks":1629,"data":1630},"When most work now happens via the browser on web-based applications, the stakes are even higher for preventing account takeover. That’s because the way that attacks occur in a SaaS environment is ",[],{},{"nodeType":258,"data":1632,"content":1634},{"uri":1633},"https://pushsecurity.com/blog/shifting-detection-left-for-more-effective-itdr/",[1635],{"nodeType":247,"value":1636,"marks":1637,"data":1639},"very different",[1638],{"type":256},{},{"nodeType":247,"value":1641,"marks":1642,"data":1643}," from traditional network attacks, and there are few effective ways to detect and respond post-account compromise.",[],{},{"nodeType":276,"data":1645,"content":1646},{},[1647],{"nodeType":247,"value":1648,"marks":1649,"data":1650},"The average SaaS attack path looks like this:",[],{},{"nodeType":562,"data":1652,"content":1653},{},[1654,1664,1674],{"nodeType":539,"data":1655,"content":1656},{},[1657],{"nodeType":276,"data":1658,"content":1659},{},[1660],{"nodeType":247,"value":1661,"marks":1662,"data":1663},"Attackers gain control of legitimate employee accounts using stolen credentials or via password-spraying or credential-stuffing techniques.",[],{},{"nodeType":539,"data":1665,"content":1666},{},[1667],{"nodeType":276,"data":1668,"content":1669},{},[1670],{"nodeType":247,"value":1671,"marks":1672,"data":1673},"Attackers exfiltrate data.",[],{},{"nodeType":539,"data":1675,"content":1676},{},[1677],{"nodeType":276,"data":1678,"content":1679},{},[1680],{"nodeType":247,"value":1681,"marks":1682,"data":1683},"The end.",[],{},{"nodeType":276,"data":1685,"content":1686},{},[1687],{"nodeType":247,"value":1688,"marks":1689,"data":1690},"Compare that to traditional network or enterprise cloud attacks, which usually involve more complex lateral movement, privilege escalation, and defense evasion.",[],{},{"nodeType":276,"data":1692,"content":1693},{},[1694],{"nodeType":247,"value":1695,"marks":1696,"data":1697},"With limited log data and few response capabilities provided by most SaaS apps, security teams also have few good options to stop the damage of an account takeover once one has occurred. ",[],{},{"nodeType":276,"data":1699,"content":1700},{},[1701],{"nodeType":247,"value":1702,"marks":1703,"data":1704},"That’s why at Push, we advocate for “shifting left,” and preventing account takeover before it happens.",[],{},{"nodeType":340,"data":1706,"content":1710},{"target":1707},{"sys":1708},{"id":1709,"type":337,"linkType":338},"6wIzMu3jBhaas9jtpV48bz",[],{"nodeType":314,"data":1712,"content":1713},{},[],{"nodeType":324,"data":1715,"content":1716},{},[1717],{"nodeType":247,"value":1718,"marks":1719,"data":1720},"How Push helps you ensure strong passwords",[],{},{"nodeType":276,"data":1722,"content":1723},{},[1724],{"nodeType":247,"value":1725,"marks":1726,"data":1727},"There are four capabilities that security teams need in order to regain control over password security issues across their corporate accounts. Here’s how Push accomplishes each one.",[],{},{"nodeType":896,"data":1729,"content":1730},{},[1731],{"nodeType":247,"value":1732,"marks":1733,"data":1735},"1. A reliable inventory of all the apps that employees are using, including work apps and internal apps.",[1734],{"type":322},{},{"nodeType":276,"data":1737,"content":1738},{},[1739],{"nodeType":247,"value":1740,"marks":1741,"data":1742},"Push achieves this by deploying a browser agent to employee browsers that can directly observe their login activity, which feeds the data back into an admin console (or your SIEM/SOAR or other third-party system). You can enforce the installation of the agent using any MDM solution, on all major browsers.",[],{},{"nodeType":276,"data":1744,"content":1745},{},[1746],{"nodeType":247,"value":1747,"marks":1748,"data":1749},"Once the agent is activated, it begins immediately capturing employee logins and produces a real-time inventory of all your work and internal apps. Because Push observes the login directly in the browser, it can identify all the apps and accounts being used by your employees — both managed and unmanaged (shadow IT).",[],{},{"nodeType":276,"data":1751,"content":1752},{},[1753,1757,1763],{"nodeType":247,"value":1754,"marks":1755,"data":1756},"You can also configure Push to monitor ",[],{},{"nodeType":247,"value":1758,"marks":1759,"data":1762},"any",[1760],{"type":1761},"italic",{},{"nodeType":247,"value":1764,"marks":1765,"data":1766}," login to a work app, regardless of the associated email domain of the employee. This means you can monitor personal account logins to apps that are commonly used for work.",[],{},{"nodeType":340,"data":1768,"content":1772},{"target":1769},{"sys":1770},{"id":1771,"type":337,"linkType":338},"4ctCB7kBscj12BnfHhk3ro",[],{"nodeType":896,"data":1774,"content":1775},{},[1776],{"nodeType":247,"value":1777,"marks":1778,"data":1780},"2. A way to identify the login methods an account is using, whether that’s SAML, OIDC, or password.",[1779],{"type":322},{},{"nodeType":276,"data":1782,"content":1783},{},[1784],{"nodeType":247,"value":1785,"marks":1786,"data":1787},"Again, because Push observes the login event, it can analyze the authentication method or methods in use by a given account. Push tells you which SSO accounts still have passwords associated with them, and which authentication methods are being actively used.",[],{},{"nodeType":340,"data":1789,"content":1793},{"target":1790},{"sys":1791},{"id":1792,"type":337,"linkType":338},"pVD238hZ331gjWalDTM1q",[],{"nodeType":896,"data":1795,"content":1796},{},[1797],{"nodeType":247,"value":1798,"marks":1799,"data":1801},"3. A method for analyzing whether an employee is using secure passwords on all their accounts.",[1800],{"type":322},{},{"nodeType":276,"data":1803,"content":1804},{},[1805,1809,1818],{"nodeType":247,"value":1806,"marks":1807,"data":1808},"Using Push, you can also check the posture of all your employee accounts. The browser agent accomplishes this by ",[],{},{"nodeType":258,"data":1810,"content":1812},{"uri":1811},"https://pushsecurity.com/help/10065#start",[1813],{"nodeType":247,"value":1814,"marks":1815,"data":1817},"creating a salted hash",[1816],{"type":256},{},{"nodeType":247,"value":1819,"marks":1820,"data":1821}," of a user’s observed password and then taking the first 8 characters of that hash to store locally in the browser.",[],{},{"nodeType":276,"data":1823,"content":1824},{},[1825],{"nodeType":247,"value":1826,"marks":1827,"data":1828},"This allows Push to analyze whether the password is weak (comparing the hash to a list of 10,000 common basewords and common permutations); or reused across accounts.",[],{},{"nodeType":276,"data":1830,"content":1831},{},[1832,1836,1845,1849,1858],{"nodeType":247,"value":1833,"marks":1834,"data":1835},"Push can also identify when employee passwords have ",[],{},{"nodeType":258,"data":1837,"content":1839},{"uri":1838},"https://pushsecurity.com/help/10066#start",[1840],{"nodeType":247,"value":1841,"marks":1842,"data":1844},"appeared in a public breach list",[1843],{"type":256},{},{"nodeType":247,"value":1846,"marks":1847,"data":1848}," using the Have I Been Pwned service, using a k-anonymized hash. Using similar secure methods, Push can detect when employees are sharing account credentials, whether they’re using a ",[],{},{"nodeType":258,"data":1850,"content":1852},{"uri":1851},"https://pushsecurity.com/help/10085/#start",[1853],{"nodeType":247,"value":1854,"marks":1855,"data":1857},"password manager",[1856],{"type":256},{},{"nodeType":247,"value":1859,"marks":1860,"data":1861},", and which one.",[],{},{"nodeType":276,"data":1863,"content":1864},{},[1865,1869,1879],{"nodeType":247,"value":1866,"marks":1867,"data":1868},"Using Push’s ",[],{},{"nodeType":258,"data":1870,"content":1872},{"uri":1871},"https://pushsecurity.com/blog/verified-stolen-credential-detection/",[1873],{"nodeType":247,"value":1874,"marks":1875,"data":1878},"Stolen credentials detection",[1876,1877],{"type":256},{"type":322},{},{"nodeType":247,"value":1880,"marks":1881,"data":1882}," feature, you can also get alerted when an employee is using credentials that match those for sale in criminal forums. Push integrates with commercial threat intelligence sources to perform these matches, and you can also bring your own TI using the Push REST API to perform additional checks for in-use stolen creds. This check still happens locally in the browser, so no hashes are sent to third-party systems.",[],{},{"nodeType":340,"data":1884,"content":1888},{"target":1885},{"sys":1886},{"id":1887,"type":337,"linkType":338},"6wfLCTzvHeMzagyuEWGyJg",[],{"nodeType":276,"data":1890,"content":1891},{},[1892,1896,1905],{"nodeType":247,"value":1893,"marks":1894,"data":1895},"If you configure Push to also monitor for employees who are logging in to work apps using ",[],{},{"nodeType":258,"data":1897,"content":1899},{"uri":1898},"https://pushsecurity.com/help/10105#start",[1900],{"nodeType":247,"value":1901,"marks":1902,"data":1904},"personal email addresses",[1903],{"type":256},{},{"nodeType":247,"value":1906,"marks":1907,"data":1908}," or any non-corporate email, Push can identify when personal accounts and work accounts are reusing passwords for the same work application.",[],{},{"nodeType":276,"data":1910,"content":1911},{},[1912,1916,1925],{"nodeType":247,"value":1913,"marks":1914,"data":1915},"Using the Push ",[],{},{"nodeType":258,"data":1917,"content":1919},{"uri":1918},"https://pushsecurity.com/help/audience/administrators/docs/getting-started/#api-and-webhooks",[1920],{"nodeType":247,"value":1921,"marks":1922,"data":1924},"REST API and webhooks",[1923],{"type":256},{},{"nodeType":247,"value":1926,"marks":1927,"data":1928},", you can get alerted when Push raises a security finding for an account, and when a finding is resolved.",[],{},{"nodeType":896,"data":1930,"content":1931},{},[1932],{"nodeType":247,"value":1933,"marks":1934,"data":1936},"4. The ability to solve any issues at scale, including remediating bad passwords and enforcing MFA, even on apps where the security team doesn’t have administrative control.",[1935],{"type":322},{},{"nodeType":276,"data":1938,"content":1939},{},[1940],{"nodeType":247,"value":1941,"marks":1942,"data":1943},"Finally, you can enforce self-remediation workflows using Push’s position in the browser, right where employees are working. ",[],{},{"nodeType":276,"data":1945,"content":1946},{},[1947],{"nodeType":247,"value":1948,"marks":1949,"data":1950},"Push recently released a new in-browser control to enforce strong passwords. It works by detecting when an employee has a password security issue, and then prompting them to update their password by displaying a customizable banner message when they log in to the affected account.",[],{},{"nodeType":340,"data":1952,"content":1956},{"target":1953},{"sys":1954},{"id":1955,"type":337,"linkType":338},"4IfBLaE66CJSsb5h44vSNp",[],{"nodeType":276,"data":1958,"content":1959},{},[1960,1964,1973],{"nodeType":247,"value":1961,"marks":1962,"data":1963},"This control complements an existing ",[],{},{"nodeType":258,"data":1965,"content":1967},{"uri":1966},"https://pushsecurity.com/blog/enforce-mfa-on-third-party-apps/",[1968],{"nodeType":247,"value":1969,"marks":1970,"data":1972},"MFA enforcement",[1971],{"type":256},{},{"nodeType":247,"value":1974,"marks":1975,"data":1976}," guardrail, which uses a similar workflow to prompt employees to register for MFA on apps where it’s missing.",[],{},{"nodeType":314,"data":1978,"content":1979},{},[],{"nodeType":324,"data":1981,"content":1982},{},[1983],{"nodeType":247,"value":1984,"marks":1985,"data":1987},"A closer look at password enforcement",[1986],{"type":322},{},{"nodeType":276,"data":1989,"content":1990},{},[1991,1995,1999],{"nodeType":247,"value":1992,"marks":1993,"data":1994},"In the spirit of helping users do the right thing, we designed the",[],{},{"nodeType":247,"value":1464,"marks":1996,"data":1998},[1997],{"type":322},{},{"nodeType":247,"value":2000,"marks":2001,"data":2002},"password enforcement control to meet users where they are, in the most relevant context where they can fix the problem. ",[],{},{"nodeType":276,"data":2004,"content":2005},{},[2006],{"nodeType":247,"value":2007,"marks":2008,"data":2009},"Because this control is powered by the Push browser agent, security teams don’t need administrative control over every app where password accounts exist — which often isn’t practical for all the reasons we reviewed earlier. Instead, they can use Push to prompt employees to fix the issue themselves.",[],{},{"nodeType":276,"data":2011,"content":2012},{},[2013],{"nodeType":247,"value":2014,"marks":2015,"data":2016},"Here’s a closer look at how it works:",[],{},{"nodeType":562,"data":2018,"content":2019},{},[2020,2047,2057],{"nodeType":539,"data":2021,"content":2022},{},[2023],{"nodeType":276,"data":2024,"content":2025},{},[2026,2030,2034,2038,2043],{"nodeType":247,"value":2027,"marks":2028,"data":2029},"You can enable ",[],{},{"nodeType":247,"value":1247,"marks":2031,"data":2033},[2032],{"type":322},{},{"nodeType":247,"value":2035,"marks":2036,"data":2037}," from the tile on the ",[],{},{"nodeType":247,"value":2039,"marks":2040,"data":2042},"Controls",[2041],{"type":322},{},{"nodeType":247,"value":2044,"marks":2045,"data":2046}," page of the Push admin console. ",[],{},{"nodeType":539,"data":2048,"content":2049},{},[2050],{"nodeType":276,"data":2051,"content":2052},{},[2053],{"nodeType":247,"value":2054,"marks":2055,"data":2056},"Using the rule editor, select whether you want to apply the control for all employees, or just specific groups or individuals, and which apps it should apply to. You can also select which types of password security issues you want to prompt users about.",[],{},{"nodeType":539,"data":2058,"content":2059},{},[2060],{"nodeType":276,"data":2061,"content":2062},{},[2063],{"nodeType":247,"value":2064,"marks":2065,"data":2066},"Then customize the message that employees will see. Push will then automatically display the banner based on your criteria. Where possible, Push will include a link in the banner that takes employees directly to the page in the app where they can change their password — or you can add a link yourself.",[],{},{"nodeType":340,"data":2068,"content":2072},{"target":2069},{"sys":2070},{"id":2071,"type":337,"linkType":338},"shpVOAMlk7OE1mWrE9h8S",[],{"nodeType":276,"data":2074,"content":2075},{},[2076],{"nodeType":247,"value":2077,"marks":2078,"data":2079},"Once the password has been changed and Push verifies that the new password is strong, you’ll see the security finding cleared from the account record in the admin console and the banner will no longer display to the end-user.",[],{},{"nodeType":276,"data":2081,"content":2082},{},[2083],{"nodeType":247,"value":2084,"marks":2085,"data":2086},"Push also sends webhook events when:",[],{},{"nodeType":562,"data":2088,"content":2089},{},[2090,2100,2110,2120],{"nodeType":539,"data":2091,"content":2092},{},[2093],{"nodeType":276,"data":2094,"content":2095},{},[2096],{"nodeType":247,"value":2097,"marks":2098,"data":2099},"A banner is displayed",[],{},{"nodeType":539,"data":2101,"content":2102},{},[2103],{"nodeType":276,"data":2104,"content":2105},{},[2106],{"nodeType":247,"value":2107,"marks":2108,"data":2109},"A user clicks the link in the banner to take action",[],{},{"nodeType":539,"data":2111,"content":2112},{},[2113],{"nodeType":276,"data":2114,"content":2115},{},[2116],{"nodeType":247,"value":2117,"marks":2118,"data":2119},"A password is updated",[],{},{"nodeType":539,"data":2121,"content":2122},{},[2123],{"nodeType":276,"data":2124,"content":2125},{},[2126],{"nodeType":247,"value":2127,"marks":2128,"data":2129},"A password security finding is resolved",[],{},{"nodeType":314,"data":2131,"content":2132},{},[],{"nodeType":324,"data":2134,"content":2135},{},[2136],{"nodeType":247,"value":2137,"marks":2138,"data":2140},"Where to begin",[2139],{"type":322},{},{"nodeType":276,"data":2142,"content":2143},{},[2144],{"nodeType":247,"value":2145,"marks":2146,"data":2147},"Most organizations we work with deploy the Push agent first to get an initial understanding of their attack surface and account posture issues. Then we recommend enabling the one-two punch of MFA and strong password enforcement guardrails. You can use both controls in tandem, and Push will first seek to resolve the password issues on a given account, and then prompt the user to register for MFA.",[],{},{"nodeType":314,"data":2149,"content":2150},{},[],{"nodeType":324,"data":2152,"content":2153},{},[2154],{"nodeType":247,"value":2155,"marks":2156,"data":2157},"Find out more",[],{},{"nodeType":276,"data":2159,"content":2160},{},[2161,2165,2173],{"nodeType":247,"value":2162,"marks":2163,"data":2164},"If you want to learn more about how Push helps you to detect and defeat common identity attack techniques like AiTM phishing, credential stuffing, and session hijacking while improving your workforce identity posture, book some time with one of our team for a ",[],{},{"nodeType":258,"data":2166,"content":2167},{"uri":1127},[2168],{"nodeType":247,"value":2169,"marks":2170,"data":2172},"live demo",[2171],{"type":256},{},{"nodeType":247,"value":2174,"marks":2175,"data":2176},".",[],{},"Introducing Push password enforcement — for when weak passwords are still plaguing you","Detects when employees have weak, reused, or stolen passwords and guide them to update their password using in-browser messaging on any app. ","2025-03-25T00:00:00.000Z","introducing-strong-password-enforcement",{"items":2182},[2183,2187],{"sys":2184,"name":2186},{"id":2185},"3pjES4THCIfSAwhGdNwBcy","Browser security",{"sys":2188,"name":1158},{"id":1157},{"items":2190},[2191],{"fullName":2192,"firstName":2193,"jobTitle":1168,"profilePicture":2194},"Kelly Davenport","Kelly",{"url":2195},"https://images.ctfassets.net/y1cdw1ablpvd/1hi8bEuVfn5sF57LivAq6d/9a3b82426c697d765e2e450e33a18424/kelly_profile_pic.jpeg",{"__typename":828,"sys":2197,"content":2199,"title":2969,"synopsis":2970,"hashTags":62,"publishedDate":2971,"slug":2972,"tagsCollection":2973,"authorsCollection":2979},{"id":2198},"3RhqaMQEBAQBdfHDQeoELF",{"json":2200},{"nodeType":695,"data":2201,"content":2202},{},[2203,2210,2243,2250,2269,2276,2279,2287,2294,2300,2307,2313,2319,2326,2344,2350,2357,2360,2368,2387,2410,2417,2425,2432,2439,2445,2453,2472,2491,2497,2504,2510,2518,2551,2557,2564,2567,2575,2582,2602,2609,2615,2623,2630,2637,2644,2651,2723,2730,2738,2757,2763,2770,2777,2783,2790,2796,2804,2811,2817,2823,2830,2833,2841,2872,2879,2898,2905,2916,2923,2926,2934,2952],{"nodeType":276,"data":2204,"content":2205},{},[2206],{"nodeType":247,"value":2207,"marks":2208,"data":2209},"Phishing attacks using Attacker-in-the-Middle (AitM) kits are increasingly the default for both credential harvesting campaigns and targeted phishing attacks. It’s easy to see why, too:",[],{},{"nodeType":562,"data":2211,"content":2212},{},[2213,2223,2233],{"nodeType":539,"data":2214,"content":2215},{},[2216],{"nodeType":276,"data":2217,"content":2218},{},[2219],{"nodeType":247,"value":2220,"marks":2221,"data":2222},"They’re very difficult to spot as a user and often function like the real page should, logging the victim into the genuine site once the phish is complete",[],{},{"nodeType":539,"data":2224,"content":2225},{},[2226],{"nodeType":276,"data":2227,"content":2228},{},[2229],{"nodeType":247,"value":2230,"marks":2231,"data":2232},"They’re incredibly scalable, and attackers have an increasing number of options to choose from when it comes to off-the-shelf tools and commercial Phishing-as-a-Service offerings ",[],{},{"nodeType":539,"data":2234,"content":2235},{},[2236],{"nodeType":276,"data":2237,"content":2238},{},[2239],{"nodeType":247,"value":2240,"marks":2241,"data":2242},"And most importantly, they reliably bypass 99% of the MFA methods encountered in the wild, defeating OTP, SMS and push-based authentication",[],{},{"nodeType":276,"data":2244,"content":2245},{},[2246],{"nodeType":247,"value":2247,"marks":2248,"data":2249},"There are basically no downsides to AitM for an attacker. But all the same, they don’t get all that much publicity — probably because traditional phishing prevention solutions are failing to detect them (before the attack succeeds, anyway — and nobody really wants to own up to that). ",[],{},{"nodeType":276,"data":2251,"content":2252},{},[2253,2257,2266],{"nodeType":247,"value":2254,"marks":2255,"data":2256},"So, it’s refreshing to see Troy Hunt, creator of the widely used Have I Been Pwned (HIBP) service, ",[],{},{"nodeType":258,"data":2258,"content":2260},{"uri":2259},"https://www.troyhunt.com/a-sneaky-phish-just-grabbed-my-mailchimp-mailing-list/",[2261],{"nodeType":247,"value":2262,"marks":2263,"data":2265},"publicly discussing a recent attack he fell victim to",[2264],{"type":256},{},{"nodeType":247,"value":859,"marks":2267,"data":2268},[],{},{"nodeType":276,"data":2270,"content":2271},{},[2272],{"nodeType":247,"value":2273,"marks":2274,"data":2275},"Before we consider the significance of Troy failing to spot the phish — the creator of one of the most widely used services for stolen passwords, working with government on phishing prevention guidance — let's start by breaking down the attack itself. ",[],{},{"nodeType":314,"data":2277,"content":2278},{},[],{"nodeType":324,"data":2280,"content":2281},{},[2282],{"nodeType":247,"value":2283,"marks":2284,"data":2286},"What happened",[2285],{"type":322},{},{"nodeType":276,"data":2288,"content":2289},{},[2290],{"nodeType":247,"value":2291,"marks":2292,"data":2293},"Troy received a phishing email appearing to be from MailChimp prompting him to sign into his account, with the lure informing him it had had been restricted due to a spam complaint",[],{},{"nodeType":340,"data":2295,"content":2299},{"target":2296},{"sys":2297},{"id":2298,"type":337,"linkType":338},"5A4CPvTyKhClC8LgHY5916",[],{"nodeType":276,"data":2301,"content":2302},{},[2303],{"nodeType":247,"value":2304,"marks":2305,"data":2306},"The email matched Mailchimp’s brand, but the sender address was obviously suspicious. Unfortunately, Troy initially accessed the email via mobile, which hid the sender address — which he then missed when accessing from his PC. ",[],{},{"nodeType":340,"data":2308,"content":2312},{"target":2309},{"sys":2310},{"id":2311,"type":337,"linkType":338},"1JWw4jO3qxxJeHO3qtMuZc",[],{"nodeType":340,"data":2314,"content":2318},{"target":2315},{"sys":2316},{"id":2317,"type":337,"linkType":338},"1ebM2R90arTKlCmxmtvYjz",[],{"nodeType":276,"data":2320,"content":2321},{},[2322],{"nodeType":247,"value":2323,"marks":2324,"data":2325},"Troy was directed to the page hxxps://mailchimp-sso.com. Troy entered his credentials and MFA token and logged in. The page hung and he realized he had been phished…",[],{},{"nodeType":276,"data":2327,"content":2328},{},[2329,2333,2341],{"nodeType":247,"value":2330,"marks":2331,"data":2332},"The attack then automatically executed, with the attacker exporting 16,000 contact records from MailChimp and creating an API key to provide backdoor access to the app (a form of ",[],{},{"nodeType":258,"data":2334,"content":2335},{"uri":1381},[2336],{"nodeType":247,"value":2337,"marks":2338,"data":2340},"ghost login",[2339],{"type":256},{},{"nodeType":247,"value":1195,"marks":2342,"data":2343},[],{},{"nodeType":340,"data":2345,"content":2349},{"target":2346},{"sys":2347},{"id":2348,"type":337,"linkType":338},"2MDWfQFU69GaiMCxdvvq8U",[],{"nodeType":276,"data":2351,"content":2352},{},[2353],{"nodeType":247,"value":2354,"marks":2355,"data":2356},"Let’s have a look at what makes this attack interesting. ",[],{},{"nodeType":314,"data":2358,"content":2359},{},[],{"nodeType":324,"data":2361,"content":2362},{},[2363],{"nodeType":247,"value":2364,"marks":2365,"data":2367},"Breaking the attack down",[2366],{"type":322},{},{"nodeType":276,"data":2369,"content":2370},{},[2371,2375,2383],{"nodeType":247,"value":2372,"marks":2373,"data":2374},"As far as ",[],{},{"nodeType":258,"data":2376,"content":2377},{"uri":551},[2378],{"nodeType":247,"value":2379,"marks":2380,"data":2382},"some of the AitM attacks we’ve observed in the wild",[2381],{"type":256},{},{"nodeType":247,"value":2384,"marks":2385,"data":2386}," go, this wasn’t the most advanced example we’ve seen: ",[],{},{"nodeType":562,"data":2388,"content":2389},{},[2390,2400],{"nodeType":539,"data":2391,"content":2392},{},[2393],{"nodeType":276,"data":2394,"content":2395},{},[2396],{"nodeType":247,"value":2397,"marks":2398,"data":2399},"It didn’t try to obfuscate the notably suspicious sender address or use a legit SaaS service to give the email sender a reputable domain.",[],{},{"nodeType":539,"data":2401,"content":2402},{},[2403],{"nodeType":276,"data":2404,"content":2405},{},[2406],{"nodeType":247,"value":2407,"marks":2408,"data":2409},"It didn’t see the victim access the real login page, and instead terminated the connection at the point the credentials were captured — meaning Troy was immediately suspicious (I guess it doesn’t really matter given the attack executed instantly, automatically).",[],{},{"nodeType":276,"data":2411,"content":2412},{},[2413],{"nodeType":247,"value":2414,"marks":2415,"data":2416},"That said, it did use a few interesting tricks and techniques. ",[],{},{"nodeType":896,"data":2418,"content":2419},{},[2420],{"nodeType":247,"value":2421,"marks":2422,"data":2424},"Enumerating suitable victims",[2423],{"type":322},{},{"nodeType":276,"data":2426,"content":2427},{},[2428],{"nodeType":247,"value":2429,"marks":2430,"data":2431},"It’s notable that Troy claims the email he used to access MailChimp wasn’t used anywhere else — meaning the attacker probably guessed it. The domain is partially obscured here but it's likely that this is Troy’s own personal domain. It isn’t too much of a stretch to imagine that organizations frequently set up dedicated email addresses for their MailChimp accounts or newsletters generally (e.g. mailchimp@exampledomain.com). ",[],{},{"nodeType":276,"data":2433,"content":2434},{},[2435],{"nodeType":247,"value":2436,"marks":2437,"data":2438},"Undeniably, Troy’s MailChimp account is probably more of a target than most given the success of his newsletter, but it’s still likely that the attacker spammed many possible address and domain combinations to see what stuck. There’s a degree of luck, but also some smart guesswork at play here. ",[],{},{"nodeType":340,"data":2440,"content":2444},{"target":2441},{"sys":2442},{"id":2443,"type":337,"linkType":338},"5TgXthj5tsvWX87QHZH1WQ",[],{"nodeType":896,"data":2446,"content":2447},{},[2448],{"nodeType":247,"value":2449,"marks":2450,"data":2452},"Using legit services like Cloudflare to defeat detections ",[2451],{"type":322},{},{"nodeType":276,"data":2454,"content":2455},{},[2456,2460,2468],{"nodeType":247,"value":2457,"marks":2458,"data":2459},"The attacker used Cloudflare to host the domain, which is ",[],{},{"nodeType":258,"data":2461,"content":2462},{"uri":460},[2463],{"nodeType":247,"value":2464,"marks":2465,"data":2467},"consistent with what we’ve observed attackers doing in the wild",[2466],{"type":256},{},{"nodeType":247,"value":2469,"marks":2470,"data":2471},". Even if this means that Cloudflare will probably take the domain down eventually, they aren’t great at identifying the page right away. Given the rate at which attacker infrastructure is burned and rotated, the pros outweigh the cons for the attacker by giving the site legitimate hosting infrastructure, which can defeat some of the common checks performed by anti-phishing tools.",[],{},{"nodeType":276,"data":2473,"content":2474},{},[2475,2479,2487],{"nodeType":247,"value":2476,"marks":2477,"data":2478},"Troy also mentions seeing a 'Cloudflare anti-automation widget' when accessing the page, which is most likely Cloudflare Turnstile — a creative alternative to CAPTCHA to prevent security bots from accessing and loading malicious pages to analyse them. We've seen attackers use Turnstile ",[],{},{"nodeType":258,"data":2480,"content":2481},{"uri":460},[2482],{"nodeType":247,"value":2483,"marks":2484,"data":2486},"along with a host of other obfuscation techniques",[2485],{"type":256},{},{"nodeType":247,"value":2488,"marks":2489,"data":2490}," to defeat common detections by preventing security tools from analysing the malicious page. ",[],{},{"nodeType":340,"data":2492,"content":2496},{"target":2493},{"sys":2494},{"id":2495,"type":337,"linkType":338},"2X1r1qbE5CVcJ0xVcESGK7",[],{"nodeType":276,"data":2498,"content":2499},{},[2500],{"nodeType":247,"value":2501,"marks":2502,"data":2503},"Although this page has now been taken down, the campaign undoubtedly continues — another will have been rotated in to take its place. ",[],{},{"nodeType":340,"data":2505,"content":2509},{"target":2506},{"sys":2507},{"id":2508,"type":337,"linkType":338},"26wnNFTED2f6O1HtqL3Cgu",[],{"nodeType":896,"data":2511,"content":2512},{},[2513],{"nodeType":247,"value":2514,"marks":2515,"data":2517},"Configuring ghost logins via API keys to backdoor the account ",[2516],{"type":322},{},{"nodeType":276,"data":2519,"content":2520},{},[2521,2525,2534,2538,2547],{"nodeType":247,"value":2522,"marks":2523,"data":2524},"The attacker also configured an API key — a smart way to backdoor an app and something we’ve previously ",[],{},{"nodeType":258,"data":2526,"content":2528},{"uri":2527},"https://pushsecurity.com/resources/phishing-detecting-evilginx-evilnovnc-muraena-and-modlishka",[2529],{"nodeType":247,"value":2530,"marks":2531,"data":2533},"demonstrated in our webinars",[2532],{"type":256},{},{"nodeType":247,"value":2535,"marks":2536,"data":2537}," as a ",[],{},{"nodeType":258,"data":2539,"content":2541},{"uri":2540},"https://github.com/pushsecurity/saas-attacks",[2542],{"nodeType":247,"value":2543,"marks":2544,"data":2546},"SaaS-native attack technique",[2545],{"type":256},{},{"nodeType":247,"value":2548,"marks":2549,"data":2550}," for persistence. It means that even if the credentials are changed, the attacker can maintain access to the account.",[],{},{"nodeType":340,"data":2552,"content":2556},{"target":2553},{"sys":2554},{"id":2555,"type":337,"linkType":338},"35GkKL1rXnWHNZa1EBHLyD",[],{"nodeType":276,"data":2558,"content":2559},{},[2560],{"nodeType":247,"value":2561,"marks":2562,"data":2563},"Now, as a security pro, Troy noticed this and deleted it — but many less technical victims wouldn’t know to do this. It’s also not unusual for automated emails from applications to go to spam — meaning some victims potentially wouldn’t spot the notification sent to them. ",[],{},{"nodeType":314,"data":2565,"content":2566},{},[],{"nodeType":324,"data":2568,"content":2569},{},[2570],{"nodeType":247,"value":2571,"marks":2572,"data":2574},"But — why MailChimp? ",[2573],{"type":322},{},{"nodeType":276,"data":2576,"content":2577},{},[2578],{"nodeType":247,"value":2579,"marks":2580,"data":2581},"This was the big question we asked ourselves when looking into this attack. Most phishing attacks targeting businesses tend to focus on core platforms like Microsoft, Google Workspace, etc. — usually Identity Providers (IdPs) that provide both access to email and downstream apps via SSO. It’s the biggest bang for their buck and most tooling is preconfigured to support these platforms. So MailChimp seems an unusual choice at first glance. ",[],{},{"nodeType":276,"data":2583,"content":2584},{},[2585,2589,2598],{"nodeType":247,"value":2586,"marks":2587,"data":2588},"But, we’ve seen recently that it's getting easier for attackers to ",[],{},{"nodeType":258,"data":2590,"content":2592},{"uri":2591},"https://www.bleepingcomputer.com/news/security/darcula-phaas-can-now-auto-generate-phishing-kits-for-any-brand/",[2593],{"nodeType":247,"value":2594,"marks":2595,"data":2597},"impersonate a broader range of brands",[2596],{"type":256},{},{"nodeType":247,"value":2599,"marks":2600,"data":2601},". And there’s something to be said for targeting an app like MailChimp — your guard is naturally probably lower than it would be for a Microsoft-based phish, increasing the chance of success. ",[],{},{"nodeType":276,"data":2603,"content":2604},{},[2605],{"nodeType":247,"value":2606,"marks":2607,"data":2608},"But what’s the payout? The data collected doesn’t seem to be overly valuable — 16k records including email address, IP, and rough geolocation data. Not particularly exploitable by itself…",[],{},{"nodeType":340,"data":2610,"content":2614},{"target":2611},{"sys":2612},{"id":2613,"type":337,"linkType":338},"OjZtHXit6WO6Zd9tCUYpJ",[],{"nodeType":896,"data":2616,"content":2617},{},[2618],{"nodeType":247,"value":2619,"marks":2620,"data":2622},"Part of a multi stage attack? ",[2621],{"type":322},{},{"nodeType":276,"data":2624,"content":2625},{},[2626],{"nodeType":247,"value":2627,"marks":2628,"data":2629},"This gets a lot more interesting when you consider the different things an attacker might do as part of a broader campaign. ",[],{},{"nodeType":276,"data":2631,"content":2632},{},[2633],{"nodeType":247,"value":2634,"marks":2635,"data":2636},"With access to MailChimp, an attacker can send emails on behalf of the compromised account. These emails are highly trusted and expected from the sender, meaning people receiving them are much more likely to engage with the content, click the links, etc. ",[],{},{"nodeType":276,"data":2638,"content":2639},{},[2640],{"nodeType":247,"value":2641,"marks":2642,"data":2643},"So what if an attacker compromised an account, inserted a load of malicious links into the newsletter, and used it in itself as a mass-phishing vector, designed to capture user credentials or deliver malware? Pretty devious! If you scale this up across multiple victims (and not all of them realize that they’ve been phished) you’ve suddenly got your hands on an incredibly valuable phishing vector that is much more likely to succeed than your average cold approach. ",[],{},{"nodeType":276,"data":2645,"content":2646},{},[2647],{"nodeType":247,"value":2648,"marks":2649,"data":2650},"Then, with the additional victims, you could target accounts that are much more inherently valuable to an attacker. You could:",[],{},{"nodeType":562,"data":2652,"content":2653},{},[2654,2690,2713],{"nodeType":539,"data":2655,"content":2656},{},[2657],{"nodeType":276,"data":2658,"content":2659},{},[2660,2664,2673,2677,2686],{"nodeType":247,"value":2661,"marks":2662,"data":2663},"Deploy infostealer malware, which has dominated the headlines since the success of the ",[],{},{"nodeType":258,"data":2665,"content":2667},{"uri":2666},"https://pushsecurity.com/blog/snowflake-retro/",[2668],{"nodeType":247,"value":2669,"marks":2670,"data":2672},"Snowflake",[2671],{"type":256},{},{"nodeType":247,"value":2674,"marks":2675,"data":2676}," attacks last year, and are continually resulting in data breaches via attackers logging into apps using stolen credentials such as the recent attacks on ",[],{},{"nodeType":258,"data":2678,"content":2680},{"uri":2679},"https://pushsecurity.com/blog/why-attackers-are-targeting-jira-with-stolen-credentials/",[2681],{"nodeType":247,"value":2682,"marks":2683,"data":2685},"Jira",[2684],{"type":256},{},{"nodeType":247,"value":2687,"marks":2688,"data":2689}," platforms.",[],{},{"nodeType":539,"data":2691,"content":2692},{},[2693],{"nodeType":276,"data":2694,"content":2695},{},[2696,2700,2709],{"nodeType":247,"value":2697,"marks":2698,"data":2699},"Target personal apps for banking, email, e-com, and other easily monetizable services — which is increasingly easy to do at-scale using ",[],{},{"nodeType":258,"data":2701,"content":2703},{"uri":2702},"https://www.bleepingcomputer.com/news/security/new-atlantis-aio-automates-credential-stuffing-on-140-services/",[2704],{"nodeType":247,"value":2705,"marks":2706,"data":2708},"tooling for hire",[2707],{"type":256},{},{"nodeType":247,"value":2710,"marks":2711,"data":2712}," with stolen credentials.",[],{},{"nodeType":539,"data":2714,"content":2715},{},[2716],{"nodeType":276,"data":2717,"content":2718},{},[2719],{"nodeType":247,"value":2720,"marks":2721,"data":2722},"Even attempt to deploy ransomware and other malicious software to progress an attack on user devices and networks (a pretty relevant use case for the many subscribers of Troy’s newsletter accessing it on their corporate device!).",[],{},{"nodeType":276,"data":2724,"content":2725},{},[2726],{"nodeType":247,"value":2727,"marks":2728,"data":2729},"Even grabbing the list of newsletter sign-ups could enable the attacker to perform this attack from a different MailChimp account, so anyone subscribed to Troy’s newsletter should be wary of emails impersonating Troy’s newsletter reaching them from a different sender address than usual. ",[],{},{"nodeType":896,"data":2731,"content":2732},{},[2733],{"nodeType":247,"value":2734,"marks":2735,"data":2737},"Account security limitations",[2736],{"type":322},{},{"nodeType":276,"data":2739,"content":2740},{},[2741,2745,2753],{"nodeType":247,"value":2742,"marks":2743,"data":2744},"On the theme of MailChimp, it’s also notable that MailChimp doesn’t appear to offer SAML support. ",[],{},{"nodeType":258,"data":2746,"content":2748},{"uri":2747},"https://www.okta.com/integrations/mailchimp/",[2749],{"nodeType":247,"value":2750,"marks":2751,"data":2752},"Okta lists the app as only available for SWA",[],{},{"nodeType":247,"value":2754,"marks":2755,"data":2756}," (where separate credentials are created to access the app, managed through Okta — more like a password manager than genuine SSO via SAML or OIDC).",[],{},{"nodeType":340,"data":2758,"content":2762},{"target":2759},{"sys":2760},{"id":2761,"type":337,"linkType":338},"7b4RZhUIqJMF1OxmyR0qKH",[],{"nodeType":276,"data":2764,"content":2765},{},[2766],{"nodeType":247,"value":2767,"marks":2768,"data":2769},"This means you’re forced to use a username and password. Your only SSO option is to sign in with Google — which many non-Google Workspace users may not have access to. ",[],{},{"nodeType":276,"data":2771,"content":2772},{},[2773],{"nodeType":247,"value":2774,"marks":2775,"data":2776},"As Troy points out, MailChimp also fails to offer support for phishing-resistant MFA. This is pretty typical (if disappointing) for the long tail of SaaS apps, which typically leave WebAuthn / passkey support to the IdP. Except in this case, support for SSO in general is limited, meaning you can only use passkeys if you’re logging in with Google. ",[],{},{"nodeType":340,"data":2778,"content":2782},{"target":2779},{"sys":2780},{"id":2781,"type":337,"linkType":338},"2lT7fBiOq4JxpMxSLrdUOv",[],{"nodeType":276,"data":2784,"content":2785},{},[2786],{"nodeType":247,"value":2787,"marks":2788,"data":2789},"So it’s possible that attackers have noticed that accounts in MailChimp are far more likely to have insecure accounts than other traditional phishing targets — simply because they cannot be configured as securely. ",[],{},{"nodeType":340,"data":2791,"content":2795},{"target":2792},{"sys":2793},{"id":2794,"type":337,"linkType":338},"30APqb65kzTA4ySWJIkxGh",[],{"nodeType":896,"data":2797,"content":2798},{},[2799],{"nodeType":247,"value":2800,"marks":2801,"data":2803},"It might not just be MailChimp",[2802],{"type":322},{},{"nodeType":276,"data":2805,"content":2806},{},[2807],{"nodeType":247,"value":2808,"marks":2809,"data":2810},"It looks like the same attackers have previously targeted ActiveCampaign, a marketing email and automation platform, based on GitHub comments from December. A domain previously flagged as malicious relating to ActiveCampaign currently redirects to the malicious MailChimp domain seen in Troy’s attack.",[],{},{"nodeType":340,"data":2812,"content":2816},{"target":2813},{"sys":2814},{"id":2815,"type":337,"linkType":338},"7M8W9vAYdqPN8NMU8Ug7jq",[],{"nodeType":340,"data":2818,"content":2822},{"target":2819},{"sys":2820},{"id":2821,"type":337,"linkType":338},"7CJfZwc9BpzIL7Fma1Y6o1",[],{"nodeType":276,"data":2824,"content":2825},{},[2826],{"nodeType":247,"value":2827,"marks":2828,"data":2829},"This could point to a broader campaign targeting similar SaaS platforms for marketing automation and email distribution.",[],{},{"nodeType":314,"data":2831,"content":2832},{},[],{"nodeType":324,"data":2834,"content":2835},{},[2836],{"nodeType":247,"value":2837,"marks":2838,"data":2840},"Closing thoughts",[2839],{"type":322},{},{"nodeType":276,"data":2842,"content":2843},{},[2844,2848,2855,2859,2868],{"nodeType":247,"value":2845,"marks":2846,"data":2847},"MailChimp might seem an unusual target but there are a lot of ways that attackers can abuse SaaS services, as we’ve discussed at length in our public research with the ",[],{},{"nodeType":258,"data":2849,"content":2850},{"uri":2540},[2851],{"nodeType":247,"value":271,"marks":2852,"data":2854},[2853],{"type":256},{},{"nodeType":247,"value":2856,"marks":2857,"data":2858}," and ",[],{},{"nodeType":258,"data":2860,"content":2862},{"uri":2861},"https://pushsecurity.com/resources/",[2863],{"nodeType":247,"value":2864,"marks":2865,"data":2867},"many webinars and conference talks",[2866],{"type":256},{},{"nodeType":247,"value":2869,"marks":2870,"data":2871},". Account takeover through modern phishing attacks like the one we've analysed here is key to unlocking this attack surface. ",[],{},{"nodeType":276,"data":2873,"content":2874},{},[2875],{"nodeType":247,"value":2876,"marks":2877,"data":2878},"While the vast majority of phishing attacks that we observe do focus on core platforms like Microsoft, Google Workspace and Okta, it makes sense that attackers are broadening their focus to take advantage of the fact that phishing targeting these accounts is less obviously a target, and these accounts are often much less securely configured. But there are many ways to target the interconnected ecosystem of SaaS apps in creative ways that most organizations (and users) are seriously underprepared for. ",[],{},{"nodeType":276,"data":2880,"content":2881},{},[2882,2886,2894],{"nodeType":247,"value":2883,"marks":2884,"data":2885},"Attackers have been targeting consumers and individuals via their sprawl of internet apps for some time — are more business-focused threat groups waking up to the opportunity of targeting SaaS? After all, it’s a ",[],{},{"nodeType":258,"data":2887,"content":2888},{"uri":1633},[2889],{"nodeType":247,"value":2890,"marks":2891,"data":2893},"great way to evade established controls elsewhere on the network and endpoints",[2892],{"type":256},{},{"nodeType":247,"value":2895,"marks":2896,"data":2897},", and you can achieve your objectives simply by logging in to (often weakly secured) user accounts.  ",[],{},{"nodeType":276,"data":2899,"content":2900},{},[2901],{"nodeType":247,"value":2902,"marks":2903,"data":2904},"The moral of the story? Phishing attacks are getting pretty sophisticated (and often much more sophisticated than this). Even security pros get phished sometimes!",[],{},{"nodeType":1287,"data":2906,"content":2907},{},[2908],{"nodeType":276,"data":2909,"content":2910},{},[2911],{"nodeType":247,"value":2912,"marks":2913,"data":2915},"This is clear indicator that we need stronger technical controls to prevent phishing. If even someone like Troy can be phished, the only reasonable conclusion is that humans will always be susceptible to phishing, no matter how much awareness training they receive. ",[2914],{"type":322},{},{"nodeType":276,"data":2917,"content":2918},{},[2919],{"nodeType":247,"value":2920,"marks":2921,"data":2922},"A big thanks to Troy for sharing his write-up of the incident!",[],{},{"nodeType":314,"data":2924,"content":2925},{},[],{"nodeType":324,"data":2927,"content":2928},{},[2929],{"nodeType":247,"value":2930,"marks":2931,"data":2933},"How Push can help",[2932],{"type":322},{},{"nodeType":276,"data":2935,"content":2936},{},[2937,2941,2949],{"nodeType":247,"value":2938,"marks":2939,"data":2940},"Push takes a unique browser-based approach to detecting and intercepting phishing attacks that overcomes many of the tricks and techniques attackers use to defeat conventional anti-phishing controls. To learn more, ",[],{},{"nodeType":258,"data":2942,"content":2943},{"uri":733},[2944],{"nodeType":247,"value":2945,"marks":2946,"data":2948},"check out our recent blog post",[2947],{"type":256},{},{"nodeType":247,"value":859,"marks":2950,"data":2951},[],{},{"nodeType":276,"data":2953,"content":2954},{},[2955,2959,2966],{"nodeType":247,"value":2956,"marks":2957,"data":2958},"And if you want to see how Push helps you to detect and defeat common identity attack techniques like AiTM phishing, credential stuffing, and session hijacking while improving your workforce identity posture, book some time with one of our team for a ",[],{},{"nodeType":258,"data":2960,"content":2961},{"uri":1127},[2962],{"nodeType":247,"value":2169,"marks":2963,"data":2965},[2964],{"type":256},{},{"nodeType":247,"value":2174,"marks":2967,"data":2968},[],{},"Dissecting a recent MailChimp phishing attack","HIBP creator and well-known security person Troy Hunt recently blogged about a phish he fell for. Here’s what it tells us about how phishing is evolving. ","2025-03-28T00:00:00.000Z","dissecting-a-recent-mailchimp-phishing-attack",{"items":2974},[2975,2977],{"sys":2976,"name":1158},{"id":1157},{"sys":2978,"name":1162},{"id":1161},{"items":2980},[2981],{"fullName":232,"firstName":233,"jobTitle":234,"profilePicture":2982},{"url":236},"how-consent-phishing-is-evolving","blog/how-consent-phishing-is-evolving",{"json":2986},{"data":2987,"content":2988,"nodeType":695},{},[2989],{"data":2990,"content":2991,"nodeType":276},{},[2992],{"data":2993,"marks":2994,"value":2995,"nodeType":247},{},[],"Consent phishing is where attackers trick users into authorizing malicious OAuth apps. But we’re now seeing different use cases emerge as attackers get creative to evade detection controls. ","Consent phishing is where attackers trick users into authorizing access for malicious OAuth apps. Here's how attackers are using this technique in the wild.",{"id":2998,"publishedAt":2999},"3uLWz59In1waXGcLB9cnPq","2025-03-31T11:57:32.747Z",{"items":3001},[3002,3004],{"sys":3003,"name":1158},{"id":1157},{"sys":3005,"name":1162},{"id":1161},"L4QfFmLbdJmavIC1Oa4sEKNSciV-9sPnqdjy0dbiv24",1784196726281]