定位
BLA 后续需要支持授权主机活体应急排查,用于在日志发现攻击迹象后继续确认主机侧是否存在 WebShell、后门、异常进程、计划任务、可疑文件、横向移动和持久化痕迹。
这个功能不应该一开始做成“远控工具”或“自动修复工具”,第一阶段只做只读检查 + 结构化报告 + 与日志分析结果关联。
背景
现有 BLA 已经能分析本地日志、P0 结构化日志、Web access、Linux auth、Windows XML/EVTX,并输出 HTML/JSON/CSV/IOC/SARIF 报告。
但真实应急响应中,日志告警只是第一步:
- Web 日志发现
cmd=whoami,还要检查 Web 目录有没有落地文件;
- auth.log 发现爆破成功,还要检查登录后执行了什么;
- 堡垒机日志发现高危命令,还要检查主机进程、计划任务、文件修改;
- EDR 告警 WebShell,还要把证据写进统一报告。
因此 Host Triage 是 BLA 从“日志分析器”升级为“蓝队应急辅助工具”的第二阶段能力。
MVP 范围
第一版只支持 Linux 主机,只读排查。
检查项
- 进程检查:
ps 输出中的可疑进程、反弹 shell、异常解释器;
- 网络连接:
ss / /proc/net 中的异常外联、监听端口;
- 登录痕迹:当前用户、最近登录、失败登录摘要;
- 账号检查:新增用户、UID 0 异常用户、可疑 SSH key;
- 计划任务:系统 crontab、用户 crontab、systemd timer;
- Web 目录:最近修改文件、可疑 PHP/JSP/ASP 文件;
- WebShell 函数:
eval、assert、system、shell_exec、passthru、base64_decode、file_put_contents 等;
- 临时目录:
/tmp、/var/tmp、/dev/shm 可疑脚本和 ELF;
- 持久化:systemd service、rc.local、profile/bashrc 写入。
重要边界
- 只读排查;
- 不删除文件;
- 不 kill 进程;
- 不修改配置;
- 不自动封禁 IP;
- 不允许用户输入任意命令;
- 所有检查命令必须走白名单;
- 输出必须保留原始证据,不要只给“可疑”结论。
推荐 CLI 形态
bla host-triage --local --web-root /var/www/html --out triage_report/
bla host-triage --host 1.2.3.4 --user root --web-root /var/www/html --since 24h --out triage_report/
第一版可以先做本地 Linux,再复用 Remote Collector 的 SSH 层做远程模式。
推荐实现拆分
1. bla/triage/models.py
定义结构化排查结果:
TriageFinding(
id="triage-001",
category="webshell",
level="high",
title="Web 目录发现疑似 WebShell 函数",
evidence=[...],
source="/var/www/html/upload/shell.php",
recommendation="隔离样本并人工确认,不要直接删除原始证据",
)
2. bla/triage/linux.py
实现 Linux 只读检查项。
3. bla/triage/report.py
把排查结果纳入 HTML/JSON 报告。
4. 与日志分析关联
如果日志中出现 WebShell、命令执行、爆破成功等告警,Host Triage 报告应能指出:
- 哪个日志告警触发了主机排查;
- 主机排查发现了哪些对应证据;
- 还缺哪些日志需要补采。
验收标准
后续扩展
- 与 Remote Log Viewer 共享 SSH 连接层;
- Windows 主机 triage;
- Docker 容器内部 triage;
- Kubernetes 节点/Pod triage;
- 基线对比;
- 一键生成应急复盘材料。
优先级
P1。
建议在 Remote Log Viewer MVP 完成后启动;不要抢在远程日志采集之前做复杂远程主机排查。
定位
BLA 后续需要支持授权主机活体应急排查,用于在日志发现攻击迹象后继续确认主机侧是否存在 WebShell、后门、异常进程、计划任务、可疑文件、横向移动和持久化痕迹。
这个功能不应该一开始做成“远控工具”或“自动修复工具”,第一阶段只做只读检查 + 结构化报告 + 与日志分析结果关联。
背景
现有 BLA 已经能分析本地日志、P0 结构化日志、Web access、Linux auth、Windows XML/EVTX,并输出 HTML/JSON/CSV/IOC/SARIF 报告。
但真实应急响应中,日志告警只是第一步:
cmd=whoami,还要检查 Web 目录有没有落地文件;因此 Host Triage 是 BLA 从“日志分析器”升级为“蓝队应急辅助工具”的第二阶段能力。
MVP 范围
第一版只支持 Linux 主机,只读排查。
检查项
ps输出中的可疑进程、反弹 shell、异常解释器;ss//proc/net中的异常外联、监听端口;eval、assert、system、shell_exec、passthru、base64_decode、file_put_contents等;/tmp、/var/tmp、/dev/shm可疑脚本和 ELF;重要边界
推荐 CLI 形态
第一版可以先做本地 Linux,再复用 Remote Collector 的 SSH 层做远程模式。
推荐实现拆分
1.
bla/triage/models.py定义结构化排查结果:
2.
bla/triage/linux.py实现 Linux 只读检查项。
3.
bla/triage/report.py把排查结果纳入 HTML/JSON 报告。
4. 与日志分析关联
如果日志中出现 WebShell、命令执行、爆破成功等告警,Host Triage 报告应能指出:
验收标准
后续扩展
优先级
P1。
建议在 Remote Log Viewer MVP 完成后启动;不要抢在远程日志采集之前做复杂远程主机排查。