isaiasvela/Falco_custom_rules
GitHub: isaiasvela/Falco_custom_rules
一组 Falco 自定义规则,用于检测攻击者在 /tmp 目录下创建并执行临时 Bash 脚本的行为(MITRE ATT&CK T1059.004)。
Stars: 0 | Forks: 0
# Falco 自定义规则 — 临时脚本执行 (T1059.004)
## 概述
本仓库包含自定义的 Falco 规则,用于检测临时脚本(例如使用 `mktemp` 和 `bash`)的创建和执行,这些脚本通常放置在 `/tmp` 目录下。这些规则旨在捕获 T1059.004 (Bash) 技术,即攻击者创建一个临时脚本并执行它来运行代码。
## 检测内容
- 在 `/tmp` 下(通过 `mktemp` 或类似方式)创建临时脚本文件。
- 随后使用 `bash`、`sh` 或其他 shell 执行这些脚本。
- 触发检测的模式示例:在 `/tmp` 中创建一个文件并对其调用 `bash`。
## 包含的文件
- `values.yaml`:本仓库中使用的配置和规则 payload。检查此文件可以查看您环境中使用的具体规则定义或参数。
## 用法
1. 在您的主机上安装 Falco,或使用启用了 Falco 的容器。
2. 将自定义规则添加到 Falco 的规则目录中,或使用 `-r` 选项直接引用它们。例如,在 Linux 主机上:
```
# 将你的自定义规则复制到 Falco 的本地规则文件
sudo cp values.yaml /etc/falco/falco_rules.local.yaml
# 使用本地规则文件运行 Falco(用于测试)
sudo falco -r /etc/falco/falco_rules.local.yaml
```
如果 Falco 是通过 Helm 安装的,请改用 Helm 应用 `values.yaml` 配置(如有需要,请调整 namespace):
```
helm upgrade falco falcosecurity/falco -n falco -f values.yaml
```
3. 要在本地(在 Linux 测试主机/容器上)重现此行为,您可以创建并执行一个临时脚本:
```
tmp=$(mktemp /tmp/tmp.XXXXXX.sh)
echo 'echo hello-from-temp' > "$tmp"
bash "$tmp"
rm -f "$tmp"
```
此序列(创建临时脚本 + 执行它)正是这些规则旨在检测的活动。
## Loki 和 Grafana 说明
本仓库中对 Loki 的引用仅供参考:在我们的实验室中,我们部署了使用 Loki 和 Grafana 的可观测性 stack,用于收集和可视化 Falco 警报。Loki/Grafana 并非 Falco 规则正常工作所必需的——它们只是我们实验室监控设置的一部分。
## 测试与后续步骤
- 使用受控测试验证规则是否触发(参见上面的重现示例)。
- 如果您使用集中式日志记录/告警 stack(Loki、Elasticsearch 等),请将 Falco 警报转发到该系统以启用仪表板和告警功能。
- 在 `values.yaml` 中调整规则条件(路径、进程名称、用户),以减少您环境中的误报。
## 联系方式
如果您在将规则适配到您的环境或与您的可观测性 stack 集成时需要帮助,请提交一个 issue 或联系作者。
标签:AMSI绕过, Falco, 威胁检测, 安全, 敏感词过滤, 监控, 规则, 超时处理, 运维