安全矩阵

 找回密码
 立即注册
搜索
查看: 586|回复: 0

病毒分析丨Linux挖矿木马

[复制链接]

102

主题

102

帖子

330

积分

中级会员

Rank: 3Rank: 3

积分
330
发表于 2023-5-16 00:56:26 | 显示全部楼层 |阅读模式
WIN哥学安全 2023-05-15 10:33 发表于上海
一.概述

相关样本


•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服务器

  •持久化



  •清理痕迹

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

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

  •环境配置

    ·配置"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"

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-4-20 10:09 , Processed in 0.014675 second(s), 19 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表