jcube3ai/sigmatic
GitHub: jcube3ai/sigmatic
这是一套针对VeilHunter攻击工具集的SIGMA检测规则库,涵盖59条映射至MITRE ATT&CK技术的检测逻辑,旨在帮助蓝队利用SIEM系统识别持久化、凭据窃取及横向移动等威胁。
Stars: 0 | Forks: 0
# VeilHunter SIGMA 规则
涵盖 VeilHunter 狩猎库中所有技术的 SIGMA 检测规则。
每条规则都映射到相应的 VeilHunter 脚本和 MITRE ATT&CK 技术。
## 规则数量
| 类别 | 规则数量 |
|----------|-------|
| Persistence | 12 |
| Credential Access | 8 |
| Lateral Movement | 7 |
| Defense Evasion | 9 |
| C2 + Exfiltration | 7 |
| Impact (Pre-Ransomware) | 6 |
| Execution (LOLBins) | 10 |
| **总计** | **59** |
## 目录结构
```
sigma/
├── persistence/
│ ├── veilhunter_run_key_persistence.yml
│ ├── veilhunter_run_key_suspicious_value.yml
│ ├── veilhunter_scheduled_task_created.yml
│ ├── veilhunter_scheduled_task_lolbin.yml
│ ├── veilhunter_service_installed.yml
│ ├── veilhunter_service_suspicious_imagepath.yml
│ ├── veilhunter_wmi_subscription_created.yml
│ ├── veilhunter_wmi_commandline_consumer.yml
│ ├── veilhunter_ifeo_debugger_hijack.yml
│ ├── veilhunter_startup_folder_drop.yml
│ ├── veilhunter_winlogon_helper_tampered.yml
│ └── veilhunter_appinit_dlls.yml
├── credential_access/
│ ├── veilhunter_lsass_memory_access.yml
│ ├── veilhunter_lsass_dumper_on_disk.yml
│ ├── veilhunter_sam_hive_access.yml
│ ├── veilhunter_kerberoasting.yml
│ ├── veilhunter_asrep_roasting.yml
│ ├── veilhunter_dpapi_master_key_access.yml
│ ├── veilhunter_browser_credential_access.yml
│ └── veilhunter_credential_file_created.yml
├── lateral_movement/
│ ├── veilhunter_psexec_service_install.yml
│ ├── veilhunter_admin_share_access.yml
│ ├── veilhunter_explicit_credential_use.yml
│ ├── veilhunter_pass_the_hash.yml
│ ├── veilhunter_wmiprvse_spawns_shell.yml
│ ├── veilhunter_rdp_brute_force.yml
│ └── veilhunter_rdp_enabled_registry.yml
├── defense_evasion/
│ ├── veilhunter_amsi_bypass_registry.yml
│ ├── veilhunter_scriptblock_logging_disabled.yml
│ ├── veilhunter_defender_disabled.yml
│ ├── veilhunter_defender_exclusion_added.yml
│ ├── veilhunter_security_log_cleared.yml
│ ├── veilhunter_system_log_cleared.yml
│ ├── veilhunter_process_masquerading.yml
│ ├── veilhunter_timestomping.yml
│ └── veilhunter_unsigned_dll_in_system32.yml
├── c2_exfil/
│ ├── veilhunter_bits_transfer_suspicious_url.yml
│ ├── veilhunter_bitsadmin_download.yml
│ ├── veilhunter_suspicious_named_pipe.yml
│ ├── veilhunter_powershell_download_cradle.yml
│ ├── veilhunter_cloud_sync_archive.yml
│ ├── veilhunter_dns_over_https_enabled.yml
│ └── veilhunter_suspicious_outbound_process.yml
├── impact/
│ ├── veilhunter_shadow_copy_deletion.yml
│ ├── veilhunter_bcdedit_recovery_disabled.yml
│ ├── veilhunter_backup_catalog_deleted.yml
│ ├── veilhunter_ransom_note_created.yml
│ ├── veilhunter_ransomware_extension.yml
│ └── veilhunter_backup_service_disabled.yml
└── execution/
├── veilhunter_mshta_remote_execution.yml
├── veilhunter_certutil_decode.yml
├── veilhunter_rundll32_suspicious.yml
├── veilhunter_regsvr32_suspicious.yml
├── veilhunter_wscript_cscript_suspicious.yml
├── veilhunter_encoded_powershell.yml
├── veilhunter_office_spawns_lolbin.yml
├── veilhunter_esentutl_credential_access.yml
├── veilhunter_makecab_staging.yml
└── veilhunter_wmic_process_create.yml
```
## 将规则转换到您的 SIEM
使用 [sigma-cli](https://github.com/SigmaHQ/sigma-cli) 将规则转换为您平台的查询语言。
### 安装 sigma-cli
```
pip install sigma-cli
pip install pySigma-backend-splunk
pip install pySigma-backend-elastic
pip install pySigma-backend-microsoft365defender
pip install pySigma-backend-qradar
pip install pySigma-backend-sentinel
```
### 转换单条规则
```
# Splunk SPL
sigma convert -t splunk -f default sigma/persistence/veilhunter_run_key_persistence.yml
# Elasticsearch / OpenSearch (EQL)
sigma convert -t elasticsearch -f eql sigma/persistence/veilhunter_run_key_persistence.yml
# Microsoft Sentinel (KQL)
sigma convert -t microsoft365defender sigma/persistence/veilhunter_run_key_persistence.yml
# QRadar AQL
sigma convert -t qradar sigma/persistence/veilhunter_run_key_persistence.yml
```
### 转换某个类别中的所有规则
```
# 将所有持久化规则转换为 Splunk
sigma convert -t splunk -f default sigma/persistence/*.yml
# 将所有类别的所有规则转换为 Sentinel KQL
sigma convert -t microsoft365defender sigma/**/*.yml
```
### 一次性转换所有规则
```
# 将所有 59 条规则转换为 Splunk,写入输出文件
sigma convert -t splunk -f default sigma/**/*.yml -o veilhunter_splunk_rules.conf
# 将所有规则转换为 Elasticsearch NDJSON
sigma convert -t elasticsearch -f ndjson sigma/**/*.yml -o veilhunter_elastic_rules.ndjson
# 将所有规则转换为 Sentinel (KQL) 并保存
sigma convert -t microsoft365defender sigma/**/*.yml -o veilhunter_sentinel_rules.kql
```
## 所需日志源
不同的规则需要不同的 Windows 日志源。启用这些日志源以实现全面覆盖:
### 进程创建 (EventID 4688)
所需规则:所有执行、横向移动以及大部分持久化规则。
```
auditpol /set /subcategory:"Process Creation" /success:enable
```
同时通过组策略启用命令行日志记录:
`Computer Configuration > Administrative Templates > System > Audit Process Creation > Include command line in process creation events`
### Sysmon (推荐)
许多规则是为 Sysmon 类别(`process_creation`、`file_event`、`registry_set`、`network_connection`、`pipe_created`)编写的,这些类别提供的数据比原生 Windows 日志更丰富。
使用 SwiftOnSecurity 配置安装 Sysmon:
```
# 下载并安装 Sysmon
Invoke-WebRequest -Uri https://download.sysinternals.com/files/Sysmon.zip -OutFile Sysmon.zip
Expand-Archive Sysmon.zip
# 下载 SwiftOnSecurity 配置
Invoke-WebRequest -Uri https://raw.githubusercontent.com/SwiftOnSecurity/sysmon-config/master/sysmonconfig-export.xml -OutFile sysmonconfig.xml
.\Sysmon\Sysmon64.exe -accepteula -i sysmonconfig.xml
```
### 安全日志大小
增加安全事件日志的最大大小以保留足够的历史记录:
```
wevtutil sl Security /ms:1073741824
```
### WMI 活动日志
WMI 订阅规则所需:
```
wevtutil sl Microsoft-Windows-WMI-Activity/Operational /e:true
```
### BITS 客户端日志
BITS 传输规则所需:
```
wevtutil sl Microsoft-Windows-Bits-Client/Operational /e:true
```
### 任务计划程序日志
计划任务规则所需:
```
wevtutil sl Microsoft-Windows-TaskScheduler/Operational /e:true
```
### Kerberos 审计
Kerberoasting 和 AS-REP roasting 规则所需:
```
auditpol /set /subcategory:"Kerberos Service Ticket Operations" /success:enable /failure:enable
auditpol /set /subcategory:"Kerberos Authentication Service" /success:enable /failure:enable
```
## 规则级别
| 级别 | 含义 |
|-------|---------|
| `critical` | 误报几乎为零。需要立即调查。 |
| `high` | 恶意活动的强力指标。预期的误报率较低。 |
| `medium` | 可能有合理解释的可疑活动。需要结合上下文。 |
| `low` | 信息性。用于建立基线和异常检测。 |
## 映射到 VeilHunter 脚本
| SIGMA 类别 | VeilHunter 脚本 |
|----------------|------------------|
| persistence/ | Veil_Hunter_v2.ps1, Task_Hunter_v2.ps1, service_installs_v2.ps1 |
| credential_access/ | VH_Credential_Hunter.ps1 |
| lateral_movement/ | VH_Lateral_Hunter.ps1 |
| defense_evasion/ | VH_Defense_Evasion_Hunter.ps1 |
| c2_exfil/ | VH_C2_Exfil_Hunter.ps1 |
| impact/ | VH_PreRansom_Hunter.ps1 |
| execution/ | VH_LOLBin_Hunter.ps1, malvertising_payload_hunter_v2.ps1 |
## 调优指南
### 减少误报
大多数规则都包含针对常见合法使用场景的 `filter_` 条件。在部署之前:
1. 针对过去 30 天的历史数据,以仅检测模式运行规则
2. 检查所有匹配项,并识别您环境中的合法活动模式
3. 将环境特定的排除项添加到 `filter_` 条件中
4. 只有在经过一段干净的基线期后,才将其提升为告警
### 高优先级规则(优先部署)
这些规则几乎没有合法的误报,应立即部署:
- `veilhunter_lsass_dumper_on_disk.yml` — 磁盘上的 mimikatz/procdump
- `veilhunter_ransom_note_created.yml` — 勒索信文件名
- `veilhunter_ransomware_extension.yml` — 已知的勒索软件扩展名
- `veilhunter_office_spawns_lolbin.yml` — Office 宏 → LOLBin 链条
- `veilhunter_process_masquerading.yml` — System32 之外的 svchost/lsass
- `veilhunter_suspicious_named_pipe.yml` — C2 框架命名管道
- `veilhunter_wmi_subscription_created.yml` — WMI 永久订阅
### 部署前需要调优的规则
如果不进行调优,这些规则在大多数环境中都会产生噪音:
- `veilhunter_admin_share_access.yml` — 针对您的管理子网进行调优
- `veilhunter_pass_the_hash.yml` — 为预期的 NTLM 源添加排除项
- `veilhunter_scheduled_task_created.yml` — 将已知软件任务名称加入允许列表
- `veilhunter_service_installed.yml` — 将您的部署工具加入允许列表
## 许可证
Apache 2.0 — 详情请参阅 [LICENSE](../LICENSE)。
标签:AMSI绕过, BurpSuite集成, Cloudflare, LOLBins, MITRE ATT&CK, SIEM规则, SIGMA规则, URL发现, VeilHunter, YAML, 凭据访问, 勒索软件前兆, 命令与控制, 威胁检测, 安全库, 安全检测, 安全运营, 扫描框架, 提权, 数据渗出, 横向移动, 狩猎规则, 私有化部署, 红队对抗, 编程规范, 逆向工具, 速率限制, 防御规避