From e7f327344b6c3cc7ed3dd2a8b85fe5b6c6d7804c Mon Sep 17 00:00:00 2001 From: "Jonathan R. Echavarria" Date: Fri, 12 Feb 2016 13:51:17 -0500 Subject: [PATCH 1/4] modified for new version of tshark --- wifite.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/wifite.py b/wifite.py index 3fb72e8..dbcd04e 100755 --- a/wifite.py +++ b/wifite.py @@ -2021,6 +2021,7 @@ def get_essid_from_cap(bssid, capfile): cmd = ['tshark', '-r', capfile, '-R', 'wlan.fc.type_subtype == 0x05 && wlan.sa == %s' % bssid, + '-2', '-n'] proc = Popen(cmd, stdout=PIPE, stderr=DN) proc.wait() @@ -2048,6 +2049,7 @@ def get_bssid_from_cap(essid, capfile): cmd = ['tshark', '-r', capfile, '-R', 'wlan_mgt.ssid == "%s" && wlan.fc.type_subtype == 0x05' % (essid), + '-2', '-n', # Do not resolve MAC vendor names '-T', 'fields', # Only display certain fields '-e', 'wlan.sa'] # souce MAC address @@ -2059,6 +2061,7 @@ def get_bssid_from_cap(essid, capfile): cmd = ['tshark', '-r', capfile, '-R', 'eapol', + '-2', '-n'] proc = Popen(cmd, stdout=PIPE, stderr=DN) proc.wait() @@ -2255,6 +2258,15 @@ def wpa_get_handshake(self): if not os.path.exists(self.RUN_CONFIG.temp + 'wpa-01.cap'): continue copy(self.RUN_CONFIG.temp + 'wpa-01.cap', self.RUN_CONFIG.temp + 'wpa-01.cap.temp') + # Spawn pcap fix, fix wpa-01.cap.temp, rewrite fixed pcap to original location + if program_exists('pcapfix'): + cmd = ['pcapfix', self.RUN_CONFIG.temp + 'wpa-01.cap.temp'] # Run pcapfix on temp pcap + proc = subprocess.Popen(cmd, stdout=DN, stderr=DN) + proc.wait() + # Rename fixed pcap file only if it exists + if os.path.isfile(self.RUN_CONFIG.temp + 'fixed_wpa-01.cap.temp'): + rename(self.RUN_CONFIG.temp + 'fixed_wpa-01.cap.temp', self.RUN_CONFIG.temp + 'wpa-01.cap.temp') + # Save copy of cap file (for debugging) #remove_file('/root/new/wpa-01.cap') #copy(temp + 'wpa-01.cap', '/root/new/wpa-01.cap') @@ -2341,6 +2353,7 @@ def has_handshake_tshark(self, target, capfile): cmd = ['tshark', '-r', capfile, # Input file '-R', 'eapol', # Filter (only EAPOL packets) + '-2', '-n'] # Do not resolve names (MAC vendors) proc = Popen(cmd, stdout=PIPE, stderr=DN) proc.wait() @@ -2541,6 +2554,7 @@ def strip_handshake(self, capfile): cmd = ['tshark', '-r', capfile, # input file '-R', 'eapol || wlan_mgt.tag.interpretation', # filter + '-2', '-w', capfile + '.temp'] # output file proc_strip = call(cmd, stdout=DN, stderr=DN) From a94f269e95d1a77913958dd40ae304858536956f Mon Sep 17 00:00:00 2001 From: "Jonathan R. Echavarria" Date: Fri, 12 Feb 2016 15:16:57 -0500 Subject: [PATCH 2/4] added pcapfix for wpa2 handshakes --- wifite.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wifite.py b/wifite.py index dbcd04e..4106aa0 100755 --- a/wifite.py +++ b/wifite.py @@ -2261,7 +2261,7 @@ def wpa_get_handshake(self): # Spawn pcap fix, fix wpa-01.cap.temp, rewrite fixed pcap to original location if program_exists('pcapfix'): cmd = ['pcapfix', self.RUN_CONFIG.temp + 'wpa-01.cap.temp'] # Run pcapfix on temp pcap - proc = subprocess.Popen(cmd, stdout=DN, stderr=DN) + proc = Popen(cmd, stdout=DN, stderr=DN) proc.wait() # Rename fixed pcap file only if it exists if os.path.isfile(self.RUN_CONFIG.temp + 'fixed_wpa-01.cap.temp'): From ab92c2822456517f1c398d020358cd3e45bf8982 Mon Sep 17 00:00:00 2001 From: "Jonathan R. Echavarria" Date: Fri, 12 Feb 2016 15:43:13 -0500 Subject: [PATCH 3/4] made pcapfix a requirement --- wifite.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wifite.py b/wifite.py index 4106aa0..0caf847 100755 --- a/wifite.py +++ b/wifite.py @@ -869,7 +869,7 @@ def initial_check(self): print R + ' [!]' + O + ' please re-install reaver or install walsh/wash separately' + W # Check handshake-checking apps - recs = ['tshark', 'pyrit', 'cowpatty'] + recs = ['tshark', 'pyrit', 'cowpatty', 'pcapfix'] for rec in recs: if program_exists(rec): continue printed = True From 65dda8f790a24dd170eb4f51bba1300b16ee2bad Mon Sep 17 00:00:00 2001 From: Jonathan Echavarria Date: Fri, 12 Feb 2016 16:30:54 -0500 Subject: [PATCH 4/4] Fixed minor typo in comments --- wifite.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/wifite.py b/wifite.py index 0caf847..5f8997e 100755 --- a/wifite.py +++ b/wifite.py @@ -2258,11 +2258,11 @@ def wpa_get_handshake(self): if not os.path.exists(self.RUN_CONFIG.temp + 'wpa-01.cap'): continue copy(self.RUN_CONFIG.temp + 'wpa-01.cap', self.RUN_CONFIG.temp + 'wpa-01.cap.temp') - # Spawn pcap fix, fix wpa-01.cap.temp, rewrite fixed pcap to original location + # Spawn pcapfix, if broken, fix wpa-01.cap.temp, rewrite fixed pcap to original location if program_exists('pcapfix'): - cmd = ['pcapfix', self.RUN_CONFIG.temp + 'wpa-01.cap.temp'] # Run pcapfix on temp pcap + cmd = ['pcapfix', self.RUN_CONFIG.temp + 'wpa-01.cap.temp'] proc = Popen(cmd, stdout=DN, stderr=DN) - proc.wait() + proc.wait() # wait until pcapfix is complete # Rename fixed pcap file only if it exists if os.path.isfile(self.RUN_CONFIG.temp + 'fixed_wpa-01.cap.temp'): rename(self.RUN_CONFIG.temp + 'fixed_wpa-01.cap.temp', self.RUN_CONFIG.temp + 'wpa-01.cap.temp')