Hydra or the Password Auditor: the best tool for brute-force attacks
When it comes to credential auditing, choosing the right tool can make all the difference.
This comparison puts Hydra and the Password Auditor to the test across 26 web applications - including Microsoft Exchange, WordPress, and Joomla - to evaluate how effectively they identify weak credentials, navigate complex login forms, and detect security defenses like CAPTCHAs and IP blocking.
Find out which tool gets you in faster, smarter, and with less hassle.
![Hydra vs password auditor hero image](https://content.pentest-tools.com/assets/password-auditor-vs-hydra---hero-image.webp)
Overview of this bruteforce tools comparison
Necessary
Why compare these credential scanning tools?
This comparison dives into how Hydra and the Password Auditor actually perform in real-world scenarios to find weak credentials.
By testing both tools across different web apps, it shows how well they handle various login forms, error messages, and security defenses like CAPTCHA or IP blocking.
This isn't just about raw data; it's about helping you pick the right tool that’s effective, easy to use, and fits your specific needs when you're on a job, trying to efficiently audit targets for weak credentials.
Transparent
What kind of findings does this comparison include?
The findings cover the tool’s detection rates of valid credentials, how they detect defensive measures like CAPTCHA and IP blocking, and how accurately they identify login endpoints and parameters in 26 different web applications.
The key findings and full list of results include all the Hydra commands and Password Auditor parameters used, as well as proof for each tested web app.
Realistic and relevant
How does this comparison evaluate the tested bruteforce tools?
The comparison measures each tool's success rate by testing both Hydra and the Pentest-Tools.com Password Auditor across 26 HTTP applications, using two scenarios: a controlled lab environment with a mix of valid and invalid credentials, and a real-life setup with multiple invalid credentials.
It assesses each tool's ability to identify login endpoints, detect error messages, detect defenses like IP blocking and CAPTCHA, and accurately report results.
Methodology for this bruteforce tools comparison
Testing period: July-August 2024
Evaluated on the ability to identify:
login endpoints
login parameters
error messages & protection mechanisms
26
HTTP applications tested
2
replicable test scenarios
2
wordlists with valid + invalid usernames & passwords
7
defensive measures tested
Criteria for evaluating bruteforce tools
For a fair, objective evaluation of both Hydra (open-source) and our Password Auditor (proprietary), we chose transparent criteria and a replicable setup to open this analysis up to independent testing and validation.
This comparison test how each credential scanning tool interacts with the application login in two situations:
Lab scenario: when sending 1 valid and 1 invalid pairs of credentials
Realistic scenario: when sending 1 valid and 10+ invalid pairs of credentials.
Successful detection means the tool identified the credentials or provided a server error finding with a screenshot, along with bypass recommendations on how to override protections.
Testing bruteforce software in a lab scenario
Simulating a lab environment, we evaluated the tools’ ability to detect login parameters and validate two sets of credentials to confirm a successful login.
Testing bruteforce software in a realistic scenario
Replicating a real-life scenario, we tested the tools' ability to handle multiple sets of credentials and observe the application's defensive measures against brute force attacks - and how effectively the tools reported these defenses.
Defensive measures included: 2FA, IP whitelisting and IP blacklisting, CAPTCHA, account lockout, source IP blocking, rate-limiting, context-based authentication, and login attempt delay.
Watch the bruteforce tool comparison breakdown
Watch David Bors, Security Research Engineer, break down the results of this comparison and see how each credential scanning tool did against the 26 HTTP applications.
![placeholder](/_vercel/image?url=https:%2F%2Fcontent.pentest-tools.com%2Fassets%2Fcontent%2Fpassword-auditor-vs-hydra%2Fpassword-auditor-vs-hydra-comparison-video.png&w=1536&q=100)
Comparison results: the most accurate brute forcing tool
Find out which bruteforce tool cracks faster and better
Identifying valid credentials in a lab scenario
The Password Auditor on Pentest-Tools.com consistently demonstrated superior accuracy in identifying valid credentials across all 26 web applications. It achieved a 100% success rate when tested with one valid and one invalid credential set.
Hydra, in contrast, identified only 7 valid credentials with a 27% success rate for the single credential test scenario.
![Detection in lab scenario](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/lab-scenario.png)
Identifying valid credentials in a realistic scenario
When testing the 26 target apps with multiple credentials (one valid and 10+ invalid ones), the Password Auditor on Pentest-Tools.com maintained a high success rate of 84% in identifying credentials or detecting defensive measures.
In this more complex scenario, Hydra's success rate dropped to 15%, correctly identifying only 4 valid credentials. This suggests Hydra struggles more with identifying valid credentials under varying conditions.
![Detection in realistic scenario](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/realistic-scenario.png)
Handling application-specific defensive mechanisms
The Password Auditor on Pentest-Tools.com was notably effective in recognizing various defensive mechanisms like IP blacklisting, CAPTCHA, account lockout, and rate limiting. It provided specific feedback and recommendations to bypass or handle these defenses, which is crucial for real-life penetration testing where such measures are common.
Hydra faced challenges with certain applications that use web CSRF tokens or dynamic form protections. Because of its inability to handle client-side JavaScript token generation or CSRF token rotation, Hydra often marked valid and invalid attempts similarly, reducing its effectiveness. Workarounds exist, but they require several tools and do not fit the scope of this benchmark.
Ease of use and setup
The Password Auditor on Pentest-Tools.com is more user-friendly with a pre-configured interface that simplifies the setup process. Security practitioners just need to specify the target, select the attack type, choose ports, and enable desired services. The tool also allows scheduling regular scans, enhancing its usability.
Hydra requires a more manual setup process, including crafting specific commands to find login endpoints and parameters, which is time-consuming. This setup complexity is a disadvantage in fast-paced testing environments where time efficiency is critical.
Ability to work around encryption and token mechanisms
The Password Auditor effectively managed to bypass client-side encoding and token mechanisms by using its pre-built configurations. This capability is particularly valuable for auditing web apps that implement client-side protections.
Hydra’s performance dropped significantly on platforms that used client-side hashing or encryption. Since Hydra doesn’t operate within a browser environment, it couldn’t replicate JavaScript-based hashing, limiting its effectiveness against applications like Adobe ColdFusion and JetBrains TeamCity, which use advanced encryption or client-side hashing.
Overall performance
For security specialists looking for a robust, easy-to-use tool with high accuracy in detecting weak credentials and handling modern web application defenses, the Password Auditor on Pentest-Tools.com is a recommended choice. Its high success rates, user-friendly interface, and ability to navigate advanced security mechanisms make it a more reliable option for comprehensive web app auditing.
Hydra remains a powerful tool, especially for scenarios where a more manual, command-line approach is suitable, or when dealing with simpler authentication mechanisms without complex client-side protections. However, for advanced, automated credential auditing across diverse environments, the Password Auditor offers more value and reliability.
Setup and specs for bruteforcing with Hydra and the Password Auditor
Tinkering with security tools is fun, but it can quickly become frustrating if it takes too long.
The most demanding part of this comparison was setting up Hydra correctly. Crafting the right command is time-consuming, so we're sharing the detailed steps for identifying parameters and configuring Hydra to test all 26 web apps.
Alongside it you’ll see how to use our Password Auditor - and what results it gets you.
![Hydra logo](/_vercel/image?url=https:%2F%2Fcontent.pentest-tools.com%2Fassets%2Fcontent%2Fpassword-auditor-vs-hydra%2Fhydra-logo.png&w=1536&q=100)
Hydra
To determine the Hydra command, follow these steps:
1. Find the login endpoint
Find the application's login endpoint by either exploring the application in a browser or by fuzzing to discover login paths.
2. Discover the login parameters
Use Firefox's Web Developer Tools, specifically the Network tab, to find the parameters required for logging into the application.
3. Identify error messages and protection mechanisms
Input invalid credentials to identify possible error messages and observe how many invalid attempts trigger a protection mechanism.
![Password auditor logo](/_vercel/image?url=https:%2F%2Fcontent.pentest-tools.com%2Fassets%2Fcontent%2Fpassword-auditor-vs-hydra%2Fpassword-auditor.png&w=1536&q=100)
The Password Auditor on Pentest-Tools.com
The Password Auditor on Pentest-Tools.com is pre-configured and ready to use.
Add your target.
Choose the attack type (dictionary or password spray).
Select the port range.
Enable the services you want to test.
Use the default wordlists or create/add your own.
Set a delay between attempts to avoid lockouts.
[Optional] Enable default credentials check.
[Optional] Set a custom scan time.
[Optional] Choose a “follow redirects” policy.
And scan - or schedule a regular scan.
How to bruteforce web apps with Hydra and the Password Auditor
How to check Wordpress for weak credentials
Deployment method: Vultr marketplace
1. Find the Wordpress web app login endpoint
The WordPress administrator login usually sits on the /wp-login.php endpoint.
![Wordpress login interface](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/wordpress.png)
2. Discover the Wordpress login parameters
Use the Network tab in the browser’s Web Developer Tools to find the login parameters.
![wordpress dev tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/wordpress.webp)
3. Identify error messages and protection mechanisms
After one invalid attempt, the WordPress app returns the following message:
![Wordpress error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/wordpress-error.webp)
After 10 invalid attempts, the Wordfence plugin (pre-installed in the deployed environment) gets triggered. Note that the block only works for active accounts.
![Wordpress blocked](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/wordpress-blocked.webp)
Hydra commands and output
For bruteforcing Wordpress with 1 valid and 1 invalid pairs of credentials, we used the following commands:
hydra -l wpauserAt32pBC2 -p bad-password wordpress.pentest-ground.com -V https-form-post '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:The username or password you entered is invalid.'
hydra -l wpauserAt32pBC2 -p D5nZ9UzELriBpENkATlgWR7jqeamvr7j wordpress.pentest-ground.com -V https-form-post '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:The username or password you entered is invalid.'
![Wordpress hydra](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/wordpress-1_1.webp)
As shown in the output, Hydra successfully distinguished between invalid and valid credentials.
For the second scenario that used multiple sets of credentials, we used the following Hydra command:
hydra -L users.txt -P pass.txt wordpress.pentest-ground.com -V https-form-post '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:The username or password you entered is invalid.'
Wordfence was activated after multiple failed attempts, and Hydra generated numerous incorrect credentials.
![Wordpress hydra multiple creds](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/wordpress-multiple-creds.webp)
Password Auditor commands and results
For the first scenario, we adjusted the following parameters in the interface to run a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
Since the pa-benchmark wordlist includes the valid credentials, the Password Auditor will make 4 attempts against the target - 3 with invalid credentials and one with valid credentials.
![Wordpress password auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/wordpress-1.webp)
![Wordpress password auditor HTTPS weak password](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/wordpress-2.webp)
The Pentest-Tools.com Password Auditor also includes a screenshot of the logged-in session to confirm the provided credentials are valid.
![Password Auditor screenshot of the logged-in wordpress session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/wordpress-3.webp)
For the scenario with multiple credentials, we modified the wordlist to include 2 users (1 invalid and 1 valid) and 12 passwords (11 invalid and 1 valid). The Password Auditor reports the IP address was temporarily blocked.
To automatically avoid IP blocking, you can use the “Delay between attempts” option in the Password Auditor to set a custom delay duration and ensure your attacks are effective and get you the results you need.
![Wordpress password auditor access blocked](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/wordpress-4.webp)
![Wordpress password auditor IP blocking](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/wordpress-5.webp)
How to check Drupal for weak credentials
Deployment method: Vultr marketplace
1. Find the Drupal web app login endpoint
You can usually find the Drupal login at the /user/login endpoint.
![Drupal login screen](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/drupal.webp)
2. Discover the Drupal login parameters
Use the Network tab in the browser’s Web Developer Tools to identify the login parameters.
![Drupal developer tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/drupal.webp)
3. Identify error messages and protection mechanisms
After one invalid attempt, the following message is returned:
![Drupal login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/drupal-error.webp)
After 5 invalid login attempts, the protection mechanism is activated, and the account is temporarily blocked.
![Drupal blocked login attempt](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/drupal-blocked.webp)
After multiple failed attempts, the source IP address will be blocked.
![Drupal IP blocked](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/drupal-ip-blocked.webp)
Hydra commands and output
In the first scenario, we used the following Hydra commands:
hydra -l benchmark-user -p bad-password drupal.pentest-ground.com -V https-form-post "/user/login/:name=^USER^&pass=^PASS^&form_build_id=form-8B10wX9zca3XsUyefKATrbS3W5C0yAFH0Ko1jIeWg6Q&form_id=user_login_form&op=Log+in:Unrecognized username or password"
hydra -l benchmark-user -p tq6nAhfAhqtwBn7WXWqoaMXWF drupal.pentest-ground.com -V https-form-post "/user/login/:name=^USER^&pass=^PASS^&form_build_id=form-8B10wX9zca3XsUyefKATrbS3W5C0yAFH0Ko1jIeWg6Q&form_id=user_login_form&op=Log+in:Unrecognized username or password"
![Drupal hydra](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/drupal-1_1.webp)
As shown in the output, Hydra accurately identified the invalid and valid credentials.
For the second, more complex scenario, we used the following command:
hydra -L users.txt -P pass.txt drupal.pentest-ground.com -V https-form-post "/user/login/:name=^USER^&pass=^PASS^&form_build_id=form-8B10wX9zca3XsUyefKATrbS3W5C0yAFH0Ko1jIeWg6Q&form_id=user_login_form&op=Log+in:Unrecognized username or password"
![Drupal hydra multiple credentials](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/drupal-multiple-creds.webp)
Drupal activated its protection mechanism after multiple failed attempts, and Hydra was unable to find the valid credentials.
Password Auditor commands and results
To run a quicker, more focused scan in the first scenario, we adjusted the following parameters:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
Since the pa-benchmark wordlist includes the valid credentials, the tool will make 4 attempts against the target - 3 with invalid credentials and one with valid credentials.
As shown in the screenshots below, the Pentest-Tools.com Password Auditor successfully identified the valid credentials.
![Drupal password auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/drupal-1.webp)
![Drupal password auditor HTTPS weak password](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/drupal-2.webp)
The Password Auditor also includes a screenshot of the logged-in session to confirm that the provided credentials are valid.
![Password auditor screenshot of the logged-in Drupal session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/drupal-3.webp)
For the second scenario, we modified the wordlist to include 2 users (1 invalid and 1 valid) and 12 passwords (11 invalid and 1 valid).
The Password Auditor reported both a temporary account lockout and an IP address block error.
![Drupal temporary account lockout detection](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/drupal-account-lockout-1.webp)
![Drupal temporary account lockout detection screenshot](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/drupal-account-lockout-2.webp)
![Drupal IP address blocked](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/drupal-ip-address-blocked-1.webp)
![Drupal IP address blocked screenshot](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/drupal-ip-address-blocked-2.webp)
How to check Joomla login for weak credentials
Deployment method: Vultr marketplace
1. Find the Joomla web app login endpoint
Usually, the Joomla login form is found on the / or on the /index.php/component/users/login endpoints.
![Joomla login form](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/joomla.webp)
2. Discover the Joomla login parameters
Use the Network tab in your browser’s Web Developer Tools to identify the parameters.
![Joomla web developer tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/joomla.webp)
The "return" parameter is a base64-encoded URL to which the user will be redirected after a successful login. Decoding this base64 string would reveal the actual URL.
3. Identify error messages and protection mechanisms
After one invalid attempt, the following message is returned:
![Joomla login page error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/joomla.webp)
After multiple failed attempts, no protection mechanism came up.
Hydra commands and output
In the first scenario, we used the following Hydra commands to bruteforce the Joomla app:
hydra -l benchmark-user -p bad-password joomla.pentest-ground.com -V https-form-post "/index.php:username=^USER^&passwd=^PASS^&option=com_users&task=user.login&&return=aHR0cHM6Ly9qb29tbGEucGVudGVzdC1ncm91bmQuY29tLw%3D%3D&195456de3e96e3936aa12ea30f4462d4=1:Username and password do not match or you do not have an account yet."
hydra -l benchmark-user -p tq6nAhfAhqtwBn7WXWqoaMXWF joomla.pentest-ground.com -V https-form-post "/index.php:username=^USER^&passwd=^PASS^&option=com_users&task=user.login&&return=aHR0cHM6Ly9qb29tbGEucGVudGVzdC1ncm91bmQuY29tLw%3D%3D&195456de3e96e3936aa12ea30f4462d4=1:Username and password do not match or you do not have an account yet."
![Joomla Hydra output](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/joomla-1_1.webp)
As visible in the output, Hydra failed to distinguish between invalid and valid credentials, marking both as valid.
For the second scenario, we’ve used the following command:
hydra -L users.txt -P pass.txt joomla.pentest-ground.com https-form-post "/index.php:username=^USER^&passwd=^PASS^&option=com_users&task=user.login&&return=aHR0cHM6Ly9qb29tbGEucGVudGVzdC1ncm91bmQuY29tLw%3D%3D&195456de3e96e3936aa12ea30f4462d4=1:Username and password do not match or you do not have an account yet."
![Joomla Hydra output multiple credentials](https://content.pentest-tools.com/assets/joomla-multiple-creds.webp)
As you can see, Hydra failed to identify any valid credentials, marking all attempts as valid.
Password Auditor commands and results
For the first scenario, we adjusted the following parameters in the interface to conduct a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
Since the pa-benchmark wordlist includes the valid credentials, the tool will make 4 attempts against the target - 3 with invalid credentials and one with valid credentials.
As shown in the screenshots below, Password Auditor successfully identified the valid credentials.
![Joomla Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/joomla-1.webp)
![Joomla Password Auditor HTTPS Weak Password](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/joomla-2.webp)
The Password Auditor on Pentest-Tools.com also includes a screenshot of the logged-in session to confirm the provided credentials are valid.
![Password Auditor screenshot of Joomla logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/joomla-3.webp)
For the second scenario, we modified the wordlist to include 2 users (1 invalid and 1 valid) and 12 passwords (11 invalid and 1 valid).
![Joomla Password Auditor tool parameters](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/joomla-5.webp)
![Joomla Password Auditor scan summary](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/joomla-4.webp)
The Password Auditor identified the valid credentials when testing 2 users and 12 passwords.
How to bruteforce web apps with Hydra and the Password Auditor
How to check Joomla administrator for weak credentials
Deployment method: Vultr marketplace
1. Find the web app login endpoint for Joomla administrator
Usually, Joomla administrator login form is found at /administrator endpoint.
![Joomla administrator login form](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/joomla-administrator.webp)
2. Discover the Joomla administrator login parameters
Use the Network tab in Web Developer Tools to identify the parameters.
![Joomla administrator Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/joomla-administrator.webp)
The "return" parameter is a base64-encoded URL to which the user will be redirected after a successful login. Decoding this base64 string reveals the actual URL.
3. Identify error messages and protection mechanisms
After one invalid attempt, the following message is returned:
![Joomla administrator login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/joomla-administrator-errror.webp)
After multiple failed attempts, we didn’t find any protection mechanism.
Hydra commands and output
In the first 1 set of valid and 1 set of invalid credentials scenario, we used the following Hydra commands:
hydra -l benchmark-user -p bad-password joomla.pentest-ground.com -V https-form-post "/index.php:username=^USER^&passwd=^PASS^&option=com_login&task=login&return=aW5kZXgucGhw&98f2024c36194d35d02bb2903380a573=1:Username and password do not match or you do not have an account yet."
hydra -l benchmark-user -p tq6nAhfAhqtwBn7WXWqoaMXWF joomla.pentest-ground.com -V https-form-post "/index.php:username=^USER^&passwd=^PASS^&option=com_login&task=login&return=aW5kZXgucGhw&98f2024c36194d35d02bb2903380a573=1:Username and password do not match or you do not have an account yet."
![Joomla administrator Hydra output](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/joomla-administrator-1_1.webp)
As shown in the output, Hydra failed to distinguish between invalid and valid credentials, marking both as valid.
For the second, more realistic scenario, we used the following command:
hydra -L users.txt -P pass.txt joomla.pentest-ground.com -V https-form-post "/index.php:username=^USER^&passwd=^PASS^&option=com_login&task=login&return=aW5kZXgucGhw&98f2024c36194d35d02bb2903380a573=1:Username and password do not match or you do not have an account yet."
![Joomla administrator Hydra output multiple credentials](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/joomla-administrator-multiple-creds.webp)
As you can see, Hydra failed to identify any valid credentials.
Password Auditor commands and results
For the first scenario, we adjusted the following parameters in the interface to perform a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
Since the pa-benchmark wordlist includes the valid credentials, the tool will make 4 attempts against the target - 3 with invalid credentials and one with valid credentials.
As shown in the screenshots below, the Password Auditor successfully identified the valid credentials.
![Joomla administrator Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/joomla-administrator-1.webp)
![Joomla administrator Password Auditor HTTPS Weak Password](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/joomla-administrator-2.webp)
The Pentest-Tools.com Password Auditor also provides a screenshot of the logged-in session to confirm that the provided credentials are valid.
![Password Auditor screenshot of Joomla administrator logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/joomla-administrator-3.webp)
For the second scenario, we modified the wordlist to include 2 users (1 invalid and 1 valid) and 12 passwords (11 invalid and 1 valid).
![Joomla administrator Password Auditor tool parameters](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/joomla-administrator-5.webp)
![Joomla administrator Password Auditor scan findings](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/joomla-administrator-4.webp)
The Password Auditor identified the valid credentials when testing 2 users and 12 passwords.
How to check phpMyAdmin for weak credentials
Deployment method: Vultr marketplace
1. Find the web app login endpoint for phpMyAdmin
Usually, phpMyAdmin login form is found at /mysqladmin/ or /phpmyadmin/ endpoint.
![phpMyAdmin login form](https://content.pentest-tools.com/assets/phpmyadmin.webp)
2. Discover the login parameters in phpMyAdmin
In your browser, go to the Network tab in Web Developer Tools to identify the parameters.
![phpMyAdmin Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/phpmyadmin.webp)
In phpMyAdmin, the token parameter is a security feature used to prevent Cross-Site Request Forgery (CSRF) attacks. This parameter ensures each request to phpMyAdmin is valid and comes from a user session.
3. Identify error messages and protection mechanisms
After one invalid attempt, the following message is returned:
![phpMyAdmin login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/phpmyadmin-error.webp)
After multiple failed attempts, we didn’t find any protection mechanism.
Hydra commands and output
In the first scenario, we used the following Hydra commands:
hydra -l pmausers0DdIXFt -p bad-password wordpress.pentest-ground.com https-form-post "/mysqladmin/index.php:pma_username=^USER^&pma_password=^PASS^&set_session=6lf49aspt3l4afa6is1nfld3sn&server=1&route=%2F&lang=en&token=555a3b4c7631212f3e7161443b263b28:Cannot log in to the MySQL server"
hydra -l pmausers0DdIXFt -p iW9Endo6W9Kfav0scVPDKQ545hPpfOAH wordpress.pentest-ground.com https-form-post "/mysqladmin/index.php:pma_username=^USER^&pma_password=^PASS^&set_session=6lf49aspt3l4afa6is1nfld3sn&server=1&route=%2F&lang=en&token=555a3b4c7631212f3e7161443b263b28:Cannot log in to the MySQL server"
![phpMyAdmin Hydra output](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/phpmyadmin-1_1.webp)
Because the token parameter acts as a CSRF token, as shown in the output, Hydra failed to distinguish between invalid and valid credentials, marking both as valid.
Since the first scenario didn't work, we did not proceed with testing the second one.
Password Auditor commands and results
For the first scenario, we adjusted the following parameters in the interface to conduct a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
Since the pa-benchmark wordlist includes the valid credentials, the tool will make 4 attempts against the target - 3 with invalid credentials and one with valid credentials.
As shown in the screenshots below, Password Auditor successfully identified the valid credentials.
![phpMyAdmin Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/phpmyadmin-1.webp)
![phpMyAdmin Password Auditor HTTPS Weak Password](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/phpmyadmin-2.webp)
The Password Auditor automatically includes a screenshot of the logged-in session to confirm the provided credentials are valid.
![Password Auditor screenshot of phpMyAdmin logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/phpmyadmin-3.webp)
For the second, more realistic scenario, we modified the wordlist to include 3 users (1 invalid and 2 valid) and 13 passwords (12 invalid and 1 valid).
![phpMyAdmin Password Auditor tool parameters](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/phpmyadmin-5.webp)
![phpMyAdmin Password Auditor scan findings](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/phpmyadmin-4.webp)
How to check cPanel WHM for weak credentials
Deployment method: Vultr marketplace
1. Find the web app login endpoint in cPanel WHM
Usually, we can find the cPanel WHM form at the / or the /login endpoint on port 2087.
![cPanel WHM login form](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/cpanel-whm.webp)
2. Discover the cPanel WHM login parameters
Use the Network tab in Web Developer Tools to identify the parameters.
![cPanel WHM Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/cpanel-whm.webp)
3. Identify error messages and protection mechanisms
After one invalid attempt, the following message is returned:
![cPanel WHM login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/cpnael-whm-error.webp)
After multiple failed attempts, we didn’t find any protection mechanism.
Hydra commands and output
We used the following commands to bruteforce the cPanel WHM app with Hydra with one pair of valid credentials and one pair of invalid ones:
hydra -l root -p bad-password -s 2087 cpanel.pentest-ground.com https-post-form "/login/:user=^USER^&pass=^PASS^:The login is invalid." -I
hydra -l root -p "fH_7]Dw%KdzH8hRa" -s 2087 cpanel.pentest-ground.com https-post-form "/login/:user=^USER^&pass=^PASS^:The login is invalid." -I
![cPanel WHM Hydra output](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/cpanel-whm-1_1.webp)
As the output shows, Hydra successfully identified the valid credentials. However, it cannot perform a brute-force attack on invalid credentials because the login returns a 401 status code, causing Hydra to mistakenly assume the target app is using basic authentication.
For the more complex, more realistic scenario, we used the following Hydra command:
hydra -L users.txt -P pass.txt -s 2087 cpanel.pentest-ground.com https-post-form "/login/:user=^USER^&pass=^PASS^:The login is invalid." -I
![cPanel WHM Hydra output multiple credentials](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/cpanel-whm-multiple-creds.webp)
As you can see, Hydra failed to identify any valid credentials because of the previously mentioned scenario.
Password Auditor commands and results
For the first scenario, we adjusted the following parameters in the interface to conduct a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
Since the pa-benchmark wordlist includes the valid credentials, four attempts were made to the target (three with invalid credentials and one with valid credentials).
As shown in the screenshots below, the Password Auditor successfully identified the valid credentials.
![cPanel WHM Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/cpanel-whm-1.webp)
![cPanel WHM Password Auditor HTTPS Weak Password](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/cpanel-whm-2.webp)
What’s more, the Password Auditor includes a screenshot of the logged-in session to confirm the provided credentials are valid.
![Password Auditor screenshot of cPanel WHM logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/cpanel-whm-3.webp)
For the second scenario, we only changed the wordlist to include 2 users (1 invalid and 1 valid) and 14 passwords (13 invalid and 1 valid).
![cPanel WHM Password Auditor tool parameters](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/cpanel-whm-5.webp)
![cPanel WHM Password Auditor scan findings](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/cpanel-whm-4.webp)
The Password Auditor identified the valid credentials when testing 2 users and 12 passwords.
How to bruteforce web apps with Hydra and the Password Auditor
How to check cPanel login for weak credentials
Deployment method: Vultr marketplace
1. Find the cPanel web app login endpoint
You can usually find the cPanel login form at the / or /login endpoints on port 2083.
![cPanel login form](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/cpanel.webp)
2. Discover the cPanel login parameters
Use the Network tab in Web Developer Tools to identify the parameters.
![cPanel Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/cpanel.webp)
3. Identify error messages and protection mechanisms
After one invalid attempt, the following message is returned:
![cPanel login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/cpanel-error.webp)
After multiple failed attempts, we didn’t detect any protection mechanism.
Hydra commands and output
In the first scenario, we used the following Hydra commands:
hydra -l benchmarkuser -p bad-password -s 2083 cpanel.pentest-ground.com https-post-form "/login/:user=^USER^&pass=^PASS^:The login is invalid." -I
hydra -l benchmarkuser -p tq6nAhfAhqtwBn7WXWqoaMXWF -s 2083 cpanel.pentest-ground.com https-post-form "/login/:user=^USER^&pass=^PASS^:The login is invalid." -I
hydra -l benchmarkuser -p tq6nAhfAhqtwBn7WXWqoaMXWF -s 2083 cpanel.pentest-ground.com https-get "/login/:user=^USER^&pass=^PASS^:The login is invalid." -I
![cPanel Hydra output](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/cpanel-1_1.webp)
As you can see from the output, Hydra identified the valid credentials, but on invalid credentials it can’t perform the bruteforce attack since the login returns 401 status code and it thinks it uses basic authentication.
For the second, more realistic scenario, we used the following command:
hydra -L users.txt -P pass.txt -s 2083 cpanel.pentest-ground.com https-get "/login/:user=^USER^&pass=^PASS^:The login is invalid." -I
![cPanel Hydra output multiple credentials](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/cpanel-multiple-creds.webp)
As you can see, Hydra failed to identify any valid credentials because of the previously mentioned scenario.
Password Auditor commands and results
For the first scenario, we adjusted the following parameters in the interface to conduct a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
Since the pa-benchmark wordlist includes the valid credentials, the tool will make 4 attempts against the target - 3 with invalid credentials and one with valid credentials.
As the screenshots below reveals, the Password Auditor successfully identified the valid credentials.
![cPanel Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/cpanel-1.webp)
![cPanel Password Auditor HTTPS Weak Password](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/cpanel-2.webp)
What’s more, the Password Auditor included a screenshot of the logged-in session to confirm the provided credentials are valid.
![Password Auditor screenshot of cPanel logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/cpanel-3.webp)
For the second scenario, we only modified the wordlist to include 2 users (1 invalid and 1 valid) and 14 passwords (13 invalid and 1 valid).
![This is an image](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/cpanel-5.png)
![cPanel Password Auditor scan findings](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/cpanel-4.webp)
The Password Auditor identified the valid credentials when testing 2 users and 12 passwords.
How to check Jira for weak credentials
Deployment method: Vultr marketplace
1. Find the web app login endpoint for Jira
Usually, the Jira login form is found at the /login.jsp endpoint .
![Jira login form](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/jira.webp)
2. Discover the Jira login parameters
Use the Network tab in Web Developer Tools to identify the parameters.
![Jira Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/jira.webp)
3. Identify error messages and protection mechanisms
After one invalid attempt, the following message is returned:
![Jira login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/jira-error.webp)
After two failed attempts, the CAPTCHA is activated.
![Jira login captcha](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/jira-captcha.webp)
Hydra commands and output
In the first scenario, we used the following commands:
hydra -l benchmark-user -p bad-password -s 8080 jira.pentest-ground.com http-post-form "/login.jsp:os_username=^USER^&os_password=^PASS^&os_destination=&user_role=&atl_token=&login=Log+In:Sorry, your username and password are incorrect" -I
hydra -l benchmark-user -p tq6nAhfAhqtwBn7WXWqoaMXWF -s 8080 jira.pentest-ground.com http-post-form "/login.jsp:os_username=^USER^&os_password=^PASS^&os_destination=&user_role=&atl_token=&login=Log+In:Sorry, your username and password are incorrect" -I
![Jira Hydra output](https://content.pentest-tools.com/assets/jira-1_1.webp)
As you can see from the output, Hydra validly identified both the invalid and the valid credentials.
The following command is what we used for the second scenario, with multiple usernames and passwords:
hydra -L users.txt -P pass.txt -s 8080 jira.pentest-ground.com http-post-form "/login.jsp:os_username=^USER^&os_password=^PASS^&os_destination=&user_role=&atl_token=&login=Log+In:Sorry, your username and password are incorrect" -I
![Jira Hydra output multiple credentials](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/jira-multiple-creds.webp)
Jira activated the CAPTCHA mechanism during the brute-force attack, preventing Hydra from identifying any valid credentials and causing it to mark all credentials as valid.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
Because the pa-benchmark wordlist includes the valid credentials, the tool will make 4 attempts against the target - 3 with invalid credentials and one with valid credentials.
As the screenshot below shows, the Password Auditor successfully identified the valid credentials.
![Jira Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/jira-1.webp)
Additionally, it also provided a screenshot of the logged-in session to confirm the tested credentials are valid.
![Password Auditor screenshot of Jira logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/jira-3.webp)
In the second scenario, we only adjusted the wordlist to include 2 users (1 invalid and 1 valid) and 14 passwords (13 invalid and 1 valid).
![Jira Password Auditor login captcha](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/jira-4.webp)
The Password Auditor reported the Jira server activated its CAPTCHA protection. In the Details section, we recommend using the Password Spray attack type or splitting the scan into multiple scans with smaller wordlists.
![Jira Password Auditor screenshot of login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/jira-5.webp)
How to check Bitbucket for weak credentials
Deployment method: Atlassian Dockerhub
1. Find the web app login endpoint for Bitbucket
The Bitbucket login form usually sits on the /login endpoint.
![Bitbucket login form](https://content.pentest-tools.com/assets/bitbucket.webp)
2. Discover the Bitbucket login parameters
Use the Network tab in Web Developer Tools to identify the parameters.
![Bitbucket Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/bitbucket.webp)
3. Identify error messages and protection mechanisms
After one invalid attempt, the following message is returned:
![Bitbucket login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/bitbucket-error.webp)
After two failed attempts, the CAPTCHA is activated.
![Bitbucket login captcha](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/bitbucket-captcha.webp)
Hydra commands and output
We used the following commands to bruteforce Bitbucket with Hydra with one pair of valid credentials and one pair of invalid ones:
hydra -l benchmark-user -p tq6nAhfAhqtwBn7WXWqoaMXWF -s 7990 bitbucket.pentest-ground.com http-post-form "/j_atl_security_check:j_username=^USER^&j_password=^PASS^&_atl_remember_me=on&next=%2Fdashboard&queryString=next%3D%252Fdashboard&submit=Log+in:Invalid username or password."
hydra -l benchmark-user -p bad-password -s 7990 bitbucket.pentest-ground.com http-post-form "/j_atl_security_check:j_username=^USER^&j_password=^PASS^&_atl_remember_me=on&next=%2Fdashboard&queryString=next%3D%252Fdashboard&submit=Log+in:Invalid username or password."
![Bitbucket Hydra output](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/bitbucket-1_1.webp)
As shown in the output, Hydra correctly identified both invalid and valid credentials.
For the second scenario with multiple usernames and passwords, we used the following command:
hydra -L users.txt -P pass.txt -s 7990 bitbucket.pentest-ground.com http-post-form "/j_atl_security_check:j_username=^USER^&j_password=^PASS^&_atl_remember_me=on&next=%2Fdashboard&queryString=next%3D%252Fdashboard&submit=Log+in:Invalid username or password." -V
![Bitbucket Hydra output multiple credentials](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/bitbucket-multiple-creds.webp)
Hydra identified the valid credentials when testing 2 users and 13 passwords.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
Because the pa-benchmark wordlist includes the valid credentials, the tool will make 4 attempts against the target - 3 with invalid credentials and one with valid credentials.
As the screenshot below shows, the Password Auditor successfully identified the valid credentials.
![Bitbucket Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/bitbucket-1.webp)
It also delivered a screenshot of the logged-in session to confirm the provided credentials are valid.
![Password Auditor screenshot of the Bitbucket logged-in session](https://content.pentest-tools.com/assets/bitbucket-3.webp)
For the second scenario, we modified the wordlist to include 2 users (1 invalid and 1 valid) and 12 passwords (11 invalid and 1 valid).
![Bitbucket Password Auditor CAPTCHA check](https://content.pentest-tools.com/assets/bitbucket-4.webp)
![Bitbucket Password Auditor screenshot](https://content.pentest-tools.com/assets/bitbucket-5.webp)
The Password Auditor reports that the Bitbucket server activated its CAPTCHA protection. In the Details section, we recommend using the Password Spray attack type or splitting the scan into multiple scans with smaller wordlists.
How to bruteforce web apps with Hydra and the Password Auditor
How to check Confluence for weak credentials
Deployment method: Vulhub
1. Find the Confluence web app login endpoint
Usually, Confluence login form sits at the /login.action endpoint.
![Confluence login form](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/confluence.webp)
2. Discover the Confluence login parameters
Use the Network tab in Web Developer Tools to identify the parameters.
![Confluence Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/confluence.webp)
3. Identify error messages and protection mechanisms
After one invalid attempt, the Confluence server returns the following message:
![Confluence login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/confluence-error.webp)
After 3 failed attempts, the CAPTCHA activates.
![Confluence login captcha](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/confluence-captcha.webp)
Hydra commands and output
For the first scenario, we used the following commands to bruteforce Confluence with Hydra:
hydra -l benchmark-user -p tq6nAhfAhqtwBn7WXWqoaMXWF -s 8090 confluence.pentest-ground.com http-post-form "/dologin.action:os_username=^USER^&os_password=^PASS^&login=Log+in&os_destination=:The following error"
hydra -l benchmark-user -p bad-password -s 8090 confluence.pentest-ground.com http-post-form "/dologin.action:os_username=^USER^&os_password=^PASS^&login=Log+in&os_destination=:The following error"
![Confluence Hydra output](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/confluence-1_1.webp)
As you can see from the output, Hydra validly identified both the invalid and the valid credentials.
For the second bruteforcing scenario, we used the following command:
hydra -L users.txt -P pass.txt -s 8090 confluence.pentest-ground.com http-post-form "/dologin.action:os_username=^USER^&os_password=^PASS^&login=Log+in&os_destination=:The following error" -V
![Confluence Hydra output multiple credentials](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/confluence-multiple-creds.webp)
Hydra identified the valid credentials, when 2 users and 13 passwords were tested.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Target: http://confluence.pentest-ground.com:8090/dologin.action
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
Because the pa-benchmark wordlist includes the valid credentials, the tool will make 4 attempts against the target - 3 with invalid credentials and one with valid credentials.
As highlighted in the screenshots below, the Password Auditor successfully identified the valid credentials.
![Confluence Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/confluence-1.webp)
The tool also included a screenshot of the logged-in session to confirm the validity of the provided credentials.
![Password Auditor screenshot of Confluence logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/confluence-3.webp)
For the second scenario, we modified the wordlist to include 2 users (1 invalid and 1 valid) and 12 passwords (11 invalid and 1 valid).
![Confluence Password Auditor login captcha](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/confluence-4.webp)
![Password Auditor screenshot Confluence login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/confluence-5.webp)
Finally, the Password Auditor reports that the Confluence server activated its CAPTCHA protection. In the Details section, we recommend using the Password Spray attack type or splitting the scan into multiple scans with smaller wordlists.
How to check Microsoft Exchange for weak credentials
Deploy method: On-prem installation, Exchange 2016, version 15.01.1591.010
1. Find the web app login endpoint for Microsoft Exchange
You can usually find the Exchange login form at the /owa/auth/logon.aspx endpoint.
![Exchange login form](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/exchange.webp)
2. Discover the Microsoft Exchange login parameters
Use Burp Community Edition to determine the parameters.
![Microsoft Exchange login parameters](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/exchange.webp)
3. Identify error messages and protection mechanisms
After one invalid attempt, the Microsoft Exchange returns the following message:
![Microsoft Exchange login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/exchange-error.webp)
Hydra commands and output
In the first scenario, we used the following Hydra commands:
hydra -l Administrator -p bad-password mail.pentest-ground.com https-post-form "/owa/auth.owa:destination=https%3A%2F%2Fmail.pentest-ground.com%2Fowa%2F&flags=4&forcedownlevel=0&username=^USER^&password=^PASS^&passwordText=&isUtf8=1:The user name or password you entered isn't correct. Try entering it again." -V
hydra -l Administrator -p tq6nAhfAhqtwBn7WXWqoaMXWF mail.pentest-ground.com https-post-form "/owa/auth.owa:destination=https%3A%2F%2Fmail.pentest-ground.com%2Fowa%2F&flags=4&forcedownlevel=0&username=^USER^&password=^PASS^&passwordText=&isUtf8=1:The user name or password you entered isn't correct. Try entering it again." -V
![Microsoft Exchange Hydra output](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/exchange-1_1.webp)
As you can see from the output, Hydra did not identify the invalid and valid credentials, marking both as valid credentials.
For the second scenario with multiple usernames and passwords, we used the following command:
hydra -L users.txt -P pass.txt mail.pentest-ground.com https-post-form "/owa/auth.owa:destination=https%3A%2F%2Fmail.pentest-ground.com%2Fowa%2F&flags=4&forcedownlevel=0&username=^USER^&password=^PASS^&passwordText=&isUtf8=1:The user name or password you entered isn't correct. Try entering it again." -I
![Microsoft Exchange Hydra output multiple credentials](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/exchange-multiple-creds.webp)
When testing 2 users and 13 passwords, Hydra failed to differentiate between invalid and valid credentials, marking all as valid.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
As the pa-benchmark wordlist includes the valid credentials, the tool will make 4 attempts against the target - 3 with invalid credentials and one with valid credentials.
The Password Auditor successfully identified the valid credentials, as visible in these screenshots.
![Microsoft Exchange Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/exchange-1.webp)
A screenshot of the logged-in session offers additional confirmation that the provided credentials are valid.
![Password Auditor screenshot of the Microsoft Exchange logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/exchange-3.webp)
For the second scenario, we modified the wordlist to include 2 users (1 invalid and 1 valid) and 12 passwords (11 invalid and 1 valid).
![Password Auditor Microsoft Exchange scan findings](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/exchange-4.webp)
The Password Auditor accurately identified the valid credentials when testing 2 users and 12 passwords.
How to check Plesk web pro for weak credentials
Deployment method: Vultr marketplace
1. Find the Plesk web app login endpoint
Usually, the Plesk login form sits on the /login endpoint on port 8443.
![Plesk login form](https://content.pentest-tools.com/assets/plesk.webp)
2. Discover the Plesk login parameters
Use the Network tab in Web Developer Tools to identify the parameters.
![Plesk Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/plesk.webp)
3. Identify error messages and protection mechanisms
After one invalid attempt, the following message is returned:
![Plesk login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/plesk-error.webp)
After 5 invalid credentials, the IP address got blocked:
![Plesk login IP block](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/plesk-ip-blocked.webp)
Hydra commands and output
Hydra was not able to brute force Plesk because of its multipart body format. There is already an open issue for this on their official Github repository.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
As the pa-benchmark wordlist includes the valid credentials, the tool will make 4 attempts against the target - 3 with invalid credentials and one with valid credentials.
As shown in the screenshots below, Password Auditor successfully identified the valid credentials.
![Plesk Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/plesk-1.webp)
Additionally, the Password Auditor includes a screenshot of the logged-in session in its results to confirm the provided credentials are valid.
![Password Auditor screenshot of the Plesk logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/plesk-2.webp)
For the second scenario, we used a wordlist with 2 users (1 invalid and 1 valid) and 12 passwords (11 invalid and 1 valid).
Because the scanner’s source IP address was blocked, the Pentest-Tools.com Password Auditor was unable to identify the valid credentials. However, it reported that website access was blocked after 6 attempts.
![Password Auditor Plesk failed login attempts](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/plesk-3.webp)
How to bruteforce web apps with Hydra and the Password Auditor
How to check Jenkins for weak credentials
Deployment method: Vultr marketplace
1. Find the Jenkins web app login endpoint
The Jenkins login form is usually found on the /login endpoint.
![Jenkins web app login](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/jenkins.webp)
2. Discover the Jenkins login parameters
Use the Network tab in Web Developer Tools to identify the parameters.
![Jenkins Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/jenkins.webp)
3. Identify error messages and protection mechanisms
After one invalid attempt, Jenkins returns the following message:
![Jenkins login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/jenkins-error.webp)
Hydra commands and output
In the first scenario, we used the following Hydra commands to bruteforce Jenkins:
hydra -l user -p bad-password jenkins.pentest-ground.com https-post-form "/j_spring_security_check:j_username=^USER^&j_password=^PASS^&from=&Submit=Sign+in:Invalid username or password" -V
hydra -l user -p oljHMj12WK24 jenkins.pentest-ground.com https-post-form "/j_spring_security_check:j_username=^USER^&j_password=^PASS^&from=&Submit=Sign+in:Invalid username or password" -V
hydra -l user -p oljHMj12WK24 jenkins.pentest-ground.com https-post-form "/login:j_username=^USER^&j_password=^PASS^&from=&Submit=Sign+in:Invalid username or password" -V
![Jenkins Hydra output](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/jenkins-1_1.webp)
![Jenkins Hydra output 2](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/jenkins-1.webp)
As shown in the output, Hydra failed to identify the invalid and valid credentials, marking both as invalid.
For the second, multi-credentials scenario, we used the following Hydra command:
hydra -L users.txt -P pass.txt jenkins.pentest-ground.com https-post-form "/j_spring_security_check:j_username=^USER^&j_password=^PASS^&from=&Submit=Sign+in:Invalid username or password" -V
![Jenkins Hydra output multiple credentials](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/jenkins-multiple-creds.webp)
When testing 2 users and 13 passwords, Hydra failed to identify the invalid and valid credentials, marking all as invalid.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
The pa-benchmark wordlist includes valid credentials, so the process involves making four attempts to the target: 3 with invalid credentials and 1 with valid credentials.
The screenshots below show that Password Auditor successfully identified the valid credentials.
![Jenkins Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/jenkins-1.webp)
The Password Auditor provides a screenshot of the logged-in session to verify the validity of the provided credentials.
![Password Auditor screenshot of the Jenkins logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/jenkins-2.webp)
For the second scenario, we modified the wordlist to include 2 users (1 invalid and 1 valid) and 12 passwords (11 invalid and 1 valid).
![Password Auditor Jenkins scan findings](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/jenkins-3.webp)
The Password Auditor identified the valid credentials when testing 2 users and 12 passwords.
How to check Grafana for weak credentials
Deployment method: Grafana Docker
1. Find the Grafana web app login endpoint
Usually, the Grafana login form sits on the /login endpoint.
![Grafana login form](https://content.pentest-tools.com/assets/grafana.webp)
2. Discover the Grafana login parameters
Use the Network tab in Web Developer Tools to identify the parameters.
![Grafana Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/grafana.webp)
3. Identify error messages and protection mechanisms
After one invalid attempt, Grafana returns the following message:
![Grafana login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/grafana-error.webp)
The login form seems to shadow ban your IP after multiple failed login attempts. You still get the “Invalid username or password” message in the browser even if you use the correct credentials.
Hydra commands and output
In the first 1 set of valid and 1 set of invalid credentials scenario, we used the following Hydra commands:
hydra -s 3000 -l admin -p bad-password grafana.pentest-ground.com http-post-form "/login:{\"user\"\:\"^USER^\",\"password\"\:\"^PASS^\"}:H=Content-Type\: application/json:F=Invalid username or password" -V -I
hydra -s 3000 -l admin -p bad-password grafana.pentest-ground.com http-get "/login:{\"user\"\:\"^USER^\",\"password\"\:\"^PASS^\"}:H=Content-Type\: application/json:F=Invalid username or password" -V -I
![Grafana Hydra output](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/grafana-1_1.webp)
As you can see from the output, the server returned a 401 status code and suggested to use the “http-get” module. Using http-get, Hydra returned [ERROR] Caught unknown return code, exiting!.
We did not test the second scenario since the first one did not work.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
The pa-benchmark wordlist includes valid credentials, so the process involves making four attempts to the target: 3 with invalid credentials and 1 with valid credentials.
The screenshots below demonstrate that the Password Auditor successfully identified the valid credentials.
![Grafana Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/grafana-1.webp)
The Password Auditor provides a screenshot of the logged-in session to verify the validity of the provided credentials.
![Password Auditor screenshot of the Grafana logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/grafana-2.webp)
For the second scenario, we modified the wordlist to include 2 users (1 invalid and 1 valid) and 12 passwords (11 invalid and 1 valid).
The Password Auditor couldn’t identify the valid credentials when testing 2 users and 12 passwords because of the shadow IP blacklisting.
How to check Webmin for weak credentials
Deployment method: Vultr marketplace
1. Find the web app login endpoint for Webmin
You can customarily find the Webmin login form on the / endpoint on port 10000.
![Webmin login form](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/webmin.webp)
2. Discover the Webmin login parameters
Use the Network tab in Web Developer Tools to identify the parameters.
![Webmin Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/webmin.webp)
3. Identify error messages and protection mechanisms
After one invalid attempt, Webmin returns the following message:
![Webmin login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/webmin-error.webp)
After more than 5 invalid tries, the IP got blocked.
![Webmin login IP block](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/webmin-ip-blocked.webp)
Hydra commands and output
In the first 1 set of valid and 1 set of invalid credentials scenario, we used the following Hydra commands:
hydra -s 10000 -l root -p bad-password webmin.pentest-ground.com https-post-form "/:user=^USER^&pass=^PASS^:Login failed. Please try again." -V
hydra -s 10000 -l root -p iH6$6KEXNKpqUSHG webmin.pentest-ground.com https-post-form "/:user=^USER^&pass=^PASS^:Login failed. Please try again." -V
![Webmin Hydra output](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/webmin-1_1.webp)
As you can see from the output, Hydra marked both tries as valid credentials.
We did not test the second scenario since the first one did not work.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
The pa-benchmark wordlist includes valid credentials, so the process involves making four attempts to the target: 3 with invalid credentials and 1 with valid credentials.
The screenshots below show that the Pentest-Tools.com Password Auditor successfully identified the valid credentials.
![Webmin Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/webmin-1.webp)
The Password Auditor also provides a screenshot of the logged-in session to verify the validity of the provided credentials.
![Password Auditor screenshot of the Webmin logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/webmin-2.webp)
For the second scenario, the wordlist we used included 2 users (1 invalid and 1 valid) and 12 passwords (11 invalid and 1 valid).
![Password Auditor Webmin failed login attempts](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/webmin-3.webp)
![Password Auditor screenshot of the Webmin login fail](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/webmin-4.webp)
Because Webmin activated its protection mechanism and blocked the scanner's source IP address, the Password Auditor was unable to identify the valid credentials. However, it reported the block as an informational finding.
How to bruteforce web apps with Hydra and the Password Auditor
How to check Kibana for weak credentials
Deployment method: Docker compose ELK
1. Find the web app login endpoint for Kibana
The Kibana login form often sits on the /login endpoint on port 5601.
![Kibana login form](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/kibana.webp)
2. Discover the Kibana login parameters
Use the Network tab in Web Developer Tools to identify the parameters.
![Kibana Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/kibana.webp)
3. Identify error messages and protection mechanisms
After one invalid attempt, Kibana returns the following message:
![Kibana login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/kibana-error.webp)
Hydra commands and output
In the first 1 set of valid and 1 set of invalid credentials scenario, we used the following Hydra commands:
hydra -s 5601 -l elastic -p test kibana.pentest-ground.com http-post-form "/login:{\"providerType\"\:\"basic\",\"providerName\"\:\"basic\",\"currentURL\"\:\"http\:\/\/kibana.pentest-ground.com\:5601\/login\",\"params\"\:{\"username\"\:\"elastic\",\"password\"\:\"test\"}}:H=Content-Type\: application/json:F=Username or password is incorrect. Please try again." -V -I
hydra -s 5601 -l elastic -p changeme kibana.pentest-ground.com http-post-form "/login:{\"providerType\"\:\"basic\",\"providerName\"\:\"basic\",\"currentURL\"\:\"http\:\/\/kibana.pentest-ground.com\:5601\/login\",\"params\"\:{\"username\"\:\"elastic\",\"password\"\:\"test\"}}:H=Content-Type\: application/json:F=Username or password is incorrect. Please try again." -V -I
![Kibana Hydra output](https://content.pentest-tools.com/assets/kibana-1_1.webp)
As you can see from the output, Hydra marked both tries as invalid credentials.
Since the first scenario didn't work, we did not proceed with testing the second one.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
The pa-benchmark wordlist includes valid credentials, so the process involves making four attempts to the target: 3 with invalid credentials and 1 with valid credentials.
The screenshots below show that the Pentest-Tools.com Password Auditor successfully identified the valid credentials.
![Kibana Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/kibana-1.webp)
The Password Auditor also provides a screenshot of the logged-in session to verify the validity of the provided credentials.
![Password Auditor screenshot of the Kibana logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/kibana-2.webp)
For the second scenario, we modified the wordlist to include 2 users (1 invalid and 1 valid) and 12 passwords (11 invalid and 1 valid).
![Kibana Password Auditor scan findings](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/kibana-3.webp)
The Password Auditor identified the valid credentials when testing 2 users and 12 passwords.
How to check Adobe Coldfusion for weak credentials
Deployment method: Docker
1. Find the web app login endpoint for Adobe Coldfusion
You will usually find the Adobe Coldfusion login form at the /CFIDE/administrator/index.cfm endpoint on port 8500.
![Adobe Coldfusion login form](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/coldfusion.webp)
2. Discover the login parameters for Adobe Coldfusion
Use the Network tab in Web Developer Tools to identify the parameters.
![Adobe Coldfusion Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/coldfusion.webp)
When a user submits a password to an Adobe ColdFusion application, a JavaScript function in the user's web browser hashes the password on the client-side before transmitting it to the server. This prevents the password from being sent in plain text over the network.
The client-side hashing mechanism uses a combination of the following:
MD5 hashing: The password is first hashed using the MD5 algorithm, which produces a 32-character hexadecimal string.
Salt value: A random salt value that the Adobe ColdFusion server generates is appended to the MD5-hashed password. The salt value prevents rainbow table attacks.
Base64 encoding: The resulting string (MD5 hash + salt value) is then Base64 encoded to produce a final hashed password string.
The ColdFusion server receives the hashed password string and either stores it in a database or compares it to an existing hash value for authentication.
3. Identify error messages and protection mechanisms
After one invalid attempt, Adobe ColdFusion returns the following message:
![Adobe Coldfusion login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/coldfusion-error.webp)
Hydra commands and output
In the first 1 set of valid and 1 set of invalid credentials scenario, we used the following Hydra commands:
hydra -s 8500 -l admin -p bad-password coldfusion.pentest-ground.com http-post-form "/CFIDE/administrator/index.cfm:cfadminUserId=^USER^&cfadminPassword=^PASS^&requestedURL=%2FCFIDE%2Fadministrator%2Fenter.cfm:Invalid User name or Password. Please try again" -V
hydra -s 8500 -l admin -p ColdFusion123 coldfusion.pentest-ground.com http-post-form "/CFIDE/administrator/index.cfm:cfadminUserId=^USER^&cfadminPassword=^PASS^&requestedURL=%2FCFIDE%2Fadministrator%2Fenter.cfm:Invalid User name or Password. Please try again" -V
![Adobe Coldfusion Hydra output](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/coldfusion-1_1.webp)
Unfortunately, as mentioned in the “Find the web app login endpoint for Adobe ColdFusion” section for this application, the password is hashed client-side, and Hydra cannot use the JavaScript function available in a browser to hash the password. As a result, Hydra cannot identify valid credentials on Adobe ColdFusion.
Since the first scenario didn't work, we didn’t go forward with testing the second one.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Target: http://coldfusion.pentest-ground.com:8500/CFIDE/administrator/index.cfm
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
The pa-benchmark wordlist includes valid credentials, so the process involves making four attempts to the target: 3 with invalid credentials and 1 with valid credentials.
The screenshots below show that the Pentest-Tools.com Password Auditor successfully identified the valid credentials.
![Adobe Coldfusion Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/coldfusion-1.webp)
The Password Auditor also provides a screenshot of the logged-in session to verify the validity of the provided credentials.
![Password Auditor screenshot of the Adobe Coldfusion logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/coldfusion-2.webp)
For the second scenario, we modified the wordlist to include 2 users (1 invalid and 1 valid) and 12 passwords (11 invalid and 1 valid).
![Password Auditor Adobe Coldfusion scan findings](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/coldfusion-3.webp)
The Password Auditor identified the valid credentials when testing 2 users and 12 passwords.
How to check Zabbix for weak credentials
Deployment method: Docker compose - docker-compose_v3_ubuntu_pgsql_latest.yaml
1. Find the Zabbix web app login endpoint
Usually, you can find the Zabbix login form on the / endpoint on port 80 or 443.
![Zabbix login form](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/zabbix.webp)
2. Discover the Zabbix login parameters
Use the Network tab in Web Developer Tools to identify the parameters.
![Zabbix Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/zabbix.webp)
3. Identify error messages and protection mechanisms
After one invalid attempt, Zabbix returns the following message:
![Zabbix login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/zabbix-error.webp)
After 5 incorrect credentials, the user gets temporarily blocked. From our tests, the lock duration was about 5 minutes.
Hydra commands and output
In the first 1 set of valid and 1 set of invalid credentials scenario, we used the following Hydra commands:
hydra -s 80 -l Admin -p test zabbix.pentest-ground.com http-post-form "/index.php:name=^USER^&password=^PASS^&autologin=1&enter=Sign+in:Incorrect user name or password or account is temporarily blocked." -V
hydra -s 80 -l Admin -p zabbix zabbix.pentest-ground.com http-post-form "/index.php:name=^USER^&password=^PASS^&autologin=1&enter=Sign+in:Incorrect user name or password or account is temporarily blocked." -V
![Zabbix Hydra output](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/zabbix-1_1.webp)
Hydra successfully identified the valid credentials.
For the second, more realistic scenario, we used the following command:
hydra -s 80 -L users.txt -P pass.txt zabbix.pentest-ground.com http-post-form "/index.php:name=^USER^&password=^PASS^&autologin=1&enter=Sign+in:Incorrect user name or password or account is temporarily blocked." -V
![Zabbix Hydra output multiple credentials](https://content.pentest-tools.com/assets/zabbix-multiple-creds.webp)
Hydra identified the valid credentials, when 2 users and 13 passwords were tested.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
The pa-benchmark wordlist includes valid credentials, so the process involves making four attempts to the target: 3 with invalid credentials and 1 with valid credentials.
The screenshots below show that the Pentest-Tools.com Password Auditor successfully identified the valid credentials.
![Zabbix Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/zabbix-1.webp)
The Password Auditor also provides a screenshot of the logged-in session to verify the validity of the provided credentials.
![Password Auditor screenshot of the Zabbix logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/zabbix-2.webp)
For the second scenario, we modified the wordlist to include 2 users (1 invalid and 1 valid) and 12 passwords (11 invalid and 1 valid).
![Zabbix Password Auditor scan findings](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/zabbix-3.webp)
Because of the temporary lockout mechanism, the Pentest-Tools.com Password Auditor couldn’t identify the valid credentials with 2 users and 12 passwords.
How to bruteforce web apps with Hydra and the Password Auditor
How to check Oracle Weblogic for weak credentials
Deployment method: Docker compose from Vulhub
1. Find the web app login endpoint in Oracle Weblogic
Usually, the Weblogic login form sits on the /console/login/LoginForm.jsp endpoint on port 7001.
![Weblogic login form](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/weblogic.webp)
2. Discover the login parameters for Oracle Weblogic
Use the Network tab in Web Developer Tools to identify the parameters.
![Oracle Weblogic Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/weblogic.webp)
3. Identify error messages and protection mechanisms
After one invalid attempt, Oracle Weblogic returns the following message:
![Oracle Weblogic login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/weblogic-error.webp)
After 5 invalid login attempts to the Oracle Weblogic server, the user gets locked out for 30 minutes.
![Oracle Weblogic login IP block](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/weblogic-blocked.webp)
Hydra commands and output
In the first 1 set of valid and 1 set of invalid credentials scenario, we used the following Hydra commands to bruteforce Oracle Weblogic:
hydra -s 7001 -l weblogic -p test weblogic.pentest-ground.com http-post-form "/console/j_security_check:j_username=^USER^&j_password=^PASS^&j_character_encoding=UTF-8:Authentication Denied" -V
hydra -s 7001 -l weblogic -p gU5JEufe weblogic.pentest-ground.com http-post-form "/console/j_security_check:j_username=^USER^&j_password=^PASS^&j_character_encoding=UTF-8:Authentication Denied" -V
![Oracle Weblogic Hydra output](https://content.pentest-tools.com/assets/weblogic-1_1.webp)
For the second scenario using multiple credentials, we used the following command:
hydra -s 7001 -L users.txt -P pass.txt weblogic.pentest-ground.com http-post-form "/console/j_security_check:j_username=^USER^&j_password=^PASS^&j_character_encoding=UTF-8:Authentication Denied" -V
![Oracle Weblogic Hydra output multiple credentials](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/weblogic-multiple-creds.webp)
Because Oracle WebLogic locks out the user for 30 minutes after 5 invalid attempts, Hydra did not identify the valid credentials when testing 2 users and 13 passwords.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Target: http://weblogic.pentest-ground.com:7001/console/login/LoginForm.jsp
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
The pa-benchmark wordlist includes valid credentials, so the process involves making four attempts to the target: 3 with invalid credentials and 1 with valid credentials.
The Password Auditor also provides a screenshot of the logged-in session to verify the validity of the provided credentials.
![Oracle Weblogic Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/weblogic-1.webp)
![Password Auditor screenshot of the Oracle Weblogic logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/weblogic-2.webp)
For the second scenario, we modified the wordlist to include 2 users (1 invalid and 1 valid) and 12 passwords (11 invalid and 1 valid).
![Oracle Weblogic Password Auditor scan findings](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/weblogic-3.webp)
Because Oracle Weblogic locked out the user for 30 minutes after 5 invalid attempts, the Pentest-Tools.com Password Auditor didn’t identify the valid credentials, when testing the target app with 2 users and 13 passwords.
How to check Gitlab CE for weak credentials
Deployment method: Docker Gitlab
1. Find the web app login endpoint in Gitlab CE
Most often, the Gitlab CE login form sits on the /users/sign_in endpoint on port 80 or port 443.
![Gitlab CE login](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/gitlab.webp)
2. Discover the Gitlab CE login parameters
Use the Network tab in Web Developer Tools to identify the parameters.
![Gitlab CE Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/gitlab-1_1.png)
Note that GitLab CE uses authenticity_token as a CSRF token.
3. Identify error messages and protection mechanisms
After one invalid attempt, Gitlab Community Edition returns the following message:
![Gitlab CE login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/gitlab-error.webp)
The login form seems to shadow ban your IP after multiple failed login attempts. You still get the Login failed message in the browser even if you use the correct credentials.
Hydra commands and output
In the first 1 set of valid and 1 set of invalid credentials scenario, we used the following Hydra commands:
hydra -l root -p bad-password gitlab.pentest-ground.com http-post-form "/users/sign_in:authenticity_token=kqQc3fpC32LIpnAa_ArJLVE05av1xq3hezFXlZABOJxptlcsqcREz-xhX-9qyVqwJQpujx9JijRRTCjLatiD1g&user%5Blogin%5D=^USER^&user%5Bpassword%5D=^PASS^&user%5Bremember_me%5D=0:Invalid login or password." -V
hydra -l root -p JejPqA3mCFxM1F8nzYNHzDLo/h+9JEbH6bxVAlEhYPs= gitlab.pentest-ground.com http-post-form "/users/sign_in:authenticity_token=kqQc3fpC32LIpnAa_ArJLVE05av1xq3hezFXlZABOJxptlcsqcREz-xhX-9qyVqwJQpujx9JijRRTCjLatiD1g&user%5Blogin%5D=^USER^&user%5Bpassword%5D=^PASS^&user%5Bremember_me%5D=0:Invalid login or password." -V
![Gitlab CE Hydra output](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/gitlab-1_1.webp)
GitLab uses authenticity_token as a CSRF token, which is different for each request. Since Hydra requires this parameter to be configured as static, it cannot generate these tokens. Consequently, Hydra marked both attempts as valid credentials.
Since the first scenario didn't work, we did not proceed with testing the second one.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
The pa-benchmark wordlist includes valid credentials, so the process involves making four attempts to the target: 3 with invalid credentials and 1 with valid credentials.
The screenshots below show that the Pentest-Tools.com Password Auditor successfully identified the valid credentials.
![Gitlab CE Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/gitlab-1.webp)
The Password Auditor also provides a screenshot of the logged-in session to verify the validity of the provided credentials.
![Password Auditor screenshot of the Gitlab CE logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/gitlab-2.webp)
For the second scenario, we modified the wordlist to include 2 users (1 invalid and 1 valid) and 12 passwords (11 invalid and 1 valid).
As mentioned in the Identify error messages and protection mechanisms section, it seems that the target shadow bans the source IP of the attack. Therefore, the Password Auditor didn’t identify the valid credentials, when testing the target app with 2 users and 13 passwords.
How to check PrestaShop for weak credentials
Deployment method: Vultr marketplace
1. Find the web app login endpoint for PrestaShop
The default admin login page for PrestaShop is typically located at /admin. However, during installation, PrestaShop prompts you to rename the /admin directory for security reasons.
The renamed endpoint would look something like /admin123, where admin123 is a randomly generated or manually chosen name.
Vultr has created the /admin_area/ link as a convenient static URL.
![PrestaShop login form](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/presta.webp)
2. Discover the PrestaShop login parameters
Use the Network tab in Web Developer Tools to identify the parameters.
![PrestaShop Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/prestashop.webp)
In PrestaShop, the redirect parameter often contains a CSRF (Cross-Site Request Forgery) token. This is used to ensure the security of redirect actions by verifying they are legitimate and come from a trusted source.
3. Identify error messages and protection mechanisms
After one invalid attempt, PrestaShop returns the following message:
![PrestaShop login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/prestashop-error.webp)
Hydra commands and output
In the first 1 set of valid and 1 set of invalid credentials scenario, we used the following Hydra commands:
hydra -l "root@pentest-ground.com" -p bad-password prestashop.pentest-ground.com https-post-form "/admin_area/index.php:ajax=1&token=&controller=AdminLogin&submitLogin=1&passwd=^PASS^&email=^USER^&redirect=https%3A%2F%2F108.61.179.203%2Fadmin_area%2F%26token%3Dfd2e9ec78690e5340b24d24565fa0373&stay_logged_in=1:Invalid password." -V
hydra -l "root@pentest-ground.com" -p iY5Na7ZIa3WPgrh3zrVgYdQmF6rnNCtb prestashop.pentest-ground.com https-post-form "/admin_area/index.php:ajax=1&token=&controller=AdminLogin&submitLogin=1&passwd=^PASS^&email=^USER^&redirect=https%3A%2F%2F108.61.179.203%2Fadmin_area%2F%26token%3Dfd2e9ec78690e5340b24d24565fa0373&stay_logged_in=1:Invalid password." -V
![PrestaShop Hydra output](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/prestashop-1_1.webp)
PrestaShop uses the redirect parameter as a CSRF token, which changes with each request. Since Hydra requires this parameter to be configured as static, it cannot generate these tokens. Consequently, Hydra marked both attempts as valid credentials.
Since the first scenario didn't work, we did not proceed with testing the second one.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Target: https://prestashop.pentest-ground.com/admin_area/index.php
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
The pa-benchmark wordlist includes valid credentials, so the process involves making four attempts to the target: 3 with invalid credentials and 1 with valid credentials.
The screenshots below show that the Pentest-Tools.com Password Auditor successfully identified the valid credentials.
![PrestaShop Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/prestashop-1.webp)
The Pentest-Tools.com Password Auditor also includes a screenshot of the logged-in session to confirm the provided credentials are valid.
![Password Auditor screenshot of the PrestaShop logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/prestashop-2.webp)
For the second scenario, we only changed the wordlist to include 2 users (1 invalid and 1 valid) and 13 passwords (12 invalid and 1 valid).
![PrestaShop Password Auditor scan findings](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/prestashop-3.webp)
In the second scenario, the Password Auditor on Pentest-Tools.com identified the valid credentials.
How to bruteforce web apps with Hydra and the Password Auditor
How to check JetBrains TeamCity for weak credentials
Deployment method: Vulhub docker-compose
1. Find the web app login endpoint for JetBrains TeamCity
The default admin login page for JetBrains TeamCity is typically located on the /login.html endpoint on port 8111.
![Admin login page for JetBrains TeamCity](https://content.pentest-tools.com/assets/teamcity.webp)
2. Discover the login parameters for JetBrains TeamCity
Use the Network tab in Web Developer Tools to identify the parameters.
![JetBrains TeamCity Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/teamcity.webp)
In JetBrains TeamCity, the login page uses the publicKey and encryptedPassword parameters as part of the authentication process to enhance security.
Here's a brief explanation of each concept:
publicKey: This is the public portion of a key pair (public/private key) used for RSA encryption. JetBrains TeamCity provides this public key to the client (browser) during the login process. The public key is used to encrypt sensitive information, specifically the password, before it gets sent to the server. This helps protect the password during transmission, even if the data is intercepted.
encryptedPassword: This is the user's password, encrypted using the RSA public key provided by TeamCity. When a user enters their password, it is encrypted client-side using JavaScript with the public key. The resulting encryptedPassword value is then sent to the server instead of the plain text password. On the server side, TeamCity uses the corresponding private key to decrypt the password and authenticate the user.
This mechanism prevents the plain text password from being exposed during transmission, adding an extra layer of security against potential interception or eavesdropping attacks.
3. Identify error messages and protection mechanisms
After one invalid attempt, JetBrains TeamCity returns the following message:
![JetBrains TeamCity login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/teamcity-error.webp)
After 5 failed login attempts, the user gets locked out for 1 minute.
![JetBrains TeamCity login failed](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/teamcity-lockout.webp)
Hydra commands and output
Since Hydra can’t use the Javascript that encrypts the password using the public key, we considered that the scenarios cannot be tested.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
The pa-benchmark wordlist includes valid credentials, so the process involves making four attempts to the target: 3 with invalid credentials and 1 with valid credentials.
As shown in the screenshots below, the Password Auditor on Pentest-Tools.com successfully identified the valid credentials.
![JetBrains TeamCity Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/teamcity-1.webp)
The Password Auditor also provides a screenshot of the logged-in session to verify the validity of the provided credentials.
![Password Auditor screenshot of the JetBrains TeamCity logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/teamcity-2.webp)
For the second scenario, we adjusted the wordlist to contain 2 users (1 invalid and 1 valid) and 13 passwords (12 invalid and 1 valid).
![JetBrains TeamCity Password Auditor scan findings](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/teamcity-3.webp)
JetBrains TeamCity temporarily locks the account/source IP and the Password Auditor can’t identify the valid credentials.
![Password Auditor screenshot of the JetBrains TeamCity failed login](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/teamcity-4.webp)
How to check F5 BIG-IP for weak credentials
Deployment method: ISO image with v15.1.0
1. Find the web app login endpoint for F5 BIG-IP
The default admin login page for F5 BIG-IP is typically located on the /tmui/login.jsp endpoint on port 8443 or 443.
![Admin login page for F5 BIG-IP](https://content.pentest-tools.com/assets/big-ip.webp)
2. Discover the login parameters for F5 BIG-IP
Use the Network tab in Web Developer Tools to identify the parameters.
![F5 BIG-IP Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/big-ip.webp)
3. Identify error messages and protection mechanisms
After one invalid attempt, F5 BIG-IP returns the following message:
![F5 BIG-IP login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/big-ip-error.webp)
Hydra commands and output
In the first 1 set of valid and 1 set of invalid credentials scenario, we used the following Hydra commands:
hydra -s 8443 -l admin -p bad-password big-ip.pentest-ground.com https-post-form "/tmui/logmein.html?:username=^USER^&passwd=^PASS^:Login failed" -V -I
Hydra suggests using the https-get module, since the application returned 401 HTTP error code.
hydra -s 8443 -l admin -p bad-password big-ip.pentest-ground.com https-get "/tmui/logmein.html?username=^USER^&passwd=^PASS^:F=Login failed" -V -I
hydra -s 8443 -l admin -p tq6nAhfAhqtwBn7WXWqoaMXWF big-ip.pentest-ground.com https-get "/tmui/logmein.html?username=^USER^&passwd=^PASS^:F=Login failed" -V -I
![F5 BIG-IP Hydra output](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/big-ip-1_1.webp)
Since the first scenario didn't work, we did not proceed with testing the second one.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Target: https://big-ip.pentest-ground.com:8443/tmui/login.jsp
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
The pa-benchmark wordlist includes valid credentials, so the process involves making four attempts to the target: 3 with invalid credentials and 1 with valid credentials.
As shown in the screenshots below, Password Auditor successfully identified the valid credentials.
![F5 BIG-IP Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/big-ip-1.webp)
The Password Auditor also provides a screenshot of the logged-in session to verify the validity of the provided credentials.
![Password Auditor screenshot of the F5 BIG-IP logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/big-ip-2.webp)
For the second scenario, we only adjusted the wordlist to include 2 users (1 invalid and 1 valid) and 13 passwords (12 invalid and 1 valid).
![F5 BIG-IP Password Auditor scan findings](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/big-ip-3.webp)
In the second scenario, the Password Auditor on Pentest-Tools.com identified the valid credentials.
How to check Roxy-WI for weak credentials
Deployment method: Vultr marketplace
1. Find the web app login endpoint for Roxy-WI
The default admin login page for Roxy-WI is typically located on the /app/login.py endpoint on port 443.
![Admin login page for Roxy-WI](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/roxy-wi.webp)
2. Discover the login parameters for Roxy-WI
Use the Network tab in Web Developer Tools to identify the parameters.
![Roxy-WI Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/roxy-wi.webp)
3. Identify error messages and protection mechanisms
After one invalid attempt, Roxy-WI returns the following message:
![Roxy-WI login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/roxy-wi-error.webp)
The Roxy-WI application has a minimal anti-bruteforce mechanism because the login button gets disabled for just 10 seconds when you enter an invalid set of credentials.
Hydra commands and output
In the first 1 set of valid and 1 set of invalid credentials scenario, we used the following Hydra commands:
hydra -l admin -p bad-password roxy-wi.pentest-ground.com https-post-form "/app/login.py:login=^USER^&pass=^PASS^:Your login or password is incorrect " -V
hydra -l admin -p admin roxy-wi.pentest-ground.com https-post-form "/app/login.py:login=^USER^&pass=^PASS^:Your login or password is incorrect " -V
![Roxy-WI Hydra output](https://content.pentest-tools.com/assets/roxy-wi-1_1.webp)
The server returns an HTTP status code of 200 with the text "ban" when it receives invalid credentials. This response confuses Hydra, leading it to consider the login attempt successful.
![Roxy-WI Burp interface](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/roxy-wi-burp.webp)
Since the first scenario didn't work, we did not proceed with testing the second one.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
The pa-benchmark wordlist includes valid credentials, so the process involves making four attempts to the target: 3 with invalid credentials and 1 with valid credentials.
The screenshots below show that the Pentest-Tools.com Password Auditor successfully identified the valid credentials.
![Roxy-WI Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/roxy-wi-1.webp)
The Password Auditor also provides a screenshot of the logged-in session to verify the validity of the provided credentials.
![Password Auditor screenshot of the Roxy-WI logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/roxy-wi-2.webp)
For the second scenario, we only changed the wordlist to include 2 users (1 invalid and 1 valid) and 13 passwords (12 invalid and 1 valid).
![Roxy-WI Password Auditor scan findings](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/roxy-wi-3.webp)
In the second scenario, the Password Auditor identified all the valid credentials.
How to bruteforce web apps with Hydra and the Password Auditor
How to check Magento for weak credentials
Deployment method: Vultr marketplace
1. Find the web app login endpoint for Magento
The default admin login page for Magento is typically located on the /admin endpoint on port 443.
![Admin login page for Magento](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/magento.webp)
2. Discover the Magento login parameters
Use the Network tab in Web Developer Tools to identify the parameters.
![Magento Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/magento.webp)
In Magento, the form_key parameter is a critical security feature used to prevent Cross-Site Request Forgery (CSRF) attacks. It ensures the form submission is coming from the same site and session, protecting the website and its users from malicious actions.
3. Identify error messages and protection mechanisms
After one invalid attempt, Magento returns the following message:
![Magento login block](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/magento-blocked.webp)
The application has a basic anti-brute-force mechanism: the CAPTCHA gets activated after several failed login attempts, and the account can be temporarily disabled.
Hydra commands and output
In the first 1 set of valid and 1 set of invalid credentials scenario, we used the following Hydra commands to bruteforce Magento:
hydra -l user -p bad-password magento.pentest-ground.com http-post-form "/admin/:form_key=7sqshgljTsjOGZtB&login%5Busername%5D=^USER^&login%5Bpassword%5D=^PASS^:The account sign-in was incorrect" -V
hydra -l user -p 5CIaEBMqlcwN magento.pentest-ground.com http-post-form "/admin/:form_key=7sqshgljTsjOGZtB&login%5Busername%5D=^USER^&login%5Bpassword%5D=^PASS^:The account sign-in was incorrect" -V
![Magento Hydra output](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/magento-1_1.webp)
As explained in the section about discovering Magento parameters, the `form_key` is used as a CSRF token and is dynamically set. Hydra cannot use a session to automatically set this parameter, so it incorrectly marks both invalid and valid credentials as valid.
Since the first scenario didn't work, we did not proceed with testing the second one.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
The pa-benchmark wordlist includes valid credentials, so the process involves making four attempts to the target: 3 with invalid credentials and 1 with valid credentials.
The screenshots below show that the Pentest-Tools.com Password Auditor successfully identified the valid credentials.
![Magento Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/magento-1.webp)
The Password Auditor also provides a screenshot of the logged-in session to verify the validity of the provided credentials.
![Password Auditor screenshot of the Magento logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/magento-2.webp)
For the second scenario, we adjusted the wordlist to include 2 users (1 invalid and 1 valid) and 13 passwords (12 invalid and 1 valid).
![Magento Password Auditor scan findings](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/magento-3.webp)
Because Magento activated the CAPTCHA mechanism, the Password Auditor on Pentest-Tools.com reported with an informational finding that the bruteforce stopped because of this.
![Password Auditor screenshot of the failed Magento login session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/magento-4.webp)
How to check CloudPanel for weak credentials
Deployment method: Vultr marketplace
1. Find the web app login endpoint for CloudPanel
The default admin login page for CloudPanel is typically located on the /login endpoint on port 8443.
![Admin login page for CloudPanel](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/interfaces/cloudpanel.webp)
2. Discover the CloudPanel login parameters
Use the Network tab in Web Developer Tools to identify the parameters.
![CloudPanel Web Developer Tools](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/dev-tools/cloudpanel.webp)
In Cloudpanel, the csrftoken parameter is a critical security feature used to prevent Cross-Site Request Forgery (CSRF) attacks. It ensures the form submission is coming from the same site and session, protecting the website and its users from malicious actions.
3. Identify error messages and protection mechanisms
After one invalid attempt, CloudPanel returns the following message:
![Cloudpanel login error](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/protection/cloudpanel-error.webp)
Hydra commands and output
In the first 1 set of valid and 1 set of invalid credentials scenario, we used the following Hydra commands:
hydra -s 8443 -l namedame -p bad-password cloudpanel.pentest-ground.com https-post-form "/login:userName=^USER^&password=^PASS^&_csrf_token=8662edda832bd09b91ef351af3ffccf0.P7XJW8hraBMweBYkcs4HkRMIuMEqBVk9oP9yseTmNJY.aYWFFIA4BlpRTURwG6Z2xEBR_Khda24I1qcZgdGyBK5y3r085VsHfXRNdQ&submit=:Invalid credentials." -V
hydra -s 8443 -l namedame -p CloudPanel4321 cloudpanel.pentest-ground.com https-post-form "/login:userName=^USER^&password=^PASS^&_csrf_token=8662edda832bd09b91ef351af3ffccf0.P7XJW8hraBMweBYkcs4HkRMIuMEqBVk9oP9yseTmNJY.aYWFFIA4BlpRTURwG6Z2xEBR_Khda24I1qcZgdGyBK5y3r085VsHfXRNdQ&submit=:Invalid credentials." -V
![Cloudpanel Hydra output](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/hydra/cloudpanel-1_1.webp)
As explained in the login parameters discovery section, the csrftoken is used as a CSRF token and is dynamically set. Since Hydra cannot use a session to automatically set this parameter, it marks both invalid and valid credentials as valid.
Since the first scenario didn't work, we did not proceed with testing the second one.
Password Auditor commands and results
For the first scenario, these are the parameters we adjusted to perform a more focused scan:
Ports: Use port from target URL
Services: HTTP
Wordlists: pa-benchmark
The pa-benchmark wordlist includes valid credentials, so the process involves making four attempts to the target: 3 with invalid credentials and 1 with valid credentials.
The screenshots below show that the Pentest-Tools.com Password Auditor successfully identified the valid credentials.
![Cloudpanel Password Auditor scan results](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/cloudpanel-1.webp)
The Password Auditor also provides a screenshot of the logged-in session to verify the validity of the provided credentials.
![Password Auditor screenshot of the Cloudpanel logged-in session](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/cloudpanel-2.webp)
For the second scenario, we just changed the wordlist to include 2 users (1 invalid and 1 valid) and 13 passwords (12 invalid and 1 valid).
![Cloudpanel Password Auditor scan findings](https://content.pentest-tools.com/assets/content/password-auditor-vs-hydra/password-auditor/cloudpanel-3.webp)
In the second scenario, the Password Auditor on Pentest-Tools.com identified the valid credentials.
9 things you can do with this comparison of bruteforcing tools
1. Choose the most effective bruteforcing tool for your target
Based on the results from this comparison, you can select the right tool for bruteforcing credentials based on the type of system or web application you’re targeting (e.g., WordPress, Drupal, Joomla).
Case in point, the Password Auditor demonstrated superior performance across more complex login scenarios (e.g., dynamic forms, CAPTCHA, IP blocking), while Hydra was more limited in handling client-side security mechanisms like JavaScript hashing.
2. Confidently automate credential auditing - at scale
If you need an automated tool for auditing web apps with a focus on ease of use and minimal configuration, the Password Auditor is a reliable choice. You can simply select the attack type (dictionary or password spray), enable services, and configure the port range to launch scans quickly.
The tool’s ability to schedule regular scans and automate credential auditing across multiple targets makes it a valuable tool for large-scale projects. You can automate routine checks for weak credentials and have reports generated without manual intervention. This helps manage multiple clients or a large number of assets efficiently.
3. Adapt attacks to application-specific configurations
Many web applications, such as Jira, Bitbucket, or Microsoft Exchange, use unique login forms and parameters. The comparison outlines specific commands and configurations for each tool, allowing you to adapt your brute-force attacks to each application’s setup.
For instance, Hydra requires manual setup but allows for deep configuration of attacks, making it suitable when you need fine-tuned control over the process, especially in simpler environments that don’t implement client-side security mechanisms.
4. Detect CAPTCHA and IP blocking
The comparison reveals that the Password Auditor is more effective at recognizing defensive mechanisms like CAPTCHA and IP blocking and providing bypass recommendations. You can use this capability to audit web apps that deploy such protections.
5. Adjust attack speed and avoid detection
Both the Password Auditor and Hydra can set delays between attempts to avoid triggering account lockouts or rate-limiting mechanisms. This feature is useful for flying under the radar while performing brute-force attacks, reducing the risk of detection.
6. Validate web app login endpoints and error messages
This comparison shows how both Hydra and the Password Auditor detect login endpoints and error messages, a critical first step in assessing web applications for brute-force vulnerabilities. You can compare their effectiveness and accuracy to choose the most reliable tool for simulating attacks against your targets.
7. Handle client-side hashing mechanisms
The comparison shows how the Password Auditor was able to bypass complex security mechanisms like client-side encryption and token generation. This makes it ideal for environments like Adobe ColdFusion where Hydra failed because it was unable to replicate client-side security processes.
8. Generate detailed attack reports
The Password Auditor provides detailed feedback on defenses it encounters during an attack, including IP blacklisting, CAPTCHA, and login attempt delays. This level of detail allows you to generate comprehensive reports for clients or colleagues, outlining the strength of their authentication defenses and the bypasses that can override them.
9. Benchmark bruteforce tool performance for future tests
These detailed comparison results offer a benchmark for future bruteforce testing. By understanding how each tool performed across the 26 tested applications, you can set realistic expectations for similar tools or when using Hydra or the Password Auditor in your environment.
Bruteforce tools comparison FAQs
The Password Auditor is more effective at recognizing CAPTCHA and IP blocking mechanisms, offering detailed feedback, screenshots, and ready to use reports.