317 Commits

Author SHA1 Message Date
rofl0r
9bae55bd30 fix logical bug in endianness.h causing big endian breakage
closes #209

since OP didn't deliver `git bisect` results, i did it myself.
2018-03-19 19:53:12 +00:00
ZhaoChunsheng
e13598ae77 add option -U/--utf8 to opt out of ESSID sanitization
if this option is used and the ESSID passes a UTF-8 validity check,
the ESSID will be displayed unmodified. this is potentially dangerous
on terminals not supporting UTF-8 when an attacker embeds terminal
escape sequences.

closes #207
closes #206
closes #205
2018-03-06 02:52:26 +00:00
rofl0r
e9ab13a86e wash: fix usage with pcap sans radiotap header
if there's no radiotap header, there's also no FCS check sum, so don't
try to check it.

closes https://github.com/derv82/wifite2/issues/62
2018-02-27 02:53:03 +00:00
rofl0r
48b138100b wash: disable stdio buffering
closes #201
2018-02-23 17:23:43 +00:00
rofl0r
6833d00ea1 capture_init(): print nicer error msg on pcap failure 2018-02-15 18:24:54 +00:00
rofl0r
144ca37f66 README: update command line usage (--help) 2018-01-31 21:00:39 +00:00
rofl0r
2086c499e0 wash: print copyright header only in help screen 2018-01-31 19:17:29 +00:00
rofl0r
3ff0aa4464 wash: send all output other than AP rows to stderr
having warnings etc printed on the same stream than the raw AP data will
break scripts or tools processing that data.
2018-01-31 19:09:20 +00:00
rofl0r
c983749fa8 remove option -o (--out-file)
output can be written to file using standard shell means:

e.g. wash > file.log
or   wash | tee -a aps.log

having the option out of the way, allows us flexible use of stderr
and stdout, as requirements dictate.
2018-01-31 18:34:00 +00:00
rofl0r
4e4c1ed1b5 Revert "if bad fcs flag is set in radiotap flags, skip validation"
This reverts commit f0b8b1dc862519cd6a68d870134928a4a4b0ce67.

This broke the broken driver on Mac OS X. basically having the driver
signal "bad fcs" means: "do not process, broken!", rather than
"the FCS checksum is bad, so ignore it".
2018-01-31 18:26:36 +00:00
rofl0r
8ba3acbff2 replace gzipped manpage with unzipped one
git is meant to be used with sources, not binary products generated from them.
this makes it possible to actually look at the contents of the
(horribly outdated) manpage.
2018-01-29 14:31:09 +00:00
rofl0r
832df7f8c8 wash: fix getopt short option for --2ghz switch
fixup for bd6e3692481df96bfa80670ef902f30831dc0451
2018-01-29 14:26:02 +00:00
rofl0r
bd6e369248 wash: make it possible to select both 2.4 and 5 ghz band
use -2 and -5 together

closes #192
2018-01-28 18:04:13 +00:00
rofl0r
69b0f5573d version.sh: make it work on MAC too
as usual, MAC OS does things gratuitously different, so their readlink
lacks the -f option. fix stolen from [0].

[0]: https://github.com/yarnpkg/yarn/issues/2511
2018-01-25 19:16:56 +00:00
rofl0r
922843a251 argsparser.c: add missing break
this was overseen in the previous commit
2018-01-24 21:57:02 +00:00
rofl0r
74254238c2 bring back --ignore-fcs options, this time for both reaver and wash
wash historically used -C for the --ignore-fcs option, but reaver uses
that letter already for other purposes. we now reintroduce the option
(removed in 31cd6da1c4ed55163443ea5da923b7fbb3e94f5d under wrong premises[0])
using the letter -F, so both reaver and wash can use the same.
note that reaver in the past did not even have a way to ignore FCS validation.

this fixes issues with the wrong checksum produced by the RTL8812AU
driver from https://github.com/aircrack-ng/rtl8812au .

note this only needed for drivers that are broken (i.e. it won't happen with
any official drivers).

closes #193

[0]: the code doing the FCS validation was buggy and produced false positives.
this caused the terminal to be spammed with warnings.
it was fixed in 1381ee2d9b544cfdcb25a3bc77b9b0242668fe4a
2018-01-24 21:38:08 +00:00
rofl0r
f0b8b1dc86 if bad fcs flag is set in radiotap flags, skip validation
bad fcs flag suggests the driver has a bad checksum, so we should not
return "bad checksum", but just ignore it.
2018-01-24 20:10:21 +00:00
rofl0r
5ab5018683 show a single warning when packets with bad FCS are received
the current RTL8814AU driver has incorrect FCS checksum.
we need some sort of info that wrong FCS was encountered, so print
it only once.
2018-01-24 20:01:52 +00:00
kcdtv
6e08da4ab8
vendor.c: Detect Lantiq/MetaLink chipset
Added vendor OUI 00:09:86 (MetaLink) to detect properly Lantiq WiFi chips such as the "Xwave 300 Lantiq psb8231 11 bgn" from arcadyan ARV7519RW22 (livebox 2.1).
FYI MetaLink was bought by Lantiq in 2010 which explains why they have the same OUI
2018-01-19 19:07:07 +01:00
rofl0r
b51c58ae63 README.md: fix typo 2018-01-18 23:08:46 +00:00
rofl0r
fc328efb03 remove -D/--daemonize command line option
since SQLite support was removed, this option doesn't make any sense
anymore. with sqlite, a user could daemonize (i.e. send to background)
both reaver and wash, and the scan results from wash and an eventually
suceeding pin try from reaver would probably have made its way into the
database (but there didnt exist any way to see those results, without
resorting to the sqlite command line client...).

so without anything to back up the results automatically, losing the
text output of both reaver and wash defeats the entire purpose.
for people wanting to use the programs in the background, it is instead
recommended to use them with a terminal multiplexer such as GNU screen
or tmux, or via a script that redirects output to a file, and then
detaches from the controlling terminal...
2018-01-18 23:03:06 +00:00
rofl0r
1fe655c1f4 Release 1.6.4 v1.6.4 2018-01-18 22:04:55 +00:00
rofl0r
1d1c48c3f7 configure.ac: only use VERSION file when generating configure script 2018-01-18 22:04:18 +00:00
rofl0r
a05c498802 vendor.c: whitespace cleanup 2018-01-18 21:34:49 +00:00
rofl0r
581a990c0b reaver: "fix" name of example monitor interface
even though usage of airmon-ng is not strictly necessary to put the
wlan interface into monitor mode (i personally use macgeiger[0] for that),
its naming convention of the renamed wireless device has changed from
monX to wlanXmon in the past so let's use the updated syntax...

[0]: https://github.com/rofl0r/macgeiger
2018-01-18 21:20:20 +00:00
rofl0r
17f47f8139 80211.c: fix bug in get_next_ie()
the iterator would not stop on the last element and read one element
into uninitialized memory.
2018-01-12 17:06:56 +00:00
rofl0r
7233912243 wash: fix detection of broadcom vendor in netgear routers 2018-01-12 04:50:14 +00:00
rofl0r
1fbdf8d76e config.h is no longer needed
i keep getting reports of people who are not capable of reading README
which states that ./configure must be used, and then get a build error
because they miss config.h.

since 10e76373a85a38b469ef59957a6953f87064a3a0 it is no longer needed
anyway, the only thing we took from config.h was the version numer
passed in the macro PACKAGE_VERSION.
2018-01-06 21:12:10 +00:00
rofl0r
90d183c0a9 Makefile: remove defunct cleanbin target 2018-01-02 17:04:28 +00:00
rofl0r
556e28712c update .gitignore 2018-01-02 17:03:20 +00:00
rofl0r
10e76373a8 print precise build version using musl's version.sh
this will print a version string like:
v1.6.3-git-70-gb330c04

so it's easily visible from pasted output by people which version they
use.
2018-01-02 16:56:35 +00:00
rofl0r
b330c04a3e authenticate(): use stack, not heap 2017-12-28 22:48:18 +00:00
rofl0r
50d2b230b2 main.c: fix pointer to binary name start 2017-12-28 22:24:55 +00:00
rofl0r
c31ddfe6fa print info when we send authentication/association requests 2017-12-28 22:22:57 +00:00
rofl0r
d279b0975d associate: use stack, not heap 2017-12-28 22:19:02 +00:00
rofl0r
b762acf8d3 build_htcaps_parameter(): use stack, not heap 2017-12-28 22:14:16 +00:00
rofl0r
c08ca03f0a build_wps_tagged_parameter(): use stack, not heap 2017-12-28 22:03:16 +00:00
rofl0r
b0f368e8b8 build_supported_rates_tagged_parameter(): use stack, not heap 2017-12-28 21:51:29 +00:00
rofl0r
748a351b27 build_ssid_tagged_parameter(): use stack, not heap 2017-12-28 21:31:20 +00:00
rofl0r
8dac7369fa build_tagged_parameter(): use stack, not heap 2017-12-28 21:11:18 +00:00
rofl0r
539a7560e7 authenticate: use stack, not heap 2017-12-28 20:54:17 +00:00
rofl0r
9b25bbe7e5 build_authentication_management_frame(): use stack, not heap 2017-12-28 20:40:23 +00:00
rofl0r
188d3a457e build_association_management_frame(): use stack, not heap 2017-12-28 20:35:23 +00:00
rofl0r
040233b321 build_llc_header(): use stack, not heap 2017-12-28 20:12:47 +00:00
rofl0r
f642c3c2bc build_dot11_frame_header(): use stack, not heap 2017-12-28 20:01:26 +00:00
rofl0r
608a2bfbc2 build_radio_tap_header(): use stack, not heap 2017-12-28 19:32:18 +00:00
rofl0r
e21dce132a reaver: don't advertise option -6 anymore
the resend logic introduced in 569cc227a624a2ff00002f44d910f385fa73f370
should make it superfluous. i leave the functionality intact for the
time being.
2017-12-28 16:42:15 +00:00
rofl0r
bce970a32c merge reaver and wash into same binary (busybox-style)
both programs use 95% of the same object code, i.e. they're mostly
equivalent. that means merging them into a single binary will save
almost 100% harddisk space.
reaver is now the main binary, while wash is a symlink to it.
main.c inspects argv[0] and then decides which program to run based
on the name the binary was started as.

closes #168
2017-12-28 16:36:43 +00:00
rofl0r
b59027b752 random cleanup
1) make some functions in 80211.c static
2) fix warning about redefinition of IFNAMSIZ
3) remove header inclusion bloat
4) 80211.c: rename u_char to unsigned char
2017-12-28 16:07:09 +00:00
rofl0r
488f2e7186 make authenticate/associate logic subject to resend_last_packet() too 2017-12-28 14:30:55 +00:00