一次恶意样本分析
本帖最后由 一叶丶 于 2021-5-27 17:26 编辑## 梦开始的地方
该样本源于某ctf,目标是找到入侵者的key。
第一次尝试分析恶意样本,如有不足(错误),还请各位大佬们指出。
链接:(https://pan.baidu.com/s/1MmOdh4c5ZxWWCOpd_68EsQ)
提取码:6w4s
解压密码:52pojie
### 样本分析
样本基本信息如下。
静态分析一下,发现该样本无壳、使用了ADLE-32校验算法、MD5加密以及ZLIB压缩算法。
查看程序iat,发现包含大量敏感api。
wsock32.dll中WSAStartup、send等实现进程间通信。
advapi32.dll中OpenProcess、AdjustTokenPrivileges等api提升权限,RegOpenKeyExA、RegSetValueExA等api更新注册表,CreateServiceA、StartService等api更新服务对象。
kernel32.dll中WriteProcessMemory、LoadLibrary、GetProcAddress、CreateMutexA等api
user32.dll中SetWindowsHookExA、mouse_event、keybd_event等api设置消息钩子。
URLMON.DLL中URLDownloadToFileA下载远程文件。
查看程序资源发现可疑数据,该资源大小并不大应该不是dll、exe等可执行文件。
根据收集到的信息,猜测程序可能包含的功能有:
创建互斥对象、创建全局钩子实现键盘监控、鼠标监控等、DLL注入、修改注册表(开机自启)、下载远程恶意文件、等待远程服务端连接等。
对程序进一步分析。
没有混淆可以直接分析,跟进sub_48df60。
经过分析,sub_48dde0将遍历整个资源数据,寻找DCDATA资源。sub_409b7c对加载的资源进行校验判断是否正确加载。sub_405864和sub_4616b4加载密钥key并对资源进行解密。
对于资源段的加密,可以发现是rc4罢了。
密钥(key)
密文即为该资源数据。
解密后可发现大量"有用信息",只因是ctf罢了。
KEY{9AE1BFA9-BA8B-D417-4A73-F33557D42781}
至此,对于题目要求的key我们已经找到。然而,对于程序的分析才刚刚开始。
<u>Tips:合理利用搜索引擎,搜索 `Dark Comet` or `#KCMDDC51#-890` 亦可发现一些有趣的信息。</u>
此处将KQeG7WAgDdFg.dcp内容映射至内存,若校验通过,则保存远程服务器信息 `darkcomet.control.domain:1604` 。
程序本地保存的域名信息 `127.0.0.1:1604` ,此时将替换为经过解密后的域名信息,后续可能将对该域名进行访问(该域名已失效)。
后续的部分功能与上述类似,跳过该部分接着向下分析。
sub_45F5F8将自身映射到动态内存中,sub_45EB30在这里发现可疑字串 `0123456789abcdeffedcba987654321` ,猜测可能含有md5、sha-1等hash算法,预估其功能(目的)是为了校验加载至内存的自身木马程序是否正确 。
优化一下函数名,可以看到经过第一个md5_check_self将自身映射至内存后,计算出了自身的md5值,应该是为了检验自身是否正常被加载、有无被魔改。经过第二个md5_check_self时已经校验过计算过,直接返回了。
这里计算出的md5值与分析样本前计算出的md5值相同。
Create_Reg函数将在当前用户目录下创建/打开Software目录,再创建/打开DC3_FEXEC文件夹并创建 `时间-硬件配置文件信息序列号` 键值对。
跟进查看可以发现sub_4218e4将打开/创建键值,sub_422008将给打开/创建的键赋值。
程序后面没有正常加载INSTALL、KEYNAME、CHANGEDATA、FAKEMSG、PDNS、FILEATTRIB等资源,导致部分功能无法正常执行,应该是作者为了不对选手计算机造成太大影响,对解密资源数据进行了一定程度的修改。
简述一下这些没有加载成功的资源所包含的功能。
- 安装与 `KQeG7WAgDdFg.dcp` 内容相关的文件
- 安装成功后修改程序属性、注册表(自启动等一系列功能)
- 伪装正常程序的弹窗消息(MessageBoxA)
- 修改DNS。更改系统目录下的域名解析文件内容,我的是 `C:\Windows\System32\drivers\etc\hosts`
- 执行shell命令(ShellExecuteA打开了cmd)
- 在当前用户temp目录下创建不明文件
- 加载程序资源,创建dll文件
- 进行dll注入,目标:notepad。
- 设置组策略 `HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System` ,禁止用户打开任务管理器。
### 小结
样本大致功能为:
- 创建互斥对象,
- 资源加载、解密(直接映射至内存)
- 根据解密的资源进一步破坏他人环境(修改注册表等)
- 修改hosts文件
- 访问远程服务器、下载/安装恶意文件
- 创建恶意dll文件等,并更改文件属性
- 将该dll注入notepad进程、设置开机自启。
- 设置组策略禁止用户任务管理器
未被作者修改的版本程序会在temp和system目录下创建/下载一些恶意文件,此版本由于资源缺失已无法正常加载。 学习了 ,,,,学习 分析挺详细,加优秀鼓励,期待更多精彩分析。 这个厉害, 本想跟着做一遍,奈何经验不足,很多都看不懂。 很详细,学习了 只能说大佬NB
只能说大佬NB 学习学习再学习 谢谢分享,大力支持
页:
[1]
2