【PC样本分析】一款面试中遇到的病毒

admin 2022年6月28日13:55:59安全面试【PC样本分析】一款面试中遇到的病毒已关闭评论11 views2547字阅读8分29秒阅读模式

作者坛账号:speciaN


一、样本概况

文件: svchost.exe1.exe

所属家族:未知

大小: 38400 bytes

修改时间: 2022年5月15日, 14:04:08

MD5: 9A50980AFB1C6A43CF38872E694BB7DB

SHA1: 237AA3EE8C912E6F8326782B790327562CEF8DD9

CRC32: C4F48BF1

编译器版本:VC6.0

加壳情况:未加壳

二、样本浅析

导入表:

网络相关高级API

图片

图片

遍历文件API,获取磁盘信息API

图片

找到特定窗口获取句柄的API,剪切板用的API

图片

加密用的API

图片

Com组件API

图片

注册表相关操作API

图片

总结一下,这个样本可能有网络行为,遍历文件,查询窗口获取特定窗口句柄,加密解密,操作注册表(猜测会有写入自身路径到run键实现开机自启动的操作),Com组件调用等功能

资源表:

资源表未见异常

图片

数据目录表:

数据目录表中未见TLS表,该样本并没有TLS表,一般TLS可以用作反调试,所以我们要关注到这点。另外其它也未见异常

图片

样本行为监测:

尝试建立TCP连接,并通过HTTP协议的get方法请求相应的资源,下图中的地址分别葡萄牙与美国的IP,猜测是通过http协议下载一些恶意代码进行本地执行

图片

图片

禁用Windows安全中心的一些功能

图片

有对一些浏览器临时浏览产生的文件的一些操作,也有对Cookie的一些操作,猜测是在提取恶意程序

图片

改名运行后发现自启动项,加到了run键

图片

三、代码分析

在IDA中分析,先找到Winmain入口函数

图片

通过F5生成伪C代码,我们先分析第一段,发现大量重复操作都是将文件的内容移动后,在将文件删除掉,然后进行相应的休眠,猜测是为了恶意代码执行的更为流畅。如下图所示

图片

图片

下如图,判断是否为乌克兰的主机,如果是乌克兰的主机的话就直接退出。之后对一些变量进行了初始化。猜测病毒作者可能是个乌克兰人,亦或者是一种栽赃手段

图片

如下图,Check_IP_Get_GPS_402960()  这个函数主要是通过http://api.wipmania.com/ 网址来获取当前中招主机所在的地理位置信息,如果是UA也就是乌克兰的话,return 1,不是的话return 0

图片

http://api.wipmania.com 是一个判断国家区域的网址,关键字符 UA 是乌克兰的缩写

图片

图片

如下图,Check_SystemTime_Get_Linguistic_context_402910() 这个函数主要是通过获取系统语言环境对比关键字是否为UKR也就是乌克兰是的话 return1 否则 return 0

图片

如下图,继续往下分析,做了Com库的初始化,同时生成了事件种子,并且获取了CSP密钥容器环境,获取了当前病毒进程的完整路径,并病毒文件名检测是否包含svchost. 

图片

如下图,创建随机值目录,自我复制到C:\随机数\svchost.exe中,并打开防火墙的白名单,设置防火墙白名单,设置自启动项Run键。复制成功则运行exe文件,否则退出进程

图片

如下图,通过解密字符串得到需要设置的键值对,这里应该是杀软相关操作,只不过针对的是微软的安全防护相关的服务。操作有: 关,关闭 AntiSpyware,关闭实时扫描,关闭访问保护,关闭行为监控,关闭 AntiVirus/防火墙/系统更新及通知,关闭 实时保护,并使用解密出来的注册表键值进行设置

图片

OD中动态解密字符串如下所示

图片

其中解密函数是以Tldr为密钥按位进行异或后取反得到,如下图所示:

图片

如下图,下面的部分是在循环中不停的拼接URI然后去请求相应的资源,可以访问的话,将执行加密签名操作并执行恶意程序,猜测是免杀操作,如果不能访问则,继续循环拼接URI及访问它

图片

经过分析后可得文件结构如下:

DWORD

0x2153474E(特殊标识)

DWORD 

记录密钥部分大小(若此数大于 0x10 则按 0x10 算)

BYTE[0-16] 

文件部分密钥(大小为 0-16 个字节) 

BYTE

原程序加密后数据

样本核心操作,创建了两个线程

图片

第一个线程功能是替换剪切板里的内容,猜测是替换一些虚拟货币的地址,如比特币

图片

该病毒保存了多个地址,有一套过滤规则,如果符合规则就替换为准备好的地址,经 OD 调试该线程也验证 了猜测,部分规则如下:

图片

复制 3JHbgxWSZzvG73eeMZuTvV8La0000SwH5e,粘贴时候就为 3JHbgxWSZzvG73eeMZuTvV8LaCwPaSwH5e

第二个线程功能是遍历驱动器找出可移动或远程磁盘,以扩展名过滤待删除文件,并移动其余文件或文件 夹到根目录下的文件夹“__”中,其中有过 COM 组件的一些函数调用,但环境不匹配就不在分析了

图片

每个待处理磁盘都会新建“__”文件夹,并将自身复制到其中命名为 DriveMgr.exe,还会在根目录下新建 autorun.inf (双击盘符自动运行 DriveMgr.exe),代码如下所示:

图片

其中的 comFuncUnknown_401EF0 函数中有 COM 组件的调用,但虚拟机环境没有对应组件,代码如下所示:

图片

调用时用了两个 ID: 

CLSID :00021401-0000-0000-C000-000000000046 IID :000214F9-0000-0000-C000-000000000046 其中的 CLSID 指向 shell32.dll,IID 是没找到,如下所示:

图片

处理文件的动作是将“”,autorun.inf,卷名.lnk 之外的所有文件(会对根目录下的文件进行后缀筛选,符 合条件就删除)或文件夹移动到“”中,代码如下所示:

图片

以下是根目录下需删除文件的后缀及过滤条件的设置:

图片

四、病毒行为

该病毒会判断主机是否为乌克兰的主机,是乌克兰的主机直接退出,不是的话,会关闭微软的安全服务、更新服务、和防火墙服务,并通过预先设定好URI请求恶意资源,本地免杀后执行下载的恶意程序。在根目录下创建文件夹"__ "设置属性系统、只读、隐藏为同时自我复制为DriverMgr.exe,劫持剪切板过滤内容将比特币的地址替换为自己的地址。

--

www.52pojie.cn


--

pojie_52

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月28日13:55:59
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  【PC样本分析】一款面试中遇到的病毒 http://cn-sec.com/archives/1148213.html