
Um framework para testes de penetração sem fio.
SniffAir é um framework de segurança sem fio open-source que oferece a capacidade de analisar facilmente dados sem fio coletados passivamente, bem como lançar ataques sem fio sofisticados. O SniffAir cuida do trabalho associado ao gerenciamento de arquivos pcap grandes ou múltiplos, enquanto examina e analisa minuciosamente o tráfego em busca de possíveis falhas de segurança. Além das consultas pré-construídas, o SniffAir permite que os usuários criem consultas personalizadas para analisar os dados sem fio armazenados no banco de dados SQL de back-end. O SniffAir é construído sobre o conceito de usar essas consultas para extrair dados para relatórios de testes de penetração sem fio. Os dados também podem ser aproveitados na configuração de ataques sem fio sofisticados incluídos no SniffAir como módulos.
SniffAir é desenvolvido por @Tyl0us e @theDarracott
SniffAir foi desenvolvido com Python versão 2.7
Testado e suportado em Kali Linux, Debian e Ubuntu.
Para instalar, execute o script setup.sh
$./setup.sh
% * ., %
% ( ,# (..# %
/@@@@@&, *@@% &@, @@# /@@@@@@@@@ .@@@@@@@@@. ,/ # # (%%%* % (.(. .@@ &@@@@@@%.
.@@& *&@ %@@@@. &@, @@% %@@,,,,,,, ,@@,,,,,,, .( % % %%# # % # ,@@ @@(,,,#@@@.
%@% %@@(@@. &@, @@% %@@ ,@@ /* # /*, %.,, ,@@ @@* #@@
,@@& %@@ ,@@* &@, @@% %@@ ,@@ .# //#(, (, ,@@ @@* &@%
.@@@@@. %@@ .@@( &@, @@% %@@%%%%%%* ,@@%%%%%%# (# ##. ,@@ @@&%%%@@@%
*@@@@ %@@ .@@/ &@, @@% %@@,,,,,, ,@@,,,,,,. %#####% ,@@ @@(,,%@@%
@@% %@@ @@( &@, @@% %@@ ,@@ % (*/ # ,@@ @@* @@@
%@% %@@ @@&&@, @@% %@@ ,@@ % # .# .# ,@@ @@* @@%
.@@&/,,#@@@ %@@ &@@@, @@% %@@ ,@@ /(* /(# ,@@ @@* @@#
*%@@@&* *%# ,%# #%/ *%# %% #############. .%# #%. .%%
(@Tyl0us & @theDarracott)
>> [default]# help
Comandos
========
workspace Gerencia workspaces (criar, listar, carregar, excluir)
live_capture Inicia uma interface sem fio válida para capturar pacotes sem fio a serem analisados (requer o nome da interface)
offline_capture Começa a analisar pacotes sem fio usando um arquivo pcap - arquivos .pcapdump do Kismet funcionam melhor (requer o caminho completo)
offline_capture_list Começa a analisar pacotes sem fio usando uma lista de arquivos pcap - arquivos .pcapdump do Kismet funcionam melhor (requer o caminho completo)
query Executa uma consulta no conteúdo do workspace ativo
help Exibe este menu de ajuda
clear Limpa a tela
show Mostra o conteúdo de uma tabela, informações específicas em todas as tabelas ou os módulos disponíveis
inscope Adiciona ESSID ao escopo. inscope [ESSID]
SSID_Info Exibe todas as informações (ou seja, todos os BSSID, Canais e Criptografia) relacionadas aos SSIDs no escopo
use Usa um módulo do SniffAir
info Exibe todas as informações de variáveis sobre o módulo selecionado
set Define uma variável no módulo
exploit Executa o módulo carregado
run Executa o módulo carregado
exit Sair do SniffAir
>> [default]#
Primeiro crie ou carregue um workspace novo ou existente usando o comando workspace create <workspace> ou workspace load <workspace>. Para ver todos os workspaces existentes, use o comando workspace list e o comando workspace delete <workspace> para excluir o workspace desejado:
>> [default]# workspace
Gerencia workspaces
Opção de comando: workspaces [create|list|load|delete]
>> [default]# workspace create demo
[+] Workspace demo criado
Carregue dados em um workspace desejado a partir de um arquivo pcap usando o comando offline_capture <caminho completo para o arquivo pcap>. Para carregar uma série de arquivos pcap, use o comando offline_capture_list <caminho completo para o arquivo contendo a lista de nomes pcap> (este arquivo deve conter os caminhos completos para cada arquivo pcap). Use o comando live_capture <nome da interface> para capturar tráfego sem fio ao vivo usando uma interface sem fio.
>> [demo]# offline_capture /root/sniffair/demo.pcapdump
[+] Importando /root/sniffair/demo.pcapdump
\
[+] Completo
[+] Limpando duplicatas
[+] ESSIDs Observados
O comando show exibe o conteúdo de uma tabela, informações específicas em todas as tabelas ou os módulos disponíveis, usando a seguinte sintaxe:
>> [demo]# show table AP
+------+-----------+-------------------+-------------------------------+--------+-------+-------+----------+--------+
| ID | ESSID | BSSID | VENDOR | CHAN | PWR | ENC | CIPHER | AUTH |
|------+-----------+-------------------+-------------------------------+--------+-------+-------+----------+--------|
| 1 | HoneyPot | c4:6e:1f:##:##:## | TP-LINK TECHNOLOGIES CO. LTD. | 4 | -17 | WPA2 | TKIP | MGT |
| 2 | Demo | 80:2a:a8:##:##:## | Ubiquiti Networks Inc. | 11 | -19 | WPA2 | CCMP | PSK |
| 3 | Demo5ghz | 82:2a:a8:##:##:## | Unknown | 36 | -27 | WPA2 | CCMP | PSK |
| 4 | HoneyPot1 | c4:6e:1f:##:##:## | TP-LINK TECHNOLOGIES CO. LTD. | 36 | -29 | WPA2 | TKIP | PSK |
| 5 | BELL456 | 44:e9:dd:##:##:## | Sagemcom Broadband SAS | 6 | -73 | WPA2 | CCMP | PSK |
+------+-----------+-------------------+-------------------------------+--------+-------+-------+----------+--------+
>> [demo]# show SSIDS
---------
HoneyPot
Demo
HoneyPot1
BELL456
Hidden
Demo5ghz
---------
O comando query pode ser usado para exibir um conjunto único de dados com base nos parâmetros especificados. O comando query usa sintaxe SQL.
O comando inscope <SSID> pode ser usado para adicionar um SSID às tabelas de escopo, carregando todos os dados relacionados nas tabelas inscope_AP, inscope_proberequests e inscope_proberesponses. Para ver um resumo de todos os SSIDs no escopo, execute o comando SSID_Info.
Os módulos podem ser usados para analisar os dados contidos nos workspaces ou realizar ataques sem fio ofensivos usando o comando use <nome do módulo>. Para alguns módulos, variáveis adicionais podem precisar ser definidas. Elas podem ser definidas usando o comando set set <nome da variável> <valor da variável>:
>> [demo]# show modules
Módulos Disponíveis
=================
[+] Auto EAP - Ataque automatizado de login por força bruta contra redes EAP
[+] Auto PSK - Ataque automatizado de senha por força bruta contra redes PSK
[+] AP Hunter - Descobrir pontos de acesso dentro de um determinado alcance usando um tipo específico de criptografia
[+] Captive Portal - Portal de login baseado na web para capturar credenciais inseridas pelo usuário (funciona como uma rede ABERTA)
[+] Certificate Generator - Gera um certificado usado por ataques Evil Twin
[+] Exporter - Exporta dados armazenados em um workspace para um arquivo CSV
[+] Evil Twin - Cria um ponto de acesso falso; os clientes se conectam revelando hashes MSCHAP ou senhas em texto claro
[+] Handshaker - Analisa arquivos de banco de dados ou .pcapdump extraindo o handshake pré-compartilhado para adivinhação de senha (formato Hashcat ou JTR)
[+] Mac Changer - Altera o endereço MAC de uma interface
[+] Probe Packet - Envia pacotes de deautenticação direcionados a SSID(s)
[+] Proof Packet - Analisa arquivos de banco de dados ou .pcapdump extraindo todos os pacotes relacionados aos SSIDs no escopo
[+] Hidden SSID - Descobre os nomes de SSIDs OCULTOS
[+] Suspicious AP - Procura por pontos de acesso que: estão em canal diferente, usam um fabricante ou tipo de criptografia diferente do restante da rede
[+] Wigle Search SSID - Consulta wigle por SSID (ex: wifi do Bob)
[+] Wigle Search MAC - Consulta wigle por todas as observações de um único endereço MAC
>> [demo]#
>> [demo]# use Captive Portal
>> [demo][Captive Portal]# info
Variáveis Definidas Globalmente
=====================
Módulo: Captive Portal
Interface:
SSID:
Canal:
Template: Cisco (Mais serão adicionados em breve)
>> [demo][Captive Portal]# set Interface wlan0
>> [demo][Captive Portal]# set SSID demo
>> [demo][Captive Portal]# set Canal 1
>> [demo][Captive Portal]# info
Variáveis Definidas Globalmente
=====================
Módulo: Captive Portal
Interface: wlan0
SSID: demo
Canal: 1
Template: Cisco (Mais serão adicionados em breve)
>> [demo][Captive Portal]#
Depois que todas as variáveis estiverem definidas, execute o comando exploit ou run para executar o ataque desejado.
Para exportar todas as informações armazenadas nas tabelas de um workspace, use o módulo Exporter e defina o caminho desejado.
SniffAir contém trabalho dos seguintes repositórios: