数据库攻击深度分析(3):一张美女图片开启Postgre数据库挖矿模式 - 嘶吼 RoarTalk – 回归最本质的信息安全,互联网安全新媒体,4hou.com

数据库攻击深度分析(3):一张美女图片开启Postgre数据库挖矿模式

ang010ela 二进制安全 2018年3月20日发布

导语:研究人员发现一种针对PostgreSQL服务器的有意思的攻击技术。攻击者诱使用户下载含有二进制文件的恶意图片,触发payload释放和执行,然后利用数据库的资源进行加密货币挖矿。

研究人员正在进行一个叫做StickyDB的项目,该项目主要研究对数据库的攻击方法。图1是一个数据库蜜罐,欺骗攻击者进行攻击,这样研究人员就可以从中学习攻击方式并让数据库更加安全。

研究人员发现一种针对PostgreSQL服务器的有意思的攻击技术。攻击者在登录数据库后,创建不同的payload,通过下载的图像中的二进制文件避免被检测到,然后提取payload在硬盘中,并触发这些payload的远程代码执行。最终,攻击者会用服务器的资源进行加密货币挖矿,而攻击者使用的竟然只是一张Scarlett Johannsson照片。

1.png

图1:StickyDB蜜罐网络环境

远程代码执行和避免DAM检测

PostgreSQL有一个metasploit模块来与操作系统之间进行交互,攻击者所用的方法与之类似,用lo_export函数将二进制文件复制到硬盘中来创建payload。有一点小变化是插入lo_export函数是pg_proc目录的入口而不是直接调用。这是为了躲过一些数据库审计监控(DMA)措施,DMA会严密监控lo_export这样的特权操作。所以用obj6440002537是对lo_port的非直接调用(图2)。

2.png

图2:对lo_export非直接调用来避免被检测到

这样攻击者就可以用一个简单的函数fun6440002537来执行本地系统命令了。该SQL函数是对C语言函数sys_eval调用的封装,sys_eval是tmp406001440中的一个输出函数,是从SQL客户端调用shell命令的代理。

攻击的下一步是侦查和信息收集。首先执行lshw -c video和cat /proc/cpuinfo来获取GPU的详细信息。而收集GPU信息的目的是为了加密货币挖矿。

3.png

图3:检查GPU信息

4.png

图4:检查CPU详情

到目前为止,攻击者已经获取了数据库的访问权限,确定了远程代码执行的方法,并可以避免被DAM检测到,还获取了系统GPU的信息。那么做这些的目的就是为了下载一张Scarlett Johansson的照片?

恶意软件payload伪装成Scarlett Johansson照片

攻击者真是越来越有创意了。在本次攻击中,攻击者想要用户下载最新的恶意代码,然后就把图片放在imagehousing.com上,imagehousing是一个图片保存和共享的合法网站。但payload保存在二进制文件中,而且并不是图片。如果更改恶意文件扩展名,上传到服务器时可能会被拒绝,因为并不是有效的图片,不可预览。因此,攻击者把恶意二进制代码加入到真实的Scarlett Johansson的一张可爱的照片中。这样,上传时就可以通过检测,并且可以预览,但是payload却保存其中了。

5.png

图5:含有payload的图片,打开时看起来是真实的图片

恶意二进制代码就在她的左肘部。

研究人员联系了imagehousing.com,目前该图片已被删除。

从下载图片到挖矿

用wget可以下载该图片,用dd可以提取图片中的可执行文件,然后对新创建的文件x4060014400设定执行权限(chmod 777)。最后一步是运行新提取的payload。

6.png

图6:用SQL下载图片、提取二进制payload并执行

x4060014400文件会创建另外一个可执行文件s4060014400,该文件的目标是进行门罗币挖矿,门罗币池位于https://monero.crypto-pool.fr/, IP为 163.172.226.218 (图 7)。攻击者的门罗币地址目前已经有312.5XMR了,价值超过9万美元。门罗币地址为

4BBgotjSkvBjgx8SG6hmmhEP3RoeHNei9MZ2iqWHWs8WEFvwUVi6KEpLWdfNx6Guiq5451Fv2SoxoD7rHzQhQTVbDtfL8xS

7.png

图7:SQL中的挖矿statement

最后一步,清除痕迹。

8.png

图8:清除文件痕迹

从攻击者的角度看,任务已经完成了。

反病毒软件VS恶意图片

那么反病毒程序可以识别这类恶意图片吗?

我们用Google VirusTotal测试了60种反病毒软件对这次攻击中的3种形式的挖矿机,分别是恶意图片所在的URL,恶意图片和加密货币挖矿机。

· URL检测结果:只有1个反病毒软件报告是恶意软件的警告;

· 恶意图片检测结果:3个反病毒软件警告是恶意挖矿机;

· 恶意图片中提取的加密货币矿机的检测结果:18个反病毒软件成功检测。

9.png

图9:1个反病毒软件检测到恶意URL

10.png

图10:3个反病毒软件检测到恶意图片

11.png 

图11:18个反病毒软件检测到恶意挖矿机

将二进制代码添加到合法文件中(图片、文档等)来创建图片的文件是一种很古老的方法,但却能绕过大多数的反病毒软件,这是很令人惊讶的。

创建这样的合成文件是非常简单的:

Linux: cat myExecutableFile >> myImageFile.png
Windows: type myExecutableFile.exe >> myImageFile.png

攻击者怎么找到PostgreSQL数据库?

如果攻击者在本地网络中,就可以用Nmap这样的工具在域内发现PostgreSQL实例。但攻击者怎么样发现更简单的目标呢?那些暴露出的PostgreSQL数据库呢?实际上AWS上至少有71万的数据库是暴露的。攻击者发现这些暴露的数据库是非常容易的,然后可以用暴力破解来进入数据库然后应用一些前面的描述的技术。

12.png

图12: 71万PostgreSQL实例有公网IP地址

预防指南

· 关注对lo_export的直接调用和通过pg_proc的间接调用;

· 注意对C语言二进制文件调用的函数(图2);

· 用防火墙拦截数据库到互联网的流量;

· 确保数据库没有分配公网IP地址。如果分配了公网IP,需要限制能够访问的主机。

本文翻译自:https://www.imperva.com/blog/2018/03/deep-dive-database-attacks-scarlett-johanssons-picture-used-for-crypto-mining-on-postgre-database/如若转载,请注明原文地址: http://www.4hou.com/info/news/10765.html
点赞 4
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论