
Funzionalità principale A2P2V (basata su riga di comando)
Automated Attack Path Planning and Validation (A2P2V) è uno strumento di pianificazione e cyber-attacco che offre la capacità agli utenti di determinare un insieme di sequenze di attacco classificate in base a un obiettivo specifico dell'attaccante. L'obiettivo dello strumento è semplificare il processo in modo che i non esperti di sicurezza possano generare intelligence chiara e utilizzabile da input di base, sfruttando il più possibile l'automazione e generando report facili da interpretare.
Il sistema utilizza informazioni note sulla topologia di rete e sulle vulnerabilità del sistema per determinare tutti gli insiemi di sequenze di attacco per raggiungere l'obiettivo dell'attaccante e fornisce i passaggi necessari (come comandi Metasploit) per la sequenza selezionata.
L'input al sistema include:
A2P2V ha i seguenti prerequisiti oltre a quanto installato tramite requirements.txt durante l'installazione:
Per installare python tk su Ubuntu (supponendo python 3.9):
sudo apt install python3.9-tk
Per avviare il demone RPC di Metasploit, consigliamo di eseguirlo in un contenitore docker, utilizzando lo script fornito:
$ cd scripts/
$ ./run_msfrpcd.sh
Si consiglia l'installazione in un virtualenv.
Prima creare una directory venvs:
mkdir $HOME/.venvs/
Creare l'ambiente virtuale:
python3 -m venv ~/.venvs/a2p2v
Attivare l'ambiente virtuale:
source ~/.venvs/a2p2v/bin/activate
Installare:
pip install -r requirements.txt
pip install .
La prima volta che lo strumento viene eseguito, è necessario importare le definizioni delle capacità. Ad esempio, per caricare le definizioni delle capacità predefinite fornite:
a2p2v --cpdb [path_of_yml_file]
Il sistema viene eseguito in modalità di pianificazione utilizzando i seguenti argomenti da riga di comando:
$ a2p2v --plan
Vengono mostrate le seguenti selezioni:
ALBERO#|PUNTEGGIO|SALTI |OPZIONI CAPACITÀ FINALI |OBIETTIVI
-----|-----|-----------------------------------|--------------------------------------------------|---------------
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
------------------------------------------------------------------------------------------------------------------
Seleziona un albero di attacco da eseguire (o qualsiasi altro valore per uscire):
Un report dettagliato e il corrispondente insieme di alberi di attacco si trovano nella directory reports/.
Lo strumento può anche essere eseguito contro un singolo target, assumendo la connettività di rete al target.
Il sistema viene eseguito in modalità singolo host specificando un target negli argomenti da riga di comando:
a2p2v --target USER1
L'elenco di tutti gli exploit noti viene mostrato nella selezione. Puoi scegliere un exploit specifico da utilizzare, o tutti.
ALBERO#|PUNTEGGIO|CAPACITÀ
-----|-----|--------------------------------------------------
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
----------------------------------------------------------------
Seleziona una capacità da eseguire, 'a' per tutte, o qualsiasi altro valore per saltare: a
Il report corrispondente è simile a quello generato per il caso d'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.
Il file lab_config/capabilities_metasploit.yml si basa sulle informazioni dei moduli di Metasploit Framework.
Questo file non contiene informazioni sul modulo di attacco oltre alla licenza BSD.
La licenza di Metasploit Framework è mostrata di seguito.
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."