首页
社区
课程
招聘
[原创]#30天写作挑战#黑白鉴定入门之一款后门的分析思路
发表于: 2020-9-11 12:38 20994

[原创]#30天写作挑战#黑白鉴定入门之一款后门的分析思路

2020-9-11 12:38
20994

这是一篇针对初学小白的文章, 楼主也刚刚进入安全行业实习,本篇文章主要记录分析过程,思想方法,如有不对不足,欢迎指出。

在拿到一个样本之后,第一件事拖入PEID查壳
图片描述

没壳,区段正常

分析一下字符串
选出一些有用的字符串

LoadLibraryA
GetProcAddress
ReadFile
CreateFileW

剩下的都是大片的乱码

图片描述

没什么有用的信息

拖入ida看一下导入表

图片描述

找出一些能下手的地方
0040301C LoadLibraryA KERNEL32
00403020 GetProcAddress KERNEL32
00403034 ReadFile KERNEL32

能作为突破点的API很少,先试着从LoadLibraryA入手
通过ida的交叉引用查看调用
图片描述

发现样本使用了CreateFileW,推测有释放文件的操作。

虚拟机打开OD,定位到调用CreateFileW处,在00401FF8 下段,看看样本创建了什么文件
图片描述

观察堆栈 发现样本创建了自身,放行,样本直接结束
转为在CreateFileW函数头部下断,重新运行样本,观察堆栈
发现断下多次,我们将每一次的堆栈信息都截图下来,并且将文件备份一份
图片描述

根据以上可以推测出样本创建了第二个自身,结束第一个自身,然后释放文件
为了验证,打开火绒剑捕捉行为

图片描述

过滤没有用的动作,分析剩下的动作
和我们预测的差不多,启动自身,释放文件,结束

因为他释放完紧接着删除了,很不正常,我们是用火绒的拦截功能,拦截样本的删除动作,捕获被释放的文件

图片描述

再次执行样本

图片描述

可以看到样本在试图删除tmp,我们点击阻止,然后分析这个tmp

图片描述

可以发现tmp是0字节,是哪里出了问题,这是样本的障眼法?或者是他的写入代码没有被执行

到这里好像所有步骤都白费了,抓到的释放行为,结果是释放了一个空文件

那么他的真正功能在哪里呢,既然没被释放到磁盘,那就有可能直接在内存开辟了缓冲区去执行

接下来试着验证这条猜想,打开OD,在VirtualAlloc处下断

放行
图片描述

果然断下来了,跟出函数,看看他申请这块内存要干什么
图片描述
这就是申请好的内存地址,右键数据窗口中跟随,下内存写入断点,放行
图片描述
卧槽,竟然直接终止了,肯定是哪里不对

还是回到那个申请的内存,下硬件写入断点

再次放行
图片描述
这次断下了,观察数据,发现是很熟悉的PE结构

右键->备份->保存数据到文件

将导出的数据拖入PEID
图片描述

果然 这段数据很有问题

打开beyond进行代码比较
图片描述
和本体一模一样的数据,这可能就是火绒剑行为中的创建自身进程用到的数据

回到OD,删除硬件断点,放行

竟然又在alloc处断下,本来以为程序差不多结束了,没想到有意外收获

同样的方法查看这块内存的数据
图片描述
同样的方法比对代码,依然一样

再次放行,又在alloc断下,同样方法,再次来一遍

这次你会发现,硬断触发的代码,有个循环用来向开辟的内存中赋值

跳出这段循环,被填充的代码是没见过的,但是当你F8下去的时候,会发现下面还有个循环,跳出这个循环,再次F8下去,会有一个大循环
图片描述
当这个大循环全部执行完毕时,内存中的数据变得清晰了起来 如下图
图片描述

同样是PE结构,但是这次还做了加密解密,必然有问题

同样的方法保存下来,进行对比
图片描述
正如我们猜测的,这个PE文件开始发生了变化,先将其存好

回到OD,删除硬断,放行

程序结束

由此看来,整个程序的真正作用就是释放第三次alloc处的代码,也就是上面那幅图

接下来的步骤我们将针对这第三个文件,我们取名为new

将new拖入PEID
图片描述
UPX壳,这更证明了这个文件有大问题

拖入火绒剑,过滤动作,看一下干了什么
图片描述

又是释放TMP。。,打开火绒,拦截删除动作,发现TMP还是空的

那就不管它,new和原版一个明显的区别就是,new没有退出,而原版直接退出了,所以原版看起来啥也没干

继续火绒剑

图片描述
捕捉到了connect,自身文件属性也变为了隐藏
符合一个后门的特征了

为了验证猜想,拖入IDA,分析导入表,字符串
图片描述
图片描述
数据很少,既然有了connect动作,不应该只有这么点东西

既然这样,就把壳脱掉,使用ESP定律脱掉壳子,定律可以自行百度,资料很多

脱壳后拖入IDA,分析导入表和字符串
截取敏感信息
图片描述

根据以下行为:
内存运行代码
隐藏自身
无窗口
静默发送connect链接
遍历IP地址
敏感字符串

可以推测为一个后门病毒,并可能带有扫描IP爆破的功能


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2020-9-12 12:46 被SSH山水画编辑 ,原因:
收藏
免费 5
支持
分享
最新回复 (8)
雪    币: 26588
活跃值: (63252)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
2
感谢分享~
2020-9-11 13:21
0
雪    币: 1861
活跃值: (1173)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
老哥可以分享一下样本吗
2020-9-11 14:08
0
雪    币: 1475
活跃值: (14652)
能力值: ( LV12,RANK:380 )
在线值:
发帖
回帖
粉丝
4
Qz王大碗 老哥可以分享一下样本吗
公司样本 不方便发出来  抱歉啦
2020-9-11 15:36
0
雪    币: 3126
活跃值: (3251)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
5
有hash可以去找找
2020-9-12 12:07
0
雪    币: 1475
活跃值: (14652)
能力值: ( LV12,RANK:380 )
在线值:
发帖
回帖
粉丝
6
样本HASH:3c8ba5a38cd1e4048c969464ab86591d9b08cba9
2020-9-12 12:46
0
雪    币: 49
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
大佬在哪个安全大厂任职
2021-9-30 13:59
0
雪    币: 1475
活跃值: (14652)
能力值: ( LV12,RANK:380 )
在线值:
发帖
回帖
粉丝
8
FlyingFire2 大佬在哪个安全大厂任职
你要来吗
2021-9-30 21:24
0
游客
登录 | 注册 方可回帖
返回
//