dylanharrisfl/DFIR-LinuxMalwareAnalysis

GitHub: dylanharrisfl/DFIR-LinuxMalwareAnalysis

Linux恶意软件分析与事件响应工具

Stars: 0 | Forks: 0

# DFIR — Linux 恶意软件分析与事件响应 ## 概述 | 字段 | 详情 | |---|---| | **系统** | 基于 Asterisk 的 Linux VoIP 系统 | | **攻击类型** | 通过隐藏 SIP 中继进行电话欺诈 | | **持续性方法** | 隐藏的 PHP 后门,恶意 root 级用户 | | **发现** | 运营商关于异常出站通话量的警报 | | **漏洞** | 基于 ACL 的配置漏洞 | | **解决方案** | 从备份中干净重建;漏洞已修复 | ## 初始检测 事件首先由我们的运营商标记,他们提醒我们异常高的可疑出站通话量。登录电话系统后,对活动通话记录的审查证实了这一担忧。有大量通话是通过我们标准配置中未识别和未记录的中继进行的。 ![通话记录 - 可疑活动](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/493afb8da5100802.png) ## 调查 ### 隐藏的 SIP 中继 对 GUI 的审查显示只有我们的合法中继。恶意中继完全隐藏在界面中。然而,针对 Asterisk 进程运行 CLI 命令确认了中继非常活跃。 ![隐藏中继 - CLI 发现](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b948af2f8b100803.png) ### 恶意配置文件 对所有 SIP 和 PJSIP 配置文件的彻底审查没有发现任何问题。没有中继定义,没有引用其他配置文件的可疑 include 指令。Asterisk 配置路径的目录列表最终揭示了一个 **自定义配置文件**,它被植入以定义和注册欺诈中继,而不会出现在任何标准配置路径中。 ### 恶意系统用户 — juba 深入本地用户账户发现了一个不熟悉的用户:**juba**。进一步的检查确认该账户已被分配 **UID 0**,实际上使其成为 root 的别名。这是一种众所周知的持久性和权限提升技术,用于维持隐蔽的 root 级访问。 ![/etc/passwd - 恶意用户](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/ba2eedeb4d100805.png) ### 恶意进程 — /usr/bin/cleanup 通过 **ps aux** 查看运行进程时发现了一个可疑条目:一个从 **/usr/bin/cleanup** 运行的进程。文件检查显示它是一个 **伪装成系统工具的 PHP 脚本**,包含大量 **混淆代码**,很可能被用作后门。 ![ps aux - 可疑进程](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/643255bf50100806.png) ![/usr/bin/cleanup - 混淆 PHP](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/cbc17e4bf3100808.png) ### 恶意软件年龄 — stat 分析 对恶意文件运行 **stat** 显示它在大约六个月前被创建。 ![stat - 文件创建日期](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/e7962f3d3c100810.png) ### Crontab 检查 使用 **crontab -e** 查看所有 crontab 时发现没有恶意计划任务。恶意软件依赖于其持久进程和配置文件以重新安装,而不是基于 cron 的计划。 ## 恢复决策 在了解感染范围后,需要做出恢复策略决策: **选项 A — 手动修复** 继续取证调查,删除所有证据,并就地加固。 **选项 B — 从备份中干净重建** 从已知良好的备份中恢复系统,排除任何受影响的模块。 **决策:选项 B — 干净重建** 鉴于恶意软件的长期驻留时间,不完整修复的风险过高,无法证明手动清理是合理的。重建方法提供了一条更快、更可靠的路径,以确认干净的状态,同时在整个过程中保持活动生产系统在线。 ## 修复 ### 隔离 移除了恶意中继配置,并重新加载了 Asterisk 配置。欺诈通话活动立即停止,因为被利用进行电话欺诈的中继不再存在。 ### 重建策略 而不是恢复完整的系统镜像(这将重新引入恶意软件),恢复是以更有意的方式进行的: 1. 从一个干净的模板在私有、互联网隔离的 VM 上 **提供了一个全新的系统** 2. **有选择地从备份中恢复了模块配置**,明确排除了与漏洞相关的任何模块 3. 受影响的模块是从头开始 **重建并安全配置的** 4. 在暴露于任何公共网络之前,漏洞已被 **确认修复** 5. 在隔离环境中对重建的系统进行了 **全面测试** ### 切换 测试完成后,旧系统被关闭,新系统被提升到面向公众的接口,继承相同的 IP 地址。切换后的监控确认,使用相同攻击向量进行的进一步利用尝试 **在加固的系统上失败了**。 ## 犯罪指标 (IOCs) | 类型 | 指示 | |---|---| | **恶意用户** | UID 0 的 juba | | **恶意二进制文件** | /usr/bin/cleanup(PHP 脚本) | | **恶意配置** | 主 Asterisk 目录中的自定义 Asterisk 中继配置文件 | | **行为** | 隐藏的 SIP 中继,大量出站国际通话 | ## 事件后行动 - **范围审查** — 审计了所有类似 Asterisk 系统;漏洞被确认仅限于该主机 - **团队简报** — 与团队一起审查了事件,以建立组织意识并防止再次发生 - **文档** — 已将此事件和解决方案记录下来,以便在将来发生类似事件时参考。 ## 我学到/磨炼了什么 - **基于 Linux 的事件响应** 我更多地了解了如何调查基于 Linux 系统的主动和被动攻击,并磨炼了现有技能。它给了我新的 IOCs 和技术来寻找,并编写 SIEM/SOAR 规则来捕获和响应。 - **隐藏在明处**。恶意中继(从 GUI 中隐藏但在 CLI 中活跃)和后门(命名为 cleanup,放置在 /usr/bin/)都依赖于看起来非恶意或隐藏。始终验证 CLI 状态与 GUI 状态,并调查一切,即使它看起来正常。 - **UID 0 别名** 是一种简单但有效的持久性技术,可以将用户账户运行一切作为 UID 0 管理员用户。可以轻松编写 SIEM 规则来捕获此类事件再次发生。 - **有针对性的恢复可能比完整的系统镜像恢复更好** 将 OS 状态与应用程序/模块配置分离,使得可以干净地恢复,而不会重新引入六个月前的感染。 - **在切换之前在隔离环境中进行测试**。在私有 VM 上重建允许验证系统健康,包括确认漏洞已修复,而无需任何生产停机时间。 *由 Dylan Harris 编写 · Linux 恶意软件分析与事件响应*
标签:DAST, GitHub Advanced Security, PB级数据处理, SIP攻击, VoIP系统, 后门, 备份重建, 威胁情报, 安全事件管理, 安全加固, 安全培训, 安全意识, 安全策略, 安全运维, 开发者工具, 异常流量检测, 恶意软件分析, 提示词设计, 攻击溯源, 漏洞修复, 用户账户管理, 系统入侵检测, 网络安全, 网络安全培训, 逆向工具, 配置漏洞, 隐私保护