
핵심 A2P2V 기능 (명령줄 기반)
자동 공격 경로 계획 및 검증 (A2P2V)은 특정 공격자 목표가 주어졌을 때 사용자가 순위가 매겨진 공격 시퀀스 집합을 결정할 수 있도록 지원하는 계획 및 사이버 공격 도구입니다. 이 도구의 목표는 비보안 전문가도 가능한 한 많은 자동화를 통해 기본 입력으로부터 명확하고 실행 가능한 인텔리전스를 생성하고, 해석하기 쉬운 보고서를 출력할 수 있도록 프로세스를 단순화하는 것입니다.
이 시스템은 알려진 네트워크 토폴로지와 시스템 취약점 정보를 사용하여 공격자 목표를 달성하기 위한 모든 공격 시퀀스 집합을 결정하고, 선택된 시퀀스에 필요한 단계를 (Metasploit 명령어로) 출력합니다.
시스템에 입력되는 항목은 다음과 같습니다:
A2P2V는 설치 중 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 [yml_파일_경로]
시스템은 다음 명령줄 인수를 사용하여 계획 모드로 실행됩니다:
$ a2p2v --plan
다음과 같은 선택 항목이 표시됩니다:
TREE#|SCORE|HOPS |최종 능력 옵션 |목표
-----|-----|-----------------------------------|--------------------------------------------------|---------------
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
알려진 모든 익스플로잇 목록이 선택 항목에 표시됩니다. 특정 익스플로잇을 선택하거나 모두 선택할 수 있습니다.
TREE#|SCORE|능력
-----|-----|--------------------------------------------------
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."