ECS CPU 100% 故障排查与安全事件复盘报告

ECS CPU 100% æ•

éšœæŽ'查与安å

¨äº‹ä>>¶å¤ç›˜æŠ¥å'Š

一、事ä>>¶æ¦‚è¿°

1.1 æ•

障现象

某 ECS äº'服务器出现 CPU 持ç>>­ 100% å ç"¨é---®é¢˜ã€‚

初始观察:

  • CPU 使ç"¨çŽ‡ï¼š100%
  • å†
    å˜ä½¿ç"¨çŽ‡ï¼šç´„40%
  • ECS é
    ç½®ï¼š16GB å†
    å˜
  • 重启 ECS 后é---®é¢˜ä>>å‡ºçް

初步判æ--­ï¼š

ç"±äºŽå†

存资源å

足,é---®é¢˜ä¸åƒæ™®é€šå†

å­˜ä¸è¶³å¯¼è‡´ï¼Œæ›´å¯èƒ½æ˜¯æŸä¸ªè¿›ç¨‹å¼‚å¸¸å ç"¨ CPU。


二、é---®é¢˜æŽ'查过程

2.1 查看 CPU é<<˜å ç"¨è¿›ç¨‹

执行:

bash 复制代码
top

å'现:

复制代码
PID      USER    CPU      COMMAND
1854     root    783%     kswapd00

初步判æ--­ï¼š

CPU 消è€---来源为 kswapd00。

但正常 Linux å†

æ ¸çº¿ç¨‹åç§°åº"该是:

kswapd0

而不是:

kswapd00

存在伪è£

可能。


2.2 æŽ'查å†

存及 Swap 状态

执行:

bash 复制代码
free -h

ç>>"果:

复制代码
Mem:
total        15Gi
used         6.8Gi
free         8.6Gi

Swap:
total        8.0Gi
used         0B

ç>>"论:

  • å†
    å˜å

è¶³

  • Swap 未使ç"¨
  • æŽ'除å†
    å˜ä¸è¶³å¯¼è‡´ CPU 异常

2.3 查看ç³>>ç>>Ÿè´Ÿè½½æƒ

况

执行:

bash 复制代码
vmstat 1 10

å'现:

复制代码
us sy id wa st

97 3 0 0 0

说明:

CPU å‡ ä¹Žå

¨éƒ¨è¢<<å ç"¨ã€‚

同æ---¶å'现:

r=8~12

存在大量等å¾

运行ä>>>>务。


2.4 判æ--­ kswapd 是否真实å†

æ ¸çº¿ç¨‹

查看:

bash 复制代码
ls -l /proc/1854/exe

ç>>"果:

复制代码
/proc/1854/exe -> /root/.configrc7/a/kswapd00

å

³é"®å'现:

正常 Linux å†

æ ¸çº¿ç¨‹ï¼š

/proc/PID/exe

åº"该不存在实é™

æ--‡ä>>¶ã€‚

但该进程:

/root/.configrc7/a/kswapd00

说明:

这是ç"¨æˆ·æ€ç¨‹åºä¼ªè£

成ç³>>ç>>Ÿçº¿ç¨‹ã€‚


三、确认恶意程序

3.1 查看程序ç±>>åž‹

执行:

bash 复制代码
file /root/.configrc7/a/kswapd00

ç>>"果:

复制代码
ELF 64-bit LSB executable
statically linked

说明:

这是独ç<<‹äºŒè¿›åˆ¶ç¨‹åºã€‚


3.2 查看程序特征

执行:

bash 复制代码
strings /root/.configrc7/a/kswapd00

å'现:

POOL

ç>>"合:

  • é<<˜ CPU å ç"¨
  • å¤šæ ¸è®¡ç®---
  • HugePage 使ç"¨
  • 伪è£
    ç³>>ç>>Ÿè¿›ç¨‹

判æ--­ï¼š

该程序为 CPU æŒ--矿木马。


四、进一步æŽ'查å

¥ä¾µæƒ

况

4.1 检查 SSH ç™>>录记录

执行:

bash 复制代码
last -a

å'现大量:

root ç™>>录

来源 IP:

58.253.xxx.xxx

æ---¶é---´é›†ä¸­åœ¨ï¼š

6月初至6月底。


4.2 检查 SSH ç™>>录æ---¥å¿---

执行:

bash 复制代码
grep "Accepted" /var/log/secure

å'现:

Accepted password for root

说明:

æ">>å‡>>è€

通过 root å¯†ç æˆåŠŸç™>>录服务器。


4.3 检查 SSH 后é---¨

查看:

bash 复制代码
cat /root/.ssh/authorized_keys

å'现陌ç"Ÿ SSH Key:

mdrfckr

说明æ">>å‡>>è€

å¢žåŠ äº† SSH ç™>>录å

¥å£ã€‚


4.4 æ¸

理 SSH Key 保护

åˆ é™¤ key æ---¶å'现:

Operation not permitted

检查:

bash 复制代码
lsattr /root/.ssh

å'现:

----ia--------

说明目录è¢<<设置:

  • immutable
  • append only

解除:

bash 复制代码
chattr -ia /root/.ssh

ç„¶åŽåˆ é™¤ï¼š

bash 复制代码
rm -f /root/.ssh/authorized_keys

äº"、æ¸

理持ä¹

åŒ--机制

5.1 查找 cron 持ä¹

åŒ--

执行:

bash 复制代码
grep -R "configrc7" /var/spool/cron

å'现:

复制代码
@reboot /root/.configrc7/a/upd
@reboot /root/.configrc7/b/sync

说明:

服务器重启后会自动恢复木马。

æ¸

理:

ç¼--è¾':

bash 复制代码
vi /var/spool/cron/root

åˆ é™¤æ¶æ„ä>>>>务。


5.2 å'现第二å¥---后é---¨

检查:

/root/.configrc7

å'现:

复制代码
a/
 â"œâ"€â"€ kswapd00
 â"œâ"€â"€ init01
 â"œâ"€â"€ init02
 â"œâ"€â"€ upd
 â""â"€â"€ delsshd

b/
 â"œâ"€â"€ sync
 â"œâ"€â"€ run
 â""â"€â"€ stop

说明:

æ">>å‡>>è€

部署完整控制程序。


5.3 æ¸

理 rc.local

å'现:

/etc/rc.local

存在:

/usr/sbin/netstat.cfg

检查:

bash 复制代码
file /usr/sbin/netstat.cfg

å'现:

ELF 64-bit executable

说明:

该æ--‡ä>>¶ä¼ªè£

成é

ç½®æ--‡ä>>¶ï¼Œå®žé™

为恶意程序。

åˆ é™¤ï¼š

bash 复制代码
rm -f /usr/sbin/netstat.cfg

5.4 æ¸

理隐è---ç›®å½•

å'现:

/tmp/.X291-unix/.rsync/

cron 中存在:

复制代码
0 0 */3 * * /tmp/.X291-unix/.rsync/c/aptitude

说明:

还有备ç"¨æŒä¹

åŒ--程序。

需要ç>>§ç>>­æ¸

理:

  • cronä>>>>务
  • 隐è---ç›®å½•
  • 可执行æ--‡ä>>¶

å

­ã€æœ€ç>>ˆå¤„理ç>>"æžœ

已完成处理:

  • âœ
    定位 CPU é<<˜å ç"¨è¿›ç¨‹
  • âœ
    确认非ç³>>ç>>Ÿ kswapd,而是恶意程序
  • âœ
    找到 CPU æŒ--矿程序
    • 路径:/root/.configrc7/a/kswapd00
  • âœ
    停æ¢å¼‚常 CPU 进程
  • âœ
    åˆ é™¤æ">>å‡>>è€
    SSH Key
  • âœ
    æ¸
    除 SSH key æ--‡ä>>¶ä¿æŠ¤å±žæ€§
  • âœ
    æ¸
    理 cron 持ä¹
    åŒ--
  • âœ
    åˆ é™¤ï¼š/root/.configrc7
  • âœ
    åˆ é™¤ï¼š/usr/sbin/netstat.cfg

七、é---®é¢˜æ ¹å› 分析

ä¸>>è¦åŽŸå› ï¼š

1. root å¯†ç æš´éœ²

æ">>å‡>>è€

通过:

SSH + rootå¯†ç 

获å¾---服务器权限。

2. SSH安å
¨é
ç½®ä¸è¶³

å½"前é

ç½®ï¼š

复制代码
PermitRootLogin yes
PasswordAuthentication yes

风险:

  • root 可ä>>¥ç›´æŽ¥ç™>>录
  • å¯†ç çˆ†ç ´é£Žé™©é<<˜

3. 缺å°'服务器安å
¨ç›'控

未及æ---¶å'现:

  • CPU异常
  • 异常ç™>>录
  • æ--°å¢žæ--‡ä>>¶
  • cronä¿®æ"¹

å

<<、安å

¨åŠ å›ºå>>ºè®®

8.1 禁止 root å¯†ç ç™>>录

ä¿®æ"¹ï¼š

/etc/ssh/sshd_config

å>>ºè®®ï¼š

复制代码
PermitRootLogin no
PasswordAuthentication no

使ç"¨ï¼š

  • 普通ç"¨æˆ·
  • SSH Key
  • sudo权限

8.2 ä¿®æ"¹æ‰€æœ‰å¯†ç 

åŒ

括:

  • rootå¯†ç 
  • 数据åº"å¯†ç 
  • Rediså¯†ç 
  • åº"ç"¨åŽå°å¯†ç 
  • 第三æ--¹æœåС坆é'¥

8.3 限制 SSH 来源

安å

¨ç>>„限制:

只å

è®¸ï¼š

  • å
    ¬å¸å›ºå®šIP
  • VPN出口IP

访é---®ï¼š

22ç<<¯å£


8.4 开启安å

¨ç›'控

å>>ºè®®ï¼š

CPUç›'控

设置:

CPU持ç>>­ï¼š

80%

报警。

ç™>>录ç›'控

å

³æ³¨ï¼š

  • rootç™>>录
  • 异常IPç™>>录
  • 非工作æ---¶é---´ç™>>录

æ--‡ä>>¶å˜åŒ--ç›'控

重点目录:

  • /etc
  • /root
  • /usr/bin
  • /usr/sbin
  • /tmp

8.5 定期安å

¨å·¡æ£€

å>>ºè®®æ¯å'¨æ£€æŸ¥ï¼š

异常进程:

bash 复制代码
ps aux --sort=-%cpu

定æ---¶ä>>>>务:

bash 复制代码
crontab -l

ç™>>录记录:

bash 复制代码
last

可ç--'æ--‡ä>>¶ï¼š

bash 复制代码
find /tmp -type f -executable

九、ç"Ÿäº§çŽ¯å¢ƒæœ€ä½³å®žè·µ

对于已ç>>å'ç"Ÿ root 权限泄露的服务器:

推荐æ--¹æ¡ˆï¼š

  1. 创å>>ºæ--°çš„干净 ECS
  2. 重æ--°éƒ¨ç½²åº"ç"¨
  3. 导å
    ¥ä¸šåŠ¡æ•°æ®
  4. 更换所有密é'¥
  5. 废弃æ---§æœåС噍

åŽŸå› ï¼š

root 权限失陷后:

æ--- 法100%保证没有隐è---åŽé---¨ã€‚


十、ç>>éªŒæ€>>ç>>"

本次æ•

障表面表现:

CPU 100%

实é™

åŽŸå› ï¼š

复制代码
SSHå¼±å¯†ç æ³„éœ²
        â†"
æ">>å‡>>è€
获å--root权限
        â†"
植å
¥æŒ--矿木马
        â†"
伪è£
ç³>>ç>>Ÿè¿›ç¨‹kswapd00
        â†"
通过cron/rc.local保持持ä¹
åŒ--
        â†"
CPUè¢<<持ç>>­å æ>>¡

æŽ'查å

³é"®ï¼š

  1. ä¸è¦åªçœ‹èµ„æºæŒ‡æ ‡
  2. CPU异常å
    ˆå®šä½å
    ·ä½"进程
  3. å
    ³æ³¨å¼‚常路径
  4. 检查持ä¹
    åŒ--机制
  5. root失陷后å¿
    é¡>>重æ--°è¯„估服务器可信度

最ç>>ˆç>>"论:本次 ECS CPU 100% é---®é¢˜ä¸º Linux ä¸>>机è¢<<å
¥ä¾µåŽæ¤å
¥ CPU æŒ--çŸ¿æœ¨é©¬å¯¼è‡´ï¼Œæ ¹å› æ˜¯ SSH root å¯†ç ç™>>录暴露。

相关推荐
qq_2153978971 小时前
docker镜像打包
运维·docker·容器
12.=0.1 小时前
【REVIEW_C】【持续更新】
服务器·前端·javascript
SL-staff1 小时前
AB测试数据失真根因与变量热替换实战:JVS-Rules函数计算器架构解析
java·运维·微服务·函数式编程·规则引擎·变量管理·营销技术
飞飞传输1 小时前
机器人行业数据流转深度研究:内外网数据摆渡平台应用现状与趋势
大数据·运维·安全
皮皮虾❀1 小时前
广州云服务器价格:阿里云代理商折扣报价单指南
运维·服务器·阿里云
xiebingsuccess1 小时前
Ubuntu 22.04 在 VMware 上的安装与远程桌面配置 — 任务报告
linux·运维·ubuntu·ai+嵌入式开发
juesdo2 小时前
vulnos OS-00118靶场通关
linux·web安全·网络安全·docker
金刚钻信息2 小时前
如果服务器坏了,加密文件还能恢复吗?
服务器·网络·加密软件·桌面管理·防泄密
郝亚军2 小时前
asqlite-autoconf-3310100 的ubuntu 22.04 aarch64交叉编译
linux·运维·ubuntu