{"id":16842554,"url":"https://github.com/rofl0r/wpakey","last_synced_at":"2025-07-26T10:39:08.662Z","repository":{"id":138312047,"uuid":"121690369","full_name":"rofl0r/wpakey","owner":"rofl0r","description":"monitor mode wpa/wpa2 password bruteforcer","archived":false,"fork":false,"pushed_at":"2019-11-01T00:34:59.000Z","size":35,"stargazers_count":17,"open_issues_count":1,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-11T05:52:10.830Z","etag":null,"topics":["brute-force","monitor","online","password","wpa","wpa2"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rofl0r.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-15T22:25:35.000Z","updated_at":"2024-01-18T06:01:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"7b3f08a1-5dd5-4084-a5cb-00222e63a9c9","html_url":"https://github.com/rofl0r/wpakey","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rofl0r/wpakey","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2Fwpakey","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2Fwpakey/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2Fwpakey/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2Fwpakey/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rofl0r","download_url":"https://codeload.github.com/rofl0r/wpakey/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2Fwpakey/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267150481,"owners_count":24043473,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["brute-force","monitor","online","password","wpa","wpa2"],"created_at":"2024-10-13T12:46:38.419Z","updated_at":"2025-07-26T10:39:08.632Z","avatar_url":"https://github.com/rofl0r.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# wpakey (1H)                 WIFI hacker's manual                  wpakey (1H)\n\n## NAME\n\nwpakey - monitor mode WPA1/WPA2 online password bruteforcer\n\n## SYNOPSIS\n\n    cat password.lst | wpakey -i wlan0 -b bssid -t timeout -a -f\n\n## DESCRIPTION\n\nreads password candidates from stdin and tries to connect to the specified AP.\nthe wifi apapter needs to be in **monitor mode** and on the right channel\nalready.\n\npassword candidates with length \u003e 64 and \u003c 8 will be ignored.\n\nnote that some access points (most notably *hostapd*) insist on getting ACK\nresponses on every single unicast packet. due to tight timeout constraints,\nit is not possible to generate this ACK in due time in software, so the AP will\nnot send EAPOL packet M1 after the association response, or if it sends it, will\nnot accept our M2 packet without an ACK for M1, which makes it impossible to\ndistinguish whether the password is correct, or the router bitchy.\n\nthe only fix for this issue is the so-called \"active monitor\" mode.\ncurrently, this feature can only be activated on *ath9k* and *mt7601u* drivers\nusing `iw dev wlan1 set monitor active`. `iw list` or `iw phyX show` can\ntell you whether the feature is implemented, it will print\n`Device supports active monitor (which will ACK incoming frames)` if supported.\nnote that even though this feature cannot be actively activated on *ath9k_htc*\ndevices, some or all of them have this behaviour turned on by default, so\nit may well be that other devices behave the same.\n\ntherefore, it is highly recommend to use an adapter with one of the mentioned\nchipsets for a reliable result.\n\non the bright side, if we can get the targetted AP to send M1 (regardless of\nwhether the password we send during M2 is correct), we can retrieve\nits PMKID (if it sends one) and crack it with john the ripper instead.\n\n## RETURN VALUE\n\nif the correct password is found, it will be displayed on stdin and the\nprogram will exit with status 0.\nif the correct password is not found, exits with status 1.\n\n## ERRORS\n\nNo errors are defined.\nThe following sections are informative.\n\n## RATIONALE\n\nit is possible to test password candidates online using a patched version\nof wpa_supplicant (see KEEP/wpa_supplicant-cracker.patch and\nKEEP/wpacracker in sabotage-linux repo), however it is very slow, and it\nis annoying to switch from monitor mode to managed mode during pentesting.\n\n## FUTURE DIRECTIONS\n\ncurrently only WPA1/2 in AES CCMP mode is supported. support for TKIP,\nWEP and other ciphers may be added in the future.\n\n## COPYRIGHT\n(C) 2018 rofl0r\n\nthe crypto code in `crypto/`, `wsupp_crypto.c` and the function `pmk_to_ptk()`\nwere taken from https://github.com/arsv/wsupp-libc which is licensed under the\nGPLv3.\n\ndue to the viral nature of the GPL, this project is currently licensed under\nthe GPLv3.\n\n## THANKS\nthanks to arsv for well commented, concise code.\nthanks to dragorn, Mister_X, Zero_Chaos for giving valuable tips.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frofl0r%2Fwpakey","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frofl0r%2Fwpakey","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frofl0r%2Fwpakey/lists"}