
Komplette Suite für das Sicherheitsaudit von WiFi-Netzwerken, einschließlich Paketerfassung, Injektionsangriffen, Deauthentifizierung, Erstellung gefälschter APs und WEP/WPA PSK-Knacken über Befehlszeilenwerkzeuge.
Aircrack-ng ist eine vollständige Suite von Werkzeugen zur Bewertung der Sicherheit von WiFi-Netzwerken.
Sie konzentriert sich auf verschiedene Bereiche der WiFi-Sicherheit:
Alle Werkzeuge sind kommandozeilenbasiert, was umfangreiche Skripterstellung ermöglicht. Viele GUIs haben diese Funktion genutzt. Es funktioniert hauptsächlich unter Linux, aber auch unter Windows, macOS, FreeBSD, OpenBSD, NetBSD, sowie Solaris und sogar eComStation 2.
Hinweis: Airmon-ng benötigt pciutils nur, wenn das System einen PCI/PCIe-Bus hat und dieser bestückt ist. Ein solcher Bus kann auch vorhanden sein, wenn er nicht physisch sichtbar ist. Zum Beispiel ist er auf dem Raspberry Pi 4 vorhanden und bestückt, daher wird pciutils auf diesem Gerät benötigt.
besside-ng, besside-ng-crawler, easside-ng, tkiptun-ng und wesside-ng zu bauen,
wird das libpcap-Entwicklungspaket benötigt (auf Cygwin stattdessen das Airpcap-SDK verwenden; siehe oben).Im Folgenden finden Sie Anweisungen zur Installation der grundlegenden Anforderungen zum Bauen
von aircrack-ng für eine Reihe von Betriebssystemen.
Hinweis: CMocka, tcpdump, screen, HostAPd und WPA Supplicant sollten beim Paketieren von Aircrack-ng keine Abhängigkeiten sein.
sudo pacman -Sy base-devel libnl openssl ethtool util-linux zlib libpcap sqlite pcre2 hwloc cmocka hostapd wpa_supplicant tcpdump screen iw usbutils pciutils expect
sudo apt-get install build-essential autoconf automake libtool pkg-config libnl-3-dev libnl-genl-3-dev libssl-dev ethtool shtool rfkill zlib1g-dev libpcap-dev libsqlite3-dev libpcre2-dev libhwloc-dev libcmocka-dev hostapd wpasupplicant tcpdump screen iw usbutils expect
sudo yum install libtool pkgconfig sqlite-devel autoconf automake openssl-devel libpcap-devel pcre2-devel rfkill libnl3-devel gcc gcc-c++ ethtool hwloc-devel libcmocka-devel make file expect hostapd wpa_supplicant iw usbutils tcpdump screen zlib-devel expect
sudo yum install epel-release
sudo ./centos_autotools.sh
# Remove older installation of automake/autoconf
sudo yum remove autoconf automake
sudo yum install sqlite-devel openssl-devel libpcap-devel pcre2-devel rfkill libnl3-devel ethtool hwloc-devel libcmocka-devel make file expect hostapd wpa_supplicant iw usbutils tcpdump screen zlib-devel
Hinweis: autoconf, automake, libtool und pkgconfig in den Repositories sind zu alt. Das Skript centos_autotools.sh installiert automatisch Abhängigkeiten, um die Werkzeuge zu kompilieren und dann zu installieren.
sudo yum config-manager --set-enabled powertools
sudo yum install epel-release
sudo yum install libtool pkgconfig sqlite-devel autoconf automake openssl-devel libpcap-devel pcre2-devel rfkill libnl3-devel gcc gcc-c++ ethtool hwloc-devel libcmocka-devel make file expect hostapd wpa_supplicant iw usbutils tcpdump screen zlib-devel
sudo zypper install autoconf automake libtool pkg-config libnl3-devel libopenssl-1_1-devel zlib-devel libpcap-devel sqlite3-devel pcre2-devel hwloc-devel libcmocka-devel hostapd wpa_supplicant tcpdump screen iw gcc-c++ gcc ethtool pciutils usbutils expect
sudo urpmi autoconf automake libtool pkgconfig libnl3-devel libopenssl-devel zlib-devel libpcap-devel sqlite3-devel pcre2-devel hwloc-devel libcmocka-devel hostapd wpa_supplicant tcpdump screen iw gcc-c++ gcc make expect
sudo apk add gcc g++ make autoconf automake libtool libnl3-dev openssl-dev ethtool libpcap-dev cmocka-dev hostapd wpa_supplicant tcpdump screen iw pkgconf util-linux sqlite-dev pcre2-dev linux-headers zlib-dev pciutils usbutils expect
Hinweis: Das Community-Repository muss für iw aktiviert sein
sudo swupd bundle-add c-basic devpkg-openssl devpkg-libgcrypt devpkg-libnl devpkg-hwloc devpkg-libpcap devpkg-pcre2 devpkg-sqlite-autoconf ethtool wget network-basic software-testing sysadmin-basic wpa_supplicant os-testsuite
Hinweis: hostapd muss manuell kompiliert werden, es ist nicht im Repository vorhanden
pkg install pkgconf shtool libtool gcc9 automake autoconf pcre2 sqlite3 openssl gmake hwloc cmocka
pkg install pkgconf shtool libtool gcc8 automake autoconf pcre2 sqlite3 libgcrypt gmake cmocka
pkg_add pkgconf shtool libtool gcc automake autoconf pcre2 sqlite3 openssl gmake cmocka
pkg_add pkgconf libtool gcc7 automake autoconf pcre2 sqlite3 openssl gmake cmocka
XCode, Xcode-Befehlszeilentools und HomeBrew sind erforderlich.
brew install autoconf automake libtool openssl shtool pkg-config hwloc pcre2 sqlite3 libpcap cmocka
Cygwin benötigt den vollständigen Pfad zum Dienstprogramm setup.exe, um die
Installation der erforderlichen Pakete zu automatisieren. Darüber hinaus wird
der Speicherort Ihrer Installation, ein Pfad zum Cache-Verzeichnis für heruntergeladene
Pakete und eine Mirror-URL benötigt.
Ein Beispiel für die automatische Installation aller Abhängigkeiten ist wie folgt:
c:\cygwin\setup-x86.exe -qnNdO -R C:/cygwin -s http://cygwin.mirror.constant.com -l C:/cygwin/var/cache/setup -P autoconf -P automake -P bison -P gcc-core -P gcc-g++ -P mingw-runtime -P mingw-binutils -P mingw-gcc-core -P mingw-gcc-g++ -P mingw-pthreads -P mingw-w32api -P libtool -P make -P python -P gettext-devel -P gettext -P intltool -P libiconv -P pkg-config -P git -P wget -P curl -P libpcre2-devel -P libssl-devel -P libsqlite3-devel
pacman -Sy autoconf automake-wrapper libtool msys2-w32api-headers msys2-w32api-runtime gcc pkg-config git python openssl-devel openssl libopenssl msys2-runtime-devel gcc binutils make pcre2-devel libsqlite-devel
apt-get install build-essential autoconf automake libtool pkg-config libssl-dev shtool zlib1g-dev libpcap-dev libsqlite3-dev libpcre2-dev libhwloc-dev libcmocka-dev screen expect libbsd-dev
Wir haben zwei Repositories auf DockerHub:
Basisbefehl für die git-Version:
sudo docker run --rm -it aircrackng/git
Verfügbare Plattformen/CPU-Architekturen:
Zum Bauen von aircrack-ng wird das Autotools-Buildsystem verwendet. Autotools ersetzt die ältere Kompilierungsmethode.
HINWEIS: Wenn Sie eine Entwicklerversion verwenden, z.B. eine aus der Versionsverwaltung ausgecheckte, müssen Sie ein Skript vor configure ausführen. Das zu verwendende Skript ist eines der folgenden: autoreconf -i oder env NOCONFIGURE=1 ./autogen.sh.
Konfigurieren Sie zunächst das Projekt mit ./configure mit den für Ihre Umgebung geeigneten Optionen:
./configure <Optionen>
TIPP: Wenn dies fehlschlägt, siehe oben zu Quellcode-Versionen der Entwicklung.
Als nächstes kompilieren Sie das Projekt (beachten Sie, ob make oder gmake benötigt wird):
Kompilierung:
make
Kompilierung auf *BSD oder Solaris:
gmake
Schließlich können die folgenden zusätzlichen Ziele in Ihrer Umgebung nützlich sein:
Führen Sie alle Unit-Tests aus:
make check
Führen Sie alle Integrationstests aus (erfordert root):
make integration
Installation:
make install
Deinstallation:
make uninstall
./configure-FlagsBeim Konfigurieren können die folgenden Flags verwendet und kombiniert werden, um die Suite nach Ihren Wünschen anzupassen:
with-airpcap=DIR: Wird für die Unterstützung von Airpcap-Geräten unter Windows benötigt (nur Cygwin oder MSYS2).
Ersetzen Sie DIR oben durch den absoluten Pfad zum Stammverzeichnis des
extrahierten Quellcodes von der Airpcap-CD oder dem online verfügbaren SDK.
Erforderlich unter Windows, um besside-ng, besside-ng-crawler,
easside-ng, tkiptun-ng und wesside-ng beim Bauen experimenteller Werkzeuge zu erstellen.
Das Entwicklerpaket (kompatibel mit Version 4.1.1 und 4.1.3) kann heruntergeladen werden unter
https://support.riverbed.com/content/support/software/steelcentral-npm/airpcap.html
with-experimental: Wird benötigt, um tkiptun-ng, easside-ng, buddy-ng,
buddy-ng-crawler, airventriloquist und wesside-ng zu kompilieren.
Das libpcap-Entwicklungspaket wird ebenfalls benötigt, um die meisten der Werkzeuge zu kompilieren.
Wenn nicht vorhanden, werden nicht alle experimentellen Werkzeuge gebaut.
Auf Cygwin ist libpcap nicht vorhanden und das Airpcap-SDK ersetzt es.
Siehe Option --with-airpcap oben.
with-ext-scripts: Wird benötigt, um airoscript-ng, versuck-ng, airgraph-ng und
airdrop-ng zu bauen.
Hinweis: Jedes Skript hat seine eigenen Abhängigkeiten.
with-gcrypt: Die libgcrypt-Kryptobibliothek anstelle der standardmäßigen OpenSSL verwenden. Und auch die interne schnelle SHA1-Implementierung (aus GIT entliehen) verwenden. Abhängigkeit (Debian): libgcrypt20-dev
with-duma: Mit DUMA-Unterstützung kompilieren. DUMA ist eine Bibliothek zur Erkennung von Pufferüberläufen und -unterläufen. Abhängigkeit (Debian): duma
disable-libnl: Das Projekt so einrichten, dass es ohne libnl (1 oder 3) kompiliert wird. Nur Linux-Option.
without-opt: -O3-Optimierungen nicht aktivieren.
enable-shared: OSdep als gemeinsam genutzte Bibliothek erstellen.
disable-shared: Wenn mit enable-static kombiniert, wird Aircrack-ng statisch kompiliert.
with-avx512: Auf x86, Unterstützung für AVX512-Anweisungen in aircrack-ng hinzufügen. Nur verwenden, wenn die aktuelle CPU AVX512 unterstützt.
with-static-simd=: Eine einzelne Optimierung im aircrack-ng-Binärprogramm kompilieren. Nützlich beim statischen Kompilieren und/oder für Geräte mit begrenztem Speicherplatz. Gültige SIMD-Optionen: x86-sse2, x86-avx, x86-avx2, x86-avx512, ppc-altivec, ppc-power8, arm-neon, arm-asimd. Muss mit --enable-static --disable-shared verwendet werden. Bei Verwendung dieser beiden Optionen wird standardmäßig die generische Optimierung im Binärprogramm kompiliert. --with-static-simd erlaubt lediglich die Auswahl einer anderen.
enable-maintainer-mode: Es ist wichtig, dieses Flag bei der Entwicklung mit Aircrack-ng zu aktivieren. Dieses Flag aktiviert zusätzliche Kompilierungswarnungen und Sicherheitsfunktionen.
Konfigurieren und Kompilieren:
./configure --with-experimental
make
Kompilieren mit gcrypt:
./configure --with-gcrypt
make
Installieren:
make install
Installieren (Binärdateien strippen):
make install-strip
Installieren, mit externen Skripten:
./configure --with-experimental --with-ext-scripts
make
make install
Testen (mit sqlite, experimental und pcre2)
./configure --with-experimental
make
make check
Kompilieren unter OS X mit macports (und allen Optionen):
./configure --with-experimental
gmake
Kompilieren unter macOS auf M1/AARCH64 und Homebrew:
autoreconf -vif
env CPPFLAGS="-Wno-deprecated-declarations" ./configure --with-experimental
make
make check
Kompilieren unter OS X 10.10 mit XCode 7.1 und Homebrew:
env CC=gcc-4.9 CXX=g++-4.9 ./configure
make
make check
HINWEIS: Ältere XCode-Versionen enthalten eine LLVM-Version, die keine CPU-Funktionserkennung
unterstützt; was dazu führt, dass ./configure fehlschlägt. Um dieses ältere LLVM zu umgehen,
ist es erforderlich, eine andere Compiler-Suite zu verwenden, wie z.B. GCC oder ein neueres LLVM
von Homebrew.
Wenn Sie OpenSSL von Homebrew verwenden möchten, müssen Sie möglicherweise den Pfad zu seiner Installation angeben. Um herauszufinden, wo OpenSSL installiert ist, führen Sie aus:
brew --prefix openssl
Verwenden Sie die obige Ausgabe als DIR für --with-openssl=DIR in der ./configure-Zeile:
env CC=gcc-4.9 CXX=g++-4.9 ./configure --with-openssl=DIR
make
make check
Kompilieren unter FreeBSD mit gcc9
env CC=gcc9 CXX=g++9 MAKE=gmake ./configure
gmake
Kompilieren unter Cygwin mit Airpcap (vorausgesetzt, das Airpcap-Devpack ist im Aircrack-ng-Verzeichnis entpackt)
cp -vfp Airpcap_Devpack/bin/x86/airpcap.dll src
cp -vfp Airpcap_Devpack/bin/x86/airpcap.dll src/aircrack-osdep
cp -vfp Airpcap_Devpack/bin/x86/airpcap.dll src/aircrack-crypto
cp -vfp Airpcap_Devpack/bin/x86/airpcap.dll src/aircrack-util
dlltool -D Airpcap_Devpack/bin/x86/airpcap.dll -d build/airpcap.dll.def -l Airpcap_Devpack/bin/x86/libairpcap.dll.a
autoreconf -i
./configure --with-experimental --with-airpcap=$(pwd)
make
Kompilieren unter DragonflyBSD mit gcrypt mit GCC 8 ``` autoreconf -i env CC=gcc8 CXX=g++8 MAKE=gmake ./configure --with-experimental --with-gcrypt gmake
Kompilieren unter OpenBSD (mit autoconf 2.69 und automake 1.16) ``` export AUTOCONF_VERSION=2.69 export AUTOMAKE_VERSION=1.16 autoreconf -i env MAKE=gmake CC=cc CXX=c++ ./configure gmake
Kompilieren und Debuggen von aircrack-ng ``` export CFLAGS='-O0 -g' export CXXFLAGS='-O0 -g' ./configure --with-experimental --enable-maintainer-mode --without-opt make LD_LIBRARY_PATH=.libs gdb --args ./aircrack-ng [PARAMETERS]
Eine VS Code-Entwicklungsumgebung wird wie bereitgestellt für die schnelle Einrichtung einer Entwicklungsumgebung zur Verfügung gestellt. Dies fügt zusätzlich Unterstützung für GitHub Codespaces hinzu.
Die erste Voraussetzung ist eine funktionierende Docker Engine-Umgebung.
Als nächstes eine Installation von VS Code mit der/den folgenden Erweiterung(en):
Remote - Containers von Microsoft.Die Erweiterung „Remote - Containers“ wird sich weigern, mit OSS Code zu arbeiten.
2. Nach dem Klonen dieses Repositorys öffnen Sie den Ordner in VS Code.```
$ code .
WICHTIG: Sie sollten mit "Ja" antworten, wenn gefragt wird, ob der Ordner in einem Remote-Container geöffnet werden soll. Falls nicht gefragt wird, drücken Sie
Strg+Umschalt+Pund geben Sieopen in containerein. Dadurch sollte der richtige Befehl angezeigt werden, bei dessen Bestätigung mit der Eingabetaste der Befehl ausgeführt wird.
compile_commands.json-Datei können erscheinen. Diese sind vorerst unbedenklich, da diese Datei nach der ersten Kompilierung automatisch generiert wird.Strg+R drücken und im erscheinenden Pop-up-Menü Build Full auswählen.compile_commands.json-Datei erkennen und fragen, ob sie verwendet werden soll; die Auswahl von "Ja, immer" schließt die erste Einrichtung einer voll funktionsfähigen IDE ab.WICHTIG: Falls die Datei nicht erkannt wird, führt das Drücken von
Strg+Umschalt+Pund die Eingabe vonreload windowzur Auswahl, die Umgebung vollständig neu zu laden.
aircrack-ng.Die automatische Erkennung von CPU-Optimierungen erfolgt zur Laufzeit. Dieses Verhalten ist wünschenswert, wenn Aircrack-ng für eine Linux- oder andere Distribution verpackt wird.
In manchen Fällen kann es auch gewünscht sein, eigene Flags vollständig zu verwenden und die Suite keine Optimierungen automatisch erkennen zu lassen. Fügen Sie dazu das zusätzliche Flag --without-opt zur ./configure-Zeile hinzu:
./configure --without-opt
Aircrack-ng ist in den meisten Distributions-Repositorien verfügbar. Allerdings ist es nicht immer aktuell.
Startmenü -> Ausführen... -> cmd.exe und sie dann verwenden.Weitere Informationen finden Sie in der README-Datei.
Dokumentation, Tutorials usw. finden Sie unter https://aircrack-ng.org
Support gibt es in den GitHub Discussions und im IRC (in #aircrack-ng auf Libera Chat).
Jedes Tool hat eine eigene Manpage. Für aircrack-ng: man aircrack-ng