Hack Like a Pro: How to Crack Online Web Form Passwords with THC-Hydra & Burp Suite « Null Byte :: WonderHowTo

Welcome back, my hacker novitiates!Inan earlier tutorial, I had introduced you to two essential tools for cracking online passwords—Tamper Data and THC-Hydra. In that guide, I promised to follow up with another tutorial on how to use THC-Hydra against web forms, so here we go. Although you can use Tamper Data for this purpose, I want to introduce you to another tool that is built into Kali, Burp Suite.Step 1: Open THC-HydraSo, let's get started. Fire upKaliand open THC-Hydra from Applications -> Kali Linux -> Password Attacks -> Online Attacks -> hydra.Step 2: Get the Web Form ParametersTo be able to hack web form usernames and passwords, we need to determine the parameters of the web form login page as well as how the form responds to bad/failed logins. The key parameters we must identify are the:IP Address of the websiteURLtype of formfield containing the usernamefield containing the passwordfailure messageWe can identify each of these using a proxy such as Tamper Data or Burp Suite.Step 3: Using Burp SuiteAlthough we can use any proxy to do the job, including Tamper Data, in this post we will use Burp Suite. You can open Burp Suite by going to Applications -> Kali Linux -> Web Applications -> Web Application Proxies -> burpsuite. When you do, you should see the opening screen like below.Next, we will be attempting to crack the password on the Damn Vulnerable Web Application (DVWA). You can run it from the Metasploitable operating system (available at Rapid7) and then connecting to its login page, as I have here.We need to enable theProxyandIntercepton the Burp Suite like I have below. Make sure to click on theProxytab at the top and thenIntercepton the second row of tabs. Make certain that the "Intercept is on."Last, we need to configure our IceWeasel web browser to use a proxy. We can go to Edit -> Preferences -> Advanced -> Network -> Settings to open the Connection Settings, as seen below. There, configure IceWeasel to use 127.0.0.1 port 8080 as a proxy by typing in 127.0.0.1 in theHTTP Proxyfield, 8080 in thePortfield and delete any information in theNo Proxy forfield at the bottom. Also, select the "Use this proxy server for all protocols" button.Step 4: Get the Bad Login ResponseNow, let's try to log in with my username OTW and password OTW. When I do so, the BurpSuite intercepts the request and shows us the key fields we need for a THC-Hydra web form crack.After collecting this information, I then forward the request from Burp Suite by hitting the "Forward" button to the far left . The DVWA returns a message that the "Login failed." Now, I have all the information I need to configure THC-Hydra to crack this web app!Getting the failure message is key to getting THC-Hydra to work on web forms. In this case, it is a text-based message, but it won't always be. At times it may be a cookie, but the critical part is finding out how the application communicates a failed login. In this way, we can tell THC-Hydra to keep trying different passwords; only when that message does not appear, have we succeeded.Step 5: Place the Parameters into Your THC Hydra CommandNow, that we have the parameters, we can place them into the THC-Hydra command. The syntax looks like this:kali > hydra -L <username list> -p <password list> <IP Address> <form parameters><failed login message>So, based on the information we have gathered from Burp Suite, our command should look something like this:kali >hydra -L <wordlist> -P<password list>192.168.1.101 http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:Login failed"A few things to note. First, you use the upper case "L" if you are using a username list and a lower case "l" if you are trying to crack one username that you supply there. In this case, I will be using the lower case "l " as I will only be trying to crack the "admin" password.After the address of the login form (/dvwa/login.php), the next field is the name of the field that takes the username. In our case, it is "username," but on some forms it might be something different, such as "login."Now, let's put together a command that will crack this web form login.Step 6: Choose a WordlistNow, we need to chose a wordlist. As with any dictionary attack, the wordlist is key. You can use a custom one made withCrunchofCeWL, but Kali has numerous wordlists built right in. To see them all, simply type:kali > locate wordlistIn addition, there are numerous online sites with wordlists that can be up to 100 GB! Choose wisely, my hacker novitiates. In this case, I will be using a built-in wordlist with less than 1,000 words at:/usr/share/dirb/wordlists/short.txtStep 7: Build the CommandNow, let's build our command with all of these elements, as seen below.kali > hydra -l admin -P /usr/share/dirb/wordlists/small.txt 192.168.1.101 http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:Login failed" -V-lindicates a single username (use-Lfor a username list)-Pindicates use the following password listhttp-post-formindicates the type of form/dvwa/login-phpis the login page URLusernameis the form field where the username is entered^USER^tells Hydra to use the username or list in the fieldpasswordis the form field where the password is entered (it may be passwd, pass, etc.)^PASS^tells Hydra to use the password list suppliedLoginindicates to Hydra the login failed messageLogin failedis the login failure message that the form returned-Vis for verbose output showing every attemptStep 8: Let Her Fly!Now, let her fly! Since we used the-Vswitch, THC-Hydra will show us every attempt.After a few minutes, Hydra returns with the password for our web application. Success!Final ThoughtsAlthough THC-Hydra is an effective and excellent tool for onlinepassword cracking, when using it in web forms, it takes a bit of practice. The key to successfully using it in web forms is determining how the form responds differently to a failed login versus a successful login. In the example above, we identified the failed login message, but we could have identified the successful message and used that instead. To use the successful message, we would replace the failed login message with "S=successful message" such as this:kali > hydra -l admin -P /usr/share/dirb/wordlists/small.txt 192.168.1.101 http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&S=success message" -VAlso, some web servers will notice many rapid failed attempts at logging in and lock you out. In this case, you will want to use the wait function in THC-Hydra. This will add a wait between attempts so as not to trigger the lockout. You can use this functionality with the-wswitch, so we revise our command to wait 10 seconds between attempts by writing it:kali > hydra -l admin -P /usr/share/dirb/wordlists/small.txt 192.168.1.101 http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:Login failed" -w 10 -VI recommend that you practice the use of THC-Hydra on forms where you know the username and password before using it out "in the wild."Keep coming back, my hacker novitiates, as we continue to expand your repertoire of hacker techniques and arts!Want to start making money as a white hat hacker?Jump-start your hacking career with our2020 Premium Ethical Hacking Certification Training Bundlefrom the newNull Byte Shopand get over 60 hours of training from cybersecurity professionals.Buy Now (90% off) >Other worthwhile deals to check out:97% off The Ultimate 2021 White Hat Hacker Certification Bundle99% off The 2021 All-in-One Data Scientist Mega Bundle98% off The 2021 Premium Learn To Code Certification Bundle62% off MindMaster Mind Mapping Software: Perpetual LicenseCover image viaShutterstockRelatedHack Like a Pro:How to Crack Online Passwords with Tamper Data & THC HydraHack Like a Pro:How to Hack Web Apps, Part 1 (Getting Started)Hack Like a Pro:How to Hack Web Apps, Part 4 (Hacking Form Authentication with Burp Suite)Hack Like a Pro:How to Hack Web Apps, Part 3 (Web-Based Authentication)How To:Brute-Force Email Using a Simple Bash Script (Ft. THC Hydra)Hack Like a Pro:How to Crack Passwords, Part 1 (Principles & Technologies)How To:Hack Facebook & Gmail Accounts Owned by MacOS TargetsHow To:Using Hydra 5.4 to crack FTP passwordsHow To:Leverage a Directory Traversal Vulnerability into Code ExecutionNews:How to Study for the White Hat Hacker Associate Certification (CWA)How To:Generate a Clickjacking Attack with Burp Suite to Steal User ClicksHow To:Hack Wireless Router Passwords & Networks Using HydraHow To:How Hackers Take Your Encrypted Passwords & Crack Them