首页
社区
课程
招聘
银狐样本分析
发表于: 2024-4-26 19:08 12979

银狐样本分析

2024-4-26 19:08
12979

msi在安装过程中执行恶意脚本,在C盘释放载荷ee.exe,ee.exe解密执行shellcode,shellcode通过多种手段执行反调试操作,添加Windows Defender的排除路径,解密字符串获取url后建立连接下载文件并解密,获得多个url,继续下载文件释放到指定路径下,文件包括具有数据签名的白文件,恶意dll,ffff.pol,ffff,lop。Shellcode加载白文件,白文件运行过程中加载恶意dll,恶意dll加载ffff.pol到内存中,ffff.pol是缺少MZ头的pe文件,添加后跳转到入口点执行,ffff.pol解密ffff.lop文件得到dll文件和ip地址等,执行ffff.lop文件的导出函数Edge与c2建立通信获取指令执行窃密、提权、设置自启动等操作。
根据域名,释放文件路径,远控模块判断是银狐病毒。

在这里插入图片描述

Msi文件中被注入恶意脚本,在安装过程中将三个文件的内容合并成一个二进制文件C:\ee.exe并执行。
在这里插入图片描述

ee.exe入口点被修改为跳转指令,text段存在shellcode。将shellcode复制到申请到的内存空间后跳转执行。
在这里插入图片描述

通过xor解密shellcode,解密后数据如下图所示。
在这里插入图片描述
利用LoadLibraryA和GetProcAddress动态获取其他函数。
在这里插入图片描述
调用CreateToolhelp32Snapshot(),Process32First()和Process32Next()函数遍历进程,判断是否存在MsiExec.exe进程。
在这里插入图片描述
调用GetCurrentProcessId()函数获取当前进程ee.exe的pid,遍历进程,通过进程id判断是否是当前进程,是当前进程则获取当前进程的父进程pid。
在这里插入图片描述
遍历进程获取ee.exe父进程的父进程pid。
在这里插入图片描述
在这里插入图片描述
再次遍历进程获取ee.exe父进程的进程名。再次遍历进程获取ee.exe父进程的的父进程进程名如果是explore.exe结束进程。
获取计算机名称,创建互斥体。
在这里插入图片描述
解密出配置文件路径C:\xxxx.ini。
在这里插入图片描述
利用GetTickCount64函数和rdtsc反调试。
在这里插入图片描述
在这里插入图片描述
调用CreateToolhelp32Snapshot(),Process32First()和Process32Next()函数遍历进程,判断是否存在360tray.exe,360sd.exe,360safe.exe进程。如果存在结束进程。
在这里插入图片描述
调用CreateToolhelp32Snapshot(),Process32First()和Process32Next()函数遍历进程,判断是否存在msmpeng.exe,mpcopyaccelerator.exe,securityhealthsystray.exe进程,这些是windows defender相关进程。通过这个shellexecuteA调用,会启动 PowerShell 并执行指定的命令,完成对Windows Defender的排除路径的设置。排除的路径包括'C:\ProgramData'和'C:\Users\Public'。参数-Force表示强制执行,即使有警告或确认提示也会被忽略。
在这里插入图片描述
由硬编码的字符串解密出url:Hxxps://oss3333.oss-cn-shanghai.aliyuncs.com/c.dat。在这里插入图片描述

调用InternetOpen,InternetOpenUrlA,InternetReadFile读取数据到申请的内存中。
在这里插入图片描述
从读取的内容中解密出以下url。 在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
随机生成字符串后,从硬编码的字符串中解密出释放路径。之后与随机生成的字符串拼接,调用CreateDirectoryA函数创建目录。在这里插入图片描述
生成随机字符串与上述路径拼接后与.exe拼接。之后又拼接出三个路径如下图所示,文件名由上文中https通信读取的数据解密得到。在这里插入图片描述
调用InternetOpen,InternetOpenUrlA,InternetReadFile从Hxxps://oss3333.oss-cn-shanghai.aliyuncs.com/DMR_120.jpg读取数据到申请的内存中异或解密得到pe文件。在这里插入图片描述
写入到下图所示文件中。在这里插入图片描述
从Hxxps://oss3333.oss-cn-shanghai.aliyuncs.com/DMR_121.jpg中下载的数据解密后是dll文件,写入到释放路径下的CiscoSparkLauncher.dll文件中。在这里插入图片描述
可执行程序是具有有效签名的白文件,运行时加载恶意dll。在这里插入图片描述
从Hxxps://oss3333.oss-cn-shanghai.aliyuncs.com/DMR_122.jpg中下载的数据解密后是不具有mz标识的不完整pe文件,写入到释放路径下的ffff.pol文件中。在这里插入图片描述
从Hxxps://oss3333.oss-cn-shanghai.aliyuncs.com/DMR_123.jpg中下载的数据解密后写入到释放路径下的ffff.lop文件中。在这里插入图片描述
设置释放文件所在的路径为当前路径。在这里插入图片描述
调用ShellExecuteEx执行释放的白文件。在这里插入图片描述

获取计算机名称,创建互斥体
在这里插入图片描述
解密出shellcode后执行。在这里插入图片描述
利用LoadLibraryA和GetProcAddress动态获取其他函数。加载ffff.pol文件到内存中,修补mz头后跳转到入口点执行。

调用OpenMutexA、CreateMutexA函数确保进程唯一运行。在这里插入图片描述

创建线程,获取命令行参数作为线程函数的参数。
调用IsUserAnAdmin函数判断当前用户是否具有管理员权限。如果具有管理员权限则设置UAC不弹出任何提示框,以管理员权限自动运行程序。在这里插入图片描述

创建线程不断遍历进程,判断是否存在360tray.exe,360safe.exe,360sd.exe进程,并且请求目标窗口关闭自身。在这里插入图片描述

读取ffff.lop文件到内存中,从起始位置偏移2A0处解密出pe文件,大小5a000。在这里插入图片描述

从起始位置偏移180处得到IP地址。在这里插入图片描述

从起始位置偏移4dd48处得到IP地址。在这里插入图片描述

从起始位置偏移190处得到端口7000。
从起始位置偏移1a0处得到uiekjxw.net。
从起始位置偏移4e1a4处得到iuearx.net。
从起始位置偏移1b0处得到端口7063。
在内存中展开修复后获取导出函数Edge地址跳转执行。在这里插入图片描述

删除指定文件,并把指定文件设置为HIDDEN|SYSTEM。在这里插入图片描述

创建线程,枚举窗口,如果窗口标题栏上显示的文本信息是以下字符串则调用ShellExecuteA函数重新运行程序,并退出当前进程。在这里插入图片描述


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 8
支持
分享
最新回复 (8)
雪    币: 3161
活跃值: (5141)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
2
释放出来的带签名的白文件exe应该是有dll劫持漏洞吧?
2024-4-26 19:36
0
雪    币: 2620
活跃值: (1965)
能力值: ( LV8,RANK:121 )
在线值:
发帖
回帖
粉丝
3
大佬好厉害,学习了
2024-4-27 01:03
0
雪    币: 3070
活跃值: (30876)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感谢分享
2024-5-3 18:39
1
雪    币: 3011
活跃值: (953)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
5
请问大佬,样本方便分享吗?希望上手学习一下
2024-5-13 15:16
0
雪    币: 259
活跃值: (3475)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
6
有样本吗哥
2024-5-17 10:21
0
雪    币: 798
活跃值: (802)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
没记错的话,“和\需要转义吧?
2024-5-17 10:43
0
雪    币: 3738
活跃值: (3872)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
有样本吗?
2024-5-17 14:59
0
雪    币: 848
活跃值: (1262)
能力值: ( LV7,RANK:118 )
在线值:
发帖
回帖
粉丝
9
大佬可以分享一下snort的使用版本及相关配置情况嘛
2024-6-3 15:42
0
游客
登录 | 注册 方可回帖
返回
//