MySQL Credential Brute-Force
MySQL credential brute-force is viable when the service is network-exposed and no lockout policy is enforced. MySQL has no built-in account lockout by default — failed authentication attempts do not block the account. This makes it straightforward to test large credential lists without triggering a lockout. Prioritize credentials recovered from other services on the same host or network before falling back to generic wordlists.
Brute-Force with hydra
Test a single username against a password list:
[3306][mysql] host: 192.168.1.100 login: root password: password123
Test multiple usernames at once with a username list:
Keep thread count low with -t 4. MySQL handles concurrent connections well but aggressive threading increases detection risk and can cause connection errors on resource-constrained targets.
Target Common MySQL Usernames
MySQL deployments commonly use predictable account names beyond root. Build a targeted username list:
mysql-users.txt:
root
mysql
admin
app
webapp
wordpress
drupal
joomla
backup
replication
monitor
readonly
dbadmin
sa
Verify and Check Privileges After a Hit
Once valid credentials are found, connect and immediately check privilege level:
FILE privilege in the grants combined with an empty secure_file_priv is the highest-value result — it enables file read and webshell deployment covered in the next exploitation pages.
References
-
THC Hydra on GitHubgithub.com/vanhauser-thc/thc-hydra (opens in new tab)
MySQL module usage and thread count reference
Was this helpful?
Your feedback helps improve this page.