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

*本文原创作者:熊猫正正 ,本文属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)“翻墙”能力,这个不用多说了,去买个vpn吧

(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原创奖励计划,未经许可禁止转载

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2016-11-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python爬虫与算法进阶

Cookies池的后续解决方案

在上一篇文章: 从cookie池搭建说起,简单说明了自己对于该网站的想法,在经过两天的测试与研究之后,我有了更多的想法.

1021
来自专栏坚毅的PHP

zookeeper学习系列:四、Paxos算法和zookeeper的关系

一、问题起源 淘宝搜索的博客 http://www.searchtb.com/2011/01/zookeeper-research.html  提到Paxos是...

3934
来自专栏知识分享

STM32采集电阻触摸贴膜

公司的项目用电阻屏,触摸的时候发现获取的位置会漂,后来自己发现是由于压力的问题....如果亲们用电阻屏发现触摸的位置有问题,可以看一下这篇文章,,先测量触摸的压...

3036
来自专栏CDA数据分析师

Excel2016四个超强的数据分析功能

摘要:三维地图、预测工作表、引用外部数据查询、数据透视表更强大的功能改进、将Excel 表格发布到Office 365 Power BI实现数据的商业智能分析…...

2695
来自专栏晨星先生的自留地

大数据比赛的一个小心得

4005
来自专栏企鹅号快讯

技术分享连载|UGUI对于emoji表情的处理|加载资源时的内存波动|Animator采样……

我们将从日常技术交流中精选若干个开发相关的问题,建议阅读时间15分钟,认真读完必有收获。如果您有任何独到的见解或者发现也欢迎联系我们,一起探讨。 内存管理 Q:...

3566
来自专栏SAP最佳业务实践

想学FM系列(16)-SAP FM模块:预算结构(7)-预算结构操作-多层预算结构维护

3.2.2.3 多层预算结构的维护 ? 1)FMHIE_HIEID- 编辑层次结构标识 功能为多层预算结构备用树定义一相标识ID,并定义相关属性,为之后生成备...

4578
来自专栏安恒信息

LOCKY勒索者新花样:通过PDF投递

摘 要 最近安恒APT团队截获一个新版的LOCKY勒索者病毒样本,区别之前大多数样本采用WORD文档投递并用宏代码远程下载执行的方式,该样本在原有的WORD文档...

2876
来自专栏C/C++基础

简单电子相册视频制作的步骤和要点

1.套用AE模板,找到图片,按住alt将自己的图片拖拉到工作区,将原来的例图覆盖,在按alt+E制作影片,输出为avi格式的视频;

1131
来自专栏FreeBuf

无线键盘易被监听,不知不觉导致信息泄露

在用户使用计算机时,键盘是信息输入的主要媒介,键盘输入包含大量的私人机密信息,包括帐号密码等,所以键盘侦听被各种攻击者所大量采用,成为一种普遍但是破坏力强大的攻...

2957

扫码关注云+社区