亡命徒(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”,
gcc.gnu.org port at https://gcc.gnu.org/bugs/)
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
来源:freebuf.com 2020-07-07 11:11:32 by: windcctv
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
请登录后发表评论
注册