{"id":115,"date":"2010-05-18T09:24:24","date_gmt":"2010-05-18T15:24:24","guid":{"rendered":"http:\/\/www.foofus.net\/?page_id=115"},"modified":"2010-05-18T09:24:24","modified_gmt":"2010-05-18T15:24:24","slug":"wireless","status":"publish","type":"page","link":"http:\/\/h.foofus.net\/?page_id=115","title":{"rendered":"Wireless"},"content":{"rendered":"<h2>&#8220;Karma&#8221; PEAP-based Access Point<\/h2>\n<p>I stumbled upon the <a title=\"FreeRADIUS-WPE\" href=\"http:\/\/www.willhackforsushi.com\/?page_id=37\">FreeRADIUS-WPE<\/a> patch a while back. I&#8217;m a big fan of capturing challenge\/response handshakes and trying to crack them, so that someone applied this to wireless was very interesting to me. I played with it for a bit and then decided it needed to be extended to a Karma-style answer any and all probes role. I initially looked at combining an airbase-ng setup with FreeRADIUS-WPE, but that didn&#8217;t go anywhere. In the end, I simply hacked <a title=\"hostapd\" href=\"http:\/\/hostap.epitest.fi\/hostapd\/\">hostapd<\/a>. I&#8217;ve also provided the fine John folks a patch for MSCHAPv2 bruting, which you can find in their Jumbo patches. Here ya go:<\/p>\n<p>HostAPd w\/ Karma-Style Fun<\/p>\n<ul>\n<li>Respond to any probe request (-R option)<\/li>\n<li>Accept and log all PEAP\/MSCHAPv2 auth attempts (-A option)<\/li>\n<\/ul>\n<p><a title=\"HostAP Karma Patch\" href=\"http:\/\/www.foofus.net\/jmk\/tools\/hostapd-0.6.9-karma.diff\">HostAP Karma Patch (0.6.9)<\/a><br \/>\n<a href=\"http:\/\/www.foofus.net\/~jmk\/tools\/hostap_0_7_2-775-g9fc6aa9-karma.diff\">HostAP Karma Patch (hostap_0_7_2-775-g9fc6aa9)<\/a><br \/>\n<a title=\"HostAP Karma Patch\" href=\"http:\/\/www.foofus.net\/jmk\/tools\/hostapd-1.0-karma.diff\">HostAP Karma Patch (1.0)<\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>EAP Brute-Force Logon Script<\/h2>\n<p>The eaper.py script utilizes the wpa_supplicant daemon to perform (very slow) brute-force logons of LEAP\/EAP-PEAP networks. This means that\u00a0wpa_supplicant should be running prior to executing eaper.py. If\u00a0the daemon is not auto-started by your operating system, the\u00a0following should suffice:<\/p>\n<p>% sudo wpa_supplicant -iwlan0 -c .\/wpa_supplicant.conf<\/p>\n<p>The following example will test each user listed in &#8220;users.txt&#8221;\u00a0with the passwords listed in &#8220;pass.txt&#8221; and a password matching\u00a0the respective username.<\/p>\n<p>% .\/eaper.py -s some_ssid -U users.txt -P pass.txt -e<\/p>\n<p>The following example will test username\/password combinations\u00a0found in &#8220;combo.txt&#8221;. The format of the file is username:password.<\/p>\n<p>% .\/eaper.py -s some_ssid -c combo.txt<\/p>\n<p>It&#8217;s important to note that when wpa_supplicant successfully\u00a0connects, it generates valid keys for the network. These keys\u00a0are used on subsequent logon attempts and username\/password\u00a0attempts are not really performed, potentially resulting in\u00a0false positives. If you want to continue testing after finding\u00a0a valid credential pair, restart wpa_supplicant.<\/p>\n<p><a title=\"eaper.py\" href=\"http:\/\/www.foofus.net\/jmk\/tools\/eaper.py\">eaper.py<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;Karma&#8221; PEAP-based Access Point I stumbled upon the FreeRADIUS-WPE patch a while back. I&#8217;m a big fan of capturing challenge\/response handshakes and trying to crack them, so that someone applied this to wireless was very interesting to me. I played with it for a bit and then decided it needed to be extended to a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":227,"menu_order":10,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-115","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/h.foofus.net\/index.php?rest_route=\/wp\/v2\/pages\/115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/h.foofus.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/h.foofus.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/h.foofus.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/h.foofus.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=115"}],"version-history":[{"count":0,"href":"http:\/\/h.foofus.net\/index.php?rest_route=\/wp\/v2\/pages\/115\/revisions"}],"up":[{"embeddable":true,"href":"http:\/\/h.foofus.net\/index.php?rest_route=\/wp\/v2\/pages\/227"}],"wp:attachment":[{"href":"http:\/\/h.foofus.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}