cyberknight91/detection-engineering

GitHub: cyberknight91/detection-engineering

一个以 Sigma 和 YARA 规则为核心的检测规则库,解决检测规则缺失、映射 ATT&CK 与缺乏真实基线测试的问题。

Stars: 0 | Forks: 0

# 检测工程学 ### 不断增长的 Sigma 和 YARA 规则库,手动编写,
映射到 MITRE ATT&CK,基于真实基线调整。

## 这是什么 Reglas de detección que he escrito para engagements pagados y práctica de purple-team, limpiadas y publicadas aquí. Cada regla del repo tiene que: 1. **Mapear a al menos una técnica MITRE ATT&CK**. 2. **Tener un bloque `falsepositives:` no-boilerplate** — casos reales observados durante tuning, no "none". 3. **Llevar un test case** en `tests/` con un evento positivo y (cuando aplique) una muestra negativa de baseline. 4. **Pasar `sigma check`** en CI en cada push. Esto no es un fork de SigmaHQ. Son mis reglas — algunas cubren gaps en los rulesets públicos, otras son reworks más ajustados de reglas community más ruidosas. ## 库 ### Sigma · Windows | Regla | Técnica | Estado | Notas | |-------|---------|:------:|-------| | [Macro de Office genera hijo sospechoso](rules/sigma/windows/initial_access/office_macro_suspicious_child.yml) | [T1566.001](https://attack.mitre.org/techniques/T1566/001/) | stable | Caza el patrón initial-access de Emotet/Qakbot sin depender de nombres de binario | | [WDigest re-habilitado vía registry](rules/sigma/windows/credential_access/wdigest_uselogoncredentials_enabled.yml) | [T1112](https://attack.mitre.org/techniques/T1112/) | stable | Pre-requisito para captura de passwords en claro desde LSASS | ### Sigma · Linux | Regla | Técnica | Estado | Notas | |-------|---------|:------:|-------| | [Modificación de sudoers fuera de visudo](rules/sigma/linux/credential_access/sudoers_modified_without_visudo.yml) | [T1548.003](https://attack.mitre.org/techniques/T1548/003/) | stable | Basada en auditd — detecta inyección de NOPASSWD en `/etc/sudoers*` | ### Sigma · Network | Regla | Técnica | Estado | Notas | |-------|---------|:------:|-------| | [Patrón sospechoso de beaconing DNS TXT](rules/sigma/network/dns_txt_high_entropy_beacon.yml) | [T1071.004](https://attack.mitre.org/techniques/T1071/004/) | experimental | Usa umbrales de entropía, requiere tuning por entorno | ### YARA | Regla | Target | Estado | Notas | |-------|--------|:------:|-------| | [Heurísticas de WebShell PHP](rules/yara/php_webshell_heuristics.yar) | archivos | stable | Heurística callback + ofuscación 3-de-5, cubre familias c99 / r57 / weevely / WSO / Alfa / IndoXploit por banner + patrón | ## 格式 Cada regla vive al lado de un archivo de análisis corto con el mismo stem: ``` rules/sigma/windows/initial_access/ ├── office_macro_suspicious_child.yml la regla └── office_macro_suspicious_child.analysis.md por qué funciona + notas FP + hunt queries ``` Tests: ``` tests/ ├── office_macro_suspicious_child.positive.json evento que TIENE que matchear └── office_macro_suspicious_child.negative.json evento baseline benigno ``` El workflow CI valida sintaxis de la regla, luego corre cada regla contra sus eventos positivo/negativo de test y rompe el build si hay desacuerdo. ## CI Mira [`.github/workflows/validate.yml`](.github/workflows/validate.yml). Por push: 1. `sigma check rules/sigma/` — validación de sintaxis. 2. `sigma convert -t lucene / -t splunk / -t wazuh` — smoke test de portabilidad a backends. 3. `yaratest` — hits positivo/negativo en tests. 4. Markdown link check en los docs de análisis. ## 使用规则 ### Elastic Security ``` # 将所有 Sigma 转换为 Elastic 规则 sigma convert -t lucene -f ndjson rules/sigma/ > elastic-rules.ndjson # 通过 Kibana 导入 curl -X POST "$KIBANA/api/detection_engine/rules/_import?overwrite=true" \ -H "kbn-xsrf: true" -F "file=@elastic-rules.ndjson" ``` ### Splunk ``` sigma convert -t splunk rules/sigma/ > splunk-searches.spl # 粘贴到 Splunk → savedsearches.conf ``` ### Wazuh ``` sigma convert -t wazuh rules/sigma/ > wazuh-rules.xml # 与现有 /var/ossec/etc/rules/local_rules.xml 合并 ``` ### YARA ``` yara -r rules/yara/ /path/to/scan/ ``` ## 将自己的规则贡献到仓库 Mira [`docs/CONTRIBUTING.md`](docs/CONTRIBUTING.md). Versión corta: abre un PR con la regla, su doc de análisis, y las muestras de test positivo y negativo. CI corre. ## 相关项 - [`purple-lab`](https://github.com/cyberknight91/purple-lab) — los atomics que cazan estas reglas. - [`ad-attack-detection`](https://github.com/cyberknight91/ad-attack-detection) — parejas específicas de AD. - [`siem-homelab`](https://github.com/cyberknight91/siem-homelab) — el stack donde valido reglas.
Hecho por cyberknight91 · Parte del portfolio Purple Team · Licencia MIT
标签:CI验证, Cloudflare, Conpot, DNS信息、DNS暴力破解, MITRE ATT&CK, Office宏, Purple Team, Sigma规则, WDigest, Windows安全, YARA规则, 凭证访问, 初始访问, 基线调优, 恶意宏, 目标导入, 规则映射, 逆向工具