| name | exchange-owa-attack |
| description | Exchange/OWA NTLM AD leak, spray attack when mail subdomain. |
| version | 1.1.0 |
| revision_date | "2026-07-25T00:00:00.000Z" |
| license | MIT |
| platforms | ["linux"] |
| compatibility | Requires curl, nmap, python3, masscan, subfinder, httpx, nuclei |
| tags | ["recon","exchange","OWA","NTLM","ActiveDirectory","password-spray"] |
| category | recon |
| related_skills | ["port-service-discovery","zimbra-attack","subdomain-enumeration"] |
Exchange/OWA Attack Skill
Exchange Outlook Web Access reconnaissance covering endpoint mapping, NTLM
Type-2 metadata, authentication controls, and version evidence. Password or
lockout testing requires explicit authorization and approved identities.
When to Use
- Target has
owa., mail., webmail., exchange., or autodiscover. subdomains.
- crt.sh reveals Exchange-related SAN names (
mail.domain.com, autodiscover.domain.com).
- Port 443 returns NTLM
WWW-Authenticate: Negotiate or WWW-Authenticate: NTLM.
- After
subdomain-enumeration discovers mail-related hosts.
- After
port-service-discovery finds HTTPS on port 443 with Exchange fingerprints.
Prerequisites
terminal with curl, python3.
- Target Exchange/OWA URL.
- For password spray: list of usernames (from recon) and password candidates.
How to Run
curl --max-time 30 --connect-timeout 10 -skI "https://TARGET/owa/" | grep -iE "x-owa-version|x-feserver|exchange|microsoft"
curl --max-time 30 --connect-timeout 10 -skI "https://TARGET/owa/" -H "Authorization: Negotiate TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAGAbEdAAAADw==" | grep -i "www-authenticate"
Quick Reference
| Technique | What It Reveals | Severity |
|---|
| NTLM Type-2 decode | AD domain, NetBIOS name, computer name, AD timestamp | High |
| OWA version header | Exchange version, CU level, patch status | Medium |
/owa/auth/logon.aspx | Login page, brute force surface | Medium |
/ecp/ | Exchange Control Panel (admin) | High |
/ews/ |