第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv

亡命徒(Outlaw)僵尸网络最早于2018年被发现,其主要特征为通过SSH爆破攻击目标系统,同时传播基于Perl的Shellbot和门罗币挖矿木马。
应急场景
某天,安全管理员在登录安全设备巡检时,发现某台网站服务器持续向境外IP发起连接,
图片[1]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科服务器 CPU 资源异常:
图片[2]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科根据服务器上述特点,迅速排查可疑用户有哪些网络行为及进程:
用last -f wtmp 查看成功登录的日志发现:
图片[3]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科发现student用户存在异常,继续查看该用户的网络行为:lsof -u student
图片[4]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科最终找到了木马的样本位置(/home/student/.configrc/),文件夹结构如下:
图片[5]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科
根据木马的回连IP,我们从其中一台服务器下载到了木马的母体文件dota3.tar.gz,对样本进行分析,发现为亡命徒(Outlaw)僵尸网络木马的第3代,母体文件释放shell脚本启动对应二进制程序,kswapd0负责进行门罗币挖矿,tsm32、tsm64负责继续SSH爆破攻击传播病毒,run负责接收木马远控端的指令,下面对该样本进行详细分析。
通过查看文件结构,我们的分析工作主要分为4个部分,即初始化分析、a、b、c、3个文件夹程序的分析,下面逐个来看:
图片[6]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科

1、对初始话代码的分析:

初始化代码有3个,即init、init2、initall,先看第一个:
通过pkill、rm -f操作,将之前可能存在的程序残留都删除干净;
图片[7]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科

开始运行程序:
mkdir ~/.configrc    新建文件夹
cp -r a ~/.configrc/    拷贝文件夹
cp -r b ~/.configrc/   
cd ~/.configrc/a/
nohup ./init0 >> /dev/null &   进入a文件夹运行init0,程序的主要功能为:在Linux环境中杀死加密矿工的脚本,即杀死别的挖矿脚本,同行是冤家啊。。。
sleep 5s
nohup ./a >>/dev/null &     在a文件夹内运行a程序,折腾一圈,最终目的还是为了运行程序kswapd0
cd ~/.configrc/b/
nohup ./a >>/dev/null &   在b文件夹内运行a程序,目的为运行run程序
cd $dir
cd c
nohup ./start >>/dev/null &  在c文件夹内运行start程序,绕一圈最终为了运行tsm32、tsm64
通过计划任务来启动
echo "1 1 */2 * * $dir2/a/upd>/dev/null 2>&1
@reboot $dir2/a/upd>/dev/null 2>&1
5 8 * * 0 $dir2/b/sync>/dev/null 2>&1
@reboot $dir2/b/sync>/dev/null 2>&1  
0 0 */3 * * $dir/c/aptitude>/dev/null 2>&1" >> cron.d

crontab cron.d
crontab -l

init2为init的简化版,没有新建目录和拷贝程序,直接就在当前目前运行程序。
initall  的功能为上述2个init、init2都运行一遍,cat init | bash、cat init2 | bash就通过这2个命令来实现,cat init | bash表示将init里的命令全部在重新执行一遍,(看完很佩服,精华啊这命令用的)

总结:经过上述分析可知,整个病毒的核心功能是a文件夹的kswapd0、b文件夹的run、c文件夹的tsm32、tsm64,下一步着重分析上述3个文件即可;病毒通过计划任务来启动。

2、核心代码的分析

a目录下二进制文件kswapd0为XMRig编译的Linux平台门罗币挖矿木马,

图片[8]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科IDA分析如图:

图片[9]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科

外联的ip及网址:
45.9.148.125            “url”: “45.9.148.125:80”,       
45.9.148.129            “url”: “45.9.148.129:80”,       
XMRig是一款高性能的门罗币(XMR)CPU挖矿软件。
b目录下run脚本主要内容为base64编码的shellbot后门程序,解码后可以看到代码仍然经过混淆。把执行函数eval改为print可打印出解密后的代码,是基于Perl的Shellbot变种,连接C2服务器地址为45.9.148.99:443,能够执行多个后门命令,包括文件下载、执行shell cmd和DDoS攻击。如果接受到扫描端口命令,可针对以下端口进行扫描:”21″,”22″,”23″,”25″,”53″,”80″,”110″,”143″,”6665″。
图片[10]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科 base64解码后:
图片[11]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科 把执行函数eval改为print可打印出解密后的代码,是基于Perl的Shellbot变种,
图片[12]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科

代码太长就不完全贴了,这里给出部分关键代码:
连接主机:荷兰ip
图片[13]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科
端口扫描:

图片[14]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科 DDOS攻击:

图片[15]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科 修改SSH公钥为:
图片[16]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科以便之后能更容易入侵。
c目录下的tsm32、tsm64负责继续SSH爆破攻击传播病毒,通过SSH暴力破解传播挖矿机和后门的扫描器,可以发送远程命令来下载和执行恶意软件,爆破成功后执行base64编码的shell命令,主要功能为删除旧版本的恶意程序和目录,然后解压获取到的最新版本恶意程序并执行。
图片[17]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科

外联ip
45.9.148.117
45.9.148.125
45.9.148.129
图片[18]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科图片[19]-第三代亡命徒(Outlaw)木马样本分析 – 作者:windcctv-安全小百科

3、安全建议:

及时修改弱密码,将OpenSSH升级到最新版本,若发现服务器已被入侵安装挖矿木马,可参考以下步骤手动检查清除:
1、删除以下文件,杀死对应进程:
/tmp/*-unix/.rsync/a/kswapd0
*/.configrc/a/kswapd0
/tmp/*-unix/.rsync/c/tsm64
/tmp/*-unix/.rsync/c/tsm32
*/.configrc/
2、检查cron.d中是否存在包含以下内容的定时任务,如有进行删除:
/a/upd
/b/sync
/c/aptitude

来源:freebuf.com 2020-07-07 11:11:32 by: windcctv

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论