Summary
Wired Equivalent Privacy (WEP) is an older Wi-Fi standard that is actively being phased out due to numerous security issues. However, it still sees use in some legacy environments, allowing attackers to take advantage and compromise a network's security more easily. This module specifically focuses on the WEP algorithm, the reasons it's insecure, and the various methods to exploit this once ubiquitous technology.
In this module, we will cover:
- Wired Equivalent Privacy Overview
- WEP Encryption
- Seed Generation and the RC4 Algorithm
- CRC32 Generation aka WEP's ICV Algorithm
- Finding the Initialization Vector (IV) using Wireshark
- WEP Attacks
- ARP Request Replay Attack
- Fragmentation Attack
- Korek Chop Chop Attack
- The Cafe Latte Attack
- Attacking WEP Access Points without Clients
- WEP Cracking
- Advanced WEP Bruteforce with custom Python Script
- Skills Assessment
Upon completion of this module, you should be ready to compromise almost all types of networks utilizing Wired Equivalent Privacy (WEP).
This module is broken into sections with accompanying hands-on exercises to practice the tactics and techniques we cover. The module ends with a practical hands-on skills assessment to gauge your understanding of the various topic areas. There are no specific Wi-Fi hardware requirements for this module, as Hack The Box manages all necessary resources. You will need to RDP into the provided attacker VM to perform the exercises.
As you work through the module, you will see example commands and command output for the topics introduced. It is worth reproducing as many of these examples as possible to reinforce further the concepts presented in each section. You can do this in the target host provided in the interactive sections or your virtual machine.
You can start and stop the module anytime and pick up where you left off. There is no time limit or "grading," but you must complete all of the exercises and the skills assessment to receive the maximum number of cubes and have this module marked as complete in any paths you have chosen.
The module is classified as "Medium" but assumes a working knowledge of Linux systems and network fundamentals.
A firm grasp of the following modules can be considered prerequisites for successful completion of this module:
Wired Equivalent Privacy Overview
Open networks are vulnerable to eavesdropping because their traffic is not encrypted. To address this, Wired Equivalent Privacy (WEP) was introduced in 1997 as part of the IEEE 802.11 standard. It aimed to provide a level of privacy for data transmitted over wireless networks.
WEP, being an older standard, offers valuable lessons for us when dealing with communication ciphers. It has since been replaced by Wi-Fi Protected Access, but can still be found in some business environments. WEP makes use of initialization vectors (IVs), a 40-bit or 104-bit shared key (also referred to as the WEP key), the Rivest Cipher 4 (RC4) algorithm, and cyclic redundancy checks (CRC32) to provide encryption for wireless communications. When WEP was developed, it originally incorporated a 24-bit initialization vector due to U.S. government export restrictions on cryptographic technologies, which limited key sizes. After these restrictions were lifted, WEP was updated to support a 128-bit encryption key, but incidentally it continued to use the same 24-bit initialization vector.
Although WEP held firm as a standard for a while, the discovery of different attacks led to multiple ways of compromising the shared key. This is due to the initialization vectors and cyclic redundancy checks used in the overall cipher. Regardless of whether WEP uses a 64-bit or 128-bit encryption key, the IV remains 24 bits. As a result, the algorithm is prone to repeated IVs during transmission. This has since enabled adversaries to construct decryption tables and retrieve the key with a high degree of statistical certainty, typically through packet building and replay attacks.
RC4 Algorithm
In cryptography, RC4 (Rivest Cipher 4)
, also known as ARC4
or ARCFOUR (Alleged RC4)
, is a stream cipher. It was designed by Ron Rivest of RSA Security in 1987 and became part of several commonly used encryption protocols and standards (including WEP) due to its simplicity and high speed.
RC4 is a symmetric cipher, which means the same key is used for both encryption and decryption. It generates a stream of bits that are XORed with the plaintext to produce the ciphertext. To decrypt the data, the ciphertext is XORed with the same key stream to recover the plaintext.
RC4 consists of two key components:
- Key Scheduling Algorithm (KSA)
- Pseudo Random Generation Algorithm (PRGA)
The Key Scheduling Algorithm
initializes the state table using the WEP key and the initialization vector (IV). The Pseudo Random Generation Algorithm
produces the keystream used for the encryption and decryption process. In the upcoming section, we will delve deeper into the RC4 algorithm, exploring its mechanisms and functionality in greater detail.
WEP Authentication
WEP supports two types of authentication systems: Open
and Shared
. In open authentication, a client does not provide any credentials when connecting to the access point (AP). However, to encrypt and decrypt data frames, the client must have the correct key.
In shared authentication, a challenge text is sent to the client during the authentication process. The client must encrypt this challenge text with the WEP key and send it back to the AP for verification. This process allows the client to prove that it knows the key. Upon receiving the encrypted challenge text, the AP attempts to decrypt it. If the decryption is successful and the decrypted text matches the original challenge text, the client is permitted to associate with the access point.
Below is a step-by-step description of the shared WEP authentication process, which can be visualized in the diagram above:
-
Authentication Request
: The process begins with the client sending an authentication request to the access point. -
Challenge
: The access point responds with a custom authentication response that includes challenge text for the client. -
Challenge Response
: The client then replies with the encrypted challenge, which is encrypted using the WEP key. -
Verification
: The AP decrypts the challenge, and sends back an indication of success or failure.
The use of WEP is less common in modern environments, but can still be encountered in older systems with compatibility issues. As such, WEP attacks are a valuable addition to a wireless pentester's arsenal.
Note: After spawning, please wait 3
-4
minutes before connecting to the target(s).