r648r/Wazuh-Deploiment

GitHub: r648r/Wazuh-Deploiment

一键式 PowerShell 脚本,将 Windows 端点快速部署为集成 Wazuh、Sysmon、Sigma、YARA 等多组件的检测就绪主机。

Stars: 1 | Forks: 0

# Windows 端点检测部署 — Wazuh + Sysmon + Sigma + YARA **English** · [Français](README.fr.md) 一键式 PowerShell 部署脚本,可将 Windows 端点变更为 **具备检测能力的主机**:安装 **Wazuh** agent、**Sysmon**,计划执行 **Chainsaw + Sigma** EVTX 搜捕,集成 **YARA** 和 Sysinternals(`autoruns`、 `sigcheck`、`logonsessions`)作为 Wazuh 的 active-response 命令,并传送 **Atomic Red Team** 脚本以验证检测效果。 ## 已部署的检测技术栈 | 组件 | 角色 | |---|---| | Wazuh agent | EDR/SIEM 遥测数据 -> Wazuh manager | | Sysmon | 丰富的进程 / 网络 / 注册表事件日志记录 | | Sigma + Chainsaw | 针对Sigma规则集计划执行的 EVTX 搜捕 | | YARA | 按需恶意软件扫描 (active response) | | Sysinternals | `autoruns`, `sigcheck`, `logonsessions` 采集器 | | Atomic Red Team | 检测验证 (ART 测试, 勒索软件模拟) | ## 演示 ``` PS C:\> .\Deploy-WazuhAgent.ps1 -WAZUH_AGENT_GROUP Workstations ` -WAZUH_AGENT_NAME WIN-CLIENT01 ` -WAZUH_REGISTRATION_SERVER 198.51.100.50 [+] Wazuh agent installed and registered (group: Workstations) [+] Installing Sysmon ............................. OK [+] Updating local_internal_options.conf (remote commands enabled) [+] Downloading & extracting chainsaw.exe ......... OK [+] Config Sigcheck / Chainsaw / Logonsessions / Autoruns ... OK [+] Cloning Sigma ruleset -> C:\Program Files\socfortress\sigma Receiving objects: 100% (115121/115121), 38.87 MiB | 16.3 MiB/s, done. [+] Finished — endpoint is detection-ready ``` YARA active-response 扫描示例: ``` PS C:\> .\yara.ps1 MalwareType FilePath ----------- -------- Mimikatz_Memory C:\Users\Public\Downloads\mk.exe Generic_Ransomware C:\Users\Public\Downloads\invoice.scr ``` ## 参数 部署脚本接受三个必选参数: - `WAZUH_AGENT_GROUP` — 分配给该 agent 的 Wazuh 组。 - `WAZUH_AGENT_NAME` — 仪表盘上显示的 agent 名称。 - `WAZUH_REGISTRATION_SERVER` — Wazuh manager 的 IP 地址。 ## 主要功能 ### CustomLog 处理日志输出,区分错误消息与普通提示信息。 - `message` (字符串) — 要打印的消息。 - `isAnError` (布尔值) — 该消息是否为错误(可选,默认为 `false`)。 ``` CustomLog -message "Installation succeeded." CustomLog -message "Installation failed." -isAnError $true ``` ### InstallWazuh 安装 Wazuh agent:检查服务是否已存在,若不存在则下载并安装,若未运行则启动它。 ### InstallScripts 运行安装额外组件(如 Sysmon)的脚本,通过 `StartPowershellAsAdmin` 以管理员权限执行每一个脚本,并捕获所有错误。 ### UpdateLocalInternalOption 更新 `local_internal_options.conf` 以启用远程命令 (`wazuh_command.remote_commands=1`)。 ### InitializeAndDownloadChainsaw 重置目标目录,然后下载并解压 Chainsaw (合并了 `InitChainsawSetup` + `DownloadChainsaw`)。 ### PullOrCloneSigma 克隆 Sigma 规则仓库,如果已存在则拉取最新代码。 ### 移动文件 将所需的配置文件复制到目标位置,并校验每一次复制。 ### 启动 Wazuh 启动 `WazuhSvc` 服务。 ### 以管理员身份启动 PowerShell 以管理员权限运行 PowerShell 命令。 - `Arguments` (字符串) — 传递给 PowerShell 命令的参数。 ### 卸载 WazuhSysinternal 移除 Sysinternals 工具(`C:\Program Files\sysinternals`)并卸载 Wazuh agent。 ## 常量 - `$CHAINSAW_SOURCE_FOLDER` — Chainsaw 源目录。 - `$ADMIN_DOCUMENT` — 管理员的 Documents 目录。 - `$SOCFORTRESS_DESTINATION_FOLDER` — SOCFortress 目标目录。 - `$SIGMA_RULES_GIT_URL` — Sigma 规则 Git 仓库 URL。 - `$TEMP_PATH` — 临时目录。 - `$IS_ADMIN` — 脚本是否以管理员权限运行。 - `$SCRIPT_TO_EXEC` — 待执行脚本的哈希表。 - `$WAZUH_INSTALLER_PATH` — Wazuh agent 安装程序路径。 - `$WAZUH_INSTALL_COMMAND` — Wazuh agent 安装命令。 ## 主界面 `Main` 函数统筹整个部署过程。它会检查是否具有管理员权限 (如有需要则提权重新启动),然后按顺序运行: 1. `InstallWazuh` 2. `InstallScripts` 3. `UpdateLocalInternalOption` 4. `InitializeAndDownloadChainsaw` 5. `MoveFiles` 6. `PullOrCloneSigma`
标签:AI合规, IPv6, Libemu, PowerShell, Wazuh, 漏洞靶场, 特权提升, 终端安全, 自动化部署, 防御检测