
Core A2P2V Funktionalität (befehlszeilenbasiert)
Automated Attack Path Planning and Validation (A2P2V) ist ein Planungs- und Cyberangriffstool, das Benutzern die Möglichkeit bietet, eine Reihe von bewerteten Angriffssequenzen für ein bestimmtes Angreiferziel zu ermitteln. Ziel des Tools ist es, den Prozess so zu vereinfachen, dass auch Nicht-Sicherheitsexperten aus grundlegenden Eingaben klare, umsetzbare Erkenntnisse generieren können, indem so viel Automatisierung wie möglich genutzt wird und leicht verständliche Berichte erstellt werden.
Das System verwendet bekannte Netzwerktopologie- und Systemverwundbarkeitsinformationen, um alle Sätze von Angriffssequenzen zur Erreichung des Angreiferziels zu bestimmen und gibt die erforderlichen Schritte (als Metasploit-Befehle) für die ausgewählte Sequenz aus.
Die Eingabe für das System umfasst:
A2P2V hat die folgenden Voraussetzungen, die über die Installation via requirements.txt hinausgehen:
Um python tk unter Ubuntu zu installieren (Angenommen Python 3.9):
sudo apt install python3.9-tk
Um den Metasploit RPC-Daemon zu starten, empfehlen wir die Ausführung in einem Docker-Container mit dem bereitgestellten Skript:
$ cd scripts/
$ ./run_msfrpcd.sh
Die Installation in einer virtualenv wird empfohlen.
Erstellen Sie zunächst ein Venvs-Verzeichnis:
mkdir $HOME/.venvs/
Erstellen Sie die virtuelle Umgebung:
python3 -m venv ~/.venvs/a2p2v
Aktivieren Sie die virtuelle Umgebung:
source ~/.venvs/a2p2v/bin/activate
Installieren:
pip install -r requirements.txt
pip install .
Wenn das Tool zum ersten Mal ausgeführt wird, müssen die Fähigkeitsdefinitionen importiert werden. Um beispielsweise die bereitgestellten Standard-Fähigkeitsdefinitionen zu laden:
a2p2v --cpdb [Pfad_der_yml_Datei]
Das System wird im Planungsmodus mit den folgenden Befehlszeilenargumenten ausgeführt:
$ a2p2v --plan
Die folgenden Auswahlen werden angezeigt:
TREE#|SCORE|HOPS |FINAL CAPABILITY OPTIONS |GOALS
-----|-----|-----------------------------------|--------------------------------------------------|---------------
0| 6.24|GW(1)>HMI(4)>OPC(4)>PLC(1) |action=WRITE_REGISTERS |change_temp
-----|-----|-----------------------------------|--------------------------------------------------|---------------
1| 6.24|GW(1)>HMI(4)>EWS10(4)>PLC(1) |action=WRITE_REGISTERS |change_temp
------------------------------------------------------------------------------------------------------------------
Select an attack tree to execute (or any other value to exit):
Ein detaillierter Bericht und der entsprechende Satz von Angriffsbäumen befinden sich im Verzeichnis reports/.
Das Tool kann auch gegen einen einzelnen Zielhost ausgeführt werden, sofern eine Netzwerkverbindung zum Ziel besteht.
Das System wird im Einzelhost-Modus ausgeführt, indem ein Ziel in den Befehlszeilenargumenten angegeben wird:
a2p2v --target USER1
Die Liste aller bekannten Exploits wird in der Auswahl angezeigt. Sie können einen bestimmten Exploit auswählen oder alle verwenden.
TREE#|SCORE|CAPABILITY
-----|-----|--------------------------------------------------
0| 8.4|exploit/windows/smb/ms17_010_eternalblue
-----|-----|--------------------------------------------------
1| 8.4|exploit/windows/smb/ms17_010_psexec
-----|-----|--------------------------------------------------
2| 8.4|exploit/windows/smb/ms10_061_spoolss
-----|-----|--------------------------------------------------
3| 8.2|exploit/windows/rdp/cve_2019_0708_bluekeep_rce
----------------------------------------------------------------
Select a capability to execute, 'a' for all, or any other value to skip: a
Der entsprechende Bericht ähnelt dem für den System-Anwendungsfall generierten.
Copyright (C) 2018-2023 Toshiba Corporation and Peraton Labs, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Die Datei lab_config/capabilities_metasploit.yml basiert auf den Modulinformationen des Metasploit Framework.
Diese Datei enthält keine Informationen über das Angriffsmodul, abgesehen von der BSD-Lizenz.
Die Lizenz des Metasploit Framework ist unten aufgeführt.
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://www.metasploit.com/
Files: *
Copyright: 2006-2020, Rapid7, Inc.
License: BSD-3-clause
# The Metasploit Framework is provided under the 3-clause BSD license provided
# at the end of this file.
#
# The copyright on this package is held by Rapid7, Inc.
#
The Original Code and all software distributed under the License are
distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
Please see the License for the specific language governing rights and
limitations under the License."