打开文件,一看文件尾缀IOK文件,不太清楚IOK文件是什么百度查一下
IOK 文件是一种专门的软件用来保存数据的文件,它通常不是通用的格式,只能用特定的软件打开。
但是用PEinfo打开看一下,发现并不是iok文件,而是对dll的包装

先提交给沙箱看看

首次提交2018年,看来确实是个木马dll
查看字符串特征

有网络特征消息,沙箱里做了总结


分析函数DLLEntryPoint函数

来到Sub_10009460函数,这里面有三个函数

sub_10009200函数

sub_10009200函数

SSDT(System Service Dispatch Table)
- 什么是 SSDT?
SSDT 是 Windows 内核维护的一张系统调用表。它保存了用户态系统调用(如NtOpenProcess)到内核态对应服务函数地址的映射。 - 作用
当用户程序调用系统调用时,CPU 会切换到内核态,内核通过 SSDT 找到对应的内核服务函数来执行具体操作。 - 为什么重要?
SSDT 是内核提供系统服务的核心机制,系统安全、稳定性很大程度依赖它。
Rootkit
- 什么是 Rootkit?
Rootkit 是一种恶意软件,目的是隐藏自身或其他软件的存在,并保持对系统的长期控制。 - 特点
- 常运行在内核态,权限极高
- 修改系统底层数据结构(如 SSDT)或核心组件
- 隐藏文件、进程、网络连接,绕过安全检测
- 为什么危险?
Rootkit 能躲避杀软、监控系统行为,极难被发现和清除。
回到主函数

恶意核心代码在调用了两个线程
StartAddress 函数核
创建互斥体 call ds:CreateMutexA 通过互斥体防止程序多次运行,保证进程唯一性。
- 构造并调用某个远程URL
函数中有一段代码拼接了一个URL字符串,比如类似:http://g.7i00.cm/s.gif并调用某些函数(很可能是下载远程数据、配置或者命令):- 通过
GetProcAddress获取下载或网络相关函数指针。 - 调用该函数访问远程服务器。
- 通过
- 本地文件操作
- 拼接本地路径,比如类似:
temp\<某字符>bpp.ini - 可能将远程下载的内容保存到本地文件。
- 还调用了删除缓存等操作。
- 拼接本地路径,比如类似:
- 循环重试和定时等待
- 如果访问失败,会循环尝试,等待一段时间后重试。
- 直到成功或者达到最大次数才退出循环。
StartAddress 是一个远程控制的入口线程函数,它:
- 防止重复运行(互斥体)
- 从远程服务器下载配置信息或命令(http请求)
- 保存到本地供后续执行
- 可能控制恶意程序行为(远控)
StartAddress 负责与远程服务器通信,下载配置或命令,并保存本地,用于远程控制和指挥恶意程序的行为。
sub_10006CB0

sub_10006B40

总结
恶意目的:
在 explorer.exe 进程加载时激活恶意功能,启动下载远程命令和自动传播(U盘自复制)线程。
反安全检测:
避免在360安全软件相关进程中运行,直接退出,降低被发现风险。
权限提升:
尝试获取 SeDebugPrivilege,用于调试或操作高权限进程。
清理机制:
DLL 卸载时注销窗口类,做一些资源释放。
No responses yet