前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一次XorDDos变种样本的分析实战记录(附工具下载)

一次XorDDos变种样本的分析实战记录(附工具下载)

作者头像
FB客服
发布2018-02-09 11:43:09
1.7K0
发布2018-02-09 11:43:09
举报
文章被收录于专栏:FreeBufFreeBufFreeBuf

*本文原创作者:熊猫正正 ,本文属FreeBuf原创奖励计划,未经许可禁止转载

一、起因

上周五晚上,前同事丢给我一个样本,让我帮他分析一下,周未有事也没时间看,只是把样本丢到VT上扫了扫,报XorDDos.2,原来是14年就出现的XorDDos样本的变种,晚上没玩LOL,把样本详细分析一下,写了这篇报告,欢迎学习交流,顺便赚点奶粉钱,呵呵。

二、样本简介

XorDDos类型样本主要特点,用暴力猜解目标机器ssh弱密码的方式,入侵目标机器,然后执行相应的shell脚本,安装病毒到目标机器,将目标机器变为DDos肉鸡,然后病毒利用多线程发起DDOS攻击。

被安装的病毒会通过fork结束掉父进程,删除自身,并拷贝自身到各个系统目录下执行创建多个守护进程,样本在拷贝的过程中运用了简单的“多态”处理方式,随机生成相应的文件名,随机md5变换等。

拷贝完成之后加载自启动服务,根据获取到操系统内核版本信息安装rootkit,p实现隐藏网络端口,文件等,最后通过多种方式发起DDos攻击。

三、详细分析

首先查看文件类型,如下:

从图中我们可以得知,文件是linux32位可执行程序,通过ida反编译程序,main函数如下:

病毒首先设置相应环境变量,从上面的代码中我们可以看到里面有一个dec_conf函娄,用于解密字符串,得到相应的文件路径,下载地址等信息,解密函数如下:

查看ida里的xorkeys,我们得到了它的加解密key为:BB2FA36AAA9541F0,我们来用edb动态调试一下看看,打开edb加载样本,跟踪到main函数,如图所示:

然后单步调试,解密相应的字符串,得到如下图所示的路径信息:

将main函数中前面的字符串一个一个解密完成之后,得到如下的解密字符串列表:

v27 = /usr/binv26 = /bin/v25 = /tmp/v23 =/var/run/gcc.pidv22 =/lib/libudev.sov21 = /lib/v20 = http://www1.gggtata456.com/dd.rarv24 = /var/run/

通过edb动态调试,我们将下面的一些字符串全部解密完成,如图所示:

病毒通过解密daemonname中的字符串,得到如下命令行列表,并执行相应的命令:

cat reslov.confshbashsups -eflsls -lanetstat -annetstat -antopgrep "A"sleep 1cd /etcecho"find"ifconfig eth0ifconfigroute -ngnome-terminalidwhowhoamipwduptime

然后病毒创建子进程,结束到父进程,如图所示:

复制自身到相应的目录,然后执行创建多个守护进程,并删除到自身,如图所示:

通过edb动态调试如下,在生成文件的时候使用随机文件名,病毒将自身拷贝到相应的目录下,如图所示:

拷贝完成如图所示:

病毒会把自身复制到如下目录列表中:

/usr/bin/,/lib/libudev.so,/bin/,/lib/,/tmp/

复制完成之后,它会把文件的做一点小的修改,使每个复制之后的md5值都不相同,实现简单的多态变型,代码如下:

加载设置自启动服务项,如图所示:

生成/etc/init.d/tmoogsb,文件内容如下:

修改/etc/cron.hourly/gcc.sh文件,将下面的脚本信息写入gcc.sh文件中,如图:

同时将/etc/init.d/tmoogsb文件拷贝生成到相应的目录下,实现多进程守护自启动,通过edb调试如下:

最后生成的文件列表如下:

/etc/rc1.d/S90tmoogsb/etc/rc2.d/S90tmoogsb/etc/rc3.d/S90tmoogsb/etc/rc4.d/S90tmoogsb/etc/rc5.d/S90tmoogsb/etc/rc.d/rc1.d/S90tmoogsb/etc/rc.d/rc2.d/S90tmoogsb/etc/rc.d/rc3.d/S90tmoogsb/etc/rc.d/rc4.d/S90tmoogsb/etc/rc.d/rc4.d/S90tmoogsb

增加系统服务:chkconfig –add tmoogsb,修改/etc/crontab,修改后的crontab内容如下:

病毒通过解密算法,解密远程服务器地址列表,通过edb动态调试如下所示:

解密完成之后的远程服务器列表如下:

aaa.gggatat456.comaaa.xxxatat456.com:6000bbb.gggatat456.com:22bbb.xxxatat456.com:22bbb.gggatat456.com:443bbb.xxxatat456.com:443

然后通过/proc/meminfo,/proc/cpuinfo将感染后的机器相应信息发送到远程服务器上,如图所示:

并能过rootkit隐藏相应的网络端口号,如图所示:

病毒安装rootkit之前会先收集感染机器的内核版本信息等,如图所示:

然后能过判断/proc/rs_dev是否可读,来判断LVM rootkit安装成功与否,如果存在LVM,则调过ioctl命令,执行相应的rootkit功能,隐藏进程端口,文件等功能,病毒通过http://www1.gggatat456.com/dd.rar配置信息网站,然后利用HTTP请求,下载配置文件信息,如图所示:

下载之后的配置文件,通过前面的解密函数进行解密,并对不同的信息,进行不同的操作,不同的配置信息包括:denyip,filename,rmfile,killpid等,执行如下所示的操作:

病毒会执行相应的下载,更新,发送信息,结束进程,并通过多线程发起ddos攻击,如图所示:

执行ddos攻击的代码add_task,如下所示:

通过网络抓包的方式,利用wireshark抓包,如图所示:

通过分析,它发起的ddos攻击的地址列表如下:

112.74.54.14061.153.110.3260.205.14.1219.135.226.97112.74.169.39114.113.198.158139.196.250.103

对于ip地址和域名信息的情报分析工作,我就不作了,大家有兴趣可以去分析一下,也就是google大法了!

样本基本就分析完毕了,此样本的主要作用是能过受感染的机器进行ddos攻击,再远程能过配置文件进行控制,执行相应的攻击,远程更新,下载,上传,执行相应的命令等。

四、清除样本

通过前面的分析,我们可以很容易清除相应的样本,同时我们可以发现,里面有一个DelService函数,如下图所示:

可以按上面的方法,清除相应的自启动服务项:

/etc/init.d/tmoogsb/etc/cron.hourly/gcc.sh/etc/rc1.d/S90tmoogsb/etc/rc2.d/S90tmoogsb/etc/rc3.d/S90tmoogsb/etc/rc4.d/S90tmoogsb/etc/rc5.d/S90tmoogsb/etc/rc.d/rc1.d/S90tmoogsb/etc/rc.d/rc2.d/S90tmoogsb/etc/rc.d/rc3.d/S90tmoogsb/etc/rc.d/rc4.d/S90tmoogsb/etc/rc.d/rc4.d/S90tmoogsbchkconfig –del tmoogsbupdate-rc.d tmoogsb remove

然后我们再去清除病毒拷贝到相应目录的文件就可以了,同时病毒存在rootkit技术,我们可以使用rkhunter,chkrootkit这两个工具去系统进行扫描,清除相应的rootkit模块就可以了,使用rkhunter如图所示:

大家可以自行去研究,相应的下载地址点击阅读原文。

五、总结

主体样本基本分析完了,下面就开始“扯蛋”了,送给想加入这行,跟我一起苦逼的人吧,前方高能,大牛绕道,都是小弟的一点愚见!

从事搬砖(逆向分析)这行也有好多年了,期间分析各种不同类型的样本。

从最开始的window时代的鬼影第三代到第六代,蠕虫病毒,输入法,感染型,灰鸽子远程,熊猫烧香,游戏盗号,QQ盗号等样本,到后面Android时代的各种截持短信,流氓推广,弹广告,刷流量,刷ROM,以及后面手机端蠕虫,敲诈者,百脑虫,FakeDebugger,GhostPush,ios/mac上WireLurker,XcodeGhost,YiSpecter,ZergHelper,BackStab,KeyRaider,TinyV的等样本,以及现在linux上的一些恶意样本等。

做为一名从业人员,有些是公司要求分析的,有些是自己觉得好玩下载分析的,我简单说说一些学习技巧与方法,需要的知识点,以及分析的大致流程。

(1)拿到一个样本,不管是什么,先弄清它是什么文件格式,这里就要求你要对不同的文件格式有所了解了:window(PE),linux(ELF),android(dex,ELF),ios/mac(mach-o)

(2)然后看样本有没有壳或加密,如果有壳就脱壳,有加密就看能不能解密

(3)脱完壳,解完密,后面就是动+静态分析了

动态调试:window(od,windbg),linux(gdb,edb),android(jeb,ida),ios/mac(lldb)

静态调试: ida,010Editor,readelf,objdump,string等

(4)网络抓包工具

wireshark,tcpdump,Charles,BrupSuite

(5)当分析一个样本,有可能程序很大,我们要有快速定位问题的能力,针对不同的样本,要分析不同的功能点,真正工作过程中分析一个样本,是需要一个快速响应,解决问题的能力的,同时在最快的时间内输出相应的分析报告,这个就要靠平时多锻炼了,有一种“阅片无数”的感觉

(6)分析系统级的样本的时候,我们还需要对相应的系统有一个大致的了解,了解相应系统的启动过程,每种系统的自启动方式以及注入方式都不同,我们要对这些不同的系统都比较了解。

(7)有了上面的一些基础,就是多实战了,可以从各个渠道下载不同类型的样本进行练习,积累经验。

从事这行需要的一些知识点,我也简单的列一下吧,师傅带进门,修行靠个人了:

(1)熟悉C/C++/Java/Python等语言,会一些简单的编程

(2)熟悉PE,ELF,Mach-O文件格式

(3)熟悉各个平台下的动态调试技术,以及ida的使用方法

(4)了解各平台下的系统原理,知道它是如何加载一个程序的,自启动服务项,底层加载过程等

(5)熟悉主流的一些黑客技术,攻击方式,各平台注入,hook等手段,以及工具的使用方法

(6)熟悉tcp/ip网络协议,会使用各种抓包工具,分析数据包内容

(7)简单的英语能力,至少会看的懂相应的英文文档

(8)“访问外国网站”能力,这个不用多说了,去买个V**吧

(9)学会使用google,gmail等工具,加入一些gmail组邮件,会不定期发送一些样本,同时关注一些恶意样本下载网站,也会定期更新,如contagiodump.blogspot.com等,自行google吧……

(10)到github上去fork一些好的关于安全的主页,想做安全这行,还是得多用心去关注这个行业的吧,如:

https://github.com/rshipp/awesome-malware-analysis

https://github.com/secmobi/wiki.secmobi.com

其它的自行github吧……

好吧,需要的基本知识也就这些了,这条路很苦逼,只能带你入门,修行还是靠个人,很多时候大牛们都很忙,根本没时间教你,还是靠自己多努力吧,其实大牛们也是这么过来的,也没人手把手教他们,所以相互理解吧。

我一般也不敢打扰那些大牛,都是自己去摸索,实在不行了,就问一下大牛们,不过最后还是得靠自己解决,随着网络安全的发展,我们需要去了解和学习新的网络安全技术,路还很长,且行且珍惜吧!

网络安全发展到现在已经被云安全,IOT安全,移动安全等占据了主要位置,不管是云安全,还是智能移动安全,还是IOT安全,Malware恶胁总是无处不在。

前段时间通过IoT和云服务器发起的大规模的DDos攻击,安全在未来不能去说有多么多么重要,但是安全总会一直在那存在着,因为有利益的地方,也就有“江湖”!

看了一下,网上也有一些关于这个样本的其它不同变种的分析报告,我按我的分析流程和思路,写的报告,绝对原创,这里把相关的链接也贴下,免得有些人又会说这个那个的,诶,不解释了,圈里大,唯有独善其身,大家也可以参考一下:

http://www.myhack58.com/Article/48/66/2015/59519_4.htm

https://blog.avast.com/2015/01/06/linux-ddos-trojan-hiding-itself-with-an-embedded-rootkit/

http://www.liuhaihua.cn/archives/110384.html

http://www.aptno1.com/YC/102.html

rkhunter及chkrootkit下载:点击阅读原文

*本文原创作者:熊猫正正 ,本文属FreeBuf原创奖励计划,未经许可禁止转载

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、起因
  • 二、样本简介
  • 三、详细分析
  • 四、清除样本
相关产品与服务
短信
腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档