
コアA2P2V機能(コマンドラインベース)
Automated Attack Path Planning and Validation(A2P2V)は、特定の攻撃者の目標に対するランク付けされた攻撃シーケンスのセットを決定する機能を提供する、計画およびサイバー攻撃ツールです。このツールの目的は、非セキュリティ専門家でも最小限の入力から明確で実行可能な知見を生成できるようプロセスを簡素化し、可能な限り自動化を活用して解釈しやすいレポートを出力することです。
本システムは、既知のネットワークトポロジとシステムの脆弱性情報を使用して、攻撃者の目標を達成するためのすべての攻撃シーケンスのセットを決定し、選択したシーケンスに必要な手順(Metasploitコマンドとして)を出力します。
システムへの入力には以下が含まれます:
A2P2Vには、setup中のrequirements.txtでインストールされるもの以外に以下の前提条件があります:
Ubuntuにpython tkをインストールするには(python 3.9を想定):
sudo apt install python3.9-tk
Metasploit RPCデーモンを起動するには、Dockerコンテナ内で提供されるスクリプトを使用することを推奨します:
$ 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 [path_of_yml_file]
システムは以下のコマンドライン引数で計画モードで実行されます:
$ a2p2v --plan
次の選択肢が表示されます:
ツリー#|スコア|ホップ |最終能力オプション |目標
-----|-----|-----------------------------------|--------------------------------------------------|---------------
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
------------------------------------------------------------------------------------------------------------------
実行する攻撃ツリーを選択してください(その他の値を入力すると終了):
詳細なレポートと対応する攻撃ツリーのセットは、reports/ ディレクトリにあります。
このツールは、ターゲットへのネットワーク接続があれば、単一ターゲットに対しても実行できます。
システムはコマンドライン引数でターゲットを指定することで、単一ホストモードで実行されます:
a2p2v --target USER1
既知のすべてのエクスプロイトのリストが選択肢に表示されます。特定のエクスプロイトを選択するか、すべてを選択できます。
ツリー#|スコア|能力
-----|-----|--------------------------------------------------
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
----------------------------------------------------------------
実行する能力を選択、'a'ですべて、またはその他の値を入力してスキップ: 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."