【PC样本分析】一款面试中遇到的病毒
2022-6-15 16:27:6 Author: mp.weixin.qq.com(查看原文) 阅读量:25 收藏

作者坛账号: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


文章来源: http://mp.weixin.qq.com/s?__biz=MjM5Mjc3MDM2Mw==&mid=2651137706&idx=1&sn=13fb9839bb9330a07676997d5234e3cb&chksm=bd50b6fe8a273fe89b3db965454d317266dfab88bddeeb6881baa78fd22892864af395face25#rd
如有侵权请联系:admin#unsafe.sh