
トラフィックを生成せずにネットワーク機器の脆弱性を検出するため、28のプロトコル(ARP、STP、OSPF、VLAN、SCADA)を解析するパッシブネットワークセキュリティスニファ。
ネットワークの脆弱性を見つけるためのネットワークセキュリティスニファー。ペネトレーションテスターやセキュリティエンジニア向けに設計されています。

___ __
/ | / /_ ____ _ _____
/ /| | / __ \/ __ \ | / / _ \
/ ___ |/ /_/ / /_/ / |/ / __/
/_/ |_/_.___/\____/|___/\___/
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
このリポジトリに含まれるすべての情報は、教育および研究目的でのみ提供されています。作者は本ツールの不正使用について一切の責任を負いません。
ペネトレーションテスターとセキュリティ専門家の両方を支援する、専門的なネットワークセキュリティツールです。
Aboveは、ネットワーク機器の脆弱性を見つけるためのネットワークセキュリティスニファーです。トラフィック分析に完全に基づいているため、エア上にノイズを発生させません。目に見えません。完全にScapyライブラリに基づいています。
Aboveは、ペネトレーションテスターがネットワークハードウェアの脆弱性発見プロセスを自動化することを可能にします。ディスカバリプロトコル、ダイナミックルーティング、802.1Q、解決プロトコル、ICS、FHRP、STP、LLMNR/NBT-NSなど。
最大28のプロトコルを検出します:
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は2つのモードで動作します:
このツールは動作が非常にシンプルで、引数によって制御されます:
.pcap ファイルを入力として受け取り、プロトコルを検索.pcap ファイルに記録(名前は自分で指定)usage: 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
取得した情報は、ペネトレーションテスターだけでなく、セキュリティエンジニアにとっても有用であり、何に注意すべきかを把握するのに役立ちます。
Aboveがプロトコルを検出すると、攻撃ベクトルやセキュリティ問題を示すために必要な情報を出力します:
影響: このプロトコルに対して実行可能な攻撃の種類;
ツール: 攻撃を開始するために使用できるツール;
技術情報: ペネトレーションテスターにとって必要な情報、送信元MAC/IPアドレス、FHRPグループID、OSPF/EIGRPドメインなど
緩和策: セキュリティ問題を修正するための推奨事項
送信元/宛先アドレス: プロトコルごとに、Aboveは送信元と宛先のMACアドレスとIPアドレスに関する情報を表示
Kali Linuxのリポジトリから直接Aboveをインストールできます
caster@kali:~$ sudo apt update && sudo apt install above
または:
:~$ 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
macOSでファイアウォールを無効にすることを忘れないでください!
Aboveはスニッフィングにrootアクセスが必要です
Aboveはタイマーあり・なしで実行できます:
caster@kali:~$ sudo above --interface eth0 --timer 120
トラフィックのスニッフィングを停止するには、CTRL + Cを押してください
例:
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
スニッフィングしたトラフィックを記録する必要がある場合は、--output 引数を使用します
caster@kali:~$ sudo above --interface eth0 --timer 120 --output above.pcap
CTRL+Cでツールを中断しても、トラフィックはファイルに書き込まれます
既に記録済みのトラフィックがある場合は、--input 引数を使用して潜在的なセキュリティ問題を探すことができます
caster@kali:~$ above --input hsrp.cap
例:
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
これは、攻撃者がARPスキャンでエアにノイズを発生させずに、静かにホストを発見したい場合に非常に便利です。この機能は --passive-arp で実行され、見つかったすべてのホストは 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'
必要に応じて、ホストを見つけるためにARPフレームをリッスンする時間をタイマーで指定できます。デフォルトではタイマーは設定されていません。
起動すると、ターミナルは完全にクリアされ、IPアドレスとMACアドレスのマッピングからなるテーブルが表示されます:
+--------------------+------------------------------+--------------------+
| 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 |
+--------------------+------------------------------+--------------------+
above_passive_arp.txt ファイルの内容は次のようになります:
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
このように、ARPフレーム学習を使用したAboveは、エアにノイズを発生させることなく、セグメント内のホストを発見するのに役立ちます。
Aboveはトラフィック内のVLAN IDも見つけることができます。これは、ペネトレーションテスト中に攻撃者が何らかの状況でトランクポートにいる場合に便利なオプションです。問題は、トランクポートではすべてのトラフィックがVLANセグメントに属する802.1Qタグでタグ付けされていることです。Aboveは、エアまたはトラフィックダンプからすべてのVLAN IDを抽出できます:
caster@kali:~$ sudo above --interface eth0 --search-vlan
この機能を実行すると、ターミナルもクリアされ、テーブルが表示され更新されます:
+------------------------------+---------------+----------------------------------------+
|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 |
+------------------------------+---------------+----------------------------------------+
また、この機能の結果は 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
--------------------------------------------------------------------------------
このようにして、トラフィック操作のみに基づいてVLANセグメントに関する情報を見つけることができます。ただし、これは特殊なシナリオであり、攻撃者がトランクポートにいることはそれほど多くないことを考慮する必要があります。DTPに恵まれるか、管理者が忘れたスイッチポートに偶然遭遇するかのどちらかです。
バージョン2.8から、AboveはMACアドレス、具体的には最初の24ビットからベンダーを識別できるようになりました。これはダウンロードしたデータベースを使用し、それを above_oui_dict.py モジュールに変換することで行われます。このモジュールは、ユニークなOUIとベンダー名からなる辞書です。
Copyright (c) 2025 Mahama Bazarov. This project is licensed under the Apache 2.0 License
提案やバグを見つけた場合は、リポジトリにIssueを作成するか、私に連絡してください: [email protected]