2017年10月,360网络安全研究院监控到一个大规模攻击OrientDB 数据库服务器,挖取门罗币(XMR,Monero CryptoCurrency)的僵尸网络,并将其命名为 DDG 挖矿僵尸网络 (DDG Mining Botnet,以下简称 DDG)。DDG 累积挖取的门罗币数目较大,到2018年2月,能够确认该僵尸网络累积挖取的已经超过 3,395枚门罗币,折合人民币超过580万元 。DDG一跃成为继MyKings之后,收益第二大的挖矿僵尸网络。(可参考详细分析文章) 近期,360注意到该家族发布了新的版本 3011 ,在该更新版本部署的过程中,引发了端口 7379 及相关端口上的扫描流量异常。该版本中启用了新的钱包,其在 2 个矿池里累计收益已经超过 1,419 枚 XMR,折合人民币近180万元。迄今,长期运营的DDG从数据库服务器中攫取的挖矿收益已达近800万人民币。 DDG 3011版本简介值得注意的是,DDG僵尸网络的新版本可能还处于测试阶段,或者只是一个过渡版本。 DDG 3011 版本的概要特征如下: 启用了新的 XMR 钱包地址
42d4D8pASAWghyTmUS8a9yZyErA4WB18TJ6Xd2rZt9HBio2aPmAAVpHcPM8yoDEYD9Fy7eRvPJhR7SKFyTaFbSYCNZ2t3ik ;
挖矿程序变更为 2t3ik ,但命名规则没有变化,仍然是钱包地址的末尾 5 位; 启用多个矿池,这应该被理解成为一种失效保护机制; 样本的编写语言由旧的 Go1.9.2 换成了 Go1.10,并在代码结构、第三方库和自身功能方面进行较大改动; 启用了云端配置文件,可以由云端配置文件指定要扫描的服务端口、矿机程序下载链接、本地样本更新数据等等; 相同的持久驻留机制:将 i.sh 脚本写入到 Crontab 中定期更新、运行。
7379 及相关端口上的扫描流量异常近期,我们的 ScanMon 系统显示 Redis 服务相关端口的扫描流量骤增,如下: 
图1 上图中,与该扫描相关的关联端口共计 7 个,分别是 : Redis 相关的三个:6379, 6380, 7379 SSH 相关的三个:22, 2222, 22222 HTTP 相关的一个:8000
我们在本文后续的样本分析环节中可以发现,DDG 新版本 ddgs.3011 的扫描模式与上述 ScanMon 观察到的现象非常契合。这足以证明,DDG 最新版本的活动引起了本轮 7379 及相关端口上的扫描行为。 样本执行流程我们捕获了这次事件相关的核心样本: 65.225.157.157:8000/static/3011/ddgs.i686 md5=999fc24f53034b4c73866a0699be15fa
图2 
图3 新旧样本最明显的相似之处,是通过把 i.sh 脚本植入到 Linux 系统肉鸡的 Crontab 中来实现持久驻留。新 i.sh 脚本内容如下: 

ddgs.i686 通过 SSH / Redis 服务暴破、未授权访问来入侵主机,暴破词典如下: 
图6 v grep | grep Circle_MI | awk '{print $2}' | xargs kill
ddgs.i686 还会在失陷主机本地的 /var/spool/cron/crontabs/root 或者 /var/spool/cron/crontabs 处写入定时任务脚本,从云端下载最新的 i.sh 脚本定时执行( %s 处为最新的 i.sh 下载链接),实现持久驻留: 
图7 然后,ddgs.i686 会尝试在当前肉鸡的 ~/.ssh/authorized_keys 中注入以下 SSH Pub Key: 
图8 ddgs.i686 样本中内置了一个 ip:port 的 List,其中 2 个主要的 165.225.157.157:8000 和 165.227.149.151:8000 ,其他算是备用,全部列表见文末 IoC 部分。 
图9 
图10 
图11 由于这串数据自定义了复杂的数据结构,没能成功完美解码,经过 msgPack 通用反序列化再大概还原后如下:  图12 
图13  图14
图15 xf 7\xb 图16 结合配置文件和样本分析,可以发现以下几个关键点: 1. 配置文件中提供了 Miner 程序的 URI、MD5 和保存到当前肉鸡的文件路径。ddgs.i686 会根据 URI,通过 HTTP GET 请求从 http://<C2:8000>/Miner_URI 处下载 Miner 程序并另存到指定路径; 2. 配置文件中提供了最新的 i.sh 文件下载路径,ddgs.i686 会把这个路径填充到定时任务的命令字串中; 3. 配置文件中指定了要扫描的 dstport,可以看到针对 Redis 服务,指定 ddgs.i686 扫描 (6379, 6380, 7379) 三个端口,针对 SSH 服务,指定扫描 (22, 2222, 22222) 三个端口。(这里可以解释 ScanMon 上 7 个端口之间的伴生关系。但 Redis 服务相关的 3 个端口与 SSH 服务相关的 3 个端口之间 Shared scip 数量比较少,原因可能跟蜜罐部署以及蜜罐的网络配置有关) 4. 配置文件中的 GenLan / GenAAA 对应生成 Scan Target IP 的生成策略。样本中的 Scan Target IP 生成策略仍然同于旧版本的 ddg.miner: 生成的内网网段 Target IP 范围如下: 10.Y.x.x/16 (Y 为当前内网 IP B 段的值) 172.16.x.x/16 192.168.x.x/16
当前主机的公网 IP 地址 WAN_IP ,然后在 WAN_IP/8 范围内生成公网网段 Target IP 。 但是样本内有个扫描控制策略,从行为上看,针对内网 Target IP ,只扫描 SSH 服务相关的 3 个端口,我的虚拟机上运行结果只会扫 SSH 服务,看起来只有获取到了网卡的外网地址,才会针对外网的 Target IP 扫描 Redis 相关的端口。 5. 配置文件中给出了 ddgs 样本的更新配置:最新的版本号、本地另存的文件路径、C2 端下载的 URI 以及样本的 MD5,本地已有的 ddgs.i686 样本会根据这些信息对本地样本进行更新。 挖矿样本获取配置文件后,会根据配置文件中 Miner 的信息,去下载 2t3ik.p 和 2t3ik.m 到当前失陷主机的 /tmp/ 目录。这两个文件是 XMRig 2.5.2 编译的矿机程序,具体区别不明,关键信息都一致: 钱包地址(新出现):
42d4D8pASAWghyTmUS8a9yZyErA4WB18TJ6Xd2rZt9HBio2aPmAAVpHcPM8yoDEYD9Fy7eRvPJhR7SKFyTaFbSYCNZ2t3ik
涉及的矿池: 47.90.204.154 hk02.supportxmr.com pool.supportxmr.com xmr-asia1.nanopool.org xmr-us-west1.nanopool.org
其中 47.90.204.154:443 是首选矿池地址,但会 Reset 掉网络请求,该主机位于 阿里云 ,猜测是团伙背后的 Miner Report C&C 主机; 在矿池 supportxmr.com 中的 TotalPaid 为 150.5194868540 XMR ,按当前市价折合人民币 181,311.3 ¥ ; 在矿池 nanopool.org 中TotalPaid: 1268.5880545439 XMR ,按当前市价折合人民币 1527,519.6¥。
3011 是一个测试或过渡版本最后值得一提的是,ddgs.i686 是 32bit ELF 文件,而它下载到的 2t3ik.p 和 2t3ik.m 都是 64bit ELF 文件,这样一来,在真实环境中,矿机程序并没有办法运行。而且,版本 3011 只有hxxp://165.225.157.157:8000/static/3011/ddgs.i686 这一个核心样本,不像版本 3010 ,同时存在 ddgs.i686 和 ddgs.x86_64 两个核心样本。所以,可以认为版本 3011 目前处于测试阶段,或者只是一个过渡版本。 IoCSample md5=9ebf7fc39efe7c553989d54965ebb468 uri=hxxp://165.225.157.157:8000/static/imWBR1 md5=d3b1700a413924743caab1460129396b uri=hxxp://165.225.157.157:8000/static/wnTKYg md5=8eaf1f18c006e6ecacfb1adb0ef7faee uri=hxxp://165.225.157.157:8000/static/wnTKYg.noaes md5=754487fd92e282c98acf6528604049aa uri=hxxp://165.225.157.157:8000/static/imWBR1.ig md5=52f06ca981a6e6cbc89b095ea6db1bf9 uri=hxxp://165.225.157.157:8000/static/2t3ik.s md5=b44bce2047f2254e5e7e8b0730caae2e uri=hxxp://165.225.157.157:8000/static/2t3ik.p md5=54259015b8ead37ac66da056769520db uri=hxxp://165.225.157.157:8000/static/2t3ik.m md5=76e8d7bf408b3b6ebd13d6b292519742 uri=hxxp://165.225.157.157:8000/static/2t3ik md5=999fc24f53034b4c73866a0699be15fa uri=hxxp://165.225.157.157:8000/static/3011/ddgs.i686 md5=8ab02497219bda76c959f86386a2c363 uri=hxxp://165.225.157.157:8000/static/3010/ddgs.i686 md5=45774309c72839d6d4303024059e7070 uri=hxxp://165.225.157.157:8000/static/3010/ddgs.x86_64 md5=884a57a0e4f9d222117aeca111095d7a uri=hxxp://165.225.157.157:8000/i.sh e4f9d222117aeca111095d7a uri=hxxp://165.225.157.157:8000/i.sh
Full IP ListM Main C2 –> 165.225.157.157:8000 United States/US San Francisco ”AS26464 Joyent, Inc.” Main C2 –> 165.227.149.151:8000 Germany/DE Frankfurt am Main ”AS14061 DigitalOcean, LLC” 47.93.8.34:8000 China/CN Hangzhou ”AS37963 Hangzhou Alibaba Advertising Co.,Ltd.” 47.94.2.72:8000 China/CN Hangzhou ”AS37963 Hangzhou Alibaba Advertising Co.,Ltd.” 47.94.3.27:8000 China/CN Hangzhou ”AS37963 Hangzhou Alibaba Advertising Co.,Ltd.” 58.57.65.8:8000 China/CN Jinan ”AS4134 No.31,Jin-rong Street” 47.52.57.82:8000 Hong Kong/HK ”AS45102 Alibaba (China) Technology Co., Ltd.” 47.89.242.3:8000 United States/US San Mateo ”AS45102 Alibaba (China) Technology Co., Ltd.” 47.93.23.55:8000 China/CN Hangzhou ”AS37963 Hangzhou Alibaba Advertising Co.,Ltd.” 47.93.42.11:8000 China/CN Hangzhou ”AS37963 Hangzhou Alibaba Advertising Co.,Ltd.” 47.93.54.50:8000 China/CN Hangzhou ”AS37963 Hangzhou Alibaba Advertising Co.,Ltd.” 47.93.61.56:8000 China/CN Hangzhou ”AS37963 Hangzhou Alibaba Advertising Co.,Ltd.” 47.93.62.70:8000 China/CN Hangzhou ”AS37963 Hangzhou Alibaba Advertising Co.,Ltd.” 47.93.63.53:8000 China/CN Hangzhou ”AS37963 Hangzhou Alibaba Advertising Co.,Ltd.” 47.93.7.200:8000 China/CN Hangzhou ”AS37963 Hangzhou Alibaba Advertising Co.,Ltd.” 47.93.7.246:8000 China/CN Hangzhou ”AS37963 Hangzhou Alibaba Advertising Co.,Ltd.” 47.93.8.225:8000 China/CN Hangzhou ”AS37963 Hangzhou Alibaba Advertising Co.,Ltd.” 47.93.9.192:8000 China/CN Hangzhou ”AS37963 Hangzhou Alibaba Advertising Co.,Ltd.” 47.94.133.2:8000 China/CN Hangzhou ”AS37963 Hangzhou Alibaba Advertising Co.,Ltd.” 47.94.14.49:8000 China/CN Hangzhou ”AS37963 Hangzhou Alibaba Advertising Co.,Ltd.” 47.94.15.37:8000 China/CN Hangzhou ”AS37963 Hangzhou Alibaba Advertising Co.,Ltd.” 47.94.17.24:8000 China/CN Hangzhou ”AS37963 Hangzhou Alibaba Advertising Co.,Ltd.” 47.94.4.107:8000 China/CN Hangzhou ”AS37963 Hangzhou Alibaba Advertising Co.,Ltd.”
|