一个Bash单文件,45模块,Linux失陷主机一键应急排查

admin 2026-07-20 04:23:00 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍XWAYIRv3.1,一个纯Bash单文件Linux应急响应工具,包含45个模块,零依赖、纯只读,可一键排查失陷主机。工具融合9本应急手册精华,输出结构化JSON,支持SIEM消费。核心价值在于横向移动证据链判定,通过9类证据三档分级,帮助确定处置范围。设计强调现场可用性,IOC数据外置便于扩展,提供6个CLIflags。适用于蓝队和应急响应工程师快速排查场景。 综合评分: 87 文章分类: 应急响应,安全工具,红队,安全运营


cover_image

一个 Bash 单文件,45 模块,Linux 失陷主机一键应急排查

原创

a4n9g7e2l a4n9g7e2l

吃瓜安全

2026年7月19日 14:59 福建

在小说阅读器读本章

去阅读

在网络安全攻防对抗的战场上,Linux 服务器往往是黑客攻击的重点目标。一旦服务器失陷,及时的应急响应对于控制损失、追溯攻击源至关重要。

本文将为你介绍一个强大的 Bash 单文件工具,它融合了 9 本应急手册的精华,只需一键即可对 Linux 失陷主机进行全面排查。该工具具有零依赖、纯只读、SIEM 可消费等特点,是蓝队和应急响应工程师的必备利器。


一、为什么又造一个轮子

  • 融合 9 本手册精华: 涵盖了从系统信息收集、网络连接分析、进程排查、账号检查、日志审计、文件完整性校验等多个维度的应急响应知识。
  • 1064 行 Bash 代码: 精简高效,易于理解和维护。
  • 零依赖: 无需安装任何第三方工具,在任何主流 Linux 系统上即可直接运行。
  • 纯只读: 不会对系统进行任何修改,确保排查过程的安全可靠。
  • SIEM 可消费: 输出结果符合特定格式,可直接导入 SIEM 系统进行深度分析和关联。

二、它是什么

#

XWAY IR v3.1是一个纯 Bash 单文件 Linux 应急响应工具,1064 行代码,45 个检查模块,跑完不修改主机任何文件。

sudo bash xway_ir.sh

输出三路:

{”ts”:”2026-07-19T12:52:36+08:00”,”level”:”HIGH”,”module”:”file”,”title”:”无主/无组文件 (攻击者账号已删)”,”file”:”/bin/addgnupghome”,”hint”:”find -nouser 溯源”,”score”:8}

三、45 个模块覆盖什么

按类别分,涵盖应急响应主流场景:


四、v3.1 新增的 8 个模块

这次更新基于 9 本公开应急手册的 gap 分析,补齐了之前漏检的 8 类场景:

资料来源

  • 奇安信安服团队《网络安全应急响应技术实战指南》

  • 深信服《网络安全事件应急指南》

  • 《应急响应实战笔记 2020》

  • 《Linux 应急响应流程及实战演练》

  • 《应急响应 溯源分析》

  • 《冰蝎、蚁剑过流量监控改造及红队经典案例分享》

致谢:以上手册的作者和团队。XWAY IR 只是把散落在 9 本书里的检测点压进一个可执行文件,真正的知识归属原作者。


五、最有价值的部分:横向移动证据链

45 个模块里,模块 10(横向移动)是最核心的。它不是简单”列出来”,而是采集 9 类证据后做三档判定:

情形 A:0 条证据

✅ 未发现横向移动痕迹结论:这台主机大概率是初始入侵点或孤立失陷端

情形 B:1-2 条证据

⚠️ 横向移动证据有限建议:拉 auth.log / .bash_history / 同网段比对

情形 C:≥3 条证据

🔴 高度怀疑已发生横向移动立即行动: 1. 立即隔离(iptables -I INPUT 1 -j DROP) 2. 拉内存 dump(avml/LiME)+ 磁盘镜像(dd) 3. 排查所有 authorized_keys 主机 4. 排查 known_hosts 目标主机 5. 排查 SSH 失败登录源 IP 6. 全网段 SSH/crontab 审计

这个判定的意义:告诉操作员”这台机器是不是跳板”,而不只是”这台机器有没有失陷”。前者决定处置范围(单机 vs 全网),后者只决定处置动作。


六、设计哲学:为什么是 Bash

#

很多人会问:这种工具为什么不用 Python/Go/Rust 重写?

答案是现场可用性:

Bash 的”快”是它的优势:没有依赖地狱,没有版本碎片化,没有虚拟环境。只要主机能起来,Bash 就在,XWAY IR 就能跑。

代价是代码不如 Python 优雅,JSON 转义要手写,错误处理要靠 set +e。但这些代价换来的是部署零摩擦,值得。


七、IOC 数据外置,改文本就能扩展

所有检测规则外置到 lib/ 目录,22 个文本文件,改文本就能加新 IOC,不动代码:

lib/├── iocs/ # Maltrail 精选 IOC│ ├── miners.txt # 挖矿矿池域名 + 进程名│ ├── c2.txt # APT/勒索/银行木马 C2│ ├── backdoors.txt # 已知 Webshell 文件名│ ├── rshell.txt # 反向 shell 命令模式│ ├── behinder_uas.txt # Webshell 工具 UA (v3.1 新)│ └── LICENSE.notice # Maltrail MIT 归属├── rootkit_signatures.txt # 60+ Rootkit 文件/目录签名├── bad_lkm.txt # 80+ 恶意 LKM 模块名├── suid_whitelist.txt # 默认 SUID 白名单├── suspicious_ports.txt # 可疑端口├── darklink_keywords.txt # 网页暗链关键词 (v3.1 新)├── sqli_patterns.txt # SQLi 特征模式 (v3.1 新)└── bpftrace_monitor.bt # bpftrace 隧道监控脚本

想加新的挖矿矿池?编辑 lib/iocs/miners.txt 加一行就行。想加新的 Webshell 工具 UA?编辑 lib/iocs/behinder_uas.txt。不用懂 Bash。


八、6 个 CLI flags,够用就好

sudo bash xway_ir.sh # 全量扫描sudo bash xway_ir.sh --module 1,3,10 # 只跑指定模块sudo bash xway_ir.sh --severity crit,high # 只看高危(含 CRIT)sudo bash xway_ir.sh --timeout 30 # 每检查限时 30ssudo bash xway_ir.sh --no-color # 关颜色sudo bash xway_ir.sh --out-dir /tmp/ir # 指定输出目录sudo bash xway_ir.sh --json-only # 只输出 JSONL

不搞配置文件、不搞 YAML、不搞 INI。应急现场没时间看文档,flag 越少越好。


九、CI + 119 个 bats 测试

代码托管在 GitHub,CI 跑三件事:

每次 PR 都自动跑,回归有保障。


十、和其他工具的差距

#

XWAY IR 不是万能的,有明确的边界:

定位:快速排查 + 结构化输出 + 横向移动判定。深度分析还是要配合 chkrootkit/rkhunter/avml/河马。


十一、快速开始

#

# 方式 1:克隆仓库(推荐,带 lib/ IOC 库)git clone https://github.com/A4n9g7e2l/Xway.gitcd Xwaysudo bash xway_ir.sh # 方式 2:远程一行执行(不带 lib/,部分模块会跳过)curl -fsSL https://raw.githubusercontent.com/A4n9g7e2l/Xway/main/xway_ir.sh | sudo bash # 方式 3:拷贝到目标机scp -r Xway root@:/tmp/ssh root@ ”cd /tmp/Xway && bash xway_ir.sh”

GitHub 仓库:https://github.com/A4n9g7e2l/Xway


十三、最后

这个工具的起点是 2026 年 7 月一次半夜的应急响应。客户给了台 CentOS 6 跳板机,Python 装不上,YUM 源过期,只能用 Bash 凑合写了个 13 模块的脚本。

后来发现这个”凑合”的形态恰好是最实用的:零依赖 + 单文件 + 纯只读。于是慢慢迭代到 v3.1,45 模块,1064 行,集成 NOP Team 手册 + 9 本公开应急手册的精华。

不为替代谁,只是填补”现场 5 分钟出结论”这个特定场景的工具空白。

如果你也是蓝队/应急响应工程师,欢迎试用、提 Issue、贡献 IOC。


GitHub:License:MIT版本:v3.1 (2026-07-19)致谢:NOP Team、grayddq/GScan、stamparm/maltrail、奇安信安服、深信服、以及所有公开应急手册的作者

🛡️ XWAY 蓝队 · 攻防不息,守护不止


免责声明:

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

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

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

本文转载自:吃瓜安全 a4n9g7e2l a4n9g7e2l《一个 Bash 单文件,45 模块,Linux 失陷主机一键应急排查》

评论:0   参与:  0