![]() |
Yarilo
v0.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 |
| 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
| 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"