Metarget 开源项目使用教程
1. 项目的目录结构及介绍
Metarget 是一个用于自动构建易受攻击基础设施的框架。以下是项目的目录结构及其介绍:
metarget/
├── README.md
├── LICENSE
├── requirements.txt
├── setup.py
├── metarget
│ ├── __init__.py
│ ├── cli.py
│ ├── config.py
│ ├── gadgets.py
│ ├── vulns_cn/
│ │ ├── __init__.py
│ │ ├── cve-2016-5195.yaml
│ │ ├── cve-2019-5736.yaml
│ │ └── ...
│ ├── vulns_app/
│ │ ├── __init__.py
│ │ ├── dvwa.yaml
│ │ └── ...
│ └── ...
└── ...
README.md
: 项目介绍文档。LICENSE
: 项目许可证文件。requirements.txt
: 项目依赖文件。setup.py
: 项目安装脚本。metarget/
: 项目主目录。__init__.py
: 初始化文件。cli.py
: 命令行接口文件。config.py
: 配置文件。gadgets.py
: 工具文件。vulns_cn/
: 云原生漏洞场景描述文件目录。vulns_app/
: 应用漏洞场景描述文件目录。
2. 项目的启动文件介绍
Metarget 的启动文件是 cli.py
,它定义了命令行接口,允许用户通过命令行来管理和部署易受攻击的场景。以下是 cli.py
的主要功能:
- 安装易受攻击的云原生环境。
- 安装易受攻击的应用环境。
- 管理已安装的易受攻击场景。
示例命令:
# 安装特定漏洞场景
/metarget cnv install cve-2016-5195
# 安装应用漏洞场景
/metarget appv install dvwa --external
3. 项目的配置文件介绍
Metarget 的配置文件是 config.py
,它定义了项目的全局配置和默认参数。以下是 config.py
的主要内容:
- 默认的漏洞场景目录。
- 默认的工具和版本。
- 系统要求和依赖。
示例配置:
# config.py
DEFAULT_VULN_CN_DIR = "vulns_cn"
DEFAULT_VULN_APP_DIR = "vulns_app"
DEFAULT_GADGETS = {
"kata": "1.10.0",
"kernel": "5.7.5"
}
SYSTEM_REQUIREMENTS = {
"Ubuntu": ["16.04", "18.04"]
}
通过这些配置,用户可以自定义漏洞场景的安装路径和工具版本,以满足不同的研究和测试需求。