概要
本次钓鱼分析中攻击者主要通过邮件来投递恶意附件,以获取收件人目标的主机权限为初始目的,后续根据样本分析结果关联到黑产钓鱼团队银狐(由微步团队命名),相较于2023年3月份微步分析的样本,钓鱼攻击手法增加了采用邮件钓鱼的方式,安全工具规避手段都有一定改变,但整体还是采用分离加载和白加黑利用等技术手段对安全工具进行规避,恶意载荷放置在金山文库和阿里云对象存储OSS等公共资源中。
钓鱼手法
邮件钓鱼标题为《关于2023年税务稽查随机抽查工作通知》,邮件内容通过诱导目标点击链接并下载恶意程序:
恶意程序托管在金山在线文档中,文件名称为“税务稽查自查系统”
https://kdocs.cn/l/cdOgZKMUlLwI,压缩包解压后为名称为“税务稽查自查系统@9115.exe”的单文件,当钓鱼目标点击文件并执行后,将连接黑产托管的远控端并上线。
样本分析
税务稽查自查系统@9115.exe
文件名称 | 税务稽查自查系统@9115.exe |
文件类型 | PE32+ executable (GUI) x86-64, for MS Windows |
文件加壳 | UPX compressed Win64 Executable (64.7%) |
MD5 | df346dca3b7148a226872b18ebcec811 |
SHA-256 | 9e511cc3a1663f0118035d861529f91b91b42c6a39ab997e07210db316b415ac |
Virtualtotal |
恶意文件执行流程如下:
- 程序初始化会创建隐藏窗口程序,通过lpfnWndProc绑定shellcode加载函数
- shellcode加载函数通过下载远程图片,图片中包含处理的shellcode,处理shellcode之后映射到内存空间中加载执行
shellcode加载函数中可以明显看到LoadLibray和Sleep,URLDownloadToFileA等敏感函数
远程shellcode加载流程如下
- 程序休眠10s
- 通过URLDownloadToFileA下载阿里云对象仓库中的图片文件,并保存到本地目录中
下载URL:
https://6-5.oss-cn-hangzhou.aliyuncs.com/123.jpg
文件路径:
C:\Users\Public\Documents\123.jpg
- 图片为包含DLL转换的shellcode载荷,文件中包含hacking8这一字符特征,判断该shellcode文件通过
https://i.hacking8.com/dll2shellcode
站点的shellcode转换工具进行转换
- 通过动态调试获取DLL映射的地址空间,可以看到文件内容
- 加载运行地址空间中的DLL程序
加载主函数
shellcode_loader (parrent: 税务稽查自查系统@9115.exe)
文件名称 | shellcode加载程序 |
文件类型 | PE32+ executable (DLL) (GUI) x86-64, for MS Windows |
文件加壳 | 无 |
MD5 | 3090942632e89387c37872560dc4f9a2 |
创建时间 | 2023-06-01 12:50:23 UTC |
父文件 | 税务稽查自查系统@9115.exe |
Virtualtotal |
该文件为税务稽查自查系统@9115.exe加载的远程图片文件中的DLL程序,该DLL包含两个导出函数,其中主要执行函数为
fucky
,该函数将会下载远程的包含shellcode的资源文件并下载白加黑执行的程序文件PE的节中包含.NET PDB Info的调试节信息,
PDB文件路径为
D:\VS项目\Dllai\x64\Release\Dbai.pdb
- 默认情况下,程序会下载阿里云OSS种的
9999.jpg
文件并将其存储到文档资源目录中
图片URL:
https://6-2.oss-cn-hangzhou.aliyuncs.com/9999.jpg
文件路径:
C:\Users\Public\Documents\md.jpg
存储的图片文件包含处理过的shellcode和对应C2地址
yk.youbi.co
,通过遍历其它的图片文件,还可以确认该组织实际控制服务器还包含(jingsha2023t.com,jingsha2023e.com,47.96.161.12)等66个。- 创建相关目录并下载阿里云OSS的资源文件远程下载白加黑利用和chm程序文件到本地。
- 当上述下载的资源文件并未进行利用,而是直接通过ShellExecuteExW调用DLL文件执行黑DLL程序(DllsafeCheck.dll)
DllsafeCheck.dll(侧加载利用DLL)
文件名称 | DllsafeCheck.dll |
文件类型 | PE32+ executable (DLL) (GUI) x86-64, for MS Windows |
文件加壳 | UPX compressed Win32 Executable (70.9%) |
MD5 | d6dcbe674654cdceede252ec2373e4f9 |
SHA-256 | 1662b99ec94ba13dce572ae07625cf3ebf615cb97f60b0a0a9c951915cb69f28 |
VirtualTotal分析 |
DllsafeCheck.dll是上一步样本下载的ttd.exe程序的配置DLL文件,该文件为包含Zoom的签名文件。
该DLL还包含名为HackCheck的导出函数,当实际入口还是entry函数
- DLLmain入口函数中,首先会读取上一步的包含shellcode和远控地址的
C:\Users\Public\Documents\md.jpg
图片文件。
- 通过ntdll的CreateProcess函数创建启动
C:\\Windows\\System32\\notepad.exe
- md.jpg中的文件内容映射到地址空间中
C:\\Windows\\System32\\notepad.exe
进程将会2服务端域名yk.youbi.co(139.224.13.184)进行C2通信。
此次样本主要通过邮件钓鱼方式诱导目标下载恶意文件,然后分阶段的下载远程的shellcode和白加黑利用等程序进行远程的加载利用
- 税务稽查自查系统@9115.exe,该程序下载远程包含shellcode的jpg文件,通过VirtualAlloc进行映射到地址空间中进行加载
- DLL加载程序会下载远程的包含shellcode的图片文件和白加黑利用程序,但并没有采用白加黑进行利用,而是通过ShellExecuteExW直接调用DLL文件执行黑DLL程序(DllsafeCheck.dll)
- DllsafeCheck.dll会将通过创建进程的方式启动notepad.exe恶意程序与C2端进行通信,shellcode采用分离加载的方式加载
C:\Users\Public\Documents\md.jpg
的shellcode。