Crack WPA2-PSK menggunakan Aircrack-ng

From OnnoWiki
Jump to navigation Jump to search

Sumber: http://www.rootsh3ll.com/2015/09/rwsps-wpa2-cracking-aircrack-ng-dictionary-attack-ch3pt4/


WPA2-PSK, WiFi Protected Access - Pre Shared Key, adalah jauh salah satu enkripsi keamanan wireless yang paling aman dan tak terjebolkan pada saat ini. Tidak ada cacat enkripsi belum dilaporkan oleh para peneliti keamanan untuk WPA2, sehingga seorang hacker jahat dapat dengan mudah memanfaatkan dan mudah mendekripsi paket.

Enkripsi mungkin paling aman dan tidak terjebolkan pada saat ini, tetapi sistem WPA2 masih cukup rentan terhadap hacker.

Tidak seperti WEP, WPA2 menggunakan 4-way handshake sebagai proses otentikasi. Di mana kuncinya adalah tidak pernah dikirim melalui jaringan tetapi digunakan untuk mengenkripsi / mendekripsi paket data di jaringan. Yang memungkinkan hacker untuk hanya menangkap jabat tangan dan melakukan serangan tanpa Tinggal menangkap paket data seperti yang kita lakukan saat retak WEP.


Sama seperti paket-paket broadcast yang kita lihat di wireshark, 4-way handshake juga dalam teks biasa. Yang memungkinkan hacker potensial untuk menangkap informasi plaintext seperti

  • Access point MAC address
  • Client MAC address
  • ESSID – AP Name

Informasi di atas digunakan oleh hacker untuk melakukan dictionary attack pada ditangkap 4-way handshake (PCAP File). Mari kita lihat

   What is a dictionary attack ?
   How to perform dictionary attack on WPA2-PSK

What is a dictionary attack ?

Hashing is one of the keys used in the security field professional to protect the users from the malicious attackers.

Hash is simply a cryptographic function that converts a data or file of an arbitrary length or size to a fixed length, which is considered practically impossible to invert or reversed, as no key is involved in the process.

   A Hash is always unique

In a dictionary attack,

  • We create/use a wordlist (text file of possible passwords)
  • Take a word at a moment from the wordlist
  • Create its hash using the Hash function, PBKDF2 for WPA2
  • Compare the output value with the existing hash.
  • If value matches, password taken from the wordlist is the correct password

Above steps are involved in the WPA2 passphrase cracking process.

Let’s begin,

Step 1: Start monitor mode

$ ifconfig wlan1             #Check whether card is detected
$ sudo airmon-ng check kill  #Kill process causing issues
sudo airmon-ng start wlan1   #Start monitor mode

Final output should look like this:

start-mon-mode

Step 2: Start capture, airodump-ng

We will now start airodump-ng to sniff the air and wait until the desired AP and corresponding client are displayed.

airodump-ng wlan1mon

airodump-ng-output

As you can see in the above image, “rootsh3ll” is the victim AP . We will now note the information highlighted

AP (ESSID): rootsh3ll
AP MAC (BSSID): 64:66:B3:6E:B0:8A
Client MAC: 30:A8:DB:C6:88:13
Channel: 11

Hit CTRL-C, and kill airodump-ng.

Now, we will start airodump-ng exclusively to capture packets associated with “rootsh3ll” and save the 4-way handshake in a PCAP file, say rootsh3ll

Step 3: Start airodump-ng exclusively

   airodump-ng –bssid 64:66:B3:6E:B0:8A -c 11 wlan1mon -w rootsh3ll

Here “rootsh3ll” is the output filename provided to the -w parameter

airodump-ng-rootsh3ll

Step 4: Disconnect the client with aireplay-ng.

Now, are two ways for capturing the handshake,

   Wait for a client to connect.
   Disconnect the already connected client.

First option seems to be slow, time taking. Whether in our case, option 2 is just perfect as we have a client connected to the wireless AP “rootsh3ll”.

How does that work ? we use a utility from the aircrack-ng suite named aireplay-ng which allows us to craft and send a disconnect request to the desired AP with the information we noted down earlier.

We are actually abusing a legitimate Windows(or any other OS) feature. Which forces the wireless card to re connect to the AP when available.

In the second option we are actually making sure that option 1 happens, so that we can capture the handshake.

  • Client disconnects when receives the disconnect packet.
  • Reconnect to the AP
  • 4-way handshake between AP and client
  • Hacker captures the 4-way handshake

let’s disconnect the client now,

Open a new Terminal window and type:

aireplay-ng –deauth 5 -a 64:66:B3:6E:B0:8A wlan1mon

aireplay-ng

parameters applied:

–deauth 5: 5 deauth requests broadcasted with BSSID “rootsh3ll”, 0 for endless
-a: parameter to tell aireplay-ng the BSSID
wlan1mon: monitor mode interface

Step 5: Capture the handshake

Meanwhile in the terminal window of airodump-ng, you would notice the top of the output. which says

   WPA Handshake: 64:66:B3:6E:B0:8A

WPA2-handshake

Which simply means that the WPA handshake has been capture for the specific BSSID, which is the AP MAC of rootsh3ll.

Hit CTRL-C, as the handshake has been captured, we will now crack the password using the captured handshake

Step 6: How does a Handshake looks like? Open Wireshark (Optional)

This step is optional, you can open the PCAP file(rootsh3ll-01.cap) in Wireshark for manual inspection, or to see how does a handshake looks like.

Type in terminal wireshark [.cap file], which in our case is

   wireshark rootsh3ll-01.cap
   Type “eapol” in the filter field, press [ENTER]

wireshark-eapol

You would notice the last column, “Info” is showing a message no. from 1 to 4.

This is the 4 way handshake happened during the capture. It is like AP and Client are talking to each other. Notice the Source and Destination tab.

moving on to the next step,

Step 7: Cracking

Here’s an ugly truth

WPA2 password cracking is not deterministic like WEP, because it is based on a dictionary of possible words and we do not know whether the passphrase is in the dictionary or not. So you are never sure whether a specific dictionary will just work or not.

For this tutorial I have beautifully crafted a wordlist, just to demonstrate how the output of the cracked password would look like. Command and the wordlist looks like this:

wordlist

Here I have directly saved the password in the wordlist to demonstrate how the output would look like, your will be different, obviously.

let’s fire up aircrack-ng and crack the key

Type in terminal, aircrack-ng [.cap file] -w [wordlist], which in our case looks like

aircrack-ng rootsh3ll-01.cap -w dict

and aircrack-ng has cracked the password in one go.

aircrack-ng-output-cracked-password

This is quite odd to see the cracked passphrase for the first time, right ?

Here’s a sample output of the running process, yours would look like the same during the cracking process. aircrack-ng-output

Countermeasures

Use a strong password to stay