AI智能体驱动的Linux应急响应:从告警到报告只需一条指令

admin 2026-04-29 05:21:13 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍linux-ir这一AI智能体驱动的Linux应急响应工具,它通过8个阶段自动化执行网络连接分析、账号审计、进程检测等完整排查流程,能动态调整检查策略并生成结构化报告。相比传统人工响应,该工具将排查时间从数小时缩短至分钟级,特别适合检测C2外联、Rootkit等高级威胁。文章详细展示了各阶段检测命令与判定逻辑,并提供了实际应用场景示例。 综合评分: 85 文章分类: 应急响应,安全工具,安全运营,漏洞分析,AI安全


cover_image

AI 智能体驱动的 Linux 应急响应:从告警到报告只需一条指令

Andy Andy

实在安全

2026年4月21日 17:27 中国香港

在小说阅读器读本章

去阅读

开篇:一场凌晨三点的入侵

凌晨三点,监控大屏突然弹出告警——某台生产 Linux 服务器出现异常外联流量,目标 IP 归属境外,持续时间已超过 40 分钟。

值班工程师打开终端,开始手动排查:

ss -antp | grep ESTABLISHED

ps auxf | grep -v grep

find /tmp -mtime -1

cat /var/log/auth.log | tail -500

...

一条一条命令跑下去,关联分析,再记录到文档里——没有两个小时根本出不了初步结论。

**如果有一个 AI 智能体帮你做这件事呢?**

这正是我们在 linux-ir Skill 中想解决的问题。


什么是 linux-ir Skill?

linux-ir 是一个运行在 **Claude Code / Trae IDE** 中的智能体技能包(Agent Skill)。它封装了 Linux 主机入侵检测与应急响应的完整方法论,让 AI 智能体能够:

  1. **自主执行** 数十条排查命令

  2. **自动关联** 跨阶段的发现(网络→进程→文件→日志)

  3. **输出结构化** Markdown 报告,直接可提交工单

触发方式极其简单,在 IDE 对话框中输入:

对 192.168.1.100 做一次全面的应急响应

智能体会按照 **8 个检查阶段** 依次执行,全程无需人工干预。


8 阶段检查框架

架构总览

┌─────────────────────────────────────────────────────────┐

│              linux-ir 智能体应急响应流程                  │

├──────────┬────────────────────────────────────────────────┤

│ 阶段 1   │ 网络连接与流量分析                              │

│ 阶段 2   │ 账号与权限审计                                  │

│ 阶段 3   │ 进程与计划任务分析                              │

│ 阶段 4   │ 持久化机制检测                                  │

│ 阶段 5   │ 日志审计(auth/system/应用日志)                │

│ 阶段 6   │ Rootkit & 恶意软件检测                          │

│ 阶段 7   │ 可疑文件与木马排查                              │

│ 阶段 8   │ 生成完整 Markdown 报告                          │

└──────────┴────────────────────────────────────────────────┘

阶段 1 — 网络连接与流量分析

这是智能体最先执行的阶段,也是最容易发现活跃威胁的环节。

智能体会自动运行:

# 查看所有活跃外联连接

ss -tnp state established

# 发现后门监听端口

ss -tlnp

# 检查 hosts 文件是否被劫持

diff /etc/hosts <(grep -v "^#" /etc/hosts | grep -v "^$")

# 检查防火墙是否存在异常 NAT 转发

iptables -t nat -L -n -v

**智能体的判断逻辑:**

| 发现 | 智能体判定 |

|——|———–|

| 非业务端口 LISTEN + 未知进程 | 🔴 CRITICAL — 疑似后门 |

| 持续连接境外 IP | 🔴 CRITICAL — 疑似 C2 |

| /etc/hosts 被写入非预期条目 | 🟠 HIGH — DNS 劫持 |

| 接口处于混杂模式 | 🟠 HIGH — 网络嗅探 |

| iptables NAT 规则异常 | 🟠 HIGH — 流量重定向 |


阶段 2 — 账号与权限审计

攻击者最常见的持久化手法之一,就是创建隐蔽账号或植入 SSH 后门密钥。智能体会全面扫描:

# UID=0 的账号(除 root 外均异常)

awk -F: '$3==0 {print}' /etc/passwd

# sudoers 中的 NOPASSWD 配置

grep -r "NOPASSWD" /etc/sudoers /etc/sudoers.d/

# 检查所有用户的 authorized\_keys

find /root /home -name "authorized\_keys" -type f | while read f; do

&nbsp; echo "=== $f ===" && cat "$f"

done

# PAM 模块是否比 /etc/passwd 更新(PAM 后门特征)

find /lib/security /lib64/security -name "\*.so" -newer /etc/passwd

**特别提示:** PAM 后门是高级攻击者常用手法——植入一个恶意 .so 模块后,任意密码均可登录。传统排查中这个点非常容易被遗漏,而智能体会自动检查。


阶段 3 — 进程与计划任务分析

挖矿程序、C2 Agent、反弹 Shell——这些威胁最终都体现为异常进程。智能体不只看 ps,还会做**隐藏进程对比检测**:

# 方法:对比 /proc 目录与 ps 输出的 PID 差异

comm -23 \

&nbsp; <(ls /proc | grep -E '^[0-9]+$' | sort -n) \

&nbsp; <(ps -eo pid --no-headers | sort -n) \

&nbsp; | while read pid; do

&nbsp; &nbsp; echo "[隐藏进程] PID: $pid"

&nbsp; &nbsp; cat /proc/$pid/cmdline 2>/dev/null | tr '\0' ' '

&nbsp; done

这是 Rootkit 检测的一个关键环节——**Rootkit 会从 ps 输出中隐藏自身,但无法删除 /proc 目录中的条目**。智能体利用这一不一致性来揭露隐藏进程。

同时还会审计所有定时任务来源:

  • crontab -l(各用户)

  • /etc/cron.\* 目录

  • systemd timer 单元

  • /var/spool/cron/

  • at 任务队列


阶段 4 — 持久化机制检测

即使重启也能存活的威胁,才是真正棘手的。智能体会检测以下所有持久化载体:

| 持久化类型 | 检测方法 |

|———–|———|

| Systemd 服务后门 | 对比官方软件包安装的 .service 文件 |

| rc.local / init.d | 检查启动脚本内容 |

| LD_PRELOAD 劫持 | 检查 /etc/ld.so.preload |

| 动态链接库劫持 | 扫描 /etc/ld.so.conf.d/ 中的异常路径 |

| Git Hook / MOTD 后门 | 检查常见脚本注入点 |

| .bashrc / .profile 反弹 Shell | 正则匹配 nccurlbash -i |


阶段 5 — 日志审计

日志是攻击者最想销毁的证据。智能体会在日志被清除前快速提取关键事件:

# SSH 暴力破解与成功登录

grep -E "Failed password|Accepted|Invalid user" /var/log/auth.log | \

&nbsp; awk '{print $1,$2,$3,$9,$11}' | sort | uniq -c | sort -rn | head -30

# 最近 su/sudo 记录(权限提升)

grep -E "sudo:|su:" /var/log/auth.log | tail -50

# Web 应用日志中的 Webshell 特征

grep -Ei "(eval|base64\_decode|system|passthru|shell\_exec)" \

&nbsp; /var/log/nginx/access.log /var/log/apache2/access.log 2>/dev/null

# 日志文件完整性(检测日志被清空)

find /var/log -name "\*.log" -size 0 -newer /etc/passwd

阶段 6 — Rootkit & 恶意软件检测

这是技术含量最高的阶段。除了调用 rkhunterchkrootkit 等专用工具外,智能体还会执行**手工 Rootkit 特征检测**:

# 检查系统关键命令是否被替换(文件哈希对比)

for cmd in ps netstat ls find; do

&nbsp; path=$(which $cmd)

&nbsp; echo "$path: $(md5sum $path 2>/dev/null)"

done

# 检查 /proc/modules 与 lsmod 差异(内核模块 Rootkit)

diff <(cat /proc/modules | awk '{print $1}' | sort) \

&nbsp; &nbsp; &nbsp;<(lsmod | awk '{print $1}' | tail -n +2 | sort)

# 检查异常内核模块(非发行版签名)

for mod in $(lsmod | awk 'NR>1{print $1}'); do

&nbsp; modinfo $mod 2>/dev/null | grep -E "filename|author|description" | head -3

&nbsp; echo "---"

done

# eBPF 程序检查(新型 Rootkit 手法)

bpftool prog list 2>/dev/null

ls /sys/fs/bpf/ 2>/dev/null

**知识点:** 基于 eBPF 的 Rootkit 是近年来出现的新型威胁,例如 ebpfkit,它可以在不修改任何磁盘文件的情况下隐藏进程和网络连接,极难被传统工具发现。linux-ir 的阶段 6 专门加入了 eBPF 检测逻辑。


阶段 7 — 可疑文件与木马排查

# 最近 24 小时内被修改的文件(排除 /proc /sys)

find / -mtime -1 -type f \

&nbsp; ! -path "/proc/\*" ! -path "/sys/\*" ! -path "/dev/\*" \

&nbsp; 2>/dev/null | head -100

# /tmp、/dev/shm、/var/tmp 下的可执行文件(常见落地路径)

find /tmp /dev/shm /var/tmp -type f -executable 2>/dev/null

# 大文件(可能是数据外泄暂存)

find / -size +50M -type f ! -path "/proc/\*" 2>/dev/null

# 名称伪装成系统文件的木马(如 "sshd" 在 /tmp 下)

find / -name "sshd" -o -name "nginx" -o -name "httpd" \

&nbsp; 2>/dev/null | grep -vE "^/(usr|sbin|bin|lib)"

阶段 8 — 自动生成报告

所有阶段完成后,智能体自动汇总输出标准化 Markdown 报告:

# Linux 主机应急响应报告

\*\*主机:\*\* 192.168.1.100 | \*\*时间:\*\* 2026-04-21 03:47 | \*\*检查时长:\*\* 8分32秒

## 执行摘要

| 风险等级 | 数量 |

|---------|------|

| 🔴 CRITICAL | 2 |

| 🟠 HIGH &nbsp; &nbsp; | 3 |

| 🟡 MEDIUM &nbsp; | 5 |

| 🔵 LOW &nbsp; &nbsp; &nbsp;| 2 |

## 关键发现

### [CRITICAL] 发现 C2 外联连接

- \*\*进程:\*\* /tmp/.sshd (PID 14823)

- \*\*连接:\*\* 192.168.1.100:52341 → 45.77.x.x:443 ESTABLISHED

- \*\*时长:\*\* 持续 47 分钟

- \*\*建议:\*\* 立即隔离主机,保全内存镜像

### [CRITICAL] 发现后门账号

- \*\*账号:\*\* `sysupdate` (UID=0)

- \*\*创建时间:\*\* 2026-04-20 23:12

- \*\*authorized\_keys:\*\* 包含未知公钥

- \*\*建议:\*\* 立即禁用,溯源攻击入口

...(完整报告继续)

智能体的”枢纽判断”能力

linux-ir 的一个核心设计是**条件分支执行**——智能体会根据前期发现动态调整后续检查策略:

发现活跃 C2 外联?

&nbsp; → 立即提示隔离 + 优先执行阶段1+6(不等待其余阶段)

发现 Rootkit 特征?

&nbsp; → 警告:系统工具可能不可信,建议从可信介质启动检查

发现挖矿进程?

&nbsp; → 优先执行阶段3+6+7,重点关注 CPU/GPU 占用与矿池地址

仅有日志线索?

&nbsp; → 优先执行阶段5,输出攻击时间线

这种”推理-行动”循环正是 **Agentic AI** 区别于传统脚本的核心价值:不只是执行命令,而是**理解上下文并做出判断**。


与传统应急响应的对比

| 对比维度 | 传统人工排查 | linux-ir 智能体 |

|———|————|—————-|

| **启动时间** | 人员到位 + 工具准备:15-30 分钟 | 输入一条指令:< 30 秒 |

| **覆盖深度** | 依赖工程师经验,容易遗漏 | 8 个阶段全覆盖,不遗漏 |

| **关联分析** | 手动关联,耗时 | 自动跨阶段关联发现 |

| **报告输出** | 事后整理:1-3 小时 | 检查结束即输出,零延迟 |

| **一致性** | 受疲劳/压力影响 | 每次执行标准一致 |

| **凌晨值班** | 需要叫醒专家 | 随时可用 |


快速上手

环境要求

  • **IDE:** Claude Code 或 Trae IDE

  • **访问方式:** 本地 Bash 访问目标主机,或通过 SSH 隧道

  • **权限:** 建议 root 或具有 sudo 权限的账号(部分检查需要)

安装 linux-ir Skill

# 在 Trae IDE 中

~/.trae/skills/linux-ir/ &nbsp;← 已内置,无需额外安装

# 在 Claude Code 中

~/.claude/skills/linux-ir/ &nbsp;← 同步安装

触发关键词

在 IDE 对话框中,包含以下任意词汇即可触发完整流程:

  • **应急响应**

  • **入侵排查**

  • **主机检查**

  • **安全检查**

  • **Rootkit 检测**

  • **木马排查**

示例对话

用户:对 10.0.0.5 做一次完整的应急响应,怀疑有挖矿程序

智能体:收到。目标主机 10.0.0.5,开始执行 linux-ir 应急响应流程。

&nbsp; &nbsp; &nbsp; &nbsp; 根据挖矿程序特征,将优先执行阶段3(进程)、阶段6(恶意软件)、

&nbsp; &nbsp; &nbsp; &nbsp; 阶段7(可疑文件),同时完成全量 8 阶段检查。

[阶段 1/8] 网络连接分析...

&nbsp; ✓ 发现 2 个活跃外联连接,1 个指向已知矿池地址(pool.xmr.pt:3333)

&nbsp; 🔴 CRITICAL: 进程 /tmp/.kworker (PID 9821) → 矿池连接确认

[阶段 2/8] 账号与权限审计...

&nbsp; ✓ 未发现异常账号

&nbsp; ...

局限性与注意事项

**任何工具都不是银弹**,使用前请了解以下限制:

  1. **Rootkit 对抗**:高级内核级 Rootkit 可能欺骗智能体使用的系统工具(psls 等)。发现 Rootkit 特征时,应从可信的 LiveCD/USB 启动后再执行检查。

  2. **权限依赖**:部分检查(内核模块、/proc 深度读取)需要 root 权限,低权限账号会有盲区。

  3. **日志销毁**:如果攻击者已清除日志,阶段 5 的溯源能力会大幅下降。建议配合集中日志系统(如 ELK、Splunk)使用。

  4. **授权前提**:linux-ir 仅用于**已获授权的系统**。在未经授权的系统上运行安全检查工具,可能违反相关法律法规。


写在最后

AI 智能体正在改变安全从业者的工作方式。linux-ir 不是要替代安全工程师,而是让工程师从**重复性的命令执行**中解放出来,把精力放在**判断、决策和处置**上。

凌晨三点的那台服务器,可以由智能体在 8 分钟内给出完整的排查报告。工程师看到报告,做出隔离决定,开始溯源——这才是人机协作的正确姿势。

🔖 **相关阅读**

  • 《AI 驱动的渗透测试工作流:6 阶段自动化框架》

  • 《从 CTF 到红队:智能体技能包的设计哲学》

  • 《eBPF Rootkit 检测:当攻击者躲进内核》

运行效果:

已关注

关注

重播 分享 赞

关闭

观看更多

更多

退出全屏

切换到竖屏全屏退出全屏

实在安全已关注

分享视频

,时长01:07

0/0

00:00/01:07

切换到横屏模式

继续播放

[ ]

进度条,百分之0

播放

00:00

/

01:07

01:07

倍速

全屏

倍速播放中

0.5倍 0.75倍 1.0倍 1.5倍 2.0倍

超清 流畅

 您的浏览器不支持 video 标签

继续观看

AI 智能体驱动的 Linux 应急响应:从告警到报告只需一条指令

观看更多

转载

,

AI 智能体驱动的 Linux 应急响应:从告警到报告只需一条指令

实在安全已关注

分享点赞在看

已同步到看一看写下你的评论

视频详情

报告摘要

Linux 主机应急响应报告(linux-ir)

– 目标: a.b.c.d(root)

– 采集时间: 2026-04-21 17:09 (Asia/Shanghai)

– 采集方式: 只读远程命令采集(SSH Key),未安装额外工具

一、执行摘要

综合威胁等级: 🟠 HIGH(以“高风险暴露面/错误配置”为主,暂未发现明确落地木马/挖矿进程证据)

本次排查的主要问题集中在“对外暴露面过大 + 防护缺失”:

– 🔴 CRITICAL: HAProxy 统计/管理接口 :8404 对外监听,且 stats admin if TRUE(无鉴权),同时主机防火墙未启用,等价于把 HAProxy 管理面板暴露在公网。

– 🟠 HIGH: SSH 允许 root 密码登录(PermitRootLogin yes + PasswordAuthentication yes),且日志显示持续暴力破解;同时未启用防火墙/Fail2ban 等基础防护。

– 🟠 HIGH: 发现 4 个 python3 -m http.server 进程对外监听 0.0.0.0:8080-8083,连接来源呈现大量随机公网 IP(疑似被扫描/被当作暴露服务持续访问)。即使内容仅为静态页,也属于不必要暴露面。

二、主机概况(基础信息)

– OS: Ubuntu 22.04.4 LTS (Jammy)

– Kernel: 5.15.0-100-generic

– 虚拟化: KVM

– 运行时长: 95 days

– 主机名: iv-ydytf6eh34xj

三、网络与暴露面

3.1 网卡与地址

– eth0: 192.168.1.97/16

3.2 监听端口(关键)

采集到的监听端口(节选):

– 22/tcp: sshd

– 25/tcp: postfix (master)

– 80/tcp: haproxy

– 443/tcp: haproxy(SSL 终止)

– 8404/tcp: haproxy(stats)

– 8080-8083/tcp: python3(python3 -m http.server

3.3 外部连接(可疑/需关注)

8080-8083 的 python3 -m http.server 存在大量已建立连接,来源包含多组随机公网 IP(如 45.79.211.9745.33.12.122167.94.146.51168.100.9.75 等)。该特征更像“公网扫描/爬虫/探测”持续命中,而不是业务稳定流量。

四、账号与认证(SSH/登录)

4.1 SSH 配置(有效配置)

关键项:

PermitRootLogin yes

PasswordAuthentication yes

MaxAuthTries 6

X11Forwarding yes

结论:当前 SSH 面向公网的攻击面非常大,且 root 口令暴力破解会持续发生。

4.2 认证日志(24h 内关键线索)

– 观察到大量 Failed password for rootInvalid user <...> 等暴力破解痕迹。

– 观察到 Accepted publickey for root 的记录(用于本次采集的公钥登录)。

建议将暴力破解来源 IP 纳入封禁/限速策略(fail2ban/防火墙白名单)。

五、进程与服务(运行态)

5.1 关键可疑进程:python http.server(对外监听)

发现 4 个长期运行的 Python 简易 HTTP Server(自 2026-01-16 起运行,约 95 天):

– PID 5878: python3 -m http.server 8080,cwd /var/www/default

– PID 5873: python3 -m http.server 8081,cwd /var/www/site1

– PID 5875: python3 -m http.server 8082,cwd /var/www/site2

– PID 5876: python3 -m http.server 8083,cwd /var/www/api

对应的启动脚本:

/usr/local/bin/start-backends(创建时间:2026-01-16 09:49)

– 内容为启动 8080-8083 的 python3 -m http.server,并将输出重定向到 /dev/null

– 进程形态显示存在多个 /bin/bash /usr/local/bin/start-backends 常驻并处于 do\_wait,需要进一步确认其启动方式与是否为预期设计

5.2 HAProxy 暴露面与配置风险

HAProxy 配置文件:

/etc/haproxy/haproxy.cfg

关键风险点:

listen stats

bind \*:8404

stats admin if TRUE(无鉴权、无访问控制)

该配置在防火墙未启用的情况下风险极高:任何可访问 8404 的人都可能对 HAProxy 执行管理操作。

六、防火墙与基线防护

– UFW: inactive

– iptables: INPUT/FORWARD/OUTPUT 默认 ACCEPT,无规则

结论:主机处于“裸奔”状态,所有对外监听服务均默认可被公网扫描与访问。

七、落地文件与 Rootkit 初筛

7.1 近期文件变更(7 天)

未发现 /etc/usr/local/opt/var/www 下的可疑近期落地文件(近 7 天主要为已有服务日志滚动)。

7.2 ld.so.preload

/etc/ld.so.preload: 不存在(未发现常见的 LD_PRELOAD 劫持持久化痕迹)

7.3 SUID/SGID(关键目录)

在常见目录中未发现异常新增的 SUID/SGID 文件(结果以系统常见项为主)。

八、IOC(指标)与证据摘要

8.1 暴力破解来源(示例)

– 51.195.7.8(多次 root 口令失败)

– 111.21.105.250(多次 invalid user/失败)

– 106.13.44.253(多次 root 口令失败/invalid user)

– 182.93.50.90(invalid user)

– 20.193.130.202(root 口令失败)

8.2 高风险暴露端口

– 8404/tcp(HAProxy stats/admin,无鉴权)

– 22/tcp(root 口令登录开启)

– 8080-8083/tcp(python http.server 对外监听)

8.3 可疑/需评估的关键文件(哈希)

/usr/local/bin/reset-authentication

– sha256: daf425664f40e38ef36b91e18a8b24b1c75397b8124ece86bf89009190025a2b

– 类型: Go 静态链接 ELF(systemd 服务 reset-authentication.service 在开机阶段执行)

/opt/proxima/proxima

– sha256: 442e71c8fa61405b2b0d42af4a1b3f3fd1c083d9180b0eba696ebe08c5741150

– 类型: Go 动态链接 ELF(systemd 服务 proxima.service 常驻)

说明:上述二进制不一定是恶意软件,但属于“需要明确归属与供应链来源”的第三方组件,应纳入资产清单与完整性校验。

九、处置建议(按优先级)

9.1 立即处置(建议立刻做)

– 关闭/限制 HAProxy 管理面板

– 将 stats 仅绑定到 127.0.0.1:8404 或管理网段

– 增加 stats auth <user>:<pass> 或基于 ACL 的严格访问控制

– SSH 加固

– 关闭 root 口令登录:PermitRootLogin prohibit-password 或 no

– 关闭口令登录:PasswordAuthentication no

– 关闭 X11Forwarding(如无需求):X11Forwarding no

– 采用最小权限:创建普通运维用户 + sudo,禁止直接 root 登录

– 启用防火墙(默认拒绝入站)

– 仅放行必要端口(通常 22、80、443;8404 仅管理网或本机)

– 增加暴力破解防护

– 部署 fail2ban(sshd jail),或在防火墙层面做速率限制/黑名单

9.2 中期优化(1-3 天内完成)

– 处理 8080-8083 的 Python http.server

– 若为测试/临时用途:停止并移除启动脚本 /usr/local/bin/start-backends 与相关常驻进程

– 若必须存在:改为 --bind 127.0.0.1 并通过 HAProxy/反代暴露必要域名;或仅允许内网访问

– 资产核验与供应链确认

– 明确 proximaassist-clientcloud-monitor-agentreset-authentication 的供应商来源、版本、部署基线与更新渠道

– 对上述二进制做签名/Hash 基线与定期完整性监测

9.3 若怀疑已被入侵(增强动作)

– 对 /var/log/auth.log 做更长时间范围的回溯(Accepted/Session opened/sudo)

– 对外联目的地址做威胁情报查询(C2/扫描器/僵尸网络)

– 进行离线取证:打包关键日志与可疑目录,保全证据后再清理


**扫码关注,获取 linux-ir Skill 完整源码**

*本文所有命令和技术手法仅用于授权范围内的安全检查,请遵守所在地区网络安全法律法规。*



免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:实在安全 Andy Andy《AI 智能体驱动的 Linux 应急响应:从告警到报告只需一条指令》

评论:0   参与:  0