Commit 8c396aac authored by Raphaël Hertzog's avatar Raphaël Hertzog

Imported Upstream version 1.2-0~beta3

parents
language: c
compiler:
- gcc
- clang
install:
- sudo apt-get update
- sudo apt-get install libnl-3-dev libgcrypt11-dev zlib1g-dev libsqlite3-dev libpcap-dev libssl-dev libnl-genl-3-dev
script: make sqlite=true unstable=true && make check sqlite=true unstable=true && make clean && make sqlite=true unstable=true gcrypt=true && make check sqlite=true unstable=true gcrypt=true
Thomas d'Otreppe <tdotreppe@aircrack-ng.org>
\ No newline at end of file
This diff is collapsed.
=== Requirements ===
* OpenSSL development package or libgcrypt development package
* If you want to use airolib-ng and '-r' option in aircrack-ng,
SQLite development package >= 3.3.17 (3.6.X version or better is recommended):
- libsqlite3-devel
* On windows, cygwin has to be used and it also requires w32api and gcc-4 package.
* If you want to use Airpcap, the 'developer' directory from the CD is required.
* Linux: LibNetlink 1 or 3. It can be disabled by setting the flag 'libnl' to false.
See Makefile flags below.
* Linux: pkg-config
=== Compilating ===
* Compilation:
make
* Strip debugging symbols:
make strip
* Installing:
make install
* Uninstall:
make uninstall
==== Makefile flags ====
When compile and installing, the following flags can be used and combined
to compile and install the suite:
* sqlite: needed to compile airolib-ng and add support for airolib-ng
databases in aircrack-ng.
On cygwin: SQLite has to be compiled manually. See next section.
* airpcap: needed for supporting airpcap devices on windows (cygwin only)
REQUIREMENT: Copy 'developers' directory from Airpcap CD one
level below this INSTALLING file
Note: Not working yet.
* unstable: needed to compile tkiptun-ng, easside-ng (and buddy-ng) and
wesside-ng
* ext_scripts: needed to build airoscript-ng, versuck-ng, airgraph-ng and
airdrop-ng.
Note: Experimental. Each script has its own dependences.
Note: It's only required in install phase.
* gcrypt: Use libgcrypt crypto library instead of the default OpenSSL.
And also use internal fast sha1 implementation (borrowed from GIT)
* libnl: Add support for netlink (nl80211). Linux only. Requires libnl1 OR libnl3.
Dependencies (debian):
LibNL 1: libnl-dev
LibNL 3: libnl-3-dev and libnl-genl-3-dev.
* pcre: Add support for regular expression matching for ESSID in airodump-ng.
Dependencies (debian): libpcre3-dev
Example:
* Compiling:
make sqlite=true unstable=true
* Compiling with gcrypt
make gcrypt=true
* Installing:
make sqlite=true unstable=true install
* Installing, with external scripts:
make sqlite=true unstable=true ext_scripts=true
=== Using precompiled binaries ===
Linux/BSD:
* Use your package manager to download aircrack-ng
* In most cases, they have an old version.
Windows:
* Install the appropriate "monitor" driver for your card (standard drivers doesn't work for capturing data).
* aircrack-ng suite is command line tools. So, you have to open a commandline
(Start menu -> Run... -> cmd.exe) then use them
* Run the executables without any parameters to have help
This diff is collapsed.
LICENSE ISSUES
==============
The OpenSSL toolkit stays under a dual license, i.e. both the conditions of
the OpenSSL License and the original SSLeay license apply to the toolkit.
See below for the actual license texts. Actually both licenses are BSD-style
Open Source licenses. In case of any license issues related to OpenSSL
please contact openssl-core@openssl.org.
OpenSSL License
---------------
/* ====================================================================
* Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* openssl-core@openssl.org.
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*
* This product includes cryptographic software written by Eric Young
* (eay@cryptsoft.com). This product includes software written by Tim
* Hudson (tjh@cryptsoft.com).
*
*/
Original SSLeay License
-----------------------
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
*
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
*
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* "This product includes cryptographic software written by
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
* 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
*
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* [including the GNU Public Licence.]
*/
need := 3.81
ok := $(filter $(need),$(firstword $(sort $(MAKE_VERSION) \
$(need))))
ifndef ok
$(error fatal error... Need make $(need) but using $(MAKE_VERSION), please upgrade)
endif
AC_ROOT = .
include $(AC_ROOT)/common.mak
DOCFILES = ChangeLog INSTALLING README LICENSE AUTHORS VERSION
COVERITY_BUILD ?= cov-build
COVERITY_DIR = cov-int
COVERITY_TAR_GZ = Aircrack-ng.tar.gz
COVERITY_CREDS_DIR = coverity
COVERITY_TOKEN = $(shell cat ${COVERITY_CREDS_DIR}/token)
COVERITY_EMAIL = $(shell cat ${COVERITY_CREDS_DIR}/email)
default: all
all:
$(MAKE) -C src $(@)
coverity-build:
$(COVERITY_BUILD) --dir $(COVERITY_DIR) $(MAKE) sqlite=true unstable=true libnl=true
coverity-package: coverity-build
tar czvf $(COVERITY_TAR_GZ) $(COVERITY_DIR)
coverity-upload: coverity-package
curl --form project=Aircrack-ng --form token=$(COVERITY_TOKEN) --form email=$(COVERITY_EMAIL) --form file=@$(COVERITY_TAR_GZ) --form version=r$(REVISION) --form description="Aircrack-ng svn r$(REVISION)" http://scan5.coverity.com/cgi-bin/upload.py
coverity-show-creds:
@echo "Token: $(COVERITY_TOKEN)"
@echo "Email: $(COVERITY_EMAIL)"
aircrack-ng-opt-prof_gen: all
mkdir -p prof
$(MAKE) -C src $(@)
aircrack-ng-opt-prof_use:
$(MAKE) -C src $(@)
install: all
$(MAKE) -C src $(@)
$(MAKE) -C scripts $(@)
$(MAKE) -C manpages $(@)
@echo " "
@echo "[*] Run 'airodump-ng-oui-update' as root (or with sudo) to install or update Airodump-ng OUI file (Internet connection required)."
uninstall:
$(MAKE) -C src $(@)
-rm -fr $(DESTDIR)$(docdir)
$(MAKE) -C manpages $(@)
$(MAKE) -C scripts $(@)
strip:
$(MAKE) -C src $(@)
doc:
install -d $(DESTDIR)$(docdir)
install -m 644 $(DOCFILES) $(DESTDIR)$(docdir)
clean:
-rm -rf $(COVERITY_DIR)
$(MAKE) -C src $(@)
$(MAKE) -C test/cryptounittest $(@)
distclean: clean
check:
$(MAKE) -C src $(@)
$(MAKE) -C test/cryptounittest $(@)
Documentation, tutorials, ... can be found on http://www.aircrack-ng.org
See also manpages and the forum.
Installing
==========
This version now requires more libraries than 0.X versions to be compiled.
See INSTALLING file for more information
OpenWrt Devices
===============
You can use airodump-ng on OpenWrt devices. You'll have to use specify
prism0 as interface. Airodump-ng will automatically create it.
Rq: Aireplay DOESN'T work on OpenWrt (2.4 kernel) with broadcom chipset since the driver doesn't support injection. It *may* work with 2.6 kernels >= 2.6.24 (kamikaze 8.09+ custom-built).
Known bugs:
===========
Drivers
-------
Madwifi-ng
----------
The cause of most of these problems (1, 2 and 3) is that Madwifi-ng cannot easily change the rate in monitor mode.
Technically, when changing rate while in monitor mode, the raw socket gets invalidated and we have to get it again.
Madwifi-ng is getting replaced by several drivers: ath5k, ath9k and ar9170.
Problem 1: No client can associate to an airbase soft AP.
Solution 1: None at this time.
Problem 2: When changing rate while you are capturing packet makes airodump-ng stall
Solution 2: Restart airodump-ng or change rate before starting it.
Problem 3: After some time it stops capturing packets and you're really sure no network manager are running at all.
Solution 3: That's a known bug in the driver, it may happen at any time (the time before it fails can vary a lot:
from 5 minutes to 50 or even more). Try (as root) unloading completely the driver with 'madwifi-unload'
and then run 'modprobe ath_pci autocreate=monitor'.
Problem 4: When creating a new VAP airodump-ng takes up to 10-15 seconds to see the first packet
Solution 4: It's the behaviour of madwifi-ng, don't worry (... be happy ;)).
Orinoco
-------
Problem: BSSID is not reported correctly or is 00:00:00:00:00:00 or signal is not reported correctly.
Solution: None. Consider replacing your card, orinoco is really really old.
Aircrack-ng
-----------
Aireplay-ng
-----------
Problem: Fakeauth on a WRT54G with WEP (shared authentication) doesn't work.
Solution: None at this time (we'll try to fix it for next release).
Airolib-ng
----------
Problem: On windows only, opening/creating a database doesn't work when airolib-ng is in directories containing
special characters like 'ç', 'é', 'è', 'à', ... (directories containing spaces are not affected).
Reason: It's a SQLite issue.
Solution: Rename the directory or move the database into another directory.
Airodump-ng
-----------
Problem: Airodump-ng stop working after some time.
Solution 1: You may have a network manager running that puts back the card in managed mode.
You'll have to disable it (the fastest solution is killing the process) then restart airodump-ng.
Solution 2: See Problem 3 of Madwifi-ng.
Problem: On windows, it doesn't display a list of adapters like the old 0.X
Solution: It requires you to develop your own DLL.
Cygwin
------
Problem: Aircrack-ng doesn't build on Cygwin64
Solution: None at this time. Build it using 32 bit cygwin.
Sample files
============
wep.open.system.authentication.cap:
It show a connexion (authentication then association) to a WEP network (open authentication).
wep.shared.key.authentication.cap:
It shows a connexion (authentication then association to a WEP network (shared authentication).
The difference with open authentication is that the client has to encrypt a challenge text
and send it back (encrypted) to the AP to prove it has the right key.
wpa.cap:
This is a sample file with a WPA handshake. It is located in the test/ directory of the install files.
The passphrase is 'biscotte'. Use the password file (password.lst) which is in the same directory.
wpa2.eapol.cap:
This is a sample file with a WPA2 handshake.
It is located in the test/ directory of the install files.
The passphrase is '12345678'. Use the password file (password.lst) which is in the same directory.
test.ivs (http://download.aircrack-ng.org/wiki-files/other/test.ivs):
This is a 128 bit WEP key file.
The key is AE:5B:7F:3A:03:D0:AF:9B:F6:8D:A5:E2:C7.
ptw.cap (http://dl.aircrack-ng.org/ptw.cap):
This is a 64 bit WEP key file suitable for the PTW method.
The key is '1F:1F:1F:1F:1F'.
wpa-psk-linksys.cap:
This is a sample file with a WPA1 handshake along with some encrypted packets.
Useful for testing with airdecap-ng. The password is 'dictionary'.
wpa2-psk-linksys.cap:
This is a sample file with a WPA2 handshake along with some encrypted packets.
Useful for testing with airdecap-ng. The password is 'dictionary'.
password.lst
This is a sample wordlist for WPA key cracking. More wordlists can be found at
http://www.aircrack-ng.org/doku.php?id=faq#where_can_i_find_good_wordlists
password.db
This is a sample airolib-ng database for WPA key cracking.
# Aircrack-ng
Aircrack-ng is an 802.11 WEP and WPA-PSK keys cracking program that can recover
keys once enough data packets have been captured. It implements the standard FMS
attack along with some optimizations like KoreK attacks, as well as the
all-new PTW attack, thus making the attack much faster compared to other WEP
cracking tools.
It can attack WPA1/2 networks with some advanced methods or simply by brute force.
It can also fully use a multiprocessor system to its full power in order
to speed up the cracking process.
[![Build Status](https://api.travis-ci.org/aircrack-ng/aircrack-ng.png)](https://travis-ci.org/aircrack-ng/aircrack-ng)
# Building
## Requirements
* OpenSSL development package or libgcrypt development package
* If you want to use `airolib-ng` and `-r` option in aircrack-ng,
SQLite development package `>= 3.3.17` (3.6.X version or better is recommended):
`libsqlite3-devel`
* On windows, cygwin has to be used and it also requires w32api and gcc-4 package.
* If you want to use Airpcap, the 'developer' directory from the CD is required.
## Compilating
* Compilation:
`make`
* Strip debugging symbols:
`make strip`
* Installing:
`make install`
* Uninstall:
`make uninstall`
### Makefile flags
When compile and installing, the following flags can be used and combined
to compile and install the suite:
* **sqlite**: needed to compile `airolib-ng` and add support for `airolib-ng`
databases in aircrack-ng.
On cygwin: SQLite has to be compiled manually. See next section.
* **airpcap**: needed for supporting airpcap devices on windows (cygwin only)
REQUIREMENT: Copy 'developers' directory from Airpcap CD one
level below this INSTALLING file
Note: Not working yet.
* **unstable**: needed to compile `tkiptun-ng`, `easside-ng` (and `buddy-ng`) and
`wesside-ng`
* **ext_scripts**: needed to build `airoscript-ng`, `versuck-ng`, `airgraph-ng` and
`airdrop-ng`.
Note: Experimental. Each script has its own dependences.
Note: It's only required in install phase.
* **gcrypt**: Use libgcrypt crypto library instead of the default OpenSSL.
And also use internal fast sha1 implementation (borrowed from GIT)
* **libnl**: Add support for netlink (nl80211). Linux only.
- Requires `libnl1` OR `libnl3`.
- Dependencies (debian):
+ LibNL 1: `libnl-dev`
+ LibNL 3: `libnl-3-dev` and `libnl-genl-3-dev`.
#### Examples:
* Compiling with sqlite and enabling unstable:
`make sqlite=true unstable=true`
* Installing:
`make sqlite=true unstable=true install`
* Installing, with external scripts:
`make sqlite=true unstable=true ext_scripts=true`
* Compiling with gcrypt:
`make gcrypt=true`
# Using precompiled binaries
Linux/BSD:
* Use your package manager to download aircrack-ng
* In most cases, they have an old version.
Windows:
* Install the appropriate "monitor" driver for your card (standard drivers doesn't work for capturing data).
* aircrack-ng suite is command line tools. So, you have to open a commandline
`Start menu -> Run... -> cmd.exe` then use them