剑客
关注科技互联网

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

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

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

一、起因

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

二、样本简介

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

被安装的病毒会通过fork结束掉父进程,删除自身,并拷贝自身到各个系统目录下执行创建多个守护进程,样本在拷贝的过程中运用了简单的“多态”处理方式,随机生成相应的文件名,随机md5变换等。拷贝完成之后加载自启动服务,根据获取到操系统内核版本信息安装rootkit,p实现隐藏网络端口,文件等,最后通过多种方式发起DDos攻击。

三、详细分析

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

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

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

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

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

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

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

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

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

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

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

v27 = /usr/bin

v26 = /bin/

v25 = /tmp/

v23 =/var/run/gcc.pid

v22 =/lib/libudev.so

v21 = /lib/

v20 = http://www1.gggtata456.com/dd.rar

v24 = /var/run/

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

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

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

cat reslov.conf
sh
bash
su
ps -ef
ls
ls -la
netstat -an
netstat -antop
grep "A"
sleep 1
cd /etc
echo"find"
ifconfig eth0
ifconfig
route -n
gnome-terminal
id
who
whoami
pwd
uptime

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

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

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

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

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

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

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

拷贝完成如图所示:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/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内容如下:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

112.74.54.140
61.153.110.32
60.205.14.1
219.135.226.97
112.74.169.39
114.113.198.158
139.196.250.103

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

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

四、清除样本

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

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

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

/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/S90tmoogsb
chkconfig –del tmoogsb
update-rc.d tmoogsb remove

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

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

大家可以自行去研究, 相应的下载地址见文末链接

五、总结

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

从事搬砖(逆向分析)这行也有好多年了,期间分析各种不同类型的样本,从最开始的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下载: rkhunterchkrootkit  

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

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址