首页
社区
课程
招聘
分析一个前段时间中招的恶意木马
发表于: 2024-6-23 15:06 11493

分析一个前段时间中招的恶意木马

2024-6-23 15:06
11493

之前下载某个软件的时候,有点不对劲,六七百M,但是还是双击打开了,后来这个东西释放/下载了一些木马文件下来,Defender告警了,我才发现有问题,后来github的号都被盗了,非常的气愤,接下来分析一下这个小马。

图片描述
Sha256
d77f0490f9c921baad0015c1eec2cafe1021814c8c28dee10a93179476fcb366

图片描述

是C/C++写的,直接IDA,IDA帮我自动跳到main函数。
图片描述
图片描述

图片描述
很好,不出意料,这个问题修改一下cfg先解决一下。

图片描述
很好,完全看不懂(这里其实至少可以看出有bcf在的,bcf也是ollvm里的一种混淆措施,不懂的可以google下,太基础的不讲了)

图片描述
虽然看着比较吓人,但是稍微仔细看一下会发现,分发块的TRUE分支对应的真实块,
图片描述
几乎所有的真实块最后都链接到LoopEnd(LoopEnd是啥可以看一下ollvm的源码,这里不细讲,资料比较多)。

定位到StateVar(控制流平坦化的相关概念)被赋值的指令,然后找这个值对应的真实块,然后Patch就好了,但是写代码很吃细节(特别魔改过的ollvm),因为容易错,特别是大函数,编译器也瞎jb优化,有时候标准的ollvm自动优化成不标准的了。

控制流很清晰,但是还是有bcf在,逻辑几乎还是看不了。

图片描述

图片描述
仔细研究下,其实每个函数都有2个bcf变量(ollvm好像全局只有2个bcf变量,有点忘了),用来构造恒成立不等式的,这里有10个,因为他核心的混淆函数只有五个。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2024-6-23 15:13 被ookkaa编辑 ,原因:
收藏
免费 18
支持
分享
最新回复 (7)
雪    币: 4793
活跃值: (4484)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
干货满满,就喜欢看这种带加密对抗的分析帖子。
2024-6-24 09:24
0
雪    币: 4134
活跃值: (5847)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
3
MAX_FUNCSIZE修改成512K之后,再f5。
问下LZ,在哪里修改?
2024-6-27 10:10
0
雪    币: 1575
活跃值: (2159)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
badboyl MAX_FUNCSIZE修改成512K之后,再f5。 问下LZ,在哪里修改?
cfg/hexrays.cfg里面有个MAX_FUNCSIZE
2024-6-27 10:12
0
雪    币: 246
活跃值: (4507)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
5
badboyl MAX_FUNCSIZE修改成512K之后,再f5。 问下LZ,在哪里修改?
楼上的答案
2024-6-27 21:35
0
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
大佬,这个FLA还原不来。。。可以讲讲吗?
2024-7-8 11:52
0
雪    币: 1612
活跃值: (1049)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
盗了b站的cookie可以用你的号帮它点赞和评论。另外palpay那些支付平台最好改一下密码啥的。
2024-7-14 10:44
0
雪    币: 38
活跃值: (1556)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
你好,请问中招的恶意木马是什么软件,我也想分析下。方便的话,您可以提供下吗
2024-10-10 23:42
0
游客
登录 | 注册 方可回帖
返回
//