freeBuf
主站

分类

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

特色

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

点我创作

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

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

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

FreeBuf+小程序

FreeBuf+小程序

挖矿病毒持续活跃,通过 ssh “强行” 登录
2024-04-01 16:47:25

近期,火绒安全实验室收到用户反馈称自己电脑运行异常,火绒安全工程师第一时间为用户提供技术支持。经排查,确认异常为挖矿病毒事件导致且提取到相关病毒源头xbash。xbash是Coinminer家族开发的恶意脚本,去年开始就被发现大规模传播,近期动作不断且频繁更新,在国内以其投放的xmrig挖矿病毒变种libgcc_a闻名,又称libgcc_a挖矿病毒。

该病毒主要通过SSH口令爆破来获得初始访问权,通过各种技术手段来运行、隐藏和传播,其中包括预加载劫持、杀软对抗、流量代理,内网横向等。目前,火绒安全产品已支持对该类病毒进行拦截和查杀,请广大用户及时更新病毒库以提高防御能力。

火绒查杀图


一、样本分析

xbash分析:

起始样本为一个xbash脚本文件,通过查看其开头的描述可以确认其使用了Makeself打包工具:

前置描述截图


Makeself是一个自提取压缩工具,打包后的程序前半段是相关解压函数,后半段是被压缩的二进制数据:

开源项目简介


这里使用 --noexec --noexec-cleanup --confirm --keep --chown 参数来解压,发现里面包含一个cronman脚本,其为主要执行脚本:

解压截图


引导脚本分析:

cronman 是主引导脚本,主要行为包括:下载payload、持久化、清除痕迹、清除杀软、内网代理、内网横向、运行挖矿程序等,具体分析如下:
cronman 首先通过run_cmd函数,以传参的方式执行安装xinetd守护进程:用于后续配置代理转发服务,包括 smtp、http、https 等,以供后续攻陷主机无法回连恶意域名及 C2 地址时通过内网横向代理下载 payload:

设置转发代理


调用 clean 函数清理杀毒软件及其它挖矿程序:通过终止进程、停止服务、删除自保护驱动、调用自带的卸载脚本等操作,移除包括 360、sangfor 在内的安全软件并终止其它同类挖矿程序:

清除杀软


清理挖矿病毒


依据SKIPUPDATE变量的值和data文件进行配置更新,通过get_remote_file函数下载文件并写入计划任务中实现自启动:

自身配置更新


通过修改/etc/ld.so.preload内容以劫持程序启动后加载的动态库从而实现hook行为,写入的文件适配具体架构,具体分析见“预加载劫持分析”:

预加载劫持


通过checkfrw和addportfrw检查iptables、firewalld安装情况,并开放特定端口:

修改防火墙配置


修改SSH配置文件,实现持久化:

修改 ssh 配置


通过下载开源网络探测工具spirit,通过crontab命令创建周期任务来执行ssh爆破,以实现内网横向移动:

创建计划任务


依据不同的架构下载对应的程序xfitaarch.sh、xfit.sh,在后续发现均为xmrig挖矿程序的变种:

下载挖矿程序


清除系统日志和历史记录,消除痕迹:

清理记录


预加载劫持分析:

对相关库进行逆向分析发现,sshkit.so库文件会hook掉readdir函数,获取原始返回结果并过滤掉ssh进程文件,pkit.so隐藏libgcc_a,skit.so隐藏spirit,sshpkit.so隐藏sshpass:

隐藏相关进程


fkit.so则是隐藏相关恶意文件:

隐藏相关恶意文件


readdir函数是c语言libc库在用户层提供用于读取目录内容的函数,在该函数内部的实现中,会调用系统getdents64函数,所以hook readdir函数就间接hook了使用getdents64函数的命令,包括常用的ls、ps、top命令等:

函数追踪


隐藏进程分析:

被隐藏的进程中spirit.sh是一个开源渗透测试工具(https://github.com/theaog/spirit),用于linux下内网主机存活探测及横向移动:

开源项目简介


Spirit会加载sshpass组件,用于内网主机ssh的暴力破解,加载ip.txt中的ip序列进行探测,对于活跃的内网ip则会调用 sshpass进行ssh密码爆破。其中,已破解的口令会存储到/usr/spirit/password.txt中,用于后续继续爆破利用:

sshpass 运行命令


被隐藏的另一个程序libgcc_a根据相关字符串可以确定是XMrig挖矿程序的变种,其由前面cronman下载的xfitaarch.sh、xfit.sh重命名而来,用于挖矿牟利:

开源项目简介


xmrig 字符串


二、附录

HASH:

C&C:

# 网络安全 # 挖矿病毒
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录