病毒分析丨Linux挖矿木马
2023-5-15 10:34:14 Author: WIN哥学安全(查看原文) 阅读量:110 收藏

概述

相关样本

经调查分析,本次攻击中的样本主要包括:

 shell类:

    ·adxintrin_b & cronman

    这两个shell文件功能高度相似,且作用于攻击的整个生命周期。其主要行为包括:获取恶意文 件、运行挖矿病毒、持久化、清楚记录、横向移动。

    ·xbash

    该文件是一个Makeself文件,其主要功能是释放"cronman"并执行。

 ELF类

    ·libgcc_a & xfitaarch.sh

这两个文件为本次攻击的最终payload,其为XMrig挖矿病毒的变种。

    ·spirit & sshpass

该文件为linux下ssh暴力破解组件,其会对内网中的其他主机进行ssh暴破,以实现横向移动。

流程

注:

  •获取

    ·通过wget & curl,从C2服务器(5.133.65.53 & 45.142.212.30)拉取恶意样本及相关组件。 

    ·通过scp,从已失陷主机中获取所需恶意样本及相关组件。

  •传播

    ·利用spirit & sshpass,通过ssh暴破,在内网进行横向移动 

    ·利用xinetd,实现端口转发,重定向至恶意C2服务器

  •持久化

    ·设置计划任务 

    ·修改sshd配置,并配置ssh公钥

  •清理痕迹

    ·删除日志 & 命令行历史记录

    ·禁用登录日志 & 授权日志

  •环境配置

    ·配置"ld.so.preload"

    ·自更新

    ·检查防火墙 & 杀软 

    ·修改DNS

    ·创建服务"crtend_b"

分析

shell文件

adxintrinb & cronman

由于两文件功能完全一致,我们放在一起进行分析。同时还存在一个名为"crtres_c"的文件,其功能主要为利 用"crontab"定时启动"adxintrin_b"。

获取文件

通过wget & curl,从C2服务器拉取相关文件

通过ssh,从已失陷主机中获取相关文件 

其先利用"tar -zcf"命令,将攻击所需的文件进行打包。

随后,其通过"scp"命令将刚刚打好的压缩包传入目标服务器,随后通过ssh发送命令,将压缩包进行解压,并执行压缩包中"/etc/cron.daily/xbash"这个脚本。

环境配置与检测

修改"/etc/ld.so.preload"文件 

其会根据系统架构,将对应的".so"文件写入"/etc/ld.so.preload",使得后续的ELF文件得以正常运行。

•自更新

其会判断xbash文件的修改时间距现在是否超过100天,若超过100天,则重新获取xbash文件。

•检查防火墙

•检查并关闭杀软

•修改DNS

•创建服务"crtend_b" 

SERVICE_NAME为"crtend_b",且会将其添加至开机自启中。

持久化

•修改sshd配置 

图中相关参数如下:file="/etc/ssh/sshd_config" param[1]="PermitRootLogin " param[2]="PubkeyAuthentication" param[3]="AuthorizedKeysFile" param[4]="PasswordAuthentication" param[5]="HostKeyAlgorithms" param[6]="PubkeyAcceptedKeyTypes"


•写入ssh公钥

•配置计划任务 

在小时计划任务中加入文件"0anacron",该文件功能为运行xbash。

在日计划任务中加入文件xbash。

通过"crontab",为xbash设置定时任务。

通过"crontab",定时启动"crtres_c"。

图中"$FILE_RES"的值为"crtres_c"

"crtres_c"的主要功能为,在"crontab"为"adxintrin_b"添加一个60分钟执行一次的任务计划。

•设置开机自启

传播

•利用spirit & sshpass进行ssh暴破

spirit为开源的渗透工具,其会根据同级目录下的IP地址簿(即"ip.txt"文件)进行存活性探测,以方便后续传播。其同级目录下的sshpass文件为暴力破解组件,会根据同级目录下的密码本(即"alllib"文件)对可以访问到的服务器进行ssh暴破。

下图为目录结构:


同时也利用"crontab"为spirit设置定时计划,定期进行ssh暴破。

•利用利用xinetd,实现端口转发 & 重定向

其会向下载xinetd,随后其向etc/xinetd.d/文件夹写入timesync、http_stream、https_stream、

smtp_forward几个配置文件,实现将80、443、708、757、8080端口的访问转发到远程恶意主机上,通过这样的配置,当有客户端对本机的相应端口访问时,就会重定向至恶意主机实现代理。下面是其中一例:

清理痕迹

•删除日志 & 命令行记录

删除的日志包括:

相关功能实现如下:

•禁用登录日志 & 授权日志 & 命令行记录

相关功能实现如下:

xbash

该脚本是一个"Makeself"文件,其可以自解压并执行上文中提到的cronman文件,是持久化中的重要一环。

ELF文件

libgcca & xfitaarch.sh

libgcc_a & xfitaarch.sh是基于XMrig的基础,进行二次开发得到的挖矿病毒。XMRig是一个可以使用CPU/GPU配合RandomX、KawPow、CryptoNight和AstroBWT等算法进行虚拟货币挖矿的开源、跨平台程序。其二进制文件可以分别用于在Windows、Linux、macOS和FreeBSD平台上进行挖矿。此次攻击的样本在原基础上增加了hwloc模块,hwloc模块主要是解决不同架构中查询硬件资源的问题。


spirit & sshpass

spirit为开源的渗透工具,其同级目录下的sshpass文件为暴力破解组件,目录结构请见"传播"部分。

sshpass参数如下:

排查

可以通过排查以下信息,判断服务器是否失陷。 

  ·典型目录:

    ·/root/gcclib 其中包含挖矿病毒

    ·/etc/lib 其中包含adxintrin_b 

    ·/usr/lib/local 其中包含crtres_c 

    ·/etc/xbash 其中包含cronman* & xbash            

    ·/usr/spirit 其中包含spirit & sshpass          

    ·/etc/xinetd.d 其中是否包含重定向至恶意C2的配置信息 

  ·计划任务

    ·/etc/cron.daily 检查其中是否包含xbash          

    ·/etc/cron.hourly 检查其中是否包含0anacron        

    ·/etc/crontab 检查其中是否包含恶意样本相关文件 

  ·开机自启 

    ·检查/etc/init.d 检查其中是否包含xinetd & crtend_b

  ·服务 & 进程 

    ·查看是否有占用资源过高的进程 

    ·查看是否存在服务"crtend_b"


文章来源: http://mp.weixin.qq.com/s?__biz=MzkwODM3NjIxOQ==&mid=2247492694&idx=1&sn=80a9255af8c8c803042d473514ea757b&chksm=c0c845a2f7bfccb440ebe7d61a07ab9d8d09858270d05bb59767c1589a3729f244474ad85d19#rd
如有侵权请联系:admin#unsafe.sh