
Основная функциональность A2P2V (на основе командной строки)
Automated Attack Path Planning and Validation (A2P2V) — это инструмент для планирования и проведения кибератак, предоставляющий пользователям возможность определить набор ранжированных последовательностей атак для достижения конкретной цели злоумышленника. Цель инструмента — упростить процесс, чтобы даже неспециалисты в области безопасности могли генерировать понятные и практичные выводы на основе простых входных данных, максимально автоматизируя процесс и создавая легко интерпретируемые отчеты.
Система использует известную топологию сети и информацию об уязвимостях системы, чтобы определить все наборы последовательностей атак для достижения цели злоумышленника. На выходе она предоставляет необходимые шаги (в виде команд Metasploit) для выбранной последовательности.
Входные данные системы включают:
Помимо того, что устанавливается через requirements.txt в процессе настройки, A2P2V имеет следующие предварительные требования:
Для установки python tk на Ubuntu (при условии python 3.9):
sudo apt install python3.9-tk
Для запуска демона RPC Metasploit мы рекомендуем использовать докер-контейнер с помощью предоставленного скрипта:
$ cd scripts/
$ ./run_msfrpcd.sh
Рекомендуется устанавливать в виртуальное окружение (virtualenv).
Сначала создайте каталог venvs:
mkdir $HOME/.venvs/
Создайте виртуальное окружение:
python3 -m venv ~/.venvs/a2p2v
Активируйте виртуальное окружение:
source ~/.venvs/a2p2v/bin/activate
Установите:
pip install -r requirements.txt
pip install .
При первом запуске инструмента необходимо импортировать определения возможностей. Например, для загрузки предоставленных определений возможностей по умолчанию:
a2p2v --cpdb [путь_к_yml_файлу]
Система запускается в режиме планирования с использованием следующих аргументов командной строки:
$ a2p2v --plan
Отображаются следующие варианты выбора:
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):
Подробный отчет и соответствующий набор деревьев атак можно найти в каталоге reports/.
Инструмент также может быть запущен против одного целевого хоста при условии сетевого подключения к цели.
Система запускается в режиме одиночного хоста путем указания цели в аргументах командной строки:
a2p2v --target USER1
Отображается список всех известных эксплойтов. Вы можете выбрать конкретный эксплойт для использования, либо все.
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
Соответствующий отчет аналогичен тому, который создается для сценария использования системы.
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.
Файл lab_config/capabilities_metasploit.yml основан на информации о модулях Metasploit Framework.
Этот файл не содержит информации об атакующем модуле, кроме лицензии BSD.
Лицензия Metasploit Framework представлена ниже.
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."