passwords.txt contains 1,497 password entries structured to cover the full spectrum of weak credential patterns found in real-world breaches and CTF lab targets. The first ~660 entries are human-readable passwords; the remainder are systematic patterns generated from a small vocabulary of common base words combined with numbers and symbols.
Pattern breakdown
Common dictionary words
Common dictionary words
Plain English words that appear in every major breach dataset. Examples from
passwords.txt:| Password | Notes |
|---|---|
dragon | Top-10 most breached password of all time |
monkey | Consistently common across breach dumps |
football | Sports-themed, extremely common |
password | Still appears in millions of breaches |
letmein | Human-readable, trivially guessable |
sunshine | Positive-word passwords remain popular |
batman | Pop-culture passwords are widely used |
master | Common privileged-sounding word |
welcome | Default greeting, widely used in corporate accounts |
secret | Ironic: one of the most common “hidden” passwords |
Leet-speak and complexity variants
Leet-speak and complexity variants
Passwords where users substitute letters with numbers or symbols to satisfy complexity rules — a well-known and ineffective strategy.
| Password | Substitution pattern |
|---|---|
Admin123 | Capitalised word + trailing digits |
P@ssw0rd | a→@, o→0 — textbook leet-speak |
D0ck3r123 | Product name with o→0, e→3 |
MyP@ssw0rd | Possessive prefix + leet substitutions |
Str0ngP@ss | ”Strong” ironically written with substitutions |
Pa55w0rd! | Double substitution + trailing symbol |
r00tP@ss! | Root-flavoured leet password |
Adm1n1str4t0r | Full word leet-ified |
Sup3rUs3r | Role + leet digits |
Sup3rS3cur3! | ”Secure” spelled insecurely |
Service-specific passwords
Service-specific passwords
Passwords that combine a product or technology name with a simple number or symbol suffix. These are common defaults or first-time passwords set by administrators.
| Password | Service reference |
|---|---|
wordpress1 | WordPress default-style |
wpadmin | WordPress admin shorthand |
docker123 | Docker-specific |
D0ck3r123 | Docker leet variant |
K8sClust3r | Kubernetes cluster |
J3nk1ns! | Jenkins CI |
G1tHub2024 | GitHub with year |
N4g10s123 | Nagios monitoring |
Z4bb1x! | Zabbix monitoring |
Spl#nk123 | Splunk SIEM |
Gr4f4n4! | Grafana dashboards |
D4t4d0g! | Datadog APM |
T3rr4f0rm! | Terraform IaC |
D4t4b4s3! | Generic database |
CTF and lab patterns
CTF and lab patterns
Passwords specifically tailored to the CTF and security-lab context, including unusual capitalisations and non-standard special character placement.
| Password | Notes |
|---|---|
4nsib13! | Leet encoding of “ansible” + ! |
Ub#ntu2204 | Ubuntu 22.04 release reference |
C0nt41n3r! | Container-oriented lab password |
CorrectHorseBatteryStaple | XKCD-style passphrase |
Tr0ub4dor&3 | XKCD reference passphrase |
BackupAdm1n | Backup admin role |
PowerUs3r! | Power-user role |
F1r3w4ll! | Firewall leet |
S3cur1ty! | Security leet |
L3tM31n! | ”Let me in” leet |
Year-suffixed patterns
Year-suffixed patterns
Passwords built by appending a year to a common word — a pattern users adopt when forced to change passwords periodically.
| Password | Pattern |
|---|---|
password2024 | word + current year |
summer2024 | season + year |
spring2024 | season + year |
winter2024 | season + year |
fall2024 | season + year |
may2024 | month + year |
D3vOps2024 | role + year |
G1tHub2024 | service + year |
password2023 | word + previous year |
winter2023 | season + previous year |
Systematic number-and-symbol patterns
Systematic number-and-symbol patterns
The second half of
passwords.txt (entries ~665–1,497) consists of programmatically generated passwords that combine a base word (pass, secure, access, login, change, temp, user, data, system, network, secret, test) with a symbol (!, @, #, $) or year suffix and a random 2–4 digit number. These model real-world passwords created by scripts or password managers without sufficient entropy.| Password | Structure |
|---|---|
pass!796 | base + ! + number |
secure$729 | base + $ + number |
access@886 | base + @ + number |
login#565 | base + # + number |
change2024960 | base + year + number |
network123370 | base + 123 + number |
temp2024382 | base + year + number |
data$594 | base + $ + number |
secret#891 | base + # + number |
system!692 | base + ! + number |
Sample entries
The table below shows a cross-section of entries from different pattern families.| Password | Pattern family |
|---|---|
dragon | Dictionary word |
football | Dictionary word |
letmein | Dictionary word |
Admin123 | Leet-speak / complexity variant |
P@ssw0rd | Leet-speak / complexity variant |
D0ck3r123 | Leet-speak / complexity variant |
Sup3rUs3r | Leet-speak / complexity variant |
wordpress1 | Service-specific |
wpadmin | Service-specific |
J3nk1ns! | Service-specific leet |
K8sClust3r | Service-specific leet |
4nsib13! | CTF / lab pattern |
Ub#ntu2204 | CTF / lab pattern |
C0nt41n3r! | CTF / lab pattern |
password2024 | Year-suffixed |
summer2024 | Year-suffixed |
D3vOps2024 | Year-suffixed leet |
pass!796 | Systematic symbol pattern |
secure$729 | Systematic symbol pattern |
network123370 | Systematic base+number |
Security notes
Why these passwords are weak
Why these passwords are weak
Every entry in
passwords.txt demonstrates at least one known weakness:- Predictability — dictionary words, names, and pop-culture references are tried first by every credentialed attack tool.
- Superficial complexity — substituting
a→@oro→0adds no meaningful entropy; crackers include these rules by default in tools likehashcat. - Short length — passwords under 12 characters are vulnerable to offline GPU cracking even when hashed with bcrypt.
- Incremental patterns — appending a year (
password2024) or a 3-digit number (pass!796) is widely modelled in wordlists and rule files. - Product names — service-flavoured passwords (
wordpress1,jenkins123) are the first entries tried against the matching service.
What makes credentials genuinely strong
What makes credentials genuinely strong
A credential resists brute-force attacks when it combines:
- Length — 16 characters or more.
- Unpredictability — generated randomly, not based on words or patterns.
- Uniqueness — a different password for every service.
- MFA — a second factor makes a stolen password alone insufficient.