背景
最近搭了个redis未授权访问漏洞的靶机,搭完没多久就被国外黑客入侵了,放了不少挖矿病毒在上面,服务器直接卡死。好久没有做应急了,刚好借着这个契机,复习下应急响应这部分内容。
开始
应急响应的开始,我觉得应该先了解中招主机的现象、主机装了哪些服务、客户执行了哪些操作等信息。从这些方面先进行信息收集,做到心中有数。然后对该主机进行处置工作,处置完成后对攻击路径进行溯源,最后修补漏洞。
我这台主机安装了redis,并且存在未授权访问漏洞,目前我已经把挖矿的程序停掉了,现在的需求是:
- 找到攻击者的攻击IP地址
- 找到攻击者攻击的时间
- 清除攻击者留下的后门程序
排查过程
因为只有一台主机,不是企业内网系统,所以不需要进行断网隔离操作。
挖矿病毒通常存在自启动脚本,所以我先查看了计划任务,发现在计划任务中存在一条攻击者添加的计划任务。
*/30 * * * * sh /etc/newinit.sh >/dev/null 2>&1
脚本程序为newinit.sh,存在于/etc目录下,每30分钟执行一次。
关于参考链接:https://www.huaweicloud.com/articles/0127d177d26e2d20279a416028d6ba0d.html
我先将攻击程序备份,然后通过stat
命令查看脚本属性,发现文件的创建时间为2021-3-30
,所以想逐步排查这一段时间的系统日志。但这个我觉得不着急,先把基础的检查项排查完成。
除了root用户外,没有发现存在管理权限的其他用户
history历史已被清除
没有异常网络连接
额,我的处置比较简单,攻击程序每30分钟执行一次,所以我重启了服务器,然后把攻击脚本内容置为空。
除了计划任务外,在开机启动目录下,存在好几个程序,我不知道这几个程序干啥的,反正不是我开启的,先记下来。
将计划任务和自启动里面的程序保存下来,上传到微步云沙箱进行分析。结果是计划任务里的newinit.sh
为恶意挖矿程序。直接查看内容,发现访问一个195.58.39.46
的国外IP地址,应该是一个存放挖矿脚本的服务器。
查看redis日志,我都不知道之前redis日志开没开:happy:。根据网上教程,通过查看redis配置文件,匹配搜索logfile关键词,关键字的值为空。参考链接:https://blog.csdn.net/qq_42690811/article/details/103366518
但是通过直接搜索redis.log,发现在/var/log/redis/下存在redis.log,看看里面有什么内容。emm,尴尬,主要是redis的启动日志,没啥用。
好吧,以我的能力看样子不能继续啥进展了,主机没有使用弱口令,通过口令猜解的方式入侵的可能性不大。emm,感觉没啥好排查的了,尴尬。
总结
这事一次很基础很基础的主机漏洞排查工作,同时认识到日志功能真的很重要。