
Funcionalidad principal de A2P2V (basado en línea de comandos)
Automated Attack Path Planning and Validation (A2P2V) es una herramienta de planificación y ciberataque que proporciona la capacidad a los usuarios de determinar un conjunto de secuencias de ataque clasificadas dado un objetivo específico del atacante. El objetivo de la herramienta es simplificar el proceso para que los no expertos en seguridad puedan generar inteligencia clara y procesable a partir de entradas básicas utilizando la mayor automatización posible y generando informes fáciles de interpretar.
El sistema utiliza información conocida de topología de red y vulnerabilidades del sistema para determinar todos los conjuntos de secuencias de ataque para alcanzar el objetivo del atacante y genera los pasos requeridos (como comandos de Metasploit) para la secuencia seleccionada.
La entrada al sistema incluye:
A2P2V tiene los siguientes prerrequisitos además de lo que se instala via requirements.txt durante la configuración:
Para instalar python tk en Ubuntu (asumiendo python 3.9):
sudo apt install python3.9-tk
Para iniciar el demonio Metasploit RPC, recomendamos ejecutar en un contenedor docker, usando el script proporcionado:
$ cd scripts/
$ ./run_msfrpcd.sh
Se recomienda instalar en un virtualenv.
Primero crea un directorio venvs:
mkdir $HOME/.venvs/
Crea el entorno virtual:
python3 -m venv ~/.venvs/a2p2v
Activa el entorno virtual:
source ~/.venvs/a2p2v/bin/activate
Instala:
pip install -r requirements.txt
pip install .
La primera vez que se ejecuta la herramienta, es necesario importar las definiciones de capacidades. Por ejemplo, para cargar las definiciones de capacidades predeterminadas proporcionadas:
a2p2v --cpdb [ruta_del_archivo_yml]
El sistema se ejecuta en modo de planificación usando los siguientes argumentos de línea de comandos:
$ a2p2v --plan
Se muestran las siguientes selecciones:
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
------------------------------------------------------------------------------------------------------------------
Seleccione un árbol de ataque a ejecutar (o cualquier otro valor para salir):
Se puede encontrar un informe detallado y el conjunto correspondiente de árboles de ataque en el directorio reports/.
La herramienta también se puede ejecutar contra un solo objetivo, asumiendo conectividad de red al objetivo.
El sistema se ejecuta en modo de host único especificando un objetivo en los argumentos de línea de comandos:
a2p2v --target USER1
Se muestra la lista de todos los exploits conocidos en la selección. Puede elegir un exploit específico para usar, o todos.
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
----------------------------------------------------------------
Seleccione una capacidad a ejecutar, 'a' para todas, o cualquier otro valor para omitir: a
El informe correspondiente es similar al generado para el caso de uso del sistema.
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.
El archivo lab_config/capabilities_metasploit.yml se basa en la información de los módulos de Metasploit Framework.
Este archivo no contiene información sobre el módulo de ataque aparte de la licencia BSD.
La licencia de Metasploit Framework se muestra a continuación.
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."