Skip to content

Add macOS Chrome InfoStealer TTP (v1-v4)#148

Closed
godlovepenn wants to merge 1 commit intofacebookincubator:mainfrom
godlovepenn:export-D92545192
Closed

Add macOS Chrome InfoStealer TTP (v1-v4)#148
godlovepenn wants to merge 1 commit intofacebookincubator:mainfrom
godlovepenn:export-D92545192

Conversation

@godlovepenn
Copy link
Contributor

Summary:
Adds a comprehensive suite of macOS Chrome InfoStealer TTPs with progressive detection evasion techniques. This TTP family simulates common infostealer behaviors targeting Chrome credentials and system information on macOS systems.

🔐 Version Progression:

V1 - Baseline CLI Approach:

  • Uses /usr/bin/security CLI utility to retrieve Chrome safe storage password
  • Copies Chrome credential files (Cookies, Login Data, Web Data) to memory/disk
  • Supports multiple Chrome profile detection and selection
  • Includes system information gathering capabilities

V2 - Native API Evasion:

  • Replaces CLI utility with native macOS Security framework API calls via ctypes
  • Eliminates process creation telemetry (no child processes spawned)
  • Evades command-line argument monitoring and behavioral analysis
  • Same credential extraction capabilities with improved OPSEC

V3 - Social Engineering + Offline Decryption:

  • Adds user password acquisition via osascript dialogs (fake system prompts)
  • Captures keychain database for offline decryption with tools like chainbreaker
  • Enables broader access to all keychain items, not just Chrome credentials
  • Customizable dialog titles and text for different social engineering scenarios

V4 - Native Dialog + Validation:

  • Uses native AppKit framework for password dialogs (indistinguishable from legitimate prompts)
  • Validates captured password against keychain before acceptance
  • Configurable maximum attempts and custom icons for enhanced legitimacy
  • Avoids osascript entirely for improved detection evasion

🎯 MITRE ATT&CK Coverage:

  • T1555.003: Credentials from Web Browsers
  • T1555.001: Keychain
  • T1056.002: GUI Input Capture (v3, v4)

Reviewed By: isaac-fletcher

Differential Revision: D92545192

Summary:
Adds a comprehensive suite of macOS Chrome InfoStealer TTPs with progressive detection evasion techniques. This TTP family simulates common infostealer behaviors targeting Chrome credentials and system information on macOS systems.

**🔐 Version Progression:**

**V1 - Baseline CLI Approach:**
- Uses `/usr/bin/security` CLI utility to retrieve Chrome safe storage password
- Copies Chrome credential files (Cookies, Login Data, Web Data) to memory/disk
- Supports multiple Chrome profile detection and selection
- Includes system information gathering capabilities

**V2 - Native API Evasion:**
- Replaces CLI utility with native macOS Security framework API calls via ctypes
- Eliminates process creation telemetry (no child processes spawned)
- Evades command-line argument monitoring and behavioral analysis
- Same credential extraction capabilities with improved OPSEC

**V3 - Social Engineering + Offline Decryption:**
- Adds user password acquisition via osascript dialogs (fake system prompts)
- Captures keychain database for offline decryption with tools like chainbreaker
- Enables broader access to all keychain items, not just Chrome credentials
- Customizable dialog titles and text for different social engineering scenarios

**V4 - Native Dialog + Validation:**
- Uses native AppKit framework for password dialogs (indistinguishable from legitimate prompts)
- Validates captured password against keychain before acceptance
- Configurable maximum attempts and custom icons for enhanced legitimacy
- Avoids osascript entirely for improved detection evasion

**🎯 MITRE ATT&CK Coverage:**
- T1555.003: Credentials from Web Browsers
- T1555.001: Keychain
- T1056.002: GUI Input Capture (v3, v4)

Reviewed By: isaac-fletcher

Differential Revision: D92545192
@meta-codesync
Copy link

meta-codesync bot commented Feb 6, 2026

@godlovepenn has exported this pull request. If you are a Meta employee, you can view the originating Diff in D92545192.

@meta-codesync
Copy link

meta-codesync bot commented Feb 6, 2026

This pull request has been merged in a603754.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants