记一次被劫持挂马经历--Elasticsearch的远程执行漏洞

起因:

公司使用的是Ucloud的云主机服务,今天上午突然被告知有一台服务器的出口流量激增,对外发包量短时间内达到了100万,而且都是UDP类型的,第一感觉就是:诶呀,莫不是被黑了,被当肉鸡了呀!

探究:

立马登录对应的服务器,首先使用iftop查看流量状况

可以看出出口流量好吓人,1分钟内累计700M流量,查了一下这2个IP地址,一个是在美国,一个是在浙江电信;

赶紧查看正在运行的进程,找出疑似进程,还真有所发现:

[.ECC6DFE919A382]这个进程还想冒充系统进程,疑点极大,而且/tmp/freeBSD也是一个很奇怪的东西,而498这个UID对应的用户是elasticsearch,想起来昨天部署了Elasticsearch + Logstash,以实现日志统计系统,不会是ES有bug吧,继续查看原因

怀疑/tmp/freeBSD就是被挂马的程序,可惜已经被删除了,无法查看了

原因:

罪魁祸首查出来了,细致的原因还需要详查,所以现在最重要的就是解决问题,迅速kill掉相关进程,再次查看iftop发现流量迅速回落了,更加证实了我们的判断;

接下来就需要查找被劫持挂马的原因和具体的劫持方式,以绝后患,而通过外部搜索引擎也是很快就定位了问题的原因,就是“Elasticsearch远程任意代码执行”漏洞:

  • ElasticSearch有脚本执行(scripting)的功能,可以很方便地对查询出来的数据再加工处理; ElasticSearch用的脚本引擎是MVEL,这个引擎没有做任何的防护,或者沙盒包装,所以直接可以执行任意代码。;
  • 而在ElasticSearch 1.2之前的版本里,默认配置是打开动态脚本功能的,因此用户可以直接通过http请求,执行任意代码。;
  • 其实官方是清楚这个漏洞的,在文档里有说明:
  • First, you should not run Elasticsearch as the root user, as this would allow a script to access or do anything on your server, without limitations. Second, you should not expose Elasticsearch directly to users, but instead have a proxy application inbetween.

终于找到原因,那就解决吧


解决方案:

法一:手动关闭ES远程执行脚本的功能,即在每一个ES节点的配置文件elasticsearch.yml中添加如下一行即可

script.disable_dynamic: true

然后重启ES即可;

法二:升级ES至1.2版本以上也可,因为在ES1.2版本中已默认关闭了远程执行脚本的功能,但需考虑与Logstash的兼容性问题;

后续:

  1. 根据官方的资料,为了保证ES的安全性,不可以root身份启动ES,且可考虑使用代理(负载均衡器也可),对外开放非9200端口(如9300),转发至内网的9200端口,可有效防止小人们的恶意端口扫描;
  2. 因为已经被挂马了一次,所以在重新启用ES之前,还需全面检查被入侵的主机是否还有其它隐患,这就涉及web安全扫描的内容了,暂时小白,还未了解,故希望有经验的前辈可以多多请教!


记一次被劫持挂马经历--Elasticsearch的远程执行漏洞

时间: 2025-01-05 17:42:22

记一次被劫持挂马经历--Elasticsearch的远程执行漏洞的相关文章

记一次站点被挂马问题排查

起因,在下班准备回家之际,收到几条朋友发来的信息,说他的网站在百度搜索做信息流广告推广,但是从百度搜索点击打开就会跳转的×××,让我帮忙排查下问题,是不是被挂马了,于是乎就开始了后面的故事 为了保护网站隐私,假定网站地址是:http://www.xxx.com 收到消息后我尝试操作并收集到下面现象内容: 现象1:通过域名直接打开网站,可以正常打开,不会跳转到×××站 现象2:通过百度/搜狗搜索引擎,搜索到网站后点击打开就会跳转到×××站 开始排查 网站是怎么跳转的? 网站跳转无非就是这两种:服务

一次tomcat服务器被挂马的解决经历

就在今天,我也遇到了传说中的服务器挂马事件,折腾了近一天最终解决了,遗憾的是未能抓到攻击途径.叙述一下这件事情的经过. 早上收到了一封来自于阿里云的邮件 尊敬的用户: 经检测您的云服务器(擦掉ip)存在恶意扫描,请您务必在12小时内处理,逾期未处理将禁止您服务器22.380.443.1314.3306.3433.3389.8080端口对外发包,并关停云服务器.关停后仅有一次机会自助解封,请您务必重视.感谢您的配合. 请您尽快执行以下操作 1.病毒木马清理 请您使用杀毒软件进行病毒查杀,清理系统盘

利用登陆文件注入漏洞给网页挂马

本文操作方法十分简单,按照操作提示一步步来就可以完成了.不少网站在后台登陆框输入‘or’'='代码就可以直接登陆网站后台,这种方式曾经是最流行入侵方式,而今天卢松松讲的是如何利用login后台登陆文件漏洞注入代码. login.php(.asp/.aspx)文件一般都是作为CMS系统的管理员后台登陆文件,这里以PHP168CMS系统为例,login.php漏洞实际上的一个注入漏洞,是利用文件代码设计不良直接讲恶意代码直接上传到网站目录中.利用此漏洞可以进入网站,实行内容篡.网页挂马等手段. 第一

如何防止博客,网站被挂马

经营网站不容易,网站被挂马或者被挂暗链说明网站的管理权限已落入他人之手,而且网站被挂马往往来给网站带来不可估量的负面影响,最常见的就是网站用户体验变形.网站被无故植入莫名其妙的js代码,网站被降权甚至是被K,而对于网站被马之后,很多站长都不能及时的发现并处理,导致网站出现状况后才有所感概.那么站长应该如何去防范这个网站最大的杀手呢?站长如何去检查自己的网站是否被挂马了呢?下面笔者以亲身经历来谈谈如何检查网站是否被挂马的几个方法,希望对大家有所帮助. 方法: 1.对于站长检查网站是否被挂马,其中最

wordpress网站被挂马以及防御方法

wordpress本身的安全性是非常的高的,一般不会被轻易的破解,被挂马,但是我们也不能够过度迷信wordpress的安全性,凡是连接上互联网的服务器和电脑,都存在被破解的风险性.所以我们在日常维护自己的网站时,一定要注重网站的安全性,最大限度的防止网站被挂上木马. 一般来说,破解网站的途径是获取网站后台的管理员权限,从而进行修改网站文件,放置木马,这种方式是最为常见的也是最容易防御的. 防御这种破解的方式请确保做好以下的工作:? 1. 管理员账号尽量不要使用admin这种简单的用户名,密码使用

公司网站被挂马的解决办法

**网站被挂马青岛峰会期间本来想给自己放几天假的,因为公司的网站被挂马给泡汤了,打开公司网站首页,使用浏览器的源代码功能,发现自己网站的首页多了很多×××代码,于是我连接FTP查看网站首页的代码中发现了这个挂马代码,下面我把代码贴出来 : 公司网站被挂马的×××代码解释一下:这个代码是 PHP的代码是一种条件性的挂马,上面的google soso sogou baidu 都是挂马的条件,意思就是当从 google soso...等等搜索引擎来的访问客户会自动在网页上隐藏一行代码也就是挂马代码.

怎样进行网站被挂马检测?工具有哪些呢?

使用搜索引擎搜索"网站挂马检测"我们可以看到有许多的网站挂马检测工具及网站被挂马检测工具平台.我们来看看常用的网站被挂马检测工具及在线网站被挂马检测工具平台都有那些? 360网站安全检测平台(http://webscan.360.cn): 可以免费在线检测网站.网页木马.网站后门程序.网站漏洞等.网站在线被挂马检测,不需要网站验证,但如果想看到网站安全详情,就需要网站验证. 百度云观测(http://ce.baidu.com): 可以检测网站运行状况.网站安全性.网站访问速度.网站SE

dede网站被挂马怎么办 很多非法网站

任何网站都可以被攻击和挂木马, 只要你的网站上在互联网上展现就可能被挂木马文件. 当我们的网站充斥着大量木马的时候怎么处理? 我的常规方法是小范围木马文件直接手工清理, 被篡改页面较多的, 下载官方织梦管理系统程序, 重新整合程序!(整合之前备份好被挂马的网站的整站数据, 源码和数据库) 首先备份数据库.模板文件.图片等附件文件,如果有二次开发,还需要备份二次开发的文件. 最好的方法是备份数据库和全部文件到本地,然后在本地重新安装官方版本的织梦,把备份的数据库.模板文件.图片等附件文件.二次开发

ECMS清除挂马以及后台升级实战(从ecms6.6~ecms7.0)

当时状况 Windows Server 2008 R2 Enterprise + 帝国CMS6.6 + MySql   服务器软件: Microsoft-IIS/7.5 操作系统: WINNT PHP版本: 5.3.18 MYSQL版本: 5.0.81-community-nt 全局变量: 关闭 (建议关闭) 魔术引用: 关闭 (建议开启) 上传文件: 可以 (最大文件:2M,表单:8M) 当前时间: 2014-05-30 14:11:57 使用域名: xxxx.com 服务器被挂马,后台版本较