开源项目教程:Adversary Emulation Library
1. 项目目录结构及介绍
Adversary Emulation Library 的目录结构如下:
.github/
:包含 GitHub Actions 工作流文件等。apt29/
:APT29 威胁群体的仿真计划。blind_eagle/
:Blind Eagle 威胁群体的仿真计划。carbanak/
:Carbanak 威胁群体的仿真计划。fin6/
:FIN6 威胁群体的仿真计划。fin7/
:FIN7 威胁群体的仿真计划。menu_pass/
:MenuPass 威胁群体的仿真计划。micro_emulation_plans/
:包含微仿真计划,针对多个威胁行为。ocean_lotus/
:OceanLotus 威胁群体的仿真计划。oilrig/
:OilRig 威胁群体的仿真计划。sandworm/
:Sandworm 威胁群体的仿真计划。structure/
:项目结构相关文件。turla/
:Turla 威胁群体的仿真计划。wizard_spider/
:Wizard Spider 威胁群体的仿真计划。.gitignore
:指定 Git 忽略的文件和目录。CONTRIBUTING.md
:贡献指南。LICENSE
:项目许可证信息。README.md
:项目自述文件。
每个威胁群体目录下通常包含仿真计划的相关文件,例如脚本、配置文件和文档等。
2. 项目的启动文件介绍
项目的启动文件通常位于各个威胁群体目录下,例如 apt29/
目录下的 apt29.sh
脚本可能是启动 APT29 仿真计划的入口。这些启动文件用于初始化和运行仿真计划。
以 apt29.sh
为例,其内容可能如下:
#!/bin/bash
# apt29.sh - APT29 仿真计划启动脚本
# 初始化环境
# ...
# 运行仿真计划
# ...
3. 项目的配置文件介绍
配置文件用于定义仿真计划的行为和参数,通常位于各个威胁群体目录下。例如,apt29/
目录下可能有一个名为 config.json
的配置文件。
config.json
文件的内容可能如下:
{
"target": "192.168.1.10",
"actions": [
{
"name": "initial_access",
"method": "smb"
},
{
"name": "credential_access",
"method": "mimikatz"
},
{
"name": "privilege_escalation",
"method": "exploit"
},
{
"name": " lateral_movement",
"method": "psexec"
},
{
"name": "exfiltration",
"method": "sftp"
}
]
}
在这个示例中,配置文件定义了仿真计划的目标 IP 地址、要执行的一系列行动及其方法。这些配置项允许用户定制仿真计划,以适应特定的测试场景。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考