"If I had eight hours to chop down a tree, I'd spend six hours sharpening my axe."
|--Abraham Lincoln, 16th US President|
Behind every successful execution is hours or days of preparation, and wireless penetration testing is no exception. In this chapter, we will create a wireless lab that we will use for our experiments in this book. Consider this lab as your preparation arena before you dive into real-world penetration testing!
Wireless penetration testing is a practical subject, and it is important to first set up a lab, where we can try out all the different experiments in this book in a safe and controlled environment. It is important that you set up this lab first before moving on in this book.
In this chapter, we will take a look at the following:
Hardware and software requirements
Setting up an access point and configuring it
Installing the wireless card
Testing connectivity between the laptop and the access point
So let the games begin!
Two laptops with internal Wi-Fi cards: We will use one of the laptops as the victim in our lab and the other as the penetration tester's laptop. Though almost any laptop would fit this profile, laptops with at least 3 GB RAM are desirable. This is because we may be running a lot of memory-intensive software in our experiments.
One wireless adapter (optional): Depending on the wireless card of your laptop, we may need a USB Wi-Fi card that can support packet injection and packet sniffing, which is supported by Kali. The best choice seems to be the Alfa AWUS036H card from Alfa Networks, as Kali supports this out of the box. This is available on www.amazon.com for a retail price of £18 at the time of writing. An alternative option is the Edimax EW-7711UAN, which is smaller and, marginally, cheaper.
One access point: Any access8 point that supports WEP/WPA/WPA2 encryption standards would fit the bill. I will be using a TP-LINK TL-WR841N Wireless router for the purpose of illustration in this book. You can purchase it from www.amazon.com for a retail price of around £20 at the time of writing.
Kali: This software can be downloaded from the official website located at http://www.kali.org. The software is open source, and you should be able to download it directly from the website.
Windows XP/Vista/7/10: You will need any one of Windows XP, Windows Vista, Windows 7, or Windows 10 installed on one of the laptops. This laptop will be used as the victim machine for the rest of the book.
Kali is relatively simple to install. We will run Kali by booting it as a live DVD, and then install it on the hard drive.
Perform the following instructions step by step:
Burn the Kali ISO (we are using the Kali 32-bit ISO) you downloaded, onto a bootable DVD.
Boot the laptop with this DVD and select the option Install from Boot menu:
If booting was successful, then you should see an awesome retro screen as shown in the following screenshot:
This installer is similar to the GUI-based installers of most Linux systems and should be simple to follow. Select the appropriate options on every screen and start the installation process. Once the installation is done, restart the machine as prompted and remove the DVD.
Once the machine restarts, a login screen will be displayed. Log in as
rootand the password is whatever you set it to during the installation process. You should now be logged into your installed version of Kali. Congratulations!
I will change the desktop theme and some settings for this book. Feel free to use your own themes and color settings!
We have successfully installed Kali on the laptop! We will use this laptop as the penetration tester's laptop for all other experiments in this book.
We can also install Kali within virtualization software such as VirtualBox. If you don't want to dedicate a full laptop to Kali, this is the best option. Kali's installation process in VirtualBox is exactly the same. The only difference is the pre-setup, which you will have to create in VirtualBox. Have a go at it! You can download VirtualBox from http://www.virtualbox.org.
One of the other ways in which we can install and use Kali is via USB drives. This is particularly useful if you do not want to install on the hard drive, but still want to store persistent data, such as scripts and new tools, on your Kali instance. We encourage you to try this out as well!
Let's begin! We will set the access point up to use Open Authentication (OAuth) with an SSID of
Power on the access point, and use an Ethernet cable to connect your laptop to one of the access point's Ethernet ports.
Enter the IP address of the access point configuration terminal in your browser. For TP-Link, it is by default
192.168.1.1. You should consult your access point's setup guide to find its IP address. If you do not have the manuals for the access point, you can also find the IP address by running the
route –ncommand. The gateway IP address is typically the access point's IP. Once you are connected, you should see a configuration portal that looks like the following TP-LINK Wireless N Router WR841N emblazoned screenshot:
Change the SSID to
Wireless Lab. Depending on the access point, you may have to reboot it for the settings to change.
Similarly, find the settings related to Wireless Security and change the setting to Disable Security. Disable Security indicates that it is using the Open Authentication mode.
An easy way to verify this is to use the wireless configuration utility in Windows and observe the available networks using the Windows laptop. You should find
Wireless Lab as one of the networks in the listing:
We have successfully set up our access point with an SSID,
Wireless Lab. It is broadcasting its presence, and this is being picked up by our Windows laptop and others within the Radio Frequency (RF) range of the access point.
Important to note is that we configured our access point in the Open mode, which is the least secure. It is advisable not to connect this access point to the internet for the time being, as anyone within the RF range will be able to use it to access the internet.
Follow these instructions step by step to set up your card:
Plug in the card to one of the Kali laptop's USB ports and boot it. Once you log in, open a console terminal and type in
iwconfig. Your screen should look as follows:
As you can see,
wlan0is the wireless interface created for the wireless adapter.
ifconfig wlan0 upto bring the interface up. Then, type in
ifconfig wlan0to see the current state of the interface:
The MAC address
00:c0:ca:3e:bd:93should look like the MAC address written under your Alfa card. I am using the Edimax that gives me the preceding MAC address
80:1f:02:8f:34:d5. This is a quick check to ensure that you have enabled the correct interface.
Here we go! Follow these steps to connect your wireless card to the access point:
Keep scrolling down and you should find the
Wireless Labnetwork in this list. In my setup, it is detected as
Cell 05; it may be different in yours. The
ESSIDfield contains the network name.
As multiple access points can have the same SSID, verify that the MAC address mentioned in the preceding
Addressfield matches your access point's MAC. A fast and easy way to get the MAC address is underneath the access point or using web-based GUI settings.
Now, issue the
iwconfig wlan0 essid "Wireless Lab"command and then
iwconfig wlan0to check the status. If you have successfully connected to the access point, you should see the MAC address of the access point in the
Access Pointfield in the output of
We know that the access point has a management interface IP address
192.168.0.1from its manual. Alternately, this is the same as the default router IP address when we run the
route –ncommand. Let's set our IP address in the same subnet by issuing the
ifconfig wlan0 192.168.0.2 netmask 255.255.255.0 upcommand. Verify that the command succeeded by typing
ifconfig wlan0and checking the output.
Now let's ping the access point by issuing the
ping 192.168.0.1command. If the network connection has been set up properly, then you should see the responses from the access point. You can additionally issue an
arp –acommand to verify that the response is coming from the access point. You should see that the MAC address of the IP
192.168.0.1is the access point's MAC address we noted earlier. It is important to note that some of the more recent access points might have responses to the Internet Control Message Protocol (ICMP) echo request packets disabled. This is typically done to make the access point secure out of the box with only minimal configuration settings available. In such a case, you can try to launch a browser and access the web interface to verify that the connection is up-and-running:
On the access point, we can verify connectivity by looking at the connection logs. As you can see in the following log, the MAC address of the wireless card
4C:0F:6E:70:BD:CBhas been logged making DHCP requests from the router:
We just connected to our access point successfully from Kali using our wireless adapter as the wireless device. We also learned how to verify that a connection has been established at both the wireless client and the access point side.
Here is a challenging exercise for you: set up the access point in a WEP configuration. For each of these, try establishing a connection with the access point using the wireless adapter. Hint: check the manual for the
iwconfig command by typing
man iwconfig to see how to configure the card to connect to WEP.
Q1. After issuing the
ifconfig wlan0 command, how do you verify that the wireless card is up and functional?
Q2. Can we run all our experiments using the Kali live CD alone? Can we not install the CD to the hard drive?
Q3. What does the
arp –a command show?
Q4. Which tool should we use in Kali to connect to WPA/WPA2 networks?
This chapter provided you with detailed instructions on how to set up your own wireless lab. Also, in the process, you learned the basic steps do the following:
Installing Kali on your hard drive and exploring other options such as virtual machines and USBs
Configuring your access point over the web interface
Understanding and using several commands to configure and use your wireless card
Verifying the connection state between the wireless client and the access point
Gaining confidence in configuring the system is important for you. If you aren't confident, it is advisable that you repeat the preceding examples a couple of times. In later chapters, we will design more complicated scenarios.
In the next chapter, you will learn about inherent design-based insecurities in the WLANs design. We will use the network analyzer tool, Wireshark, to understand these concepts in a practical way.