freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

观赏某大佬分析病毒后的一次复现分析
2020-07-13 15:16:22

一、样本简介及行为检测

样本伪装成了eset的升级程序

图标如下

由于再分析之初对样本行为不太清楚,这里需要用到相应的行为检测工具,此类工具有火绒剑,systracer,Procmon,Sysmon等,这里我们采用火绒剑来看下,具体步骤

然后双击运行样本即可开启对相应样本的监视,程序运行后界面如下

我们看到该程序的这里火绒剑标记为了蓝色,这里完成了程序的释放、自拷贝、开机自启动这些操作。

相关网络请求如下

可以看到该样本与general-second.org-help.com/dl_ex1.png?m=701CE78EC02D&NOTE=Ni4xIDogOS45fDV8djEuMAo= 进行了一系列交互

通过奇安信的威胁情报平台(https://ti.qianxin.com)查询可以看到关于该域名的相关信息

行为总结:

  • 样本在C:\Users\用户\AppData\Roaming\ 执行释放自拷贝 自启动的行为
  • 样本会与恶意域名general-second.org-help.com进行交互

二、Pe结构和ida分析

我们借用peid查看下pe信息如下,

我们利用peid的Krypto ANAlyzer插件查看下文件的加密信息,里面大概有两种加密

Base64和crc32加密

并且利用peid未发现该样本加壳信息,我们直接拖进ida进行分析,程序会默认停留在winmain函数处,winmain函数内部有如下几个函数,

CreateMutexA(win32api)

GetLastError(win32api)

CloseHandle(win32api)

sub_4011E0(自定义函数)

sub_403600(自定义函数)

sub_401580(自定义函数)

sub_401770(自定义函数)

sub_402790(自定义函数)

CreateThread(win32api)

函数功能分析:

CreateMutexA、GetLastError分别为创建相关进程对象和探测本地用户组情况;

sub_4011E0为加载dll和相关字串解密获取相关api函数地址;

sub_403600为文件的自拷贝和自启动等操作;

sub_401580为获取当前环境变量设置;

sub_401770 为判断系统版本 内存拷贝;

sub_402790注册表操作;

CreateThread创建相关网络请求进程;

下面我们看下相关函数的具体实现,(除部分win32api),

sub_4011E0

该函数为加载dll和相关字串解密获取相关api函数地址,函数内部调用sub_401040对传入字串进行解密处理,具体操作为将加密字串-5即可,然后加载kenel32.dll利用getprocaddress函数来获取api函数地址,相关功能部分截取如下

总结:函数内部使用了特定解密函数sub_401040来处理加密字串,加载三个dll文件分别为WININET.dll、urlmon.dll、kennel32.dll、通过getproaddress函数获取相关api地址

sub_403600

该函数内部功能为文件自拷贝,自启动设置,程序弹窗设置,

程序首先通过SHGetFolderPathA函数获取自启动文件夹C:/Documents and Settings/当前用户/Application Data;

通过GetModuleFileNameA获取当前程序运行的直接路径

Strcmp判断当前执行文件夹是否等于C:/Documents and Settings/当前用户/Application Data;,如果相同,通过copyfile将文件拷贝到C:/Documents and Settings/当前用户/Application Data下,然后通过向注册表SOFTWARE\Microsoft\Windows\CurrentVersion\Run加入eset_update值,达到自启动的目的。

sub_401580

此部分主要功能为获取本机网卡信息和执行获取磁盘序列号,以及随机数的生成,通过GetAdaptersInfo获取网卡配置和ip信息,后又通过GetVolumeInformationA来获取磁盘序列号,最后通过GetTickCount来生成随机数,具体功能如下:

sub_401770

该函数主要为获取系统版本信息的获取和操作系统的位数,通过GetVersion函数获取相关系统版本信息,然后通过GetNativeSystemInfo,格式化一下,然后做数学运算,具体实现如下。

sub_402790

函数为注册表信息的修改,主要就是对XhwjjsWnggtsxItrfns和XTKY\\FWJaRnhwtxtkya\\nsit|xaHzwwjsy[jwxntsaXhwjjsxf{jwx解密后做拼接,然后将存储在qword_41A620处的恶意url写入注册表内,该恶意url为general-second.org-help.com,内部功能如下

CreateThread

针对该样本的分析,在完成上述的一部分函数分析时已经有了一些初步的的认识,我们到新进程StartAddress内来继续分析下,StartAddress开头部分函数分析如下

我们跟下sub_932F30为网络请求设置

请求头为Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36,gzip(gfe),gzip(gfe)", 94A7A0:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36,gzip(gfe),gzip(gfe)

这部分程序流程比较直接看下sub_931AA0这里,首先样本会对特定字串进行解密

这里程序加载了一个rundll32.exe文件,但缺失该文件的相关行为说明,可能需要进行动态调试进行查看,我们继续向下走,通过动态调试看到

程序会获取C:\\Users\\用户\\AppData\\Local\\Temp\\相关文件下,然后将tmp.LOG与该文件夹进行拼接。向下走看到

这里会对文件名进行一个分割添加动物后缀,然后修改SOFTWARE\Microsoft\Windows\CurrentVersion\Run和SOFTWARE\Microsoft\Windows\CurrentVersion\Screensavers\ScreenRibbonsDomain两个参数达到自启动和修改屏保属性的目的

这里会根据文件后缀的判断结果,如果为包含有tiger接受相应的命令参数,然后通过cmd执行

样本行为总结

  • 样本通过sub_4011E0调用解密函数解密一部分关键api,加载了dll、urlmon.dll、

kennel32.dll,并通过GetProcAddress函数获取相应函数地址,函数如下InternetOpenA、InternetCloseHandle、InternetConnectA、HttpOpenRequestAHttpSend、RequestAURLDownloadToFileA、DeleteUrlCacheEntryA、WinExec、CreateToolhelp32Snapshot、InternetReadFile、InternetQueryDataAvailable。

  • 通过sub_403600函数实现文件自拷贝,自启动设置,程序弹窗设置。
  • 通过sub_401580获取主机网卡和ip信息。
  • 通过sub_401770获取系统版本信息的获取和操作系统的位数。
  • 通过sub_402790修改注册表写入恶意url。
  • 通过sub_931AA0实现相关的远程注入。
  • 该样本代码中加入了一系列动物名称,例如tiger、wolf等,属于KimSuky家族系列。

个人体会

样本分析中动静态分析跑飞了好多次,由于自己对一部分关键点把控不是很准确,另外利用这次分析巩固了x64dbg的调试技巧,收获还是不错的。

此次文章参考安全客doash123

样本hash:ae986dd436082fb9a7fec397c8b6e717

app.any.run地址:https://app.any.run/tasks/c5066e3d-974b-499a-971f-954dbf2d5c5d/

参考连接:

1、https://www.anquanke.com/post/id/208525#h2-12

2、https://blog.csdn.net/m0_37312808/article/details/77891372?utm_source=blogxgwz9

# 恶意软件
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录