Ubuntu服务器被黑经历(ElastichSearch漏洞)

起因

最近我们的一台Ubuntu阿里云服务器一直提示有肉鸡行为,提示了好几天,开始并没有关注,然后连续几天后发现应该是个大问题啊。很可能服务被侵入了!!!

寻找线索

一开始我是完全懵逼的状态的,Linux不是很熟悉,只会简单的命令,安装部署redis,mongo这些东西。好吧,只能百度Google了!

  1. 寻找可疑进程

ps -ef
然而结果看起来一点头绪都没,非常不熟悉Linux底下常见的进程!

  1. 寻找相关的Log线索

Linux里有非常的多的日志文件,统一都存放在/var/log底下,这里我想先看看是不是有人破解了账号入侵了服务器
cat /var/log/faillog --登陆失败日志
cat /var/log/auth.log --验证日志

确实发现了一些蛛丝马迹(解决完后发现可能并非如此,暂时还没有研究下去)

auth.log中发现了大量的Failed,这说明有人在尝试暴力破解密码,最可疑的是大量的session opened for user root by (uid=0)(开始我觉得是入侵进去了?)。百度了下,发现几个线索:

  1. 阿里云官方发布了脏牛漏洞的公告https://bbs.aliyun.com/read/297492.html
  2. 一篇黑客对决http://ruby-china.org/topics/23848

仔细看了下之后发现,卧槽!黑客对决这篇和我的情况如出一辙啊~前几天为了部署ExceptionLess,迁移ElasticSearch到Linux。并没有注意El的安全性啊。

寻找木马

再一次查看进程,这次有文档帮助,有了大致的了解,并且拿另外一台Linux服务器的进程做了一次对比。立马定位到了可疑进程。

通过elastic+ 启动的这几个进程显然是木马进程,依据上边的文档,可以初步说明木马没有取得root权限,而运行在elastic的用户权限底下。

找到了进程,怎么找到文件?百度!
cd /proc/31598
ls -l exe

卧槽还删除了!不过也定位到可疑的地方/tmp
立即去/tmp查看

这些文件应该就是木马了,down下来打开看了下,确实是木马!也百度到了一些信息,这些就是肉鸡程序了!文档

干掉木马

找到了木马,最后就要干掉它,不过谨慎起见我还是做了一些其他的功课,防止随意杀掉之后,造成木马的更大破坏。(然而也就是百度了下,发现Linux只是太薄弱)

  1. 停止ElasticSearch

    service elasticsearch stop

  2. 更换ElasticSearch配置,这是这个漏洞的关键!

    script.disable_dynamic: true --从flase改成true

    我在想这样的一个动态脚本能力是怎么考虑的?妥妥的漏洞啊,就像上次的Redis默认无安全验证问题一样啊!!!

  3. 删掉temp
    rm -rf /tmp
    我这是很愤怒的!不过冲动是魔鬼,rm -rf请慎重!!!整个服务器删掉的悲伤故事就是它惹的。

  4. 批量杀掉进程

    kill -9 $(ps -ef | grep elastic | grep -v grep | awk '{print $2}')

  5. 重新查看下进程列表 确保木马不重启

    ps -ef

    结果看起来是乐观的,不过是不是真的杀掉了?还需要时间的检验了?

  6. 重启Elastichsearch

    service elasticearch start

  7. 为了更安全起见,服务器都加强了密码,还用ClamAV扫了一遍。

  8. 续集?? 希望不要有续集了!!!

总结

这次的安全事故,我想大概像我这样的Linux新手不在少数,随着.NET的跨平台,大量的.NET应用会依赖更多的linux环境组件,Linux的应用安全一定也是需要更受我们重视的(虽然Linux不是在业界号称比Windows安全嘛,不过Linux应该会说这是Elasticsearch的锅啊!!!)

参考文档

话说这里应该有一句,Edit By Markdown。第一次用markdown写完一整篇,排版有些难看,请见谅。

 
分类: .NET,Linux

ElastichSearch漏洞的更多相关文章

  1. Ubuntu服务器被黑经历(ElastichSearch漏洞)

    起因 最近我们的一台Ubuntu阿里云服务器一直提示有肉鸡行为,提示了好几天,开始并没有关注,然后连续几天后发现应该是个大问题啊.很可能服务被侵入了!!! 寻找线索 一开始我是完全懵逼的状态的,Lin ...

  2. Open Source

    资源来源于http://www.cnblogs.com/Leo_wl/category/246424.html RabbitMQ 安装与使用 摘要: RabbitMQ 安装与使用 前言 吃多了拉就是队 ...

  3. 黑云压城城欲摧 - 2016年iOS公开可利用漏洞总结

    黑云压城城欲摧 - 2016年iOS公开可利用漏洞总结 作者:蒸米,耀刺,黑雪 @ Team OverSky 0x00 序 iOS的安全性远比大家的想象中脆弱,除了没有公开的漏洞以外,还有很多已经公开 ...

  4. 从c#角度看万能密码SQL注入漏洞

    以前学习渗透时,虽然也玩过万能密码SQL注入漏洞登陆网站后台,但仅仅会用,并不理解其原理. 今天学习c#数据库这一块,正好学到了这方面的知识,才明白原来是怎么回事. 众所周知的万能密码SQL注入漏洞, ...

  5. 【夯实Nginx基础】Nginx工作原理和优化、漏洞

    本文地址 原文地址 本文提纲: 1.  Nginx的模块与工作原理    2.  Nginx的进程模型    3 . NginxFastCGI运行原理        3.1 什么是 FastCGI   ...

  6. Zabbix 漏洞分析

    之前看到Zabbix 出现SQL注入漏洞,自己来尝试分析. PS:我没找到3.0.3版本的 Zabbix ,暂用的是zabbix 2.2.0版本,如果有问题,请大牛指点. 0x00 Zabbix简介 ...

  7. Linux环境下常见漏洞利用技术(培训ppt+实例+exp)

    记得以前在drops写过一篇文章叫 linux常见漏洞利用技术实践 ,现在还可以找得到(https://woo.49.gs/static/drops/binary-6521.html), 不过当时开始 ...

  8. APP漏洞扫描用地址空间随机化

    APP漏洞扫描用地址空间随机化 前言 我们在前文<APP漏洞扫描器之本地拒绝服务检测详解>了解到阿里聚安全漏洞扫描器有一项静态分析加动态模糊测试的方法来检测的功能,并详细的介绍了它在针对本 ...

  9. 父页面操作iframe子页面的安全漏洞及跨域限制问题

    一.父子交互的跨域限制 同域情况下,父页面和子页面可以通过iframe.contentDocument或者parent.document来交互(彼此做DOM操作等,如父页面往子页面注入css). 跨域 ...

随机推荐

  1. Centos7安装搭建FTP服务器(最简便方法)

    简介: vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点. vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linu ...

  2. xss挑战之旅wp

    Level 1  -  180831 第一关很简单,开胃菜 payload: http://localhost/xss_game/level1.php?name=test123<script&g ...

  3. 028实现strStr()

    #pragma once #include "000库函数.h" /*********************自解**************/ //使用算法中的find 12ms ...

  4. Go搭建后台服务学习记录

    资料: 1. go基础 https://juejin.im/entry/58329f84da2f600063074382 https://www.w3cschool.cn/go/ 2.go的一个orm ...

  5. (转)Geoserver基础配图研究

    https://blog.csdn.net/zbcx_ZGIS/article/details/82216151 1面图层配图 1.1基本框架 这个是geoserver默认的polygon的代码,我们 ...

  6. linux下的文件目录结构

    linux的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录 - root,存放root用户的相关文件 - home,存放普通用户的相关文件 - b ...

  7. Java 8 新特性:1-函数式接口

    (原) Java 8 新特性1-函数式接口 Lambda表达式基本结构: (param1,param2,param3) -> {代码块} Lambda表达式结构: (type1 arg1,typ ...

  8. UVA1626-Brackets sequence(动态规划基础)

    Problem UVA1626-Brackets sequence Time Limit: 4500 mSec Problem Description Input The input begins w ...

  9. DVR登录绕过漏洞(CVE-2018-9995)

    ###漏洞描述 此漏洞允许攻击者通过修改“Cookie: uid=admin” 之后访问特定 DVR 的控制面板,返回此设备的明文管理员凭证. ###漏洞利用 1.利用代码 curl "ht ...

  10. with as 加上 materialize hint 生成实质临时表

    WITH AS: 就是将一个子查询部分独立出来,有时候是为了提高SQL语句的可读性,有时候是为了提高SQL语句性能. 如果一个SQL语句中,某个表会被访问多次,而且每次访问的限制条件一样的话,就可以使 ...