Aircrack Boost Script

Aircrack Boost Script( is a Linux Shell Script that automates the process of generating the PMKs used for speeding up the WiFi/WPA2-PSK cracking.


Aircrack Boost Script allows you to:

  1. Create PMKs using Pyrit ( MultiThreaded )
  2. Create PMKs using GenPMK ( SingleThreaded )
  3. Pass info as an argument to the script
  4. Pass info from Standard Input ( STDIN )
  5. Beautifully Generate PMKs
  6. Compare execution time of tasks
  7. Use it FREE 🙂

Dependencies is designed for Kali Linux specifically but will work on other Linux flavours also. All you need to have installed are 2 tools

  1. Pyrit, and
  2. CoWPAtty

Both these tools comes pre-installed in Kali Linux, but the script supports the install procedure also. That means that if the required tools( Pyrit/CoWPAtty ) aren’t installed, will automatically download and install it before you proceed to generate PMKs.

It becomes really handy when you want to generate PMKs just on random system you go across and forget or don’t want to manually install the required tools every time.

Aircrack Boost Script does this for you and that also saves us 2 more sections here of installing both the tools.

So all you need to have is and a working internet connection(Just for download) and you are ready to rock!

Not wasting time any more, let’s see how to run and use it first.

Click here: Dowload Aircrack Boost Script and perform all the tests along with the tutorial

Make the Shell Script Executable

Download and save Aircrack Boost Script on your Kali Linux Desktop.

Now we need to change the attribute to “Executable” in order to, of course to make it executable!

Open Terminal and type:

  • chmod +x <filename>
chmod +x        #Change Mode
./               #Execute script

+x : Add the Executable attribute to file. ‘-x‘ will remove.


By default the script shows the help menu. Here you can see 2 ways to proceed as per your need.

  1. via Command line arguments
  2. via Standard Input ( i.e Drag n Drop )

let’s go with the first

Execute via Command line arguments

Order of the input goes like this:

  • ./ [wordlist] [.cap file] [SSID]

In my case inputs are:

Wordlist: length08.txt

.cap file: rootsh3ll-01.cap (previously captured)

SSID: rootsh3ll (Our test AP)

./ length08.txt rootsh3ll-03.cap "rootsh3ll"

IMPORTANT NOTE: Put the “SSID in quotes” if it include spaces in the name to avoid errors.

Pause here! Let’s now see how we will pass argument via Standard Input and then we will continue the remaining part.

Execute via Standard Input

To use this feature you just need to pass ‘-r‘ option to the script so that it will start reading from STDIN.

./ -r

This the best part in my opinion.No need to enter super long paths to the files located deep in the directory ocean. Simply Drag and Drop!

Checkout my new store for Best WiFi adapters for Hacking, Best-selling Pentesting Books and Best WiFi Boosters: Rootsh3ll rStore

It should look like this:


Now that you have entered the required filenames and SSID using either of the methods, you will then select the tool for generating PMKs as per your demand.


Pyrit is a MultiThreaded tool. It will use 100% of all of your CPU cores(GPU if usable).see the htop command output:


It is way much faster than the 2nd option i.e

GenPMK, installed with CoWPAtty.

It is a SingleThreaded tool and will always use single core of your CPU. That makes it much slower than Pyrit but it is very much useful when you don’t want to allocate all the cores for the cracking and just want to stick with 1-core for PMK generation and rest for your tasks.

So it is worth as an option. So chose wisely. For demonstration purpose I an going with “1” i.e Pyrit.


That’s it! your job is done. Sit back and relax. Wait for Pyrit to generate the PMKs and then will try cracking the WPA/2-PSK from the generated hashes at super high speed.

Here is a sample output:


See the PSK cracking speed using Pre generated PMKs.

This attack is very specific in its kind and can be really helpful and time saver when you are trying the pin for common SSIDs like Airtel, Linksys, MTNL, Belkin etc.

There are millions of routers out there which still uses the default name as the AP name. can help you save you a lot of time that too without much of a headache.

Quite simple and easy to use. Isn’t it ?

let’s now dig a bit deeper and understand it’s need, and challenge faced( little ).

What is the need ?

Generating PMKs with various wordlists and/or SSIDs can be a headache as you need to enter the filename, wordlist path, SSID repeatedly for distinct SSIDs. It happened to me also, so I decided to automate this little process to reduce my headache and let the script do all on its own.

What’s different  and challenge faced ?

Unlike every other script Aircrack Boost Script comes with a unique feature i.e Drag n Drop. It might sound familiar to you about dragging n dropping into the terminal if you are not new to Linux world but here’s a catch!

Dropping the content into the terminal has worked fine but it has it’s own limitations, like:

  • Dropped content can’t be accessed via Shell Variable (variable starting with a ‘$‘)
  • Can’t be accessed via Shell script either

For instance, have a look here:


As you can see above the file.txt is inaccessible using the shell variable( $var ).

But why ? because the read command takes the dropped input as a single character. Noticed the single quotes around the file.txt’s path when dropped ? yes, that means it’s a character, not a string.

Here is what I discovered as a fix.

How to fix read command drag and drop issue – Terminal ?

Use Input field separator. How ?

Using awk command. this is how it looks like

echo $cap | awk -F "'" '{print $2}'


  1. $cap is the .cap file entered by the user ( via stdin ),
  2. Reflected path is then passed to awk command through pipeline operator ‘|
  3. I have used apostrophe(‘) as an input field separator.
  4. after separation, $1 will store first character i.e ( ‘ ) and $2 will store the path and $3 will again ( ‘ ).
  5. Now we know we need to print the $2, so we do it using ‘{print $2}’

and this fixes the issue for me. Of course there are many other ways(I discovered afterwards), but this seems pretty clear and easy. So I’ll stick with it until I get a better one.


Till then you can enjoy this version by downloading it from here: [lab_subscriber_download_form download_id=3]
That’s all for the last part of chapter 5. Hope you liked it.

Soon after completing the WiFi Hacking series I’ll put a tutorial on the working of code. As making it a beginner friendly writing it along in this post would be a stress for the reader to grasp so much at one time.

So it will be a different tutorial completely dedicated to shell scripting and its working.

That’s all for now. Hope you had a good learning. See you in the next chapter.

Keep Learning!