
Fonctionnalité principale d'A2P2V (basée sur la ligne de commande)
Automated Attack Path Planning and Validation (A2P2V) est un outil de planification et de cyberattaque qui offre aux utilisateurs la capacité de déterminer un ensemble de séquences d'attaque classées en fonction d'un objectif spécifique de l'attaquant. Le but de l'outil est de simplifier le processus afin que les non-experts en sécurité puissent générer des renseignements clairs et exploitables à partir d'entrées de base en utilisant le maximum d'automatisation et en produisant des rapports faciles à interpréter.
Le système utilise la topologie de réseau connue et les informations de vulnérabilité du système pour déterminer tous les ensembles de séquences d'attaque permettant d'atteindre l'objectif de l'attaquant et produit les étapes requises (sous forme de commandes Metasploit) pour la sélection effectuée.
Les entrées du système comprennent :
A2P2V a les prérequis suivants au-delà de ce qui est installé via requirements.txt lors de la configuration :
Pour installer python tk sur Ubuntu (en supposant python 3.9) :
sudo apt install python3.9-tk
Pour démarrer le démon Metasploit RPC, nous recommandons de l'exécuter dans un conteneur Docker, à l'aide du script fourni :
$ cd scripts/
$ ./run_msfrpcd.sh
L'installation dans un virtualenv est recommandée.
Créez d'abord un répertoire venvs :
mkdir $HOME/.venvs/
Créez l'environnement virtuel :
python3 -m venv ~/.venvs/a2p2v
Activez l'environnement virtuel :
source ~/.venvs/a2p2v/bin/activate
Installez :
pip install -r requirements.txt
pip install .
La première fois que l'outil est exécuté, les définitions de capacités doivent être importées. Par exemple, pour charger les définitions de capacités par défaut fournies :
a2p2v --cpdb [chemin_du_fichier_yml]
Le système est exécuté en mode planification en utilisant les arguments de ligne de commande suivants :
$ a2p2v --plan
Les sélections suivantes sont affichées :
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):
Un rapport détaillé et l'ensemble correspondant d'arbres d'attaque se trouvent dans le répertoire reports/.
L'outil peut également être exécuté contre une seule cible, en supposant une connectivité réseau avec la cible.
Le système est exécuté en mode hôte unique en spécifiant une cible dans les arguments de ligne de commande :
a2p2v --target USER1
La liste de tous les exploits connus est affichée dans la sélection. Vous pouvez choisir un exploit spécifique à utiliser, ou tous.
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
Le rapport correspondant est similaire à celui généré pour le cas d'utilisation du système.
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.
Le fichier lab_config/capabilities_metasploit.yml est basé sur les informations des modules du Metasploit Framework.
Ce fichier ne contient aucune information sur le module d'attaque autre que la licence BSD.
La licence du Metasploit Framework est indiquée ci-dessous.
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."