Ubuntu服务器被黑经历(ElastichSearch漏洞)
起因
最近我们的一台Ubuntu阿里云服务器一直提示有肉鸡行为,提示了好几天,开始并没有关注,然后连续几天后发现应该是个大问题啊。很可能服务被侵入了!!!
寻找线索
一开始我是完全懵逼的状态的,Linux不是很熟悉,只会简单的命令,安装部署redis,mongo这些东西。好吧,只能百度Google了!
- 寻找可疑进程
ps -ef
然而结果看起来一点头绪都没,非常不熟悉Linux底下常见的进程!
- 寻找相关的Log线索
Linux里有非常的多的日志文件,统一都存放在/var/log底下,这里我想先看看是不是有人破解了账号入侵了服务器cat /var/log/faillog --登陆失败日志
cat /var/log/auth.log --验证日志
确实发现了一些蛛丝马迹(解决完后发现可能并非如此,暂时还没有研究下去)
在auth.log
中发现了大量的Failed,这说明有人在尝试暴力破解密码,最可疑的是大量的session opened for user root by (uid=0)
(开始我觉得是入侵进去了?)。百度了下,发现几个线索:
- 阿里云官方发布了脏牛漏洞的公告https://bbs.aliyun.com/read/297492.html
- 一篇黑客对决http://ruby-china.org/topics/23848
仔细看了下之后发现,卧槽!黑客对决这篇和我的情况如出一辙啊~前几天为了部署ExceptionLess,迁移ElasticSearch到Linux。并没有注意El的安全性啊。
寻找木马
再一次查看进程,这次有文档帮助,有了大致的了解,并且拿另外一台Linux服务器的进程做了一次对比。立马定位到了可疑进程。
通过elastic+ 启动的这几个进程显然是木马进程,依据上边的文档,可以初步说明木马没有取得root权限,而运行在elastic的用户权限底下。
找到了进程,怎么找到文件?百度!cd /proc/31598
ls -l exe
卧槽还删除了!不过也定位到可疑的地方/tmp
立即去/tmp
查看
这些文件应该就是木马了,down下来打开看了下,确实是木马!也百度到了一些信息,这些就是肉鸡程序了!文档
干掉木马
找到了木马,最后就要干掉它,不过谨慎起见我还是做了一些其他的功课,防止随意杀掉之后,造成木马的更大破坏。(然而也就是百度了下,发现Linux只是太薄弱)
-
停止ElasticSearch
service elasticsearch stop
-
更换ElasticSearch配置,这是这个漏洞的关键!
我在想这样的一个动态脚本能力是怎么考虑的?妥妥的漏洞啊,就像上次的Redis默认无安全验证问题一样啊!!!script.disable_dynamic: true --从flase改成true
-
删掉temp
rm -rf /tmp
我这是很愤怒的!不过冲动是魔鬼,rm -rf
请慎重!!!整个服务器删掉的悲伤故事就是它惹的。 -
批量杀掉进程
kill -9 $(ps -ef | grep elastic | grep -v grep | awk '{print $2}')
-
重新查看下进程列表 确保木马不重启
结果看起来是乐观的,不过是不是真的杀掉了?还需要时间的检验了?ps -ef
-
重启Elastichsearch
service elasticearch start
-
为了更安全起见,服务器都加强了密码,还用ClamAV扫了一遍。
-
续集?? 希望不要有续集了!!!
总结
这次的安全事故,我想大概像我这样的Linux新手不在少数,随着.NET的跨平台,大量的.NET应用会依赖更多的linux环境组件,Linux的应用安全一定也是需要更受我们重视的(虽然Linux不是在业界号称比Windows安全嘛,不过Linux应该会说这是Elasticsearch的锅啊!!!)
参考文档
- http://blog.csdn.net/nancygreen/article/details/9873895 Linux日志文件说明
- https://bbs.aliyun.com/read/297492.html阿里云官方发布了脏牛漏洞的公告
- http://ruby-china.org/topics/23848一篇黑客对决,最重要的参考!
- https://segmentfault.com/a/1190000000470060 实时流量监测
- http://www.2cto.com/os/201307/230084.html 批量杀进程
- http://www.clamav.net/download.html clamav
- http://wiki.ubuntu.org.cn/ClamAV#.E5.AE.89.E8.A3.85ClamAV
- http://www.cnblogs.com/kerrycode/archive/2015/08/24/4754820.html 同样的经历
- http://www.2cto.com/article/201409/336468.html El的漏洞
- http://blog.csdn.net/wang794686714/article/details/41978487 端口扫描
- http://blog.csdn.net/u011066706/article/details/51175761 El漏洞
- http://www.freebuf.com/sectool/38025.html El漏洞工具
- http://www.jianshu.com/p/4441c966583f Linux终端命令
- http://blog.csdn.net/zfs_kuai/article/details/36625949 查看进程目录
- http://www.hackdig.com/03/hack-19281.htm 肉鸡
话说这里应该有一句,Edit By Markdown。第一次用markdown写完一整篇,排版有些难看,请见谅。