The Ultimate Guide to Non-Human Identities Report
NHI Forum

Notifications
Clear all

How Attackers Maliciously Impersonate Salesforce Apps


(@oasis-security)
Trusted Member
Joined: 1 month ago
Posts: 24
Topic starter  

Read full article here: https://www.oasis.security/blog/salesforce-data-loader-oauth-impersonation/?source=nhimg

 

In June 2025, Google Cloud’s Threat Intelligence Group (GTIG) published research exposing a voice phishing (vishing) campaign that targeted Salesforce administrators. The threat actor, tracked as UNC6040, tricked employees into installing a malicious impersonation of Salesforce’s Data Loader desktop app.

By August 2025, the scope of the incident widened as high-profile organizations—including Chanel—confirmed breaches involving unauthorized Salesforce access. The common denominator: OAuth.

Attackers abused Salesforce’s trusted OAuth flow by reusing the legitimate client ID of the Data Loader app, making their fake app appear genuine and bypassing traditional app-approval controls.

 

How OAuth Should Work

At its core, OAuth 2.0 enables users to grant apps access without sharing passwords.

  1. The app directs the user to Salesforce’s login page.
  2. Salesforce identifies the app by its client ID.
  3. If approved, Salesforce returns access tokens to the app’s redirect URI.

For web apps, the redirect URI is a vendor-controlled domain (e.g., https://vendor.com/callback), making abuse harder.

 

Why Desktop Apps Are Riskier

Desktop apps like Salesforce Data Loader can’t host a domain. Instead, they use loopback redirects ( http://localhost:port), spinning up a temporary listener to receive tokens.

But there are critical caveats:

  • No app secret: Desktop apps are “public clients,” unable to securely store secrets.
  • Client ID ≠ binary: The client ID is just a string—any app can reuse it.
  • No proof of authenticity: Nothing ties the ID to a specific executable.

Result: any malicious app that knows the client ID can impersonate the real one.

 

 

What Likely Happened

Attackers created a fake Data Loader app that:

  • Looked and behaved like the real tool.
  • Reused Salesforce’s official client ID and loopback redirect URI.
  • Tricked admins (via phone phishing) into logging in.
  • Seamlessly received valid OAuth tokens.

Because the client ID matched a trusted app, Salesforce skipped the consent screen. In logs, access appeared to come from the real Data Loader, making detection nearly impossible.

 

Why This Works So Well

  • No new connected app: It piggybacks on an already-approved app.
  • Invisible to logs: No unusual IPs or consent prompts.
  • User trust exploited: Admins assumed the familiar tool was safe.

This wasn’t a novel exploit in code—it was an abuse of trust in OAuth’s design for desktop apps.

 

Mitigation Lessons

Traditional connected-app restrictions wouldn’t have stopped this attack. But enterprises can still reduce risk:

  1. Limit Who Can Authorize Sensitive Apps

    • Only vetted administrators should be able to grant Data Loader access.
    • Define app-to-user authorization rules in Salesforce.
  2. Raise Security Awareness

    • Train admins to question every OAuth login—even for familiar apps.
    • Teach that trusted tools can be mimicked, especially in phishing campaigns.

  3. Implement Continuous Monitoring

    • Watch for unusual Data Loader usage (off-hours, excessive queries, abnormal export patterns).

  4. Adopt Fine-Grained Policies

Where possible, enforce user-to-app mapping, reducing the blast radius if someone is tricked.

 

Final Thought

The Salesforce Data Loader incident illustrates a deeper truth: OAuth trust can be abused when design assumptions meet real-world social engineering. Desktop OAuth clients are especially exposed because their trust hinges on client IDs that can be copied by anyone.

Identity and access security in 2025 must go beyond approving apps—it must be about who can authorize what, under which conditions, and with continuous oversight.

 


   
Quote
Share: