[{"data":1,"prerenderedAt":2476},["ShallowReactive",2],{"application-flags":3,"navbar":7,"always-visible-banner":36,"navbar-about-highlight":108,"navbar-resource-highlight":182,"blog/app-specific-password-phishing":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":977,"faqItemsCollection":978,"faqTitle":62,"featured":6,"hashTags":62,"meta":980,"metaTitle":981,"ogImage":62,"publishedDate":982,"relatedBlogPostsCollection":983,"slug":2452,"stem":2453,"subtitle":62,"summary":2454,"synopsis":2465,"sys":2466,"tagsCollection":2469,"__hash__":2475},"blog/blog/app-specific-password-phishing.json","App-Specific Password phishing: another novel way to get around passkeys and MFA",{"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":942},{"nodeType":239,"data":240,"content":241},"document",{},[242,292,299,306,339,346,350,360,380,389,396,403,410,413,421,428,448,455,461,464,472,479,550,557,560,568,575,582,700,707,710,718,751,758,761,769,776,796,803,806,814,821,827,834,840,847,890,897,904,907,915,922],{"nodeType":243,"data":244,"content":245},"paragraph",{},[246,251,262,266,275,279,288],{"nodeType":247,"value":248,"marks":249,"data":250},"text","App-Specific Passwords (ASPs) are a way for users to access applications that do not support MFA or are otherwise incompatible with a platform’s standard login workflows. They are intended to enable a user to login to “legacy” (typically desktop) applications that do not support modern authentication (e.g. OAuth 2.0). For example, you might use this feature to allow a third-party mail client access to an email account by logging in with your ",[],{},{"nodeType":252,"data":253,"content":255},"hyperlink",{"uri":254},"https://support.microsoft.com/en-gb/account-billing/how-to-get-and-use-app-passwords-5896ed9b-4263-e681-128a-a6f2979a7944",[256],{"nodeType":247,"value":257,"marks":258,"data":261},"Microsoft",[259],{"type":260},"underline",{},{"nodeType":247,"value":263,"marks":264,"data":265},", ",[],{},{"nodeType":252,"data":267,"content":269},{"uri":268},"https://support.google.com/accounts/answer/185833?hl=en",[270],{"nodeType":247,"value":271,"marks":272,"data":274},"Google",[273],{"type":260},{},{"nodeType":247,"value":276,"marks":277,"data":278},", or ",[],{},{"nodeType":252,"data":280,"content":282},{"uri":281},"https://support.apple.com/en-us/102654",[283],{"nodeType":247,"value":284,"marks":285,"data":287},"Apple",[286],{"type":260},{},{"nodeType":247,"value":289,"marks":290,"data":291}," account. ",[],{},{"nodeType":243,"data":293,"content":294},{},[295],{"nodeType":247,"value":296,"marks":297,"data":298},"The logic behind this is that it is comparatively more secure than giving your critical IdP password to less secure apps — likely due to the volume of accounts compromised as a result of third-party breaches. It also means that if someone phishes your primary account password that normally has a second factor, that specific password can’t be used without the second factor. ",[],{},{"nodeType":243,"data":300,"content":301},{},[302],{"nodeType":247,"value":303,"marks":304,"data":305},"However, if an ASP is acquired by an attacker, it can be used to login to the target app — circumventing phishing-resistant authentication methods such as passkeys, and bypassing MFA checks. It effectively provides a method of sidestepping your preferred login method. So for example, if you're an organization that uses a passwordless login to access your Google Workspace account and has disabled secondary login methods (the gold standard in terms of secure authentication), an ASP gives attackers a way around this. ",[],{},{"nodeType":243,"data":307,"content":308},{},[309,313,322,326,335],{"nodeType":247,"value":310,"marks":311,"data":312},"With recent evidence of exploitation in the wild in the form of ",[],{},{"nodeType":252,"data":314,"content":316},{"uri":315},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/app_specific_password_phishing/description.md",[317],{"nodeType":247,"value":318,"marks":319,"data":321},"app-specific password phishing",[320],{"type":260},{},{"nodeType":247,"value":323,"marks":324,"data":325},", our latest addition to the ",[],{},{"nodeType":252,"data":327,"content":329},{"uri":328},"https://github.com/pushsecurity/saas-attacks",[330],{"nodeType":247,"value":331,"marks":332,"data":334},"SaaS attacks matrix",[333],{"type":260},{},{"nodeType":247,"value":336,"marks":337,"data":338},", it’s important that security teams are aware of this technique, what the risks are, and how to defend against it.  ",[],{},{"nodeType":243,"data":340,"content":341},{},[342],{"nodeType":247,"value":343,"marks":344,"data":345},"Let’s take a quick look at how this actually works before we dive into the malicious use cases. ",[],{},{"nodeType":347,"data":348,"content":349},"hr",{},[],{"nodeType":351,"data":352,"content":353},"heading-1",{},[354],{"nodeType":247,"value":355,"marks":356,"data":359},"ASPs 101",[357],{"type":358},"bold",{},{"nodeType":243,"data":361,"content":362},{},[363,367,376],{"nodeType":247,"value":364,"marks":365,"data":366},"ASPs are pretty straightforward. You log into your chosen account (e.g. Microsoft, Google, or Apple) and navigate to the ASP creation page — in Google’s case ",[],{},{"nodeType":252,"data":368,"content":370},{"uri":369},"http://myaccount.google.com/apppasswords",[371],{"nodeType":247,"value":372,"marks":373,"data":375},"myaccount.google.com/apppasswords",[374],{"type":260},{},{"nodeType":247,"value":377,"marks":378,"data":379},". Then, it’s as simple as typing in a name and hitting the “create” button. ",[],{},{"nodeType":381,"data":382,"content":388},"embedded-entry-block",{"target":383},{"sys":384},{"id":385,"type":386,"linkType":387},"76qanYHiwrSyrkwlYnCuCZ","Link","Entry",[],{"nodeType":243,"data":390,"content":391},{},[392],{"nodeType":247,"value":393,"marks":394,"data":395},"This isn’t actually app-specific in the sense that it’s tied to a specific app at the point of creation, but the idea is that you’d create a unique password for each app you want to log into. ",[],{},{"nodeType":243,"data":397,"content":398},{},[399],{"nodeType":247,"value":400,"marks":401,"data":402},"From this point, you can use the password along with your email address to log into apps normally. It’s important to note that this isn’t available for every app, but is specifically intended for things like third-party email clients. By logging in with an ASP, you are also granting specific permissions to the app. So in the case of Google, you can view, send and delete emails, access contacts, and access the calendar, but you can’t add mail rules, or access other G-Suite apps like Google Drive.   ",[],{},{"nodeType":243,"data":404,"content":405},{},[406],{"nodeType":247,"value":407,"marks":408,"data":409},"It’s important to note that you can’t use this as a substitute for SSO — e.g. you can’t authenticate to a third-party app like Slack using your Google account with an ASP, so the risk is somewhat limited to basic email functionality. That said, email access gives an attacker plenty to work with, and it’s enough to move laterally to other accounts through password and MFA resets — so there’s plenty of scope to expand the blast radius with a little extra legwork.  ",[],{},{"nodeType":347,"data":411,"content":412},{},[],{"nodeType":351,"data":414,"content":415},{},[416],{"nodeType":247,"value":417,"marks":418,"data":420},"How ASP phishing works",[419],{"type":358},{},{"nodeType":243,"data":422,"content":423},{},[424],{"nodeType":247,"value":425,"marks":426,"data":427},"While logging in with an ASP doesn’t grant an attacker full access to the account, there’s still a lot that an attacker can do with access to email, contact, and calendar information. It’s certainly enough to be used in social engineering attacks impersonating the compromised user, as well as generally monitoring email activity. ",[],{},{"nodeType":243,"data":429,"content":430},{},[431,435,444],{"nodeType":247,"value":432,"marks":433,"data":434},"An ",[],{},{"nodeType":252,"data":436,"content":438},{"uri":437},"https://cloud.google.com/blog/topics/threat-intelligence/creative-phishing-academics-critics-of-russia",[439],{"nodeType":247,"value":440,"marks":441,"data":443},"example of this was recently disclosed",[442],{"type":260},{},{"nodeType":247,"value":445,"marks":446,"data":447}," where an expert on Russian information operations was targeted with a sophisticated and personalized social engineering attack, where the attacker was able to establish persistent access to the victim’s mailbox using ASPs by logging into a mail client. ",[],{},{"nodeType":243,"data":449,"content":450},{},[451],{"nodeType":247,"value":452,"marks":453,"data":454},"This involved a sophisticated lure impersonating the US Department of State instructing the victim on how to create and share an ASP with the attacker, granting access to their Google mailbox. ",[],{},{"nodeType":381,"data":456,"content":460},{"target":457},{"sys":458},{"id":459,"type":386,"linkType":387},"Lt93bzQNcEzg2OoCSrgED",[],{"nodeType":347,"data":462,"content":463},{},[],{"nodeType":351,"data":465,"content":466},{},[467],{"nodeType":247,"value":468,"marks":469,"data":471},"Benefits and limitations of ASP phishing",[470],{"type":358},{},{"nodeType":243,"data":473,"content":474},{},[475],{"nodeType":247,"value":476,"marks":477,"data":478},"This approach has a few advantages over conventional credential phishing:",[],{},{"nodeType":480,"data":481,"content":482},"unordered-list",{},[483,494,504,514],{"nodeType":484,"data":485,"content":486},"list-item",{},[487],{"nodeType":243,"data":488,"content":489},{},[490],{"nodeType":247,"value":491,"marks":492,"data":493},"It completely sidesteps otherwise phishing-resistant login methods such as passkeys, and by design does not require MFA. ",[],{},{"nodeType":484,"data":495,"content":496},{},[497],{"nodeType":243,"data":498,"content":499},{},[500],{"nodeType":247,"value":501,"marks":502,"data":503},"This kind of attack also naturally doesn’t trigger many typical phishing or malware-based detections. As it’s pure social engineering, there is no malicious link, page, or file to analyse. ",[],{},{"nodeType":484,"data":505,"content":506},{},[507],{"nodeType":243,"data":508,"content":509},{},[510],{"nodeType":247,"value":511,"marks":512,"data":513},"For less technically aware victims, this might present a more effective alternative to traditional credential phishing — awareness training won’t extend to this kind of use case. ",[],{},{"nodeType":484,"data":515,"content":516},{},[517],{"nodeType":243,"data":518,"content":519},{},[520,524,533,537,546],{"nodeType":247,"value":521,"marks":522,"data":523},"While generic security alert emails are generated when an app password is created, visibility of actual login events is limited. For example, ",[],{},{"nodeType":252,"data":525,"content":527},{"uri":526},"https://issuetracker.google.com/issues/298128558",[528],{"nodeType":247,"value":529,"marks":530,"data":532},"Google provides no logs for ASP creation and usage",[531],{"type":260},{},{"nodeType":247,"value":534,"marks":535,"data":536},", while ",[],{},{"nodeType":252,"data":538,"content":540},{"uri":539},"https://learn.microsoft.com/en-us/entra/identity/authentication/howto-mfa-app-passwords",[541],{"nodeType":247,"value":542,"marks":543,"data":545},"Microsoft provides no on-premises logging or auditing capability",[544],{"type":260},{},{"nodeType":247,"value":547,"marks":548,"data":549},".  ",[],{},{"nodeType":243,"data":551,"content":552},{},[553],{"nodeType":247,"value":554,"marks":555,"data":556},"However, there are also limitations that will probably see this technique remain a niche choice for attackers. Namely, the complexity of the attack doesn’t necessarily map to the payoff, where it doesn’t result in full account compromise and the permissions/scopes of an ASP login are limited. This means that it lends itself to multi-step attacks, most likely as part of more targeted and stealthy attacks against specific individuals (as seen in the example above). For this reason, attackers are likely to prioritize other methods when they are available. ",[],{},{"nodeType":347,"data":558,"content":559},{},[],{"nodeType":351,"data":561,"content":562},{},[563],{"nodeType":247,"value":564,"marks":565,"data":567},"Comparing ASPs with other auth bypasses",[566],{"type":358},{},{"nodeType":243,"data":569,"content":570},{},[571],{"nodeType":247,"value":572,"marks":573,"data":574},"ASP phishing is part of a growing trend of phishing techniques focused on bypassing conventional authentication. With more organizations investing in phishing-resistant authentication methods like passkeys/WebAuthn and using SSO as standard, attackers are increasingly looking to circumvent the standard login process entirely. ",[],{},{"nodeType":243,"data":576,"content":577},{},[578],{"nodeType":247,"value":579,"marks":580,"data":581},"Similar phishing approaches designed to circumvent an account’s authentication controls include:",[],{},{"nodeType":480,"data":583,"content":584},{},[585,608,643,665],{"nodeType":484,"data":586,"content":587},{},[588],{"nodeType":243,"data":589,"content":590},{},[591,595,604],{"nodeType":247,"value":592,"marks":593,"data":594},"Phishing for ",[],{},{"nodeType":252,"data":596,"content":598},{"uri":597},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/api_keys/description.md",[599],{"nodeType":247,"value":600,"marks":601,"data":603},"API keys",[602],{"type":260},{},{"nodeType":247,"value":605,"marks":606,"data":607},", which has the advantage of granting full access to the account, and persisting even if the account password is changed (in contrast, Google resets all ASPs if the account password is changed). ",[],{},{"nodeType":484,"data":609,"content":610},{},[611],{"nodeType":243,"data":612,"content":613},{},[614,617,626,630,639],{"nodeType":247,"value":29,"marks":615,"data":616},[],{},{"nodeType":252,"data":618,"content":620},{"uri":619},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/consent_phishing/description.md",[621],{"nodeType":247,"value":622,"marks":623,"data":625},"Consent phishing",[624],{"type":260},{},{"nodeType":247,"value":627,"marks":628,"data":629},", which sees the victim accept OAuth scopes for an attacker-controlled app integration granting access to the account without needing to directly compromise it. (",[],{},{"nodeType":252,"data":631,"content":633},{"uri":632},"https://pushsecurity.com/blog/how-consent-phishing-is-evolving/",[634],{"nodeType":247,"value":635,"marks":636,"data":638},"You can read more about recent examples here",[637],{"type":260},{},{"nodeType":247,"value":640,"marks":641,"data":642},".) ",[],{},{"nodeType":484,"data":644,"content":645},{},[646],{"nodeType":243,"data":647,"content":648},{},[649,652,661],{"nodeType":247,"value":29,"marks":650,"data":651},[],{},{"nodeType":252,"data":653,"content":655},{"uri":654},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/device_code_phishing/description.md",[656],{"nodeType":247,"value":657,"marks":658,"data":660},"Device code phishing",[659],{"type":260},{},{"nodeType":247,"value":662,"marks":663,"data":664},", functionally very similar to consent phishing but involving the victim entering a code for authorization. ",[],{},{"nodeType":484,"data":666,"content":667},{},[668],{"nodeType":243,"data":669,"content":670},{},[671,674,683,687,696],{"nodeType":247,"value":29,"marks":672,"data":673},[],{},{"nodeType":252,"data":675,"content":677},{"uri":676},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/cross-idp_impersonation/description.md",[678],{"nodeType":247,"value":679,"marks":680,"data":682},"Cross-IdP impersonation",[681],{"type":260},{},{"nodeType":247,"value":684,"marks":685,"data":686},", which sees the attacker register a new IdP connected to the victim’s email account that can be used to access connected apps via SSO without directly compromising the primary IdP. (",[],{},{"nodeType":252,"data":688,"content":690},{"uri":689},"https://pushsecurity.com/blog/a-new-class-of-phishing-verification-phishing-and-cross-idp-impersonation/",[691],{"nodeType":247,"value":692,"marks":693,"data":695},"You can read more about this here",[694],{"type":260},{},{"nodeType":247,"value":697,"marks":698,"data":699},".)",[],{},{"nodeType":243,"data":701,"content":702},{},[703],{"nodeType":247,"value":704,"marks":705,"data":706},"Clearly, ASP phishing is part of a much bigger trend in which attackers are moving away from conventional phishing tactics in order to sidestep the authentication process. ",[],{},{"nodeType":347,"data":708,"content":709},{},[],{"nodeType":351,"data":711,"content":712},{},[713],{"nodeType":247,"value":714,"marks":715,"data":717},"Conclusion",[716],{"type":358},{},{"nodeType":243,"data":719,"content":720},{},[721,725,734,738,747],{"nodeType":247,"value":722,"marks":723,"data":724},"There is a common misconception that adopting SSO-based logins, with a locked-down IdP account is an identity security silver bullet. The reality is that identity, authentication, and authorization is a complex and little-understood space. Even with SSO, there are ",[],{},{"nodeType":252,"data":726,"content":728},{"uri":727},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/ghost_logins/description.md",[729],{"nodeType":247,"value":730,"marks":731,"data":733},"ghost logins",[732],{"type":260},{},{"nodeType":247,"value":735,"marks":736,"data":737},", backup login and MFA methods susceptible to ",[],{},{"nodeType":252,"data":739,"content":741},{"uri":740},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/mfa_downgrade/description.md",[742],{"nodeType":247,"value":743,"marks":744,"data":746},"downgrade attacks",[745],{"type":260},{},{"nodeType":247,"value":748,"marks":749,"data":750},", and as we’ve seen with ASP phishing and similar techniques, many, many more ways to compromise an identity. ",[],{},{"nodeType":243,"data":752,"content":753},{},[754],{"nodeType":247,"value":755,"marks":756,"data":757},"Security teams need to approach the complexity of identity security with their eyes open to reality. Without a full picture of how your various workforce identities can be accessed by your users, exploitable gaps will inevitably be left for attackers to take advantage of. ",[],{},{"nodeType":347,"data":759,"content":760},{},[],{"nodeType":351,"data":762,"content":763},{},[764],{"nodeType":247,"value":765,"marks":766,"data":768},"Recommendations",[767],{"type":358},{},{"nodeType":243,"data":770,"content":771},{},[772],{"nodeType":247,"value":773,"marks":774,"data":775},"Given the logging challenges relating to ASP creation and use, the best option is to prevent ASPs from being created in the first place. ",[],{},{"nodeType":243,"data":777,"content":778},{},[779,783,792],{"nodeType":247,"value":780,"marks":781,"data":782},"By default, users can't create app passwords in Microsoft. The app passwords feature must be enabled before users can use them. To check if this option is turned on, ",[],{},{"nodeType":252,"data":784,"content":786},{"uri":785},"https://learn.microsoft.com/en-gb/entra/identity/authentication/howto-mfa-app-passwords",[787],{"nodeType":247,"value":788,"marks":789,"data":791},"you can see and toggle the setting in Entra",[790],{"type":260},{},{"nodeType":247,"value":793,"marks":794,"data":795}," by browsing to Conditional Access > Named locations > Configure MFA trusted IPs > Multifactor authentication page > Allow users to create app passwords to sign in to non-browser apps option.",[],{},{"nodeType":243,"data":797,"content":798},{},[799],{"nodeType":247,"value":800,"marks":801,"data":802},"Apple and Google ASPs can’t be disabled in the same way… but don’t worry. That’s where Push comes in. ",[],{},{"nodeType":347,"data":804,"content":805},{},[],{"nodeType":351,"data":807,"content":808},{},[809],{"nodeType":247,"value":810,"marks":811,"data":813},"How Push can help",[812],{"type":358},{},{"nodeType":243,"data":815,"content":816},{},[817],{"nodeType":247,"value":818,"marks":819,"data":820},"We’re working on adding visibility for ASPs being created, but users of our browser-based security platform can use existing features to prevent ASP phishing. Realistically, there’s no good reason for the average user to be configuring ASPs. So, you can use our URL blocking feature to prevent employees from accessing the pages for ASP creation on relevant apps. ",[],{},{"nodeType":381,"data":822,"content":826},{"target":823},{"sys":824},{"id":825,"type":386,"linkType":387},"5i0Ou5a27XOt7gxJo9cu0P",[],{"nodeType":243,"data":828,"content":829},{},[830],{"nodeType":247,"value":831,"marks":832,"data":833},"When a user tries to access the page, they’ll see this message instead and a security alert will be generated. ",[],{},{"nodeType":381,"data":835,"content":839},{"target":836},{"sys":837},{"id":838,"type":386,"linkType":387},"7nsimiWtv5XOuKkE9wL3A3",[],{"nodeType":243,"data":841,"content":842},{},[843],{"nodeType":247,"value":844,"marks":845,"data":846},"It is recommended that you block the following URLs for Google and Apple:",[],{},{"nodeType":480,"data":848,"content":849},{},[850,869],{"nodeType":484,"data":851,"content":852},{},[853],{"nodeType":243,"data":854,"content":855},{},[856,859,866],{"nodeType":247,"value":29,"marks":857,"data":858},[],{},{"nodeType":252,"data":860,"content":861},{"uri":369},[862],{"nodeType":247,"value":372,"marks":863,"data":865},[864],{"type":260},{},{"nodeType":247,"value":29,"marks":867,"data":868},[],{},{"nodeType":484,"data":870,"content":871},{},[872],{"nodeType":243,"data":873,"content":874},{},[875,878,887],{"nodeType":247,"value":29,"marks":876,"data":877},[],{},{"nodeType":252,"data":879,"content":881},{"uri":880},"http://appleid.apple.com/account/manage/security/secondary-password",[882],{"nodeType":247,"value":883,"marks":884,"data":886},"appleid.apple.com/account/manage/security/secondary-password",[885],{"type":260},{},{"nodeType":247,"value":29,"marks":888,"data":889},[],{},{"nodeType":243,"data":891,"content":892},{},[893],{"nodeType":247,"value":894,"marks":895,"data":896},"Unfortunately, there is no specific link to the Microsoft creation page — but as established above, this should not be enabled by default in Microsoft. ",[],{},{"nodeType":243,"data":898,"content":899},{},[900],{"nodeType":247,"value":901,"marks":902,"data":903},"If you encounter any more apps which allow ASPs, you can similarly add the specific ASP creation page to the list of blocked URLs.",[],{},{"nodeType":347,"data":905,"content":906},{},[],{"nodeType":351,"data":908,"content":909},{},[910],{"nodeType":247,"value":911,"marks":912,"data":914},"Want to learn more about Push?",[913],{"type":358},{},{"nodeType":243,"data":916,"content":917},{},[918],{"nodeType":247,"value":919,"marks":920,"data":921},"And that’s not all — Push provides comprehensive identity attack detection and response capabilities against techniques like AiTM phishing, 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. ",[],{},{"nodeType":243,"data":923,"content":924},{},[925,929,938],{"nodeType":247,"value":926,"marks":927,"data":928},"If you want to learn more about how Push helps you to detect and defeat common identity attack techniques, ",[],{},{"nodeType":252,"data":930,"content":932},{"uri":931},"https://pushsecurity.com/",[933],{"nodeType":247,"value":934,"marks":935,"data":937},"book some time with one of our team for a live demo",[936],{"type":260},{},{"nodeType":247,"value":939,"marks":940,"data":941},".",[],{},{"entries":943},{"hyperlink":944,"inline":945,"block":946},[],[],[947,956,964,970],{"sys":948,"__typename":949,"title":950,"caption":951,"layoutMode":62,"file":952},{"id":385},"Image","Creating an ASP in Google","Creating an ASP for a Google account",{"url":953,"width":954,"height":955},"https://images.ctfassets.net/y1cdw1ablpvd/3fMIrxHzMvOH5bE4Xb4mNO/ae1b57f12534c3abdeca4dd54ddcb77f/image3.png",1999,1118,{"sys":957,"__typename":949,"title":958,"caption":959,"layoutMode":62,"file":960},{"id":459},"ASP phishing lure","A highly convincing ASP phishing lure used in a targeted attack",{"url":961,"width":962,"height":963},"https://images.ctfassets.net/y1cdw1ablpvd/46CywsxmjD6CfOHkGjyTiF/01d6d255dd82a4df7f0f81e97817c761/image1.png",1570,1080,{"sys":965,"__typename":949,"title":966,"caption":966,"layoutMode":62,"file":967},{"id":825},"Configuring URL blocking for ASP creation pages",{"url":968,"width":954,"height":969},"https://images.ctfassets.net/y1cdw1ablpvd/1Psq6fCOCTr8lDFl0USd9a/b2171432f2ce2b812be4f339c0d74b71/image2.png",1402,{"sys":971,"__typename":949,"title":972,"caption":973,"layoutMode":62,"file":974},{"id":838},"URL blocking message","Customizable message that the user sees when trying to access a blocked URL",{"url":975,"width":955,"height":976},"https://images.ctfassets.net/y1cdw1ablpvd/1b5DZjswtUn8gBc2XQfsBp/2ac0dcc25029cf887b69d253419e6970/image4.png",376,"json",{"items":979},[],{},"App-Specific Password phishing and how to prevent it","2025-06-26T00:00:00.000Z",{"items":984},[985,1330,1998],{"__typename":986,"sys":987,"content":989,"title":1308,"synopsis":1309,"hashTags":62,"publishedDate":1310,"slug":1311,"tagsCollection":1312,"authorsCollection":1322},"BlogPosts",{"id":988},"4bYO5rVy9n2OO3vtMVQeda",{"json":990},{"nodeType":239,"data":991,"content":992},{},[993,1000,1020,1036,1043,1050,1053,1061,1068,1121,1128,1134,1137,1144,1151,1158,1165,1172,1189,1195,1202,1209,1226,1232,1239,1246,1253,1260,1267,1270,1277,1296,1302],{"nodeType":351,"data":994,"content":995},{},[996],{"nodeType":247,"value":997,"marks":998,"data":999},"All phishing eventually leads to the browser",[],{},{"nodeType":243,"data":1001,"content":1002},{},[1003,1007,1016],{"nodeType":247,"value":1004,"marks":1005,"data":1006},"The best attack detection methods are those that focus on ",[],{},{"nodeType":252,"data":1008,"content":1010},{"uri":1009},"https://pushsecurity.com/blog/our-design-philosophy-detecting-what-matters/",[1011],{"nodeType":247,"value":1012,"marks":1013,"data":1015},"detecting indicators that are difficult for attackers to change or obfuscate",[1014],{"type":260},{},{"nodeType":247,"value":1017,"marks":1018,"data":1019},". ",[],{},{"nodeType":243,"data":1021,"content":1022},{},[1023,1027,1032],{"nodeType":247,"value":1024,"marks":1025,"data":1026},"For a credential phishing attack to succeed, the victim ",[],{},{"nodeType":247,"value":1028,"marks":1029,"data":1031},"has",[1030],{"type":260},{},{"nodeType":247,"value":1033,"marks":1034,"data":1035}," to enter their password into a webpage. There’s no two-ways about it, attackers cannot change this. ",[],{},{"nodeType":243,"data":1037,"content":1038},{},[1039],{"nodeType":247,"value":1040,"marks":1041,"data":1042},"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":243,"data":1044,"content":1045},{},[1046],{"nodeType":247,"value":1047,"marks":1048,"data":1049},"This is exactly what Push does.",[],{},{"nodeType":347,"data":1051,"content":1052},{},[],{"nodeType":1054,"data":1055,"content":1056},"heading-2",{},[1057],{"nodeType":247,"value":1058,"marks":1059,"data":1060},"Most anti-phishing tools are easily bypassed",[],{},{"nodeType":243,"data":1062,"content":1063},{},[1064],{"nodeType":247,"value":1065,"marks":1066,"data":1067},"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":480,"data":1069,"content":1070},{},[1071,1081,1091,1101,1111],{"nodeType":484,"data":1072,"content":1073},{},[1074],{"nodeType":243,"data":1075,"content":1076},{},[1077],{"nodeType":247,"value":1078,"marks":1079,"data":1080},"Using Cloudflare Workers to block automatic analysis of their phishing site",[],{},{"nodeType":484,"data":1082,"content":1083},{},[1084],{"nodeType":243,"data":1085,"content":1086},{},[1087],{"nodeType":247,"value":1088,"marks":1089,"data":1090},"Hacking a Wordpress blog to get a reputable domain that passes domain checks ",[],{},{"nodeType":484,"data":1092,"content":1093},{},[1094],{"nodeType":243,"data":1095,"content":1096},{},[1097],{"nodeType":247,"value":1098,"marks":1099,"data":1100},"Using redirects and rotating the URLs delivered to the victim to bypass link analysis",[],{},{"nodeType":484,"data":1102,"content":1103},{},[1104],{"nodeType":243,"data":1105,"content":1106},{},[1107],{"nodeType":247,"value":1108,"marks":1109,"data":1110},"Randomizing the HTML title for the web page to bypass blocklists ",[],{},{"nodeType":484,"data":1112,"content":1113},{},[1114],{"nodeType":243,"data":1115,"content":1116},{},[1117],{"nodeType":247,"value":1118,"marks":1119,"data":1120},"One-time phishing links that only work the first time they are clicked",[],{},{"nodeType":243,"data":1122,"content":1123},{},[1124],{"nodeType":247,"value":1125,"marks":1126,"data":1127},"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":381,"data":1129,"content":1133},{"target":1130},{"sys":1131},{"id":1132,"type":386,"linkType":387},"6AwOZSpqaChmeksnj4SyWE",[],{"nodeType":347,"data":1135,"content":1136},{},[],{"nodeType":1054,"data":1138,"content":1139},{},[1140],{"nodeType":247,"value":1141,"marks":1142,"data":1143},"Domain-binding passwords",[],{},{"nodeType":243,"data":1145,"content":1146},{},[1147],{"nodeType":247,"value":1148,"marks":1149,"data":1150},"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":243,"data":1152,"content":1153},{},[1154],{"nodeType":247,"value":1155,"marks":1156,"data":1157},"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":243,"data":1159,"content":1160},{},[1161],{"nodeType":247,"value":1162,"marks":1163,"data":1164},"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":243,"data":1166,"content":1167},{},[1168],{"nodeType":247,"value":1169,"marks":1170,"data":1171},"Lets run through a quick before and after example:",[],{},{"nodeType":1054,"data":1173,"content":1174},{},[1175,1179,1185],{"nodeType":247,"value":1176,"marks":1177,"data":1178},"Scenario 1: An attacker attempts to phish an employee that ",[],{},{"nodeType":247,"value":1180,"marks":1181,"data":1184},"doesn’t",[1182,1183],{"type":260},{"type":358},{},{"nodeType":247,"value":1186,"marks":1187,"data":1188}," have Push deployed to their browser.",[],{},{"nodeType":381,"data":1190,"content":1194},{"target":1191},{"sys":1192},{"id":1193,"type":386,"linkType":387},"2CbGMUSJsP1mNeHkmpLl6N",[],{"nodeType":243,"data":1196,"content":1197},{},[1198],{"nodeType":247,"value":1199,"marks":1200,"data":1201},"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":243,"data":1203,"content":1204},{},[1205],{"nodeType":247,"value":1206,"marks":1207,"data":1208},"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":1054,"data":1210,"content":1211},{},[1212,1216,1222],{"nodeType":247,"value":1213,"marks":1214,"data":1215},"Scenario 2: An attacker attempts to phish an employee that ",[],{},{"nodeType":247,"value":1217,"marks":1218,"data":1221},"does",[1219,1220],{"type":260},{"type":358},{},{"nodeType":247,"value":1223,"marks":1224,"data":1225}," have Push deployed to their browser. ",[],{},{"nodeType":381,"data":1227,"content":1231},{"target":1228},{"sys":1229},{"id":1230,"type":386,"linkType":387},"77smnID1woCfFJrJPyTvKY",[],{"nodeType":243,"data":1233,"content":1234},{},[1235],{"nodeType":247,"value":1236,"marks":1237,"data":1238},"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":243,"data":1240,"content":1241},{},[1242],{"nodeType":247,"value":1243,"marks":1244,"data":1245},"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":243,"data":1247,"content":1248},{},[1249],{"nodeType":247,"value":1250,"marks":1251,"data":1252},"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":243,"data":1254,"content":1255},{},[1256],{"nodeType":247,"value":1257,"marks":1258,"data":1259},"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":243,"data":1261,"content":1262},{},[1263],{"nodeType":247,"value":1264,"marks":1265,"data":1266},"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":347,"data":1268,"content":1269},{},[],{"nodeType":351,"data":1271,"content":1272},{},[1273],{"nodeType":247,"value":1274,"marks":1275,"data":1276},"We don’t just stop phishing attacks",[],{},{"nodeType":243,"data":1278,"content":1279},{},[1280,1284,1293],{"nodeType":247,"value":1281,"marks":1282,"data":1283},"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":252,"data":1285,"content":1287},{"uri":1286},"https://pushsecurity.com/demo/",[1288],{"nodeType":247,"value":1289,"marks":1290,"data":1292},"book some time with one of our team",[1291],{"type":260},{},{"nodeType":247,"value":547,"marks":1294,"data":1295},[],{},{"nodeType":381,"data":1297,"content":1301},{"target":1298},{"sys":1299},{"id":1300,"type":386,"linkType":387},"2JSmYDaiAciOx7Z1MRuJlA",[],{"nodeType":243,"data":1303,"content":1304},{},[1305],{"nodeType":247,"value":29,"marks":1306,"data":1307},[],{},"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":1313},[1314,1318],{"sys":1315,"name":1317},{"id":1316},"6A5RXS31ZQx3PwryGb1IMy","Browser-based attacks",{"sys":1319,"name":1321},{"id":1320},"4ksQNCFeBf8H4QIORqpRLw","Detection & response",{"items":1323},[1324],{"fullName":1325,"firstName":1326,"jobTitle":1327,"profilePicture":1328},"Alex Henshall","Alex","Product Team",{"url":1329},"https://images.ctfassets.net/y1cdw1ablpvd/2rz3Pre3b1MexPIQ4hzPUe/0ef8a092b7e7df00fbce3f7d1ccb96d1/Alex_Henshall.jpeg",{"__typename":986,"sys":1331,"content":1333,"title":1984,"synopsis":1985,"hashTags":62,"publishedDate":1986,"slug":1987,"tagsCollection":1988,"authorsCollection":1994},{"id":1332},"3dtvtDQdcQ6fAW7CB8VOFP",{"json":1334},{"nodeType":239,"data":1335,"content":1336},{},[1337,1344,1351,1358,1361,1369,1376,1396,1429,1435,1455,1461,1486,1489,1497,1504,1521,1536,1542,1549,1556,1562,1578,1581,1589,1596,1603,1610,1617,1620,1628,1635,1642,1662,1669,1677,1720,1727,1733,1740,1746,1753,1756,1764,1779,1786,1828,1840,1843,1851,1858,1865,1898,1905,1925,1931,1937,1940,1948,1955,1972,1978],{"nodeType":243,"data":1338,"content":1339},{},[1340],{"nodeType":247,"value":1341,"marks":1342,"data":1343},"Phishing attacks remain a huge challenge for organizations in 2025. In fact, with attackers increasingly leveraging identity-based techniques over software exploits, phishing arguably poses a bigger threat than ever before. ",[],{},{"nodeType":243,"data":1345,"content":1346},{},[1347],{"nodeType":247,"value":1348,"marks":1349,"data":1350},"Attackers are turning to identity attacks like phishing because they can achieve all of the same objectives as they would in a traditional endpoint or network attack, simply by logging into a victim’s account. And with organizations now using hundreds of internet apps across their workforce, the scope of accounts that can be phished or targeted with stolen credentials has grown exponentially. ",[],{},{"nodeType":243,"data":1352,"content":1353},{},[1354],{"nodeType":247,"value":1355,"marks":1356,"data":1357},"With MFA-bypassing phishing kits the new normal, capable of phishing accounts protected by SMS, OTP, and push-based methods, detection controls are being put under constant pressure as prevention controls fall short. ",[],{},{"nodeType":347,"data":1359,"content":1360},{},[],{"nodeType":351,"data":1362,"content":1363},{},[1364],{"nodeType":247,"value":1365,"marks":1366,"data":1368},"Attackers are bypassing detection controls",[1367],{"type":358},{},{"nodeType":243,"data":1370,"content":1371},{},[1372],{"nodeType":247,"value":1373,"marks":1374,"data":1375},"The majority of phishing detection and control enforcement is focused at the email and network layer — typically at the Secure Email Gateway (SEG), Secure Web Gateway (SWG)/proxy, or both. ",[],{},{"nodeType":243,"data":1377,"content":1378},{},[1379,1383,1392],{"nodeType":247,"value":1380,"marks":1381,"data":1382},"But attackers know this, ",[],{},{"nodeType":252,"data":1384,"content":1386},{"uri":1385},"https://pushsecurity.com/blog/how-aitm-phishing-kits-evade-detection-p2/",[1387],{"nodeType":247,"value":1388,"marks":1389,"data":1391},"and are taking steps to avoid these controls",[1390],{"type":260},{},{"nodeType":247,"value":1393,"marks":1394,"data":1395},", by:",[],{},{"nodeType":480,"data":1397,"content":1398},{},[1399,1409,1419],{"nodeType":484,"data":1400,"content":1401},{},[1402],{"nodeType":243,"data":1403,"content":1404},{},[1405],{"nodeType":247,"value":1406,"marks":1407,"data":1408},"Routinely evading IoC driven blocklists by dynamically rotating and updating commonly signatured elements like IPs, domains, and URLs.",[],{},{"nodeType":484,"data":1410,"content":1411},{},[1412],{"nodeType":243,"data":1413,"content":1414},{},[1415],{"nodeType":247,"value":1416,"marks":1417,"data":1418},"Preventing analysis of their phishing pages by implementing bot protection like CAPTCHA or Cloudflare Turnstile alongside other detection evasion methods. ",[],{},{"nodeType":484,"data":1420,"content":1421},{},[1422],{"nodeType":243,"data":1423,"content":1424},{},[1425],{"nodeType":247,"value":1426,"marks":1427,"data":1428},"Changing visual and DOM elements on the page so that even when the page is loaded, detection signatures may fail to trigger.  ",[],{},{"nodeType":381,"data":1430,"content":1434},{"target":1431},{"sys":1432},{"id":1433,"type":386,"linkType":387},"5w44LsamEfcwSACx3MA997",[],{"nodeType":243,"data":1436,"content":1437},{},[1438,1442,1451],{"nodeType":247,"value":1439,"marks":1440,"data":1441},"And in fact, by launching multi- and cross-channel attacks, attackers are evading email-based controls entirely. Just see ",[],{},{"nodeType":252,"data":1443,"content":1445},{"uri":1444},"https://pushsecurity.com/blog/investigating-a-recent-malvertising-campaign-targeting-onfido-customers/?utm_campaign=12081956-FY25Q2_Hacker-News-Article&utm_source=thehackernews&utm_medium=sponsored&utm_content=external-article",[1446],{"nodeType":247,"value":1447,"marks":1448,"data":1450},"this recent example",[1449],{"type":260},{},{"nodeType":247,"value":1452,"marks":1453,"data":1454},", where attackers impersonating Onfido delivered their phishing attack via malicious Google ads (aka malvertising) — bypassing email altogether. ",[],{},{"nodeType":381,"data":1456,"content":1460},{"target":1457},{"sys":1458},{"id":1459,"type":386,"linkType":387},"3sGmVHl1Rwjyw3TMZSYuy4",[],{"nodeType":243,"data":1462,"content":1463},{},[1464,1468,1473,1477,1482],{"nodeType":247,"value":1465,"marks":1466,"data":1467},"It’s worth pointing out the limitations of email-based solutions here too. Email has some additional checks around the sender’s reputation and things like DMARC/DKIM, but these don’t actually identify malicious ",[],{},{"nodeType":247,"value":1469,"marks":1470,"data":1472},"pages",[1471],{"type":358},{},{"nodeType":247,"value":1474,"marks":1475,"data":1476},". Similarly, some modern email solutions are doing much deeper analysis of the ",[],{},{"nodeType":247,"value":1478,"marks":1479,"data":1481},"content",[1480],{"type":358},{},{"nodeType":247,"value":1483,"marks":1484,"data":1485}," of an email. But… that doesn’t really help with identifying the phishing sites themselves (just indicates that one might be linked in the email). This is much more appropriate for BEC-style attacks where the goal is to social engineer the victim, as opposed to linking them to a malicious page. And this still doesn’t help with attacks launched over different mediums as we’ve highlighted above.",[],{},{"nodeType":347,"data":1487,"content":1488},{},[],{"nodeType":351,"data":1490,"content":1491},{},[1492],{"nodeType":247,"value":1493,"marks":1494,"data":1496},"How browser-based detection and response can level the playing field",[1495],{"type":358},{},{"nodeType":243,"data":1498,"content":1499},{},[1500],{"nodeType":247,"value":1501,"marks":1502,"data":1503},"Most phishing attacks involve the delivery of a malicious link to a user. The user clicks the link and loads a malicious page. In the vast majority of cases, the malicious page is a login portal for a specific website, where the goal for the attacker is to steal the victim’s account.",[],{},{"nodeType":243,"data":1505,"content":1506},{},[1507,1511,1517],{"nodeType":247,"value":1508,"marks":1509,"data":1510},"These attacks are happening pretty much exclusively in the victim’s browser. So rather than building more email or network based controls looking from the outside-in at phishing pages accessed in the browser, there’s a huge opportunity presented by building phishing detection and response capabilities ",[],{},{"nodeType":247,"value":1512,"marks":1513,"data":1516},"inside",[1514],{"type":1515},"italic",{},{"nodeType":247,"value":1518,"marks":1519,"data":1520}," the browser. ",[],{},{"nodeType":243,"data":1522,"content":1523},{},[1524,1528,1533],{"nodeType":247,"value":1525,"marks":1526,"data":1527},"When we look at the history of detection and response, this makes a lot of sense. When endpoint attacks skyrocketed in the late 2000s / early 2010s, they took advantage of the fact that defenders were trying to detect malware with primarily network-based detections, signature-based analysis of files, and running files in sandboxes (which was reliably defeated with sandbox-aware malware and using things as simple as putting an execution delay in the code). But this gave way to EDR, which presented a better way of observing and intercepting malicious software in ",[],{},{"nodeType":247,"value":1529,"marks":1530,"data":1532},"real-time",[1531],{"type":358},{},{"nodeType":247,"value":1017,"marks":1534,"data":1535},[],{},{"nodeType":381,"data":1537,"content":1541},{"target":1538},{"sys":1539},{"id":1540,"type":386,"linkType":387},"1KFwJvbIMiWHb1erWlljZf",[],{"nodeType":243,"data":1543,"content":1544},{},[1545],{"nodeType":247,"value":1546,"marks":1547,"data":1548},"The key here was getting inside the data stream to be able to observe activity in real-time on the endpoint. ",[],{},{"nodeType":243,"data":1550,"content":1551},{},[1552],{"nodeType":247,"value":1553,"marks":1554,"data":1555},"We’re in a similar position today. Modern phishing attacks are happening on web pages accessed via the browser, and the tools we’re relying on — email, network, even endpoint — don’t have the required visibility. They’re looking from the outside-in. ",[],{},{"nodeType":381,"data":1557,"content":1561},{"target":1558},{"sys":1559},{"id":1560,"type":386,"linkType":387},"59t6AcjpRjs3VQQXQO3PWu",[],{"nodeType":243,"data":1563,"content":1564},{},[1565,1569,1574],{"nodeType":247,"value":1566,"marks":1567,"data":1568},"But what if we could do detection and response from ",[],{},{"nodeType":247,"value":1570,"marks":1571,"data":1573},"inside the browser?",[1572],{"type":358},{},{"nodeType":247,"value":1575,"marks":1576,"data":1577}," Here’s three reasons why the browser is best for stopping phishing attacks:",[],{},{"nodeType":347,"data":1579,"content":1580},{},[],{"nodeType":351,"data":1582,"content":1583},{},[1584],{"nodeType":247,"value":1585,"marks":1586,"data":1588},"#1: Analyze pages, not links",[1587],{"type":358},{},{"nodeType":243,"data":1590,"content":1591},{},[1592],{"nodeType":247,"value":1593,"marks":1594,"data":1595},"Common phishing detections rely on the analysis of links or static HTML as opposed to malicious pages. Modern phishing pages are no longer static HTML — like most other modern web pages, these are dynamic web apps rendered in the browser, with JavaScript dynamically rewriting the page and launching the malicious content. This means that most basic, static checks fail to identify the malicious content running on the page. ",[],{},{"nodeType":243,"data":1597,"content":1598},{},[1599],{"nodeType":247,"value":1600,"marks":1601,"data":1602},"Without deeper analysis, you’re reliant on analyzing things like domains, URLs and IP addresses against known-bad blocklists. But these are all highly disposable. Attackers are buying them in bulk, constantly taking over legitimate domains, and generally planning for the fact that they’ll get through a lot of them. Modern phishing architecture is also able to dynamically rotate and update the links served to visitors from a continually refreshed pool (so every person that clicks the link gets served a different URL) and even going as far as using things like one-time magic links (which also means that any security team members trying to investigate the page later won’t be able to do so). ",[],{},{"nodeType":243,"data":1604,"content":1605},{},[1606],{"nodeType":247,"value":1607,"marks":1608,"data":1609},"Ultimately, this means that blocklists just aren’t that effective — because it’s trivial for attackers to change the indicators being used to create detections. If you think about the Pyramid of Pain, these indicators sit right at the bottom — the kind of thing we’ve been moving away from for years in the endpoint security world.  ",[],{},{"nodeType":243,"data":1611,"content":1612},{},[1613],{"nodeType":247,"value":1614,"marks":1615,"data":1616},"But in the browser, you can observe the rendered web page in all its glory. With much deeper visibility of the page (and its malicious elements) you can…",[],{},{"nodeType":347,"data":1618,"content":1619},{},[],{"nodeType":351,"data":1621,"content":1622},{},[1623],{"nodeType":247,"value":1624,"marks":1625,"data":1627},"#2: Detect TTPs, not IoCs",[1626],{"type":358},{},{"nodeType":243,"data":1629,"content":1630},{},[1631],{"nodeType":247,"value":1632,"marks":1633,"data":1634},"Even where TTP-based detections are in play, they’re typically reliant on either piecing together network requests, or loading the page in a sandbox. ",[],{},{"nodeType":243,"data":1636,"content":1637},{},[1638],{"nodeType":247,"value":1639,"marks":1640,"data":1641},"However, attackers are getting pretty good at evading sandbox analysis — simply by implementing bot protection by requiring user interaction with a CAPTCHA or Cloudflare Turnstile. Even if you can get past Turnstile, then you’ll need to supply the correct URL parameters and headers, and execute JavaScript, to be served the malicious page. This means that a defender who knows the domain name can’t discover the malicious behavior just by making a simple HTTP(S) request to the domain.",[],{},{"nodeType":243,"data":1643,"content":1644},{},[1645,1649,1658],{"nodeType":247,"value":1646,"marks":1647,"data":1648},"And if all this wasn’t enough, ",[],{},{"nodeType":252,"data":1650,"content":1652},{"uri":1651},"https://pushsecurity.com/blog/how-aitm-phishing-kits-evade-detection-p2/?utm_campaign=12081956-FY25Q2_Hacker-News-Article&utm_source=thehackernews&utm_medium=sponsored&utm_content=external-article",[1653],{"nodeType":247,"value":1654,"marks":1655,"data":1657},"they’re also obfuscating both visual and DOM elements to prevent signature-based detections from picking them up",[1656],{"type":260},{},{"nodeType":247,"value":1659,"marks":1660,"data":1661}," — so even if you can land on the page, there’s a high chance that your detections won’t trigger.",[],{},{"nodeType":243,"data":1663,"content":1664},{},[1665],{"nodeType":247,"value":1666,"marks":1667,"data":1668},"When using a proxy, you’ll have some visibility of the network traffic generated by a user accessing and interacting with a page. However, you’ll struggle to correlate key actions like whether the user entered their password with the specific tab when dealing with the sheer volume of disorganized network traffic data. ",[],{},{"nodeType":243,"data":1670,"content":1671},{},[1672],{"nodeType":247,"value":1673,"marks":1674,"data":1676},"But you get much better visibility of all this in the browser, with access to:",[1675],{"type":358},{},{"nodeType":480,"data":1678,"content":1679},{},[1680,1690,1700,1710],{"nodeType":484,"data":1681,"content":1682},{},[1683],{"nodeType":243,"data":1684,"content":1685},{},[1686],{"nodeType":247,"value":1687,"marks":1688,"data":1689},"Full decrypted HTTP traffic — not just DNS and TCP/IP metadata",[],{},{"nodeType":484,"data":1691,"content":1692},{},[1693],{"nodeType":243,"data":1694,"content":1695},{},[1696],{"nodeType":247,"value":1697,"marks":1698,"data":1699},"Full user interaction tracing — every click, keystroke, or DOM change can be traced",[],{},{"nodeType":484,"data":1701,"content":1702},{},[1703],{"nodeType":243,"data":1704,"content":1705},{},[1706],{"nodeType":247,"value":1707,"marks":1708,"data":1709},"Full inspection at every layer of execution, not just initial HTML served",[],{},{"nodeType":484,"data":1711,"content":1712},{},[1713],{"nodeType":243,"data":1714,"content":1715},{},[1716],{"nodeType":247,"value":1717,"marks":1718,"data":1719},"Full access to browser APIs, to correlate with browser history, local storage, attached cookies, etc.",[],{},{"nodeType":243,"data":1721,"content":1722},{},[1723],{"nodeType":247,"value":1724,"marks":1725,"data":1726},"This gives you everything you need to build high-fidelity detections focused on page behavior and user interaction – that are much harder for attackers to get around when compared to IoC-based detections. ",[],{},{"nodeType":381,"data":1728,"content":1732},{"target":1729},{"sys":1730},{"id":1731,"type":386,"linkType":387},"1YggWcADAWgt3sUkXMsVIw",[],{"nodeType":243,"data":1734,"content":1735},{},[1736],{"nodeType":247,"value":1737,"marks":1738,"data":1739},"In the browser, you get much better visibility of the user and page behavior to enable phishing page detection.",[],{},{"nodeType":381,"data":1741,"content":1745},{"target":1742},{"sys":1743},{"id":1744,"type":386,"linkType":387},"1BKgjnYkLJIRW0LJZYpfga",[],{"nodeType":243,"data":1747,"content":1748},{},[1749],{"nodeType":247,"value":1750,"marks":1751,"data":1752},"And with this new visibility, because you’re in the browser and seeing the page at the same time as the user is interacting with it, you can…",[],{},{"nodeType":347,"data":1754,"content":1755},{},[],{"nodeType":351,"data":1757,"content":1758},{},[1759],{"nodeType":247,"value":1760,"marks":1761,"data":1763},"#3: Intercept in real time, not post mortem",[1762],{"type":358},{},{"nodeType":243,"data":1765,"content":1766},{},[1767,1771,1776],{"nodeType":247,"value":1768,"marks":1769,"data":1770},"For non-browser solutions, ",[],{},{"nodeType":247,"value":1772,"marks":1773,"data":1775},"real-time phishing detection is basically nonexistent",[1774],{"type":358},{},{"nodeType":247,"value":1017,"marks":1777,"data":1778},[],{},{"nodeType":243,"data":1780,"content":1781},{},[1782],{"nodeType":247,"value":1783,"marks":1784,"data":1785},"At best, your proxy-based solution might be able to detect malicious behavior via the network traffic generated by your user interacting with the page. But because of the complexity of reconstructing network requests post-TLS-encryption, this typically happens on a time delay and is not entirely reliable. ",[],{},{"nodeType":243,"data":1787,"content":1788},{},[1789,1793,1798,1802,1807,1811,1815,1819,1824],{"nodeType":247,"value":1790,"marks":1791,"data":1792},"If a page is flagged, it usually requires further investigation by a security team to rule out any false positives and kick off an investigation. This can take ",[],{},{"nodeType":247,"value":1794,"marks":1795,"data":1797},"hours",[1796],{"type":358},{},{"nodeType":247,"value":1799,"marks":1800,"data":1801}," at best, probably ",[],{},{"nodeType":247,"value":1803,"marks":1804,"data":1806},"days",[1805],{"type":358},{},{"nodeType":247,"value":1808,"marks":1809,"data":1810},". Then, once a page is identified as malicious and IoCs are created, it can take ",[],{},{"nodeType":247,"value":1803,"marks":1812,"data":1814},[1813],{"type":358},{},{"nodeType":247,"value":1816,"marks":1817,"data":1818}," or even ",[],{},{"nodeType":247,"value":1820,"marks":1821,"data":1823},"weeks",[1822],{"type":358},{},{"nodeType":247,"value":1825,"marks":1826,"data":1827}," before the information is distributed, TI feeds are updated, and ingested into blocklists. ",[],{},{"nodeType":243,"data":1829,"content":1830},{},[1831,1835],{"nodeType":247,"value":1832,"marks":1833,"data":1834},"But in the browser, you’re observing the page in real-time, as the user sees it, from inside the browser. This is a game changer when it comes to not just detecting, but intercepting and shutting down attacks before a user is phished and the damage is done. ",[],{},{"nodeType":247,"value":1836,"marks":1837,"data":1839},"This changes the focus from post mortem containment and cleanup, to pre-compromise interception in real time. ",[1838],{"type":358},{},{"nodeType":347,"data":1841,"content":1842},{},[],{"nodeType":351,"data":1844,"content":1845},{},[1846],{"nodeType":247,"value":1847,"marks":1848,"data":1850},"The future of phishing detection and response is browser based",[1849],{"type":358},{},{"nodeType":243,"data":1852,"content":1853},{},[1854],{"nodeType":247,"value":1855,"marks":1856,"data":1857},"Push provides a browser-based identity security solution that intercepts phishing attacks as they happen — in employee browsers. Being in the browser delivers a lot of advantages when it comes to detecting and intercepting phishing attacks. You see the live webpage that the user sees, as they see it, meaning you have much better visibility of malicious elements running on the page. It also means that you can implement real-time controls that kick in when a malicious element is detected. ",[],{},{"nodeType":243,"data":1859,"content":1860},{},[1861],{"nodeType":247,"value":1862,"marks":1863,"data":1864},"When a phishing attack hits a user with Push, regardless of the delivery channel, our 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, detecting that:",[],{},{"nodeType":480,"data":1866,"content":1867},{},[1868,1878,1888],{"nodeType":484,"data":1869,"content":1870},{},[1871],{"nodeType":243,"data":1872,"content":1873},{},[1874],{"nodeType":247,"value":1875,"marks":1876,"data":1877},"The password the user is entering into the phishing site has been used to log into another site previously. This means that the password is being reused (bad) or the user is being phished (even worse).  ",[],{},{"nodeType":484,"data":1879,"content":1880},{},[1881],{"nodeType":243,"data":1882,"content":1883},{},[1884],{"nodeType":247,"value":1885,"marks":1886,"data":1887},"The web page is cloned from a legitimate login page that has been fingerprinted by Push. ",[],{},{"nodeType":484,"data":1889,"content":1890},{},[1891],{"nodeType":243,"data":1892,"content":1893},{},[1894],{"nodeType":247,"value":1895,"marks":1896,"data":1897},"A phishing toolkit is running on the web page. ",[],{},{"nodeType":243,"data":1899,"content":1900},{},[1901],{"nodeType":247,"value":1902,"marks":1903,"data":1904},"As a result, the user is blocked from interacting with the phishing site and prevented from continuing. ",[],{},{"nodeType":243,"data":1906,"content":1907},{},[1908,1913,1922],{"nodeType":247,"value":1909,"marks":1910,"data":1912},"These are good examples of detections that are difficult (or impossible) for an attacker to evade — you can’t phish a victim if they can’t enter their credentials into your phishing site! ",[1911],{"type":358},{},{"nodeType":252,"data":1914,"content":1916},{"uri":1915},"https://pushsecurity.com/blog/detecting-and-blocking-phishing-attacks-in-the-browser/?utm_campaign=12081956-FY25Q2_Hacker-News-Article&utm_source=thehackernews&utm_medium=sponsored&utm_content=external-article",[1917],{"nodeType":247,"value":1918,"marks":1919,"data":1921},"Find out more about how Push detects and blocks phishing attacks here.",[1920],{"type":260},{},{"nodeType":247,"value":29,"marks":1923,"data":1924},[],{},{"nodeType":381,"data":1926,"content":1930},{"target":1927},{"sys":1928},{"id":1929,"type":386,"linkType":387},"4ixcEsEW4EyqckOTmP5Pbb",[],{"nodeType":381,"data":1932,"content":1936},{"target":1933},{"sys":1934},{"id":1935,"type":386,"linkType":387},"4PJKxWTroEPohYm4mklfl6",[],{"nodeType":347,"data":1938,"content":1939},{},[],{"nodeType":351,"data":1941,"content":1942},{},[1943],{"nodeType":247,"value":1944,"marks":1945,"data":1947},"Learn more",[1946],{"type":358},{},{"nodeType":243,"data":1949,"content":1950},{},[1951],{"nodeType":247,"value":1952,"marks":1953,"data":1954},"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. ",[],{},{"nodeType":243,"data":1956,"content":1957},{},[1958,1961,1969],{"nodeType":247,"value":926,"marks":1959,"data":1960},[],{},{"nodeType":252,"data":1962,"content":1964},{"uri":1963},"https://pushsecurity.com/demo?utm_campaign=12081956-FY25Q2_Hacker-News-Article&utm_source=thehackernews&utm_medium=sponsored&utm_content=external-article",[1965],{"nodeType":247,"value":934,"marks":1966,"data":1968},[1967],{"type":260},{},{"nodeType":247,"value":939,"marks":1970,"data":1971},[],{},{"nodeType":381,"data":1973,"content":1977},{"target":1974},{"sys":1975},{"id":1976,"type":386,"linkType":387},"2DviJNOMbKgbcqwkNl0LDP",[],{"nodeType":243,"data":1979,"content":1980},{},[1981],{"nodeType":247,"value":29,"marks":1982,"data":1983},[],{},"Three reasons why browser is best for stopping phishing attacks","Why being in the browser gives defenders a key advantage over network and email phishing prevention, detection, and response tools. ","2025-04-28T00:00:00.000Z","three-reasons-why-browser-is-best-for-stopping-phishing-attacks",{"items":1989},[1990,1992],{"sys":1991,"name":1321},{"id":1320},{"sys":1993,"name":1317},{"id":1316},{"items":1995},[1996],{"fullName":232,"firstName":233,"jobTitle":234,"profilePicture":1997},{"url":236},{"__typename":986,"sys":1999,"content":2001,"title":2438,"synopsis":2439,"hashTags":62,"publishedDate":2440,"slug":2441,"tagsCollection":2442,"authorsCollection":2448},{"id":2000},"3uLWz59In1waXGcLB9cnPq",{"json":2002},{"data":2003,"content":2004,"nodeType":239},{},[2005,2034,2054,2061,2068,2071,2079,2086,2092,2098,2104,2111,2131,2137,2140,2148,2155,2162,2169,2175,2182,2189,2195,2202,2222,2228,2235,2238,2246,2253,2259,2266,2311,2317,2324,2327,2335,2342,2349,2355,2360,2366,2369,2377,2384,2390,2397,2404,2407,2414,2420],{"data":2006,"content":2007,"nodeType":243},{},[2008,2011,2018,2022,2030],{"data":2009,"marks":2010,"value":29,"nodeType":247},{},[],{"data":2012,"content":2013,"nodeType":252},{"uri":619},[2014],{"data":2015,"marks":2016,"value":622,"nodeType":247},{},[2017],{"type":260},{"data":2019,"marks":2020,"value":2021,"nodeType":247},{},[]," was one of the first techniques we added to the ",{"data":2023,"content":2025,"nodeType":252},{"uri":2024},"https://github.com/pushsecurity/saas-attacks?tab=readme-ov-file",[2026],{"data":2027,"marks":2028,"value":331,"nodeType":247},{},[2029],{"type":260},{"data":2031,"marks":2032,"value":2033,"nodeType":247},{},[],", where attackers trick users into authorizing malicious OAuth apps. ",{"data":2035,"content":2036,"nodeType":243},{},[2037,2041,2050],{"data":2038,"marks":2039,"value":2040,"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":2042,"content":2044,"nodeType":252},{"uri":2043},"https://pushsecurity.com/blog/the-risky-terrain-of-oauth-scopes-in-third-party/",[2045],{"data":2046,"marks":2047,"value":2049,"nodeType":247},{},[2048],{"type":260},"depending on the scopes granted",{"data":2051,"marks":2052,"value":2053,"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":2055,"content":2056,"nodeType":243},{},[2057],{"data":2058,"marks":2059,"value":2060,"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":2062,"content":2063,"nodeType":243},{},[2064],{"data":2065,"marks":2066,"value":2067,"nodeType":247},{},[],"Two separate cases of consent phishing have hit the headlines this month representing very different use cases — let’s compare them. ",{"data":2069,"content":2070,"nodeType":347},{},[],{"data":2072,"content":2073,"nodeType":351},{},[2074],{"data":2075,"marks":2076,"value":2078,"nodeType":247},{},[2077],{"type":358},"1. Classic consent phishing",{"data":2080,"content":2081,"nodeType":243},{},[2082],{"data":2083,"marks":2084,"value":2085,"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":2087,"content":2091,"nodeType":381},{"target":2088},{"sys":2089},{"id":2090,"type":386,"linkType":387},"7s7VLePAQzhzXJ6cFkSCAe",[],{"data":2093,"content":2097,"nodeType":381},{"target":2094},{"sys":2095},{"id":2096,"type":386,"linkType":387},"5dppSzNOgffeZTZK2lG6V5",[],{"data":2099,"content":2103,"nodeType":381},{"target":2100},{"sys":2101},{"id":2102,"type":386,"linkType":387},"1dsYU7bM5mPW1AXyRLnqpp",[],{"data":2105,"content":2106,"nodeType":243},{},[2107],{"data":2108,"marks":2109,"value":2110,"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":2112,"content":2113,"nodeType":243},{},[2114,2118,2127],{"data":2115,"marks":2116,"value":2117,"nodeType":247},{},[],"Alongside consent phishing, this is an example of ",{"data":2119,"content":2121,"nodeType":252},{"uri":2120},"https://github.com/pushsecurity/saas-attacks/blob/main/techniques/in-app_phishing/description.md",[2122],{"data":2123,"marks":2124,"value":2126,"nodeType":247},{},[2125],{"type":260},"in-app phishing",{"data":2128,"marks":2129,"value":2130,"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":2132,"content":2136,"nodeType":381},{"target":2133},{"sys":2134},{"id":2135,"type":386,"linkType":387},"6d6MMyPQ7vaY2KrJTHGeO6",[],{"data":2138,"content":2139,"nodeType":347},{},[],{"data":2141,"content":2142,"nodeType":351},{},[2143],{"data":2144,"marks":2145,"value":2147,"nodeType":247},{},[2146],{"type":358},"2. Not really consent phishing?",{"data":2149,"content":2150,"nodeType":243},{},[2151],{"data":2152,"marks":2153,"value":2154,"nodeType":247},{},[],"This example is much more unusual. In this case, the attacker used malicious Microsoft OAuth apps impersonating Adobe and DocuSign. ",{"data":2156,"content":2157,"nodeType":243},{},[2158],{"data":2159,"marks":2160,"value":2161,"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":2163,"content":2164,"nodeType":243},{},[2165],{"data":2166,"marks":2167,"value":2168,"nodeType":247},{},[],"The attack started with attackers sending phishing emails to target users with a fake password reset lure. ",{"data":2170,"content":2174,"nodeType":381},{"target":2171},{"sys":2172},{"id":2173,"type":386,"linkType":387},"3cLd6EbraN9fKuGgL0kkgC",[],{"data":2176,"content":2177,"nodeType":243},{},[2178],{"data":2179,"marks":2180,"value":2181,"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":2183,"content":2184,"nodeType":243},{},[2185],{"data":2186,"marks":2187,"value":2188,"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":2190,"content":2194,"nodeType":381},{"target":2191},{"sys":2192},{"id":2193,"type":386,"linkType":387},"6O4CSx1VCoPAIjjsnKzu75",[],{"data":2196,"content":2197,"nodeType":243},{},[2198],{"data":2199,"marks":2200,"value":2201,"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":2203,"content":2204,"nodeType":243},{},[2205,2209,2218],{"data":2206,"marks":2207,"value":2208,"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":2210,"content":2212,"nodeType":252},{"uri":2211},"https://pushsecurity.com/blog/how-aitm-phishing-kits-evade-detection/",[2213],{"data":2214,"marks":2215,"value":2217,"nodeType":247},{},[2216],{"type":260},"blogged about previously",{"data":2219,"marks":2220,"value":2221,"nodeType":247},{},[]," which prevents security solutions from accessing and analysing the malicious page. ",{"data":2223,"content":2227,"nodeType":381},{"target":2224},{"sys":2225},{"id":2226,"type":386,"linkType":387},"7csybR6fJlCWsRy91CbNYL",[],{"data":2229,"content":2230,"nodeType":243},{},[2231],{"data":2232,"marks":2233,"value":2234,"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":2236,"content":2237,"nodeType":347},{},[],{"data":2239,"content":2240,"nodeType":351},{},[2241],{"data":2242,"marks":2243,"value":2245,"nodeType":247},{},[2244],{"type":358},"Using consent phishing to evade detection",{"data":2247,"content":2248,"nodeType":243},{},[2249],{"data":2250,"marks":2251,"value":2252,"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":2254,"content":2258,"nodeType":381},{"target":2255},{"sys":2256},{"id":2257,"type":386,"linkType":387},"4Bi9YoMwWVmKoWfkh5tiTA",[],{"data":2260,"content":2261,"nodeType":243},{},[2262],{"data":2263,"marks":2264,"value":2265,"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":2267,"content":2268,"nodeType":480},{},[2269,2290],{"data":2270,"content":2271,"nodeType":484},{},[2272],{"data":2273,"content":2274,"nodeType":243},{},[2275,2278,2286],{"data":2276,"marks":2277,"value":29,"nodeType":247},{},[],{"data":2279,"content":2280,"nodeType":252},{"uri":2211},[2281],{"data":2282,"marks":2283,"value":2285,"nodeType":247},{},[2284],{"type":260},"Prevent analysis of phishing pages",{"data":2287,"marks":2288,"value":2289,"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). ",{"data":2291,"content":2292,"nodeType":484},{},[2293],{"data":2294,"content":2295,"nodeType":243},{},[2296,2299,2307],{"data":2297,"marks":2298,"value":29,"nodeType":247},{},[],{"data":2300,"content":2301,"nodeType":252},{"uri":1385},[2302],{"data":2303,"marks":2304,"value":2306,"nodeType":247},{},[2305],{"type":260},"DOM and visual obfuscation",{"data":2308,"marks":2309,"value":2310,"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. ",{"data":2312,"content":2316,"nodeType":381},{"target":2313},{"sys":2314},{"id":2315,"type":386,"linkType":387},"2dN8np5odBecf7r1vBr69K",[],{"data":2318,"content":2319,"nodeType":243},{},[2320],{"data":2321,"marks":2322,"value":2323,"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":2325,"content":2326,"nodeType":347},{},[],{"data":2328,"content":2329,"nodeType":351},{},[2330],{"data":2331,"marks":2332,"value":2334,"nodeType":247},{},[2333],{"type":358},"How Push detects and blocks phishing attacks",{"data":2336,"content":2337,"nodeType":243},{},[2338],{"data":2339,"marks":2340,"value":2341,"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":2343,"content":2344,"nodeType":243},{},[2345],{"data":2346,"marks":2347,"value":2348,"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":2350,"content":2354,"nodeType":381},{"target":2351},{"sys":2352},{"id":2353,"type":386,"linkType":387},"6B1toQAf44rDzQZijYRd9g",[],{"data":2356,"content":2359,"nodeType":381},{"target":2357},{"sys":2358},{"id":1929,"type":386,"linkType":387},[],{"data":2361,"content":2365,"nodeType":381},{"target":2362},{"sys":2363},{"id":2364,"type":386,"linkType":387},"01musWa3FUiO0CVFNWfwcy",[],{"data":2367,"content":2368,"nodeType":347},{},[],{"data":2370,"content":2371,"nodeType":351},{},[2372],{"data":2373,"marks":2374,"value":2376,"nodeType":247},{},[2375],{"type":358},"Using Push to review OAuth integrations",{"data":2378,"content":2379,"nodeType":243},{},[2380],{"data":2381,"marks":2382,"value":2383,"nodeType":247},{},[],"You can also use Push to discover and remove risky OAuth integrations accepted by your users. ",{"data":2385,"content":2389,"nodeType":381},{"target":2386},{"sys":2387},{"id":2388,"type":386,"linkType":387},"5kJvy5SBcWLrK2EhLyR1ZD",[],{"data":2391,"content":2392,"nodeType":243},{},[2393],{"data":2394,"marks":2395,"value":2396,"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":2398,"content":2399,"nodeType":243},{},[2400],{"data":2401,"marks":2402,"value":2403,"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":2405,"content":2406,"nodeType":347},{},[],{"data":2408,"content":2409,"nodeType":351},{},[2410],{"data":2411,"marks":2412,"value":1274,"nodeType":247},{},[2413],{"type":358},{"data":2415,"content":2416,"nodeType":243},{},[2417],{"data":2418,"marks":2419,"value":1952,"nodeType":247},{},[],{"data":2421,"content":2422,"nodeType":243},{},[2423,2426,2434],{"data":2424,"marks":2425,"value":926,"nodeType":247},{},[],{"data":2427,"content":2429,"nodeType":252},{"uri":2428},"https://pushsecurity.com/demo?utm_campaign=9983377-FY25Q1_Bleeping-Computer-Organic-Article&utm_source=bleepingcomputer&utm_medium=sponsored-content&utm_content=organic%20article",[2430],{"data":2431,"marks":2432,"value":1289,"nodeType":247},{},[2433],{"type":260},{"data":2435,"marks":2436,"value":2437,"nodeType":247},{},[]," for a live demo.","How consent phishing is evolving to defeat 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.","2025-03-31T00:00:00.000Z","how-consent-phishing-is-evolving",{"items":2443},[2444,2446],{"sys":2445,"name":1317},{"id":1316},{"sys":2447,"name":1321},{"id":1320},{"items":2449},[2450],{"fullName":232,"firstName":233,"jobTitle":234,"profilePicture":2451},{"url":236},"app-specific-password-phishing","blog/app-specific-password-phishing",{"json":2455},{"data":2456,"content":2457,"nodeType":239},{},[2458],{"data":2459,"content":2460,"nodeType":243},{},[2461],{"data":2462,"marks":2463,"value":2464,"nodeType":247},{},[],"Attackers in the wild have been observed using advanced social engineering tactics to convince victims to create and share App-Specific Passwords, representing the latest in phishing tactics capable of sidestepping otherwise phishing-resistant login methods, and bypassing MFA checks. ","How App-Specific Password phishing is being used in the wild to bypass phishing-resistant authentication controls like passkeys. ",{"id":2467,"publishedAt":2468},"3c9KMXYa1A9rOg61Kmg7j4","2025-06-26T12:34:51.659Z",{"items":2470},[2471,2473],{"sys":2472,"name":1317},{"id":1316},{"sys":2474,"name":1321},{"id":1320},"yKhWDtiHCoRQsw0N2RFJSkOPrZ8n2XO_A7PINNHgQVk",1784196727938]