Yarilo v0.9.9
WPA2 Decrypter & Packet Analyzer
|
Decrypts unicast, multicast and broadcast WPA2 packets. More...
#include <decrypter.h>
Classes | |
struct | client_window |
Represents a client window for tracking packet data within an encryption window. This window is defined as the state between successful 4-way handshakes between the supplicant (client) and the authenticator. More... | |
struct | group_window |
Represents a group window for tracking multicast packet data. This window is defined as the state between successful group key rotations. More... | |
Public Types | |
typedef std::vector< uint8_t > | ptk_type |
typedef std::vector< uint8_t > | gtk_type |
Public Member Functions | |
WPA2Decrypter (const MACAddress &bssid, const SSID &ssid) | |
bool | decrypt (Tins::Packet *pkt) |
bool | can_generate_keys () const |
void | add_password (const std::string &psk) |
bool | has_working_password () const |
std::optional< std::string > | get_password () const |
std::set< MACAddress > | get_clients () const |
std::optional< client_window > | get_current_client_window (const MACAddress &client) |
std::optional< std::vector< client_window > > | get_all_client_windows (const MACAddress &client) |
group_window | get_current_group_window () const |
std::vector< group_window > | get_all_group_windows () const |
uint32_t | count_all_group_windows () const |
std::optional< std::string > | extract_hc22000 (const client_window &client) |
Static Public Member Functions | |
static std::string | readable_hex (const std::vector< uint8_t > &vec) |
Decrypts unicast, multicast and broadcast WPA2 packets.
typedef std::vector<uint8_t> yarilo::WPA2Decrypter::gtk_type |
typedef std::vector<uint8_t> yarilo::WPA2Decrypter::ptk_type |
yarilo::WPA2Decrypter::WPA2Decrypter | ( | const MACAddress & | bssid, |
const SSID & | ssid ) |
Constructor for WPA2Decrypter
[in] | bssid | The MAC address of the access point |
[in] | ssid | The SSID of the network |
void yarilo::WPA2Decrypter::add_password | ( | const std::string & | psk | ) |
Adds a password for decryption
[in] | psk | The password (pre-shared key) to add |
bool yarilo::WPA2Decrypter::can_generate_keys | ( | ) | const |
Checks if the decrypter is ready to generate
uint32_t yarilo::WPA2Decrypter::count_all_group_windows | ( | ) | const |
bool yarilo::WPA2Decrypter::decrypt | ( | Tins::Packet * | pkt | ) |
Decrypts the given packet
[in] | pkt | Pointer to the packet to decrypt |
std::optional< std::string > yarilo::WPA2Decrypter::extract_hc22000 | ( | const client_window & | client | ) |
Extracts information needed for cracking the PSK of a WPA2 network for use with hashcat mode 22000
[in] | window | The client window for which to extract data |
std::optional< std::vector< client_window > > yarilo::WPA2Decrypter::get_all_client_windows | ( | const MACAddress & | client | ) |
Retrieves all client windows for the specified client
[in] | client | The MAC address of the client |
std::vector< group_window > yarilo::WPA2Decrypter::get_all_group_windows | ( | ) | const |
Retrieves all group windows
std::set< MACAddress > yarilo::WPA2Decrypter::get_clients | ( | ) | const |
Retrieves the set of clients connected to the network
std::optional< client_window > yarilo::WPA2Decrypter::get_current_client_window | ( | const MACAddress & | client | ) |
Retrieves the current client window for the specified client
[in] | client | The MAC address of the client |
group_window yarilo::WPA2Decrypter::get_current_group_window | ( | ) | const |
Retrieves the current group window
std::optional< std::string > yarilo::WPA2Decrypter::get_password | ( | ) | const |
Retrieves the current password if available
bool yarilo::WPA2Decrypter::has_working_password | ( | ) | const |
Checks if a working password has been set
|
static |
Makes a byte vector a pretty string like 0x03 0x02 0x01 to "030201"