
Farejador passivo de segurança de rede que analisa 28 protocolos (ARP, STP, OSPF, VLAN, SCADA) para detectar vulnerabilidades em equipamentos de rede sem gerar tráfego.
Sniffer de segurança de rede para encontrar vulnerabilidades na rede. Projetado para pentesters e engenheiros de segurança.

___ __
/ | / /_ ____ _ _____
/ /| | / __ \/ __ \ | / / _ \
/ ___ |/ /_/ / /_/ / |/ / __/
/_/ |_/_.___/\____/|___/\___/
Above: Network Security Sniffer
Developer: Mahama Bazarov (Caster)
Contact: [email protected]
Version: 2.8.1
Codename: Rubens Barrichello
Documentation & Usage: https://github.com/caster0x00/Above
Todas as informações contidas neste repositório são fornecidas apenas para fins educacionais e de pesquisa. O autor não é responsável por qualquer uso ilegal desta ferramenta.
É uma ferramenta de segurança de rede especializada que ajuda tanto pentesters quanto profissionais de segurança.
Above é um sniffer de segurança de rede para encontrar vulnerabilidades em equipamentos de rede. É baseado inteiramente na análise de tráfego de rede, portanto não faz nenhum ruído no ar. Ele é invisível. Completamente baseado na biblioteca Scapy.
Above permite que pentesters automatizem o processo de encontrar vulnerabilidades em hardware de rede. Protocolos de descoberta, roteamento dinâmico, 802.1Q, protocolos de resolução, ICS, FHRP, STP, LLMNR/NBT-NS, etc.
Detecta até 28 protocolos:
MACSec (802.1X AE)
EAPOL (Checking 802.1X versions)
ARP (Host Discovery)
CDP (Cisco Discovery Protocol)
DTP (Dynamic Trunking Protocol)
LLDP (Link Layer Discovery Protocol)
VLAN (802.1Q)
S7COMM (Siemens) (SCADA)
OMRON (SCADA)
TACACS+ (Terminal Access Controller Access Control System Plus)
ModbusTCP (SCADA)
STP (Spanning Tree Protocol)
OSPF (Open Shortest Path First)
EIGRP (Enhanced Interior Gateway Routing Protocol)
BGP (Border Gateway Protocol)
VRRP (Virtual Router Redundancy Protocol)
HSRP (Host Standby Redundancy Protocol)
GLBP (Gateway Load Balancing Protocol)
IGMP (Internet Group Management Protocol)
LLMNR (Link Local Multicast Name Resolution)
NBT-NS (NetBIOS Name Service)
MDNS (Multicast DNS)
DHCP (Dynamic Host Configuration Protocol)
DHCPv6 (Dynamic Host Configuration Protocol v6)
ICMPv6 (Internet Control Message Protocol v6)
SSDP (Simple Service Discovery Protocol)
MNDP (MikroTik Neighbor Discovery Protocol)
SNMP (Simple Network Management Protocol)
Above funciona em dois modos:
A ferramenta é muito simples em sua operação e é orientada por argumentos:
.pcap já preparado como entrada e procura por protocolos nele.pcap, cujo nome você especificausage: above.py [-h] [--interface INTERFACE] [--timer TIMER] [--output OUTPUT] [--input INPUT] [--passive-arp] [--search-vlan]
options:
-h, --help show this help message and exit
--interface INTERFACE
Interface for traffic listening
--timer TIMER Time in seconds to capture packets, default: not set
--output OUTPUT File name where the traffic will be recorded, default: not set
--input INPUT File name of the traffic dump
--passive-arp Passive ARP (Host Discovery)
--search-vlan VLAN Search
As informações obtidas serão úteis não apenas para o pentester, mas também para o engenheiro de segurança, ele saberá no que precisa prestar atenção.
Quando Above detecta um protocolo, ele exibe as informações necessárias para indicar o vetor de ataque ou problema de segurança:
Impacto: Que tipo de ataque pode ser realizado neste protocolo;
Ferramentas: Qual ferramenta pode ser usada para lançar um ataque;
Informações técnicas: Informações necessárias para o pentester, endereços MAC/IP do remetente, IDs de grupo FHRP, domínios OSPF/EIGRP, etc.
Mitigação: Recomendações para corrigir os problemas de segurança
Endereços de Origem/Destino: Para protocolos, Above exibe informações sobre os endereços MAC e IP de origem e destino
Você pode instalar Above diretamente dos repositórios do Kali Linux
caster@kali:~$ sudo apt update && sudo apt install above
Ou:
:~$ sudo apt-get install python3-scapy python3-colorama python3-setuptools
:~$ git clone https://github.com/caster0x00/above
:~$ cd above/
:~/above$ sudo python3 setup.py install
# Install python3 first
brew install python3
# Then install required dependencies
sudo pip3 install scapy colorama setuptools
# Clone the repo
git clone https://github.com/caster0x00/above
cd above/
sudo python3 setup.py install
Não se esqueça de desativar seu firewall no macOS!
Above requer acesso root para sniffing
Above pode ser executado com ou sem temporizador:
caster@kali:~$ sudo above --interface eth0 --timer 120
Para interromper o sniffing de tráfego, pressione CTRL + C
Exemplo:
caster@kali:~$ sudo above --interface eth0 --timer 120
___ __
/ | / /_ ____ _ _____
/ /| | / __ \/ __ \ | / / _ \
/ ___ |/ /_/ / /_/ / |/ / __/
/_/ |_/_.___/\____/|___/\___/
Above: Network Security Sniffer
Developer: Mahama Bazarov (Caster)
Contact: [email protected]
Version: 2.8.1
Codename: Rubens Barrichello
Documentation & Usage: https://github.com/caster0x00/Above
[*] Start Sniffing
[+] Detected STP Frame
[*] Attack Impact: Partial MITM
[*] Tools: Yersinia, Scapy
[*] STP Root Switch MAC: 00:11:22:33:44:55
[*] STP Root ID: 32768
[*] STP Root Path Cost: 0
[*] Mitigation: Enable BPDU Guard or Portfast
[*] Vendor: Routerboard.com
Se você precisar gravar o tráfego sniffado, use o argumento --output
caster@kali:~$ sudo above --interface eth0 --timer 120 --output above.pcap
Se você interromper a ferramenta com CTRL+C, o tráfego ainda será gravado no arquivo
Se você já tiver algum tráfego gravado, pode usar o argumento --input para procurar possíveis problemas de segurança
caster@kali:~$ above --input hsrp.cap
Exemplo:
caster@kali:~$ sudo above --input hsrp.cap
___ __
/ | / /_ ____ _ _____
/ /| | / __ \/ __ \ | / / _ \
/ ___ |/ /_/ / /_/ / |/ / __/
/_/ |_/_.___/\____/|___/\___/
Above: Network Security Sniffer
Developer: Mahama Bazarov (Caster)
Contact: [email protected]
Version: 2.8.1
Codename: Rubens Barrichello
Documentation & Usage: https://github.com/caster0x00/Above
[+] Analyzing pcap file...
[+] Detected HSRP Packet
[*] HSRP Active Router Priority: 90
[+] Attack Impact: MITM
[*] Tools: Loki, Scapy, Yersinia
[*] HSRP Group Number: 10
[+] HSRP Virtual IP Address: 10.28.168.254
[*] HSRP Sender IP: 10.28.168.253
[*] HSRP Sender MAC: 00:00:0c:07:ac:0a
[!] Authentication: Plaintext Phrase: cisco
[*] Mitigation: Priority 255, Authentication, Extended ACL
[*] Vendor: Cisco Systems
Isso pode ser muito útil se um atacante não quiser fazer ruído no ar com varreduras ARP e descobrir hosts silenciosamente. Esta função é executada com --passive-arp e todos os hosts encontrados serão gravados no arquivo above_passive_arp.txt.
caster@kali:~$ sudo above --interface eth0 --passive-arp
[+] Starting Host Discovery...
[*] IP and MAC addresses will be saved to 'above_passive_arp.txt'
Se você quiser, pode especificar um temporizador para quanto tempo escutar quadros ARP para encontrar hosts. Por padrão, nenhum temporizador está definido.
Uma vez iniciado, o terminal será completamente limpo e uma tabela consistindo em um mapeamento de Endereço IP e Endereço MAC será exibida:
+--------------------+------------------------------+--------------------+
| IP Address | MAC Address | ARP Type |
+--------------------+------------------------------+--------------------+
| 172.16.120.12 | f0:27:65:ba:1c:42 | ARP Response |
| 172.16.120.45 | 6d:9f:84:2b:33:ea | ARP Request |
| 172.16.120.78 | 3a:7c:19:d8:4e:21 | ARP Response |
| 172.16.120.103 | c4:12:76:ae:50:bb | ARP Request |
| 172.16.120.127 | 89:3b:df:92:6a:54 | ARP Response |
| 172.16.120.156 | b7:5d:49:cb:72:99 | ARP Request |
| 172.16.120.189 | 1e:47:ac:3d:15:f8 | ARP Response |
| 172.16.120.222 | 43:9a:df:e0:84:3c | ARP Request |
+--------------------+------------------------------+--------------------+
O conteúdo do arquivo above_passive_arp.txt ficará assim:
caster@kali:~$ cat above_passive_arp.txt
Above: Passive ARP Host Discovery
Time: 2024-08-16 17:30:16
--------------------------------------------------
172.16.120.12 - f0:27:65:ba:1c:42
172.16.120.45 - 6d:9f:84:2b:33:ea
172.16.120.78 - 3a:7c:19:d8:4e:21
172.16.120.103 - c4:12:76:ae:50:bb
172.16.120.127 - 89:3b:df:92:6a:54
172.16.120.156 - b7:5d:49:cb:72:99
172.16.120.189 - 1e:47:ac:3d:15:f8
172.16.120.222 - 43:9a:df:e0:84:3c
É assim que Above com aprendizado de quadros ARP pode ajudar a descobrir hosts em um segmento sem ruído no ar.
Above também pode encontrar IDs VLAN no tráfego. Esta é uma opção útil se o atacante estiver em uma porta trunk sob algumas circunstâncias durante o pentest. E o problema é que em uma porta trunk, todo o tráfego é marcado com tags 802.1Q pertencentes a segmentos VLAN. Above pode extrair todos os IDs VLAN do ar ou de um dump de tráfego:
caster@kali:~$ sudo above --interface eth0 --search-vlan
Quando você executar esta função, o terminal também será limpo e uma tabela será exibida e atualizada:
+------------------------------+---------------+----------------------------------------+
|VLAN ID |Frames Count |How to Jump |
+------------------------------+---------------+----------------------------------------+
|120 |8 |sudo vconfig add eth0 120 |
|80 |8 |sudo vconfig add eth0 80 |
|251 |7 |sudo vconfig add eth0 251 |
|190 |6 |sudo vconfig add eth0 190 |
+------------------------------+---------------+----------------------------------------+
Além disso, o resultado desta função será gravado no arquivo above_discovered_vlan.txt:
caster@kali:~$ cat above_discovered_vlan.txt
Above: Discovered VLAN ID
Time: 2024-08-16 17:41:19
--------------------------------------------------------------------------------
VLAN ID Frames Count How to Jump
--------------------------------------------------------------------------------
1 208 sudo vconfig add eth0 1
5 972 sudo vconfig add eth0 5
6 904 sudo vconfig add eth0 6
10 20 sudo vconfig add eth0 10
12 20 sudo vconfig add eth0 12
13 20 sudo vconfig add eth0 13
11 20 sudo vconfig add eth0 11
2000 1 sudo vconfig add eth0 2000
1000 2 sudo vconfig add eth0 1000
--------------------------------------------------------------------------------
É assim que você pode encontrar informações sobre segmentos VLAN baseado apenas em operações de tráfego. Mas vale considerar que este é um cenário específico, não é frequente que um atacante esteja em uma porta trunk. Ou ele terá sorte com DTP ou encontrará uma porta de switch esquecida pelo administrador.
A partir da versão 2.8, Above agora é capaz de identificar o fabricante pelo endereço MAC, especificamente pelos primeiros 24 bits. Isso é feito usando um banco de dados baixado, depois convertendo-o no módulo above_oui_dict.py, que é um dicionário composto por OUIs únicos e nomes de fabricantes.
Copyright (c) 2025 Mahama Bazarov. Este projeto está licenciado sob a Licença Apache 2.0
Se você tiver alguma sugestão ou encontrar algum bug, sinta-se à vontade para criar issues no repositório ou entre em contato comigo: [email protected]