libgcc_a挖矿木马应急响应及分析

起因

 用户反馈服务器linux系统感染挖矿病毒,已通过人工方式清理了一部分,怕有残留,需要我们再检查一遍
 由于感染服务器为业务服务器,为减少病毒对业务系统的影响,当务之急是先查找是否还有在运行中的病毒进程,以及对病毒的持久化进行排查。

进程排查

top查看是否还有可疑的高资源消耗的程序,因为已确认是挖矿病毒,挖矿的特征就是高CPU占用,但并未发现异常
netstat查看端口网络连接情况,未发现可疑网络连接,systemctl list-unit-files查看系统服务也没有可疑服务

文件排查

  查看root,home,/etc/init.d,/etc/systemd/system,/etc/rc.d/init.d
,/etc/profile.d等几个比较重要的目录,未发现异常文件

持久化排查

 先检查系统的启动项和计划任务,到/etc/rc.d目录下看一下启动项,没发现什么问题,再检查计划任务ls /etc/cron*看一下所有的计划任务脚本文件,发现cron.daily目录下存在xbash脚本文件,而这个文件的创建时间为04/21晚上6点(上机检查时间为04/21晚上八点),对xbash文件进行查看,注意到它会从自己的文件尾解压数据出来

把文件尾数据提取出来,明显是一个gz格式的压缩包

将gz文件解压后,得到一个名为cronman的脚本,代码足有近7000行

对cronman脚本进行沙箱加代码分析,对其功能大致分为以下几项:
1:清除日志文件

2:将smtphttp等服务配置到xinetd.d文件,以实现端口的转发,重定向至远程恶意C2服务器。

3:自身升级

4:对抗杀软及其他挖矿程序

5:修改SSH配置文件,降低系统安全性

6:开放防火墙端口

7:获取其他so模块

8:安装xinetd守护进程

9:创建/root/gcclib文件夹和spirit.sh脚本文件

10:创建计划任务,进行持久化

在脚本中发现一个可疑IP地址:5.133.65.53,从该地址下载了多个文件,而该地址已经在相关威胁情报平台被标记为矿池,挖矿木马等

那接着就要对从该恶意IP地址下载来的几个so文件进行分析。

逆向分析

从cronman中,可疑看到它自5.133.65.53下载了几个so文件并保存到/usr/local/lib/目录,之后把这几个so文件的路径写入了/etc/ld.so.preload文件,该文件是一个Linux执行环境预加载的配置文件,具体的信息可疑参加这篇文章linux ld.so.preload机制解析
但直接在/usr/local/lib/下执行ls,ll等命令是什么也没有的,但使用cp或cat等文件操作命令却都有返回,说明是有文件存在,但是被隐藏了。同样的在/etc/下ls也看不到ld.so.preload文件,但cat却能看到已经被修改的内容。把/usr/local/lib/打包后拷贝出来分析一下。
sshkit.so
通过hook掉readdir函数,过滤掉进程目录下的ssh文件,从而实现用户层隐藏ssh进程

sshpkit.so
隐藏sshpass进程。

skit.so
隐藏spirit进程

pkit.so
隐藏libgcc_a进程

fkit.so
隐藏多个文件及文件夹

分析完上述几个so文件后,预感到不妙,,这些被隐藏的文件也基本都在xbash中出现过,被隐藏的进程和文件应该都是恶意文件了,这也就是我前期排查没发现的原因吧。这几个so文件删除,恢复正常的ld.so.preload文件,再分析一下被隐藏的几个进程文件吧。
spirit.sh和sshpass都位于/usr/spirit/路径下,spirit.sh是由开源渗透测试工具修改而来。源项目地址:https://github.com/theaog/spirit

spirit.sh探测ip.txt内的活跃ip,之后调用sshpass进行ssh爆破。

sshpass是一个负责ssh爆破的程序

liggcc_a则位于root/gcclib目录下,是挖矿主程序。一看就知道是Xmrig的变种。还有很多的xmr字符串

截止到这一步差不多主要的恶意脚本和文件就分析完了,还有一些不是很紧要或功能重复的脚本就不展开讲了

自查方法

因为该版的程序会隐藏自身,所以查进程等方式是无法达到自查的目的的,以下是一些可以尝试的自查方法:
1.查看/etc/xinetd.d/配置文件,是否存在重定向至恶意服务器的配置,尤其是/etc/xinetd.d/smtp_forward
2。查看是否能cd进入root/gcclib,能进入再用cat看一下能否查看libgcc_a文件,能查看则代表存在
3.cat查看/etc/ld.so.preload,看是否有sshkit.so等项
4.排查目录/etc/lib是否存在adxintrin_b文件
5.排查目录/etc/init.d/是否存在modules及status
6.用cat查看是否存在usr/local/lib/sshpkit.so等文件
还有其他方式,就不一一赘述了,后文会提供cronman的Hash,感兴趣的可以下载后自己研究,

处理方案

处理其实就是把cronman等做的增改再删减回去,下面还是提供几个主要的删减方向:
1.preload清理
2.删除计划任务
3.进程清理
4.smtp_forward重定向取消
5.特定文件及文件夹清理
6./bashrc恢复
7.ssh配置文件还原
具体的脚本我放在了这里libgcc_a木马清理付费资源主要是怕被客户看到,理解一下,有需要的留言或者私信我可以免费发

IOC信息

IP及域名IOC:

5[.]133[.]65[.]53
5[.]133[.]65[.]54
5[.]133[.]65[.]55
5[.]133[.]65[.]56
45[.]67[.]229[.]147
94[.]131[.]13[.]32
185[.]65[.]105[.]35
45[.]142[.]212[.]30
185[.]74[.]222[.]72
77[.]247[.]243[.]43
randomx[.]xmrig[.]com
donate[.]ssl[.]xmrig[.]com
api[.]xmrig[.]com
donate[.]v2[.]xmrig[.]com

文件Hash
文件名Hash
libgcc_a721f883ecb7c6d1c3318aeeabbc57ed9
sshkitarm.soB8C117DD3330C79761E7BA4E42C39B58
sshpkit.so4C13F207F9A3B7BB29AB48C41D56A20F
sshpkitarm.soE55590A300B6848CFADA4F69161AEC8F
skit.so15E9CA6F6A4099EC718DCAB442C17770
fkit.soEC125EAC1EF2A05C0A0A47B8296705AC
pkit.so0DD164BDBE0943ABC139DC0D9943B787
sshkit.so8A81663A5E57FAA3E010021F336090A0
cronman5281FCABC35FCDE287BAA3E487066916
xbash2BC314DBBBEA1EC5A508E97BADF6644D
spirit.sh6D0F54A3B97E7AE5DA898F73E32009BD
sshpassA84EF53884C08E4F5D6A07FCCF88207A

后话

整个应急及分析事件其实在4.23就结束了,但因为自己以前没有做笔记的习惯,所以写得又慢,写到一半又去研究md本地图片上传等其他事情去了,又过了个五一,家里出了点事,耽误半个月回来已经忘了七七八八了。写得很浅薄,算是给自己写笔记做一个开端吧。
最开始分析Libgcc_a的时候,网上还没有多少相关资料,只有freebuff有篇类似的,但跟此次的样本还是有所区别,没有那几个用以隐藏的so文件,等我再写笔记的时候,就发现已经有报告提及skit,sshpkit等几个so文件了,但好像没人提及它们可以做到隐藏文件和隐藏进程的功能,好像没人去逆向看看?他们的难道没有被隐藏?我是真的很好奇。
反正乱七八糟写这么多吧,如果有遇到该木马的同行,但愿帮得上你。

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 42
    评论
libgcc_a病毒是一种恶意软件,主要针对Linux操作系统,它会感染系统文件,破坏系统的正常运行。如果你的电脑感染了libgcc_a病毒,你可以采取以下步骤进行清除: 1. 断开网络连接:首先,我们需要切断电脑与网络的连接,防止病毒通过网络继续传播和获取更新指令。可以通过关闭无线连接,拔掉网线或者关闭路由器来实现。 2. 强制关闭恶意进程:打开终端,使用"ps -ef | grep libgcc_a"命令查看运行中的libgcc_a病毒进程。然后使用"kill"命令终止这些进程。 3. 删除病毒文件:使用命令"cd /lib"进入系统库目录,然后使用"ls -la | grep libgcc_a"命令查找并列出所有包含libgcc_a的文件。使用"rm -rf"命令逐个删除这些文件。同时,还要检查其他可能被感染的目录,如"/usr/lib"和"/var/lib"。 4. 扫描并删除注册表项:对于Linux系统,没有像Windows注册表那样的中心化存储,大多数配置文件都是以文本文件的形式存在。你可以通过编辑这些文件来删除任何与libgcc_a病毒相关的条目。 5. 扫描并清除系统:使用反病毒软件扫描整个系统,以便找出和清除任何残留的病毒文件或恶意代码。可以使用ClamAV、Avast等反病毒软件进行扫描和清除。 6. 更新操作系统和软件:及时更新操作系统和软件可以修复已知的安全漏洞,提高系统的抵抗能力,降低感染恶意软件的风险。 最后,对于libgcc_a病毒的清理,建议咨询专业的网络安全人员或技术支持人员,以便获取更详细和准确的清理指导。同时,定期备份重要数据,保持操作系统和应用程序的最新版本,以提高系统的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 42
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值