freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

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

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

初始化代码有3个,即init、init2、initall,先看第一个:
通过pkill、rm -f操作,将之前可能存在的程序残留都删除干净;
开始运行程序:
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平台门罗币挖矿木马,
IDA分析如图:
外联的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"。
base64解码后:
把执行函数eval改为print可打印出解密后的代码,是基于Perl的Shellbot变种,
代码太长就不完全贴了,这里给出部分关键代码:
连接主机:荷兰ip
端口扫描:
DDOS攻击:
修改SSH公钥为:
以便之后能更容易入侵。
c目录下的tsm32、tsm64负责继续SSH爆破攻击传播病毒,通过SSH暴力破解传播挖矿机和后门的扫描器,可以发送远程命令来下载和执行恶意软件,爆破成功后执行base64编码的shell命令,主要功能为删除旧版本的恶意程序和目录,然后解压获取到的最新版本恶意程序并执行。
外联ip
45.9.148.117
45.9.148.125
45.9.148.129

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
# 系统安全 # 系统安全 # 木马 # 恶意软件
本文为 windcctv 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
安全行走员
渗透测试和实践
从0到1学技术
逆向工程
windcctv LV.3
这家伙太懒了,还未填写个人描述!
  • 16 文章数
  • 83 关注者
渗透测试 | 一次某医疗系统实战
2023-11-10
渗透测试 | 一次利用XSS读取源码
2023-05-05
记一次docker虚拟机横向移动渗透测试
2022-08-27