KimSuky病毒样本分析
本帖最后由 孤客浮舟 于 2021-3-16 18:04 编辑0x00 前言准备
kimsuky APT组织(又名Mystery Baby, Baby Coin, Smoke Screen, BabyShark, Cobra Venom) ,该组织一直针对于韩国的智囊团,政府组织,新闻组织,大学教授等等进行活动.并且该组织拥有windows平台的攻击能力,载荷便捷,阶段繁多。并且该组织十分活跃.其载荷有带有漏洞的hwp文件,恶意宏文件,释放载荷的PE文件等。实验环境:win10分析工具:火绒剑IDAx32dbgdieprocmon
0x01 样本基本信息
https://uploader.shimo.im/f/Veops3s2mrWbHyxd.png!thumbnail
样本从微步云获取
0x02 行为分析
我们运行程序看看
https://uploader.shimo.im/f/08LIxWPLrzrJiw0W.png!thumbnail
一个模仿word文档的界面,没学过韩语,哪位大佬懂可以翻译一下。 用火绒剑监视一下看看有什么恶意行为1、temp文件夹下释放docx文件
https://uploader.shimo.im/f/OLU5Rysxprqlg2ea.png!thumbnail
2、启动隐藏进程
https://uploader.shimo.im/f/DhDKdkOBQRgxIASA.png!thumbnail
启动了一个隐藏的进程,我们并没有看到这个进程的界面。
0x03 逆向分析
老规矩,上来先查壳了解信息
https://uploader.shimo.im/f/xltFrZYH2cJKQ7UV.png!thumbnail
无壳,VC写的。区块有6个很值得注意
https://uploader.shimo.im/f/Oln2mGuaoqNtbpoE.png!thumbnail
果然有个不常见的gfids模块,一会要留意一下拖进IDA,看一下winmain函数
https://uploader.shimo.im/f/PnoI8Jxfh8SiL7RN.png!thumbnail
先是在用getprocess去调用API,我们能看到的是与注册表相关的API,4140和41D0里面也一样,但是分别去调用文件和网络请求相关的API。在看下面,一些相关调用资源的API,调用的名是JUYFON,去看一下这个资源
https://uploader.shimo.im/f/Vt5MFG8s3afLSQpI.png!thumbnail
现在还不知道是什么,可能是个加密的PE文件,先不管,看看后面怎么用再往下是对刚才说的资源进行解密,一会我们动态跟看看解密之后是什么。直接看解密后的代码。
https://uploader.shimo.im/f/NroG4R3EIyOXYCYZ.png!thumbnail
一个我们看到的行为,在temp下释放文件。更值得我们注意的是一个创建线程的CreateThread,这应该有什么有意思的东西,我们先把上面的资源解密一下是个啥。
https://uploader.shimo.im/f/4xgBTqnMvuBSkW02.png!thumbnail
一个PK文件,就是放在temp文件夹下的那个。 接下来我们看看新线程里的代码
https://uploader.shimo.im/f/vlDs46G7gTbQwa7z.png!thumbnail
首先是SHGetSpecialFolderPathA这个API,该api用来获取指定的系统路径,我们动调看看过去到的是什么路径
https://uploader.shimo.im/f/ZqU8fUW9ZhwjHjPh.png!thumbnail
可以看到是C:\\Users\\Lenovo\\AppData\\Roaming,然后把这个和\\Microsoft\\HNC拼接到一块。然后下面CreateDirectoryA创建这个路径,GetShortPathNameA_0获取到这个路径。下面两个wsprintfA在格式化两个新路径,看样子后来还会有这俩文件。然后就进入404250了,我们看看。
https://uploader.shimo.im/f/1xbphxfrSLi6pmLd.png!thumbnail
先用GetEnvironmentVariableA获取COMSPEC的环境变量,也就是cmd。然后又是SHGetSpecialFolderPathA,这里传参是0,对应的桌面,获取到桌面的路径,然后是拼接一个cmd命令,动态看看什么命令。https://uploader.shimo.im/f/VpTMMFSBrdxwiiJM.png!thumbnail
获取桌面文件写到对应文件去。下面的程序相似,获取的路径不同,SHGetSpecialFolderPathA对应的是8和38,也就是C:/Documents and Settings/当前用户/Recent和C:/Program Files,最后还有一个systeminfo,也写入到对应文件中。然后一个sleep,函数退出。大体看来,这个函数在获取电脑信息。出这个函数后有一个半小时的sleep,好家伙,真够睡一觉的了。我们看看49E0这个函数
https://uploader.shimo.im/f/S14eT6nq86VbVesG.png!thumbnail
https://uploader.shimo.im/f/0fIXoyGQC3Df2Ok5.png!thumbnail
先获取wcl.docx的文件长度,如果长度为0,则删除该文件。我们看不为0的,把文件内容读过来然后下面一堆字符串
https://uploader.shimo.im/f/P7GaStRk1FGPMb5W.png!thumbnail
我们还是动调过去看看
https://uploader.shimo.im/f/DuKMxzLmOtTfIkAE.png!thumbnail
把字符串拼接起来,我们目前很懵,不知到这字符串有什么用,注意一下4DD0,跟进去看看
https://uploader.shimo.im/f/QBNw5sOekYVYQckG.png!thumbnail
很明显是网络请求相关的函数,我们可以猜测到,刚才那一堆是请求信息。我们也可以看到请求地址是pingguo2.atwebpages.com,路径为home/jpg/post.php
https://uploader.shimo.im/f/Q0eqS018XfHD3e8j.png!thumbnail
post请求完整信息大概如下。所以这个函数功能比较明显,就是上传本地收集到的信息到服务器。我们看一下最后一个函数,45C0
https://uploader.shimo.im/f/OQmAhhRO2QKjCG2i.png!thumbnail
很容易看出来,也是与网络有关的函数。这里进来就尝试访问download.php下载一个文件,地址和之前一样。
https://uploader.shimo.im/f/B2r1etARhQunzDT6.png!thumbnail
这里要注意的是这里,把下载的数据都写入了这里,并且运行,我们动态跟过来看看这是什么文件(注,因为要断网测,所以自己改跳转)
https://uploader.shimo.im/f/ak6BB3icJiGGBvaK.png!thumbnail
我们可以看到是tcf.bin,然后通过loadlibrary加载,应该是个dll。这个函数我们也分析完了,最后又是一个大sleep,然后这个程序就结束了。
0x04 总结
这个样本其实只是一个简单的downloader,收集一些机器信息然后下载tcf.bin才是真正的病毒文件,因为我没有联网(就算开网估计服务器也崩了),所以不能进行后续分析。虽然这样,我们在逆向过程中也是能学到很多新东西的,逆向学习吗,就是多动手去实践。
谢谢分享,学习了。 谢谢楼主 强阿楼主 谢谢分享,又学习到了 感谢分析,学到了很多 感谢学习到了 谢谢分享啊 谢谢@Thanks! 谢谢分享