
Conjunto completo para auditoria de segurança de redes WiFi, incluindo captura de pacotes, ataques de injeção, desautenticação, criação de AP falso e quebra de WEP/WPA PSK por meio de ferramentas de linha de comando.
Aircrack-ng é uma suíte completa de ferramentas para avaliar a segurança de redes WiFi.
Ela foca em diferentes áreas da segurança WiFi:
Todas as ferramentas são de linha de comando, o que permite scripts pesados. Muitas GUIs aproveitaram esse recurso. Funciona principalmente no Linux, mas também no Windows, macOS, FreeBSD, OpenBSD, NetBSD, bem como Solaris e até eComStation 2.
Nota: O Airmon-ng só requer pciutils se o sistema tiver um barramento PCI/PCIe e ele estiver povoado. Esse barramento pode estar presente mesmo que não seja visível fisicamente. Por exemplo, ele está presente, e povoado no Raspberry Pi 4, portanto pciutils é necessário nesse dispositivo.
besside-ng, besside-ng-crawler, easside-ng, tkiptun-ng e wesside-ng,
é necessário o pacote de desenvolvimento libpcap (no Cygwin, use o Airpcap SDK; veja acima)Abaixo estão instruções para instalar os requisitos básicos para compilar
aircrack-ng para vários sistemas operacionais.
Nota: CMocka, tcpdump, screen, HostAPd e WPA Supplicant não devem ser dependências ao empacotar o Aircrack-ng.
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
Nota: autoconf, automake, libtool e pkgconfig nos repositórios são muito antigos. O script centos_autotools.sh instala automaticamente as dependências para compilar e depois instalar as ferramentas.
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
Nota: O repositório comunitário precisa estar habilitado para o iw
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
Nota: hostapd deve ser compilado manualmente, não está presente no repositório
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, as ferramentas de linha de comando do Xcode e o HomeBrew são necessários.
brew install autoconf automake libtool openssl shtool pkg-config hwloc pcre2 sqlite3 libpcap cmocka
O Cygwin requer o caminho completo para o utilitário setup.exe, a fim de automatizar a instalação dos pacotes necessários. Além disso, requer o local da sua instalação, um caminho para o local de download dos pacotes em cache e uma URL de espelho.
Um exemplo de instalação automática de todas as dependências é o seguinte:
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
Temos dois repositórios no DockerHub:
Comando base para a versão git:
sudo docker run --rm -it aircrackng/git
Plataformas/arquiteturas de CPU disponíveis:
Para compilar o aircrack-ng, é utilizado o sistema de compilação Autotools. O Autotools substitui o método mais antigo de compilação.
NOTA: Se estiver usando uma versão de desenvolvimento, por exemplo, uma baixada do controle de versão, você precisará executar um script pré-configure. O script a ser usado é um dos seguintes: autoreconf -i ou env NOCONFIGURE=1 ./autogen.sh.
Primeiro, execute ./configure no projeto para compilar com as opções apropriadas especificadas para seu ambiente:
./configure <options>
DICA: Se o acima falhar, veja acima sobre versões de desenvolvimento do controle de versão.
Em seguida, compile o projeto (respeitando se make ou gmake é necessário):
Compilação:
make
Compilação no *BSD ou Solaris:
gmake
Finalmente, os alvos adicionais listados abaixo podem ser úteis no seu ambiente:
Executar todos os testes unitários:
make check
Executar todos os testes de integração (requer root):
make integration
Instalação:
make install
Desinstalação:
make uninstall
./configureAo configurar, as seguintes flags podem ser usadas e combinadas para ajustar a suíte à sua escolha:
with-airpcap=DIR: necessário para suportar dispositivos airpcap no Windows (apenas Cygwin ou MSYS2). Substitua DIR acima pelo caminho absoluto para a raiz do código-fonte extraído do CD Airpcap ou SDK baixado disponível online. Requerido no Windows para compilar besside-ng, besside-ng-crawler, easside-ng, tkiptun-ng e wesside-ng ao compilar ferramentas experimentais. O pacote de desenvolvedor (Compatível com as versões 4.1.1 e 4.1.3) pode ser baixado em https://support.riverbed.com/content/support/software/steelcentral-npm/airpcap.html
with-experimental: necessário para compilar tkiptun-ng, easside-ng, buddy-ng, buddy-ng-crawler, airventriloquist e wesside-ng. O pacote de desenvolvimento libpcap também é necessário para compilar a maioria das ferramentas. Se não estiver presente, nem todas as ferramentas experimentais serão compiladas. No Cygwin, o libpcap não está presente e o Airpcap SDK o substitui. Veja a opção --with-airpcap acima.
Configurar e compilar:
./configure --with-experimental
make
Compilar com gcrypt:
./configure --with-gcrypt
make
Instalação:
make install
Instalação (strip de binários):
make install-strip
Instalação, com scripts externos:
./configure --with-experimental --with-ext-scripts
make
make install
Testes (com sqlite, experimental e pcre2)
./configure --with-experimental
make
make check
Compilar no OS X com macports (e todas as opções):
./configure --with-experimental
gmake
Compilar no macOS rodando em M1/AARCH64 e Homebrew:
autoreconf -vif
env CPPFLAGS="-Wno-deprecated-declarations" ./configure --with-experimental
make
make check
Compilar no OS X 10.10 com XCode 7.1 e Homebrew:
env CC=gcc-4.9 CXX=g++-4.9 ./configure
make
make check
Um ambiente de desenvolvimento VS Code é fornecido, como está, para configuração rápida de um ambiente de desenvolvimento. Isso adicionalmente adiciona suporte para GitHub Codespaces.
O primeiro requisito é um ambiente funcional do Docker Engine.
Em seguida, uma instalação do VS Code com a(s) seguinte(s) extensão(ões):
Remote - Containers da Microsoft.A extensão "Remote - Containers" se recusará a funcionar com o OSS Code.
2. Depois de clonar este repositório, abra a pasta dentro do VS Code.```
$ code .
IMPORTANTE: Você deve responder "Sim", se perguntar se a pasta deve ser aberta dentro de um contêiner remoto. Se não perguntar, pressione
Ctrl+Shift+Pe digiteopen in container. Isso deve exibir o comando correto, e pressionar Enter executará o comando.
compile_commands.json ausente. Eles podem ser ignorados por enquanto, pois este arquivo é gerado automaticamente após a compilação inicial.Ctrl+R e selecionando Build Full no menu pop-up que aparece.compile_commands.json e perguntar se deve ser usado; selecionar "Sim, sempre" completará a configuração inicial de uma IDE totalmente funcional.IMPORTANTE: Se não detectar o arquivo, pressionar
Ctrl+Shift+Pe digitarreload windowexibirá a seleção para recarregar completamente o ambiente.
aircrack-ng.A detecção automática de otimização de CPU é feita em tempo de execução. Esse comportamento é desejável ao empacotar o Aircrack-ng (para uma distribuição Linux ou outra.)
Além disso, em alguns casos pode ser desejável fornecer suas próprias flags completamente e não permitir que o conjunto detecte automaticamente várias otimizações. Para fazer isso, adicione a flag adicional --without-opt à linha ./configure:
./configure --without-opt
O Aircrack-ng está disponível nos repositórios da maioria das distribuições. No entanto, nem sempre está atualizado.
Menu Iniciar -> Executar... -> cmd.exe e então usá-las.Mais algumas informações estão presentes no arquivo README.
Documentação, tutoriais, ... podem ser encontrados em https://aircrack-ng.org
O suporte está disponível no GitHub Discussions e no IRC (em #aircrack-ng na Libera Chat).
Cada ferramenta tem sua própria página de manual. Para aircrack-ng, man aircrack-ng
with-ext-scripts: necessário para compilar airoscript-ng, versuck-ng, airgraph-ng e airdrop-ng. Nota: Cada script tem suas próprias dependências.
with-gcrypt: Use a biblioteca criptográfica libgcrypt em vez do OpenSSL padrão. E também use a implementação rápida interna de sha1 (emprestada do GIT). Dependência (Debian): libgcrypt20-dev
with-duma: Compilar com suporte a DUMA. DUMA é uma biblioteca para detectar estouros e subestouros de buffer. Dependência (Debian): duma
disable-libnl: Configure o projeto para ser compilado sem libnl (1 ou 3). Apenas opção Linux.
without-opt: Não habilitar otimizações -O3.
enable-shared: Tornar OSdep uma biblioteca compartilhada.
disable-shared: Quando combinado com enable-static, irá compilar o Aircrack-ng estaticamente.
with-avx512: No x86, adicionar suporte para instruções AVX512 no aircrack-ng. Use apenas quando a CPU atual suportar AVX512.
with-static-simd=: Compilar uma única otimização no binário do aircrack-ng. Útil ao compilar estaticamente e/ou para dispositivos com espaço limitado. Opções SIMD válidas: x86-sse2, x86-avx, x86-avx2, x86-avx512, ppc-altivec, ppc-power8, arm-neon, arm-asimd. Deve ser usado com --enable-static --disable-shared. Ao usar essas duas opções, o padrão é compilar a otimização genérica no binário. --with-static-simd apenas permite escolher outra.
enable-maintainer-mode: É importante ativar esta flag ao desenvolver com Aircrack-ng. Esta flag ativa avisos adicionais de compilação e recursos de segurança.
NOTA: O XCode mais antigo vem com uma versão do LLVM que não suporta detecção de recursos da CPU; o que faz com que o ./configure falhe. Para contornar esse LLVM antigo, é necessário usar uma suíte de compilação diferente, como GCC ou um LLVM mais recente do Homebrew.
Se você deseja usar OpenSSL do Homebrew, pode precisar especificar o local da sua instalação. Para descobrir onde o OpenSSL está, execute:
brew --prefix openssl
Use a saída acima como DIR para --with-openssl=DIR na linha do ./configure:
env CC=gcc-4.9 CXX=g++-4.9 ./configure --with-openssl=DIR
make
make check
Compilar no FreeBSD com gcc9
env CC=gcc9 CXX=g++9 MAKE=gmake ./configure
gmake
Compilar no Cygwin com Airpcap (assumindo que o Airpcap devpack esteja descompactado no diretório do Aircrack-ng)
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
Compilar no DragonflyBSD com gcrypt usando GCC 8 ``` autoreconf -i env CC=gcc8 CXX=g++8 MAKE=gmake ./configure --with-experimental --with-gcrypt gmake
Compilando no OpenBSD (com autoconf 2.69 e automake 1.16) ``` export AUTOCONF_VERSION=2.69 export AUTOMAKE_VERSION=1.16 autoreconf -i env MAKE=gmake CC=cc CXX=c++ ./configure gmake
Compilando e depurando 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]