摘要:
2016年是勒索病毒泛滥的年份,而2017年“挖矿”随着电子货币价格的一路攀升,已成为黑客的新宠。黑客多利用“肉鸡”(被控制的电脑)实施挖矿。挖矿可以赚取电子货币,黑客直接通过电子货币获利(比特币、罗门币等)。据统计2017年,仅黑客组织隐匿者就利用肉鸡共挖到2010枚门罗币,相当于61万美元。有理由相信2017年黑客通过挖矿净利润在百万美元以上。
“挖矿”虽然不像勒索病毒那样让被害者直接遭受数据丢失的损失。但会悄悄潜伏在被害者的机器中。肆意利用被害者的机器资源进行挖矿活动。受影响的计算机会变得又卡又慢,甚至会出现死机等情况,直接影响用户的使用体验。
“挖矿”由于机制原因对机器的性能有相当的要求,同时黑客攻击的目标主要集中在允许外网访问的服务器中。于是各类云上的RDS和ECS服务器就成了黑客们优先攻击的目标。黑客在攻击得手后,在服务器上部署挖矿程序。恶意侵占被害者服务器的资源,为自己赚取电子货币。
本文会向大家介绍“挖矿”到底是怎么回事,常见的黑客入侵服务器部署挖矿程序的全过程,最后会给出如何抵御黑客入侵的建议。
挖矿
黑客们为什么要挖矿?这和电子货币体系有密切关系。电子货币发行的过程可以简单认为就是挖矿过程。电子货币是无国界的,所以不依赖于某个政府发行。它的发行是在电子货币的系统中,“矿工”们用一种特别的软件来解决数学难题,作为工作量的回报,“矿工”可以获取电子货币系统新生成的特定数量的电子货币。
![751c3c4c69f8d0d725b2d2396cb85641c3d124ab](https://yqfile.alicdn.com/751c3c4c69f8d0d725b2d2396cb85641c3d124ab.png?x-oss-process=image/resize,w_1400/format,webp)
以比特币为例具体说明,比特币网络中每10分钟会生成一个新的区块,这个新生成的区块会包含三类内容:
- 第一类:最近这10分钟产生的所有比特币支付交易记录。比特币采用P2P机制。所有人的交易记录,会在所有人的账单上出现。所以每10分钟比特币新产生的区块会记录所有人的交易信息。
- 第二类:区块锁,每个区块中的数学难题的答案,第一个通过hash等复杂运算碰撞出的答案,“矿工”会得到相应的比特币奖励。所以挖矿对机器的性能是有一定需求的。而数据库服务器一般相对性能较高,所以黑客更愿意花精力来捕捉数据库服务器做挖矿机。
- 第三类:发行的新比特币,奖励给第一个解开区块锁的矿工。电子货币的发行机制往往奖励的最大部分是给与第一个解决数学难题的人,所以机器性能非常重要。
恶意挖矿程序
电子货币的产生机制本意是为了吸引更多的个体投入到系统中来,设立对矿工工作的奖励机制。因此社会中就会有更多的人愿意将个人的计算机运算能力提供给电子货币的网络系统,随着电子货币的价值提升,又有更多的人加入其中进行挖掘。
正常的挖矿机都是自愿加入到电子货币的网络体系中,为电子货币提供计算能力,然后依据自己的计算贡献能力,从中来获取自己的收益。但是恶意程序是在未授权的情况下向被害者的服务器恶意植入的一个挖矿程序,并盗用被害者个人计算机的计算能力来为黑客挣钱。
挖矿机的选择
黑客多会选择入侵数据库服务器使其变成挖矿机。是因为数据库服务器具备以下适合成为挖矿机的特征:
- 有明确的入侵渠道
- 有一定的性能保障
- 可以执行系统命令且具备一定权限
- 可以创建稳定的链接
- 很好的隐蔽性
黑客入侵过程追踪
![731084ef8c34c24f44380b3102893887d33813e8](https://yqfile.alicdn.com/731084ef8c34c24f44380b3102893887d33813e8.png?x-oss-process=image/resize,w_1400/format,webp)
在了解黑客选择数据库服务器作为主要入侵目标后,我们进一步了解黑客是如何一步一步把你的数据库变成他的挖矿机的。黑客从入侵到完成部署挖矿机主要分为以下5个步骤:
1. 扫描确定尝试入侵目标
黑客一般不会采用全网段扫描,而是基于一定随机值在一个网络段选取一部分进行扫描。并且使用TCP_SYN扫描。TCP_SYN扫描只发送SYN包,通过端口开放回应SYN&ACK包,端口关闭回应RST包来判断端口是否存在。虽然这种方法有一定的偏差性,但可以有效隐蔽黑客的扫描行为,暂时发现黑客最关注的端口是1433(SQLServer)和3306(MySQL)。在扫描后生成一个IP和端口的列表。
2. 暴力破解入侵数据库
黑客扫描完会把生成的列表发送到C&C服务器。开始对扫描出的端口做爆破用的密码字典配置。执行暴力破解的时候会采用多台已被攻陷的肉鸡,不同时段和批次的进行暴力破解。如果顺利破解出密码,登陆数据库准备下一步攻击。
3. 部署数据库后门
黑客在顺利登陆到数据库后,首先会尝试在数据库部署后门,以保持日后还可以长期稳定的使用该数据库。黑客多使用某些特定操作建立后门用户或修改已知用户密码。
![8987ac79f275f6f05ee1b8e1ddb41bec4bcc748e](https://yqfile.alicdn.com/8987ac79f275f6f05ee1b8e1ddb41bec4bcc748e.png?x-oss-process=image/resize,w_1400/format,webp)
请注意如果你的数据库中存在账号 hanako、kisadminnew1、401hk$、guest、Huazhongdiguo110中的任意一个。很可能你的数据库服务器已经被某个黑客组织植入了挖矿机。
4. 利用数据库下载挖矿程序
由于操作需要使用到某些存储过程,所以整个过程分为两个阶段。第一阶段准备环境,修改数据库配置。第二阶段下载工具
第一阶段准备环境主要是让数据库有执行shell的能力
最常见的是利用 xp_cmdshell执行shell
1.
恢复xp_cmdshell
2.
开启被禁用的xp_cmdshell
![a5bb17d7b77a7fd4c75a7e73172d8bc2d457b36a](https://yqfile.alicdn.com/a5bb17d7b77a7fd4c75a7e73172d8bc2d457b36a.png?x-oss-process=image/resize,w_1400/format,webp)
也有利用SP_OACreate执行shell的
![c6b225f33025acdb13ba25ec8fd01944619d2835](https://yqfile.alicdn.com/c6b225f33025acdb13ba25ec8fd01944619d2835.png?x-oss-process=image/resize,w_1400/format,webp)
3、使用SQL Server CLR执行shell
![41aca50c996c4935512e828fc1b44e0bdf0c59c5](https://yqfile.alicdn.com/41aca50c996c4935512e828fc1b44e0bdf0c59c5.png?x-oss-process=image/resize,w_1400/format,webp)
当完成环境部署,能用数据库调用shell后进入第二阶段下载挖矿工具
4、第二阶段下载挖矿工具
使用shell向C&C 服务器发起请求,下载挖矿工具。
5. 部署挖矿程序开始挖矿
在利用数据库完成一些列配置文件的创建和编写,开始调用挖矿程序进行挖矿。
安全解决之道
整个数据库入侵过程归根结底主要是数据库弱口令和数据库安全配置缺失问题导致的灾难。云上数据库虽然部署方便使用快捷,但部署时难免催在安全考虑不周的地方,给不法分子带来可乘之机。
快速部署后的数据库安全配置至关重要。合理的安全配置会对密码的强度有相当的要求。数据库的安全配置可以参考各家数据库官网的安全配置,同时也可以关注和参考安华金和基于数据库研究并结合云数据库RDS/ECS经验总结出的数据库最佳安全配置系列文章。
为了更佳方便的帮助您解决数据库安全配置引起的各种安全问题,建议您可以使用安华云安全免费提供的数据库漏扫绿色下载版本,快速完成针对数据库安全配置的所有检查,并给出修复建议,从数据库配置上彻底阻断黑客入侵的步伐。
安华云数据库漏扫为阿里云用户提供免费体验:
值得注意的是,黑客主要攻击的目标是Windows和Linux系统的数据库服务。如果能控制住对数据库有访问权限的机器,也会有效避免此类攻击。通过数据库防火墙或者网络防火墙等设备严格控制,可以访问默认服务器的IP,因此必须经常检查对数据库有访问权限的设备清单,保持这个清单最小化,尤其要注意清单中直接通过互联网访问的机器,采用白名单策略,所有不在清单上的IP或域名对数据库的连接尝试都应该拦截并进行调查。
你想了解更多的云安全资讯,欢迎关注“安华云安全微信”公众号