
Sniffeur passif de sécurité réseau qui analyse 28 protocoles (ARP, STP, OSPF, VLAN, SCADA) pour détecter des vulnérabilités dans les équipements réseau sans générer de trafic.
Sniffeur de sécurité réseau pour trouver des vulnérabilités dans le réseau. Conçu pour les pentesteurs et les ingénieurs en sécurité.

___ __
/ | / /_ ____ _ _____
/ /| | / __ \/ __ \ | / / _ \
/ ___ |/ /_/ / /_/ / |/ / __/
/_/ |_/_.___/\____/|___/\___/
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
Toutes les informations contenues dans ce dépôt sont fournies à des fins éducatives et de recherche uniquement. L'auteur n'est pas responsable de toute utilisation illégale de cet outil.
Il s'agit d'un outil spécialisé de sécurité réseau qui aide aussi bien les pentesteurs que les professionnels de la sécurité.
Above est un sniffeur de sécurité réseau pour trouver des vulnérabilités dans les équipements réseau. Il est entièrement basé sur l'analyse du trafic réseau, donc il ne fait aucun bruit sur les ondes. Il est invisible. Entièrement basé sur la bibliothèque Scapy.
Above permet aux pentesteurs d'automatiser le processus de recherche de vulnérabilités dans le matériel réseau. Protocoles de découverte, routage dynamique, 802.1Q, protocoles de résolution, ICS, FHRP, STP, LLMNR/NBT-NS, etc.
Détecte jusqu'à 28 protocoles :
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 fonctionne selon deux modes :
L'outil est très simple dans son fonctionnement et est piloté par des arguments :
.pcap déjà préparé comme entrée et y recherche des protocoles.pcap, dont vous spécifiez le nomusage: 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
Les informations obtenues seront utiles non seulement au pentesteur, mais aussi à l'ingénieur en sécurité, qui saura à quoi il doit prêter attention.
Lorsque Above détecte un protocole, il affiche les informations nécessaires pour indiquer le vecteur d'attaque ou le problème de sécurité :
Impact : Quel type d'attaque peut être mené sur ce protocole ;
Outils : Quel outil peut être utilisé pour lancer une attaque ;
Informations techniques : Informations nécessaires au pentesteur, adresses MAC/IP de l'expéditeur, ID de groupe FHRP, domaines OSPF/EIGRP, etc.
Mitigation : Recommandations pour corriger les problèmes de sécurité
Adresses source/destination : Pour les protocoles, Above affiche des informations sur les adresses MAC et IP source et destination
Vous pouvez installer Above directement depuis les dépôts de 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'oubliez pas de désactiver votre pare-feu sur macOS !
Above nécessite un accès root pour le sniffing
Above peut être exécuté avec ou sans minuteur :
caster@kali:~$ sudo above --interface eth0 --timer 120
Pour arrêter le sniffing du trafic, appuyez sur CTRL + C
Exemple :
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
Si vous devez enregistrer le trafic sniffé, utilisez l'argument --output
caster@kali:~$ sudo above --interface eth0 --timer 120 --output above.pcap
Si vous interrompez l'outil avec CTRL+C, le trafic est toujours écrit dans le fichier
Si vous avez déjà du trafic enregistré, vous pouvez utiliser l'argument --input pour rechercher des problèmes de sécurité potentiels
caster@kali:~$ above --input hsrp.cap
Exemple :
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
Cela peut être très utile si un attaquant ne veut pas faire de bruit sur les ondes avec des scans ARP et découvrir les hôtes discrètement. Cette fonction est exécutée avec --passive-arp et tous les hôtes trouvés seront écrits dans le fichier 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'
Si vous le souhaitez, vous pouvez spécifier une durée pour écouter les trames ARP afin de trouver des hôtes. Par défaut, aucun minuteur n'est défini.
Une fois démarré, le terminal sera complètement effacé et un tableau composé d'une correspondance entre adresse IP et adresse MAC sera affiché :
+--------------------+------------------------------+--------------------+
| 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 |
+--------------------+------------------------------+--------------------+
Le contenu du fichier above_passive_arp.txt ressemblera à ceci :
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
C'est ainsi qu'Above, avec l'apprentissage des trames ARP, peut aider à découvrir des hôtes dans un segment sans faire de bruit sur les ondes.
Above peut également trouver des ID VLAN dans le trafic. C'est une option utile si l'attaquant se trouve sur un port trunk dans certaines circonstances lors du pentest. Et le problème est que sur un port trunk, tout le trafic est marqué avec des tags 802.1Q appartenant à des segments VLAN. Above peut extraire tous les ID VLAN depuis les ondes ou depuis une capture de trafic :
caster@kali:~$ sudo above --interface eth0 --search-vlan
Lorsque vous exécutez cette fonction, le terminal sera également effacé et un tableau sera affiché et mis à jour :
+------------------------------+---------------+----------------------------------------+
|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 |
+------------------------------+---------------+----------------------------------------+
De plus, le résultat de cette fonction sera écrit dans le fichier 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
--------------------------------------------------------------------------------
C'est ainsi que vous pouvez trouver des informations sur les segments VLAN en se basant uniquement sur les opérations de trafic. Mais il faut considérer qu'il s'agit d'un scénario spécifique, il n'est pas fréquent qu'un attaquant se trouve sur un port trunk. Soit il aura de la chance avec DTP, soit il tombera sur un port switch oublié par l'administrateur.
Depuis la version 2.8, Above est désormais capable d'identifier le fabricant par adresse MAC, spécifiquement par les 24 premiers bits. Cela se fait en utilisant une base de données téléchargée, puis en la convertissant dans le module above_oui_dict.py, qui est un dictionnaire composé d'OUI uniques et de noms de fabricants.
Copyright (c) 2025 Mahama Bazarov. Ce projet est sous licence Apache 2.0 License
Si vous avez des suggestions ou trouvez des bogues, n'hésitez pas à créer des issues dans le dépôt ou à me contacter : [email protected]