Couchdb权限绕过和任意命令执行植入挖矿程序入侵分析

本文为安恒内部供稿

砸个广告:各位在网络安全方面有新创作的小伙伴,快将你们的心得砸过来吧~

文章以word形式发至邮箱:

minwei.wang@dbappsecurity.com.cn

有偿投稿,记得留下你的姓名联系方式哦~

事件概述

我们捕获了利用Couchdb权限绕过漏洞的攻击行为,攻击者通过创建管理员帐户,之后利用Couchdb任意命令执行漏洞执行下载恶意脚本,植入挖矿恶意程序。

CVE--2017-12635 和 CVE-2017-12636

下面简单介绍一下利用的两个漏洞。

Apache CouchDB是一个开源数据库,专注于易用性和成为"完全拥抱web的数据库"。它是一个使用JSON作为存储格式,JavaScript作为查询语言,MapReduce和HTTP作为API的NoSQL数据库。应用广泛,如BBC用在其动态内容展示平台,Credit Suisse用在其内部的商品部门的市场框架,Meebo,用在其社交平台(web和应用程序)。

CVE-2017-12635是由于Erlang和JavaScript对JSON解析方式的不同,导致语句执行产生差异性导致的。这个漏洞可以让任意用户创建管理员,属于垂直权限绕过漏洞。

CVE-2017-12636是一个任意命令执行漏洞,我们可以通过config api修改couchdb的配置query_server,这个配置项在设计、执行view的时候将被运行。

事件分析

1.创建管理员

因为任意命令执行漏洞需要登录用户方可触发,所以先利用CVE-2017-12635先增加一个管理员用户,主要操作如下:

发送包含两个roles的数据包,即可绕过限制,成功创建管理员,账户密码均为:wooyun1.访问http://**.213.63.***:5984/_utils/,可以看到已经存在用户名为wooyun1账号:

2.执行任意命令

利用任意命令执行漏洞执行的主要操作如下:

可以看到利用漏洞执行wget和curl命令从http://***.99.142.232:8220/下载了两个bash脚本,5.sh和2.sh.

功能都是再执行wget或者curl命令下载并执行一个.jpg文件, 查看logo3.jpg和logo4.jpg实质上都是bash脚本,主要内容如下:

主要功能是从http://***.99.142.232:8220下载一个配置文件1.json 并重命名,下载了rig、rig1、rig2三个样本并重命名,赋予了可执行权限,然后获取了受害主机的cpu核数,把配置文件内容和cpu核数作为参数执行suppoie这个程序

config.json 内容如下:

根据配置文件内容判断这是一个门罗币的挖矿样本,使用的是XMRig开源程序,查了一下这个钱包地址帐户因僵尸网络活动报告而被暂停。

脚本中出现的三个样本hash分别为:

4f0bbc485050485cf7799c0547ac2678dbe16b41e4d124e5fc2ffbeb62a46f6d

53505d1bdecdd2fb71d634dd1f7935ed8b099b87369c416bca7afa36cb3c7335

e2a28a51dae1627a4eb76d25dafd6140c52a88885e3cca66309e70cf7fa65cdd

在virustotal上查询了这三个样本,第一次上传是在3月25号,在12小时前还被重新上传分析,判断这个样本近期非常活跃:

-END-

原文发布于微信公众号 - 安恒网络空间安全讲武堂(cyberslab)

原文发表时间:2018-06-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

IBM技术专家教你“懒惰”Linux管理员的10个关键技巧

作者:Vallard Benincosa, 来源: https://www.ibm.com/developerworks/cn/linux/l-10sysadt...

2835
来自专栏linux、Python学习

IBM技术专家教你“懒惰”Linux管理员的10个关键技巧

好的系统管理员区分在效率上。如果一位高效的系统管理员能在 10 分钟内完成一件他人需要 2 个小时才能完成的任务,那么他应该受到奖励(得到更多报酬),因为他为公...

540
来自专栏Coding+

使用 youtube-dl 下载网络视频

youtube-dl 是一个命令行程序,用于从 YouTube.com 和其他几个网站下载视频。它需要 Python 解释器,版本2.6,2.7或3.2+,它是...

3392
来自专栏carven

react-native使用cookie

不久前,因为课程需要,我使用react native搭建了人生第一个完整的app--一个广外的教务查询系统。 祥见我的第一个react native项目 总体上...

1300
来自专栏惨绿少年

HTTP服务简介

第1章 HTTP服务介绍 1.1 简述用户访网站流程 a 进行域名信息的DNS解析 dig +trace 获得www.oldboyedu.com  ip地址信息...

2290
来自专栏企鹅号快讯

入门干货之用DVG打造你的项目主页-Docfx、Vs、Github

由于这三项技术涉及到的要点以及内容较多,希望大家有空能自己挖掘一下更多更深的用法。 0x01、介绍 VS,即VS2017以及以上版本,宇宙最好的IDE,集成了宇...

1946
来自专栏Java技术

记一次解决业务系统生产环境宕机问题!

Zabbix告警生产环境应用shutdown,通过堡垒机登入生产环境,查看应用容器进程,并发现没有该业务应用的相应进程,第一感觉进程在某些条件下被系统杀死了,然...

641
来自专栏码农阿宇

一种关于缓存数据何时更新的解决思路

为什么写? 和大家一样,我有每天逛逛博客园的习惯,今天在博客园看到了“一只攻城狮”写的《初遇 Asp.net MVC 数据库依赖缓存那些事儿》。该朋友利用.Ne...

4276
来自专栏Java职业技术分享

Memcache/Redis集群管理探索与实现:美图开源PaaS平台资源网关

虽然 reuse port 是在 linux 3.9 才被合并进来,但有 backport 到更早之前的版本(至少我们在使用的 2.6.32 是有的),很多博客...

540
来自专栏数据和云

数据库高可用和分区解决方案-MongoDB 篇

许春植(Luocs) (阿里巴巴高级数据库管理员,7年以上数据库运维管理经验,擅长MySQL、Oracle及MongoDB数据库,目前主要研究并建设Mongo...

5466

扫码关注云+社区