首页 > IT业界 > 正文

你的u盘可能中毒了!你知道吗?

2017-11-28 13:50 来源:网络

  近期,国内部分地区出现一批通过U盘传播的病毒样本。经实验室分析后发现,其背后操作者为境外(之前传出几百人打几千人球迷)某国黑产团伙,目前样本处于“积极传播”期。 在此,再次提醒广大网友,注意自身U盘安全,下文是对该类样本的分析。

  感染症状

  注册表(HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE)出现可疑启动项

  SoftwareMicrosoftWindowsCurrentVersionRun

  文件系统CSIDL_COMMON_APPDATA下出现CLSID类型名称(随机)的文件夹

你的u盘可能中毒了!你知道吗?

  U盘中出现隐藏文件夹(CLSID类型名称),且出现同名文件

你的u盘可能中毒了!你知道吗?

  计划任务出现CLSID名称的计划任务

你的u盘可能中毒了!你知道吗?

  实际感染后,U盘症状如下图

一款正在活跃的U盘感染型病毒分析.gif

  详细分析

  外壳

  目前的样本结构均为两部分组成,即loader + 母体。通过历史信息检索,已知该类样本的loader目前经过了两个版本的迭代。第一代使用较为通用的免杀技术,通过三级shellcode启动方式,由于特征太过明显,所以有了第二版的出现,其主要特性: 函数调用通过函数表中转,库函数通过计算导出函数字符串的hash方式获取 启动方式: 通过解密资源文件得到 conf + shellcode + pe,然后shellcode根据conf将pe加载起来,比较有意思的一点在于,这个loader自身对资源的解密循环中,会判断异常触发次数,只有达到8000次异常(主动div 0,在TopUnHandleException中累加),才会进行解密操作。

  母体

  通过简单跟踪,直接dump出完整PE文件方便分析。母体样本的启动有2种情况:

  带参数运行

  这种情况下,代表受害者点击了lnk文件,因为lnk文件的参数如下

  %comspec% /c "{CLSID}CLSID.exe '文件名称'"


  所以母体样本首先通过 ShellExecute方式启动explorer.exe,传入文件名启动,使用户感觉不到自身运行的文件已经存在问题。后续的操作与不带参数类型一样,见下文。

  不带参数

  1.进行虚拟机环境检测,通过枚举当前设备信息,如果是虚拟机,则直接退出。

你的u盘可能中毒了!你知道吗?

  2.将自身写入到CSIDL_COMMON_APPDATA下,同时创建svchost.exe进程

  3.在刚创建的svchost.exe进程中分配内存,同时通过栈回溯找到自身基地址,将自身复制进去

  4.通过ZwQueueApcThread插入一个APC到刚创建的svchost进程中,以一个Event的触发结束自身进程

  5.剩下的代码在svchost进程中继续,先修复自身导入表、重定位

  6.写启动项HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun

  7.如果当前磁盘不是可移动涉设备且不是通过lnk启动,则删除自身文件

  8.获取当前系统信息,包括用户名称,os版本、DigitalProductId、是否处于u盘中等,用以回传”上线”信息

  9.创建一个死循环线程(间隔10s),创建注册表自启动、计划任务

你的u盘可能中毒了!你知道吗?

  10.创建一个死循环线程(间隔10s),通过CRC方式对比当前内存母体与磁盘母体文件是否相同,不同则将内存母体替换磁盘母体(便于实时更新,或者是防止母体文件被篡改)

  11.创建一个死循环线程(间隔10s),用以感染U盘,由于创建的lnk文件名称,是原文件路径追加.lnk后缀,这样方便样本判断对应文件名称的lnk文件是否存在,不存在则删除文件,使得普通用户,在删除有问题的lnk时,也删除了自己的原文件(可以此来”恐吓”用户)

你的u盘可能中毒了!你知道吗?

  12.创建一个update_Guard线程,等候一个NoticeHandler事件,该事件的触发,标志着从控制端获取到了一个URL,样本通过urldownload方式下载执行

  13.创建一个守护线程,完成枚举当前进程,寻找满足条件的进程,注入shellcode(如下图),该shellcode用于等待当前进程退出后再次启动母体,保证当前母体不老不死不灭,实在找不到,就创建一个notepad.exe进程尝试


你的u盘可能中毒了!你知道吗?

  14.执行一个TimeChecker,用以判断第一次获取时间是否大于第二次获取,是则sleep(0xFFFFFFFF),也即不运行了

  15.延迟1分钟,创建一个线程,用以回传上线信息,样本自身硬编码了1428个domain:port列表,通过AES-256-ECB方式加密存储,遍历列表,直到有一个connect成功

你的u盘可能中毒了!你知道吗?
你的u盘可能中毒了!你知道吗?

  通过构造上线包,模拟上线,可以看到返回了另外一个加密信息,实际该信息就是12.中更新所使用的URL

你的u盘可能中毒了!你知道吗?

  使用样本硬编码的AES密钥GD!brWJJBeTgTGSgEFB/quRcfCkBHWgl,对其进行解密,得到如下URL信息,之后触发NoticeHandler,样本开始更新。

上次的事情不是结局饿了么

  16.同时创建一个通信线程,主要用于更新(维护)控制端的信息

上次的事情不是结局饿了么

  IOC

  通过上文的介绍,样本的主要功能分析完毕,可以看到,目前的样本功能仍然处于“感染”阶段,以下是样本中使用的domain:port列表的前10个(从下到上),

  v1.pspkgya.ru:2675

  v1.schwpxp.ru:2956

  v1.ouxtjzd.ru:8658

  v1.fpzskbc.ru:9364

  v1.benkofx.ru:3333

  v1.hpifnad.ru:3721

  v1.fasefja.ru:3410

  v1.yekfhsh.ru:7372

  v1.zgclgdb.ru:8518[已经注册,未使用]

  v1.op17.ru:6006 [已经注册,目前不活跃]

  v1.eakalra.ru:1281 [已经注册,13年起开始活跃]

  用于更新样本(分发)的服务器

  38.130.218.117

  five12.wasyellowindexhotel.ru

  update12.wasyellowindexhotel.ru

  部分历史样本

  9de070f6864bc64e0fcac70a0c881cfb

  26A4EF6B68D005C9C15F74CA181B87F4

  0b307d639f9bb0d23c54863afbfe7ad0

  6b88d5b9c1f7a80738c1ab6ef098d303

  372624d24f257c41b441270877186745

  b09160e574ec1af717216b0ea05ea184

  9C2A789BE6A3B5643CF0B4204786F3AC

  B177C7E7232A44A0D00B37D53A68BC45

  总结

  U盘病毒是较为常见的病毒类型,其具有很强的传播性,通常潜伏于公共场合,例如网吧、打印店、机房等,在这些地方不建议使用移动设备,如果要使用,尽量开启杀毒软件

  本样本的控制者,最早可追溯到13年就有其活跃踪迹,其长期制作、运营该类型病毒。

  当前的样本处于“传播”期,自上月26日起,每日的感染量最少也有几百,可以推测,当感染量达到一定程序,控制端分发的程序将不再可能是“原功能”代码,而可能是DDos、勒索软件、挖矿、或者是其他蠕虫,远控木马等。

  其实还有一个最简单的方法,开启2345安全卫士,简单粗暴解决你的病毒问题哦!

文章内容来源于网络,不代表本站立场,若侵犯到您的权益,可联系多特删除。(联系邮箱:[email protected]