How to bruteforce business and collaboration apps with Hydra and the Password Auditor

Weak authentication in Jira, Confluence, Microsoft Exchange, Adobe ColdFusion, and Oracle WebLogic can expose sensitive corporate data, internal communications, and privileged accounts - an oversight that threatens business continuity and regulatory compliance. Understanding how to correctly identify and remediate issues with weak credentials is essential for preventing unauthorized access, mitigating insider threats, and ensuring data integrity. 

This guide provides a step-by-step breakdown of login endpoint discovery, authentication analysis, and security testing using Hydra and the Password Auditor, giving security teams the knowledge to proactively identify and fix vulnerabilities.

See full benchmark results
Hydra vs password auditor hero image

Bruteforce commands and settings for Hydra and the Password Auditor

Since authentication mechanisms across business-critical platforms vary significantly, effective security assessment requires adapting to anti-brute-force protections, such as CAPTCHA challenges, IP blacklisting, session-based restrictions, and temporary lockouts. 

By comparing Hydra’s manual brute-force capabilities with the Password Auditor’s automated credential testing, you’ll learn when to use precision attacks, leverage automation for efficiency, and capture proof of compromise to strengthen security assessments and justify mitigation actions.

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

2. Discover the Jira login parameters

Use the Network tab in Web Developer Tools to identify the parameters.

Jira Web Developer Tools

3. Identify error messages and protection mechanisms

After one invalid attempt, the following message is returned:

Jira login error

After two failed attempts, the CAPTCHA is activated.

Jira login captcha

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

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

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:


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

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

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

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

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

2. Discover the Confluence login parameters

Use the Network tab in Web Developer Tools to identify the parameters.

Confluence Web Developer Tools

3. Identify error messages and protection mechanisms

After one invalid attempt, the Confluence server returns the following message:

Confluence login error

After 3 failed attempts, the CAPTCHA activates.

Confluence login captcha

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

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

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:


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

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

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 captchaPassword Auditor screenshot Confluence login error

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

2. Discover the Microsoft Exchange login parameters

Use Burp Community Edition to determine the parameters.

Microsoft Exchange login parameters

3. Identify error messages and protection mechanisms

After one invalid attempt, the Microsoft Exchange returns the following message:

Microsoft Exchange login error

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

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

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:


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

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

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

The Password Auditor accurately 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

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

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

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

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:


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

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

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

The Password Auditor identified the valid credentials when testing 2 users and 12 passwords.

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

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

3. Identify error messages and protection mechanisms

After one invalid attempt, Oracle Weblogic returns the following message:

Oracle Weblogic login error

After 5 invalid login attempts to the Oracle Weblogic server, the user gets locked out for 30 minutes. 

Oracle Weblogic login IP block

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

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

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:


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 resultsPassword Auditor screenshot of the Oracle Weblogic logged-in session

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

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.