某机器码重置工具分析
背景
本文所述工具来自帖子 https://www.52pojie.cn/thread-2098705-1-1.html ,据贴主所述,该样本疑似存在病毒,因此这里进行一个简单分析。
Virustotal结果
原贴主将样本扔进virustotal,31/69,很高的判黑率
但是从virustotal中自带沙箱的分析结果来看,并没有过多复杂技巧,其通信的域名看上去都较为正常
溯源分析
原贴主提到该样本来自某公众号于3/21发布的文章推送,找到对应文章,可以看到其功能为恢复电脑机器码。简单搜索了一下,一般来说,需要用到这种工具就有两种情况:电脑被某些软件标记,需要通过刷新机器特征来规避这类软件对于机器特征的识别。(被标记的原因可能有很多,游戏外挂导致的硬件封禁/大量数据采集导致的指纹风控)如果可以精确控制某一软件授权所需的特征值,修改当前电脑(未激活软件授权)机器码为另外一个电脑(已激活电脑授权)的机器码,从而使得多个电脑共用一个软件授权
在此提醒大家绿色游戏,远离黑灰产
从这个作者本身来看,拥有较多的原创内容,从实际内容来看也不太可能和某些恶意软件制作者相关(经济利益驱动的黑灰产、窃密相关APT),并且作者很大可能是没有相关技术能力的,只是在做资源搬运。不过,这个软件实际做了什么,还需要进行深入分析才能得知
基础分析
die查看样本,看到rdata段存在大量压缩数据,PEbear也证实了这一点
然后进行字符串分析:从上一步骤中对作者公众号的分析中可以发现作者很可能是在其他开源信息中寻找的软件,而非自研,因此查找github、gitee关键词,可以发现gitee链接(也就是virustotal中显示访问的链接)
这个链接的内容实际上是程序开启后自动展示的一个广告
通过该链接可以找到项目仓库https://gitee.com/sir-la/acc/blob/master/Ad-huanyuan,这是一个说明文档,其中指向一个qq群和提供付费服务的网站(jiqima[.]org),在该网站中就可以看到均为和修改机器码相关的付费内容
到这里我们实际上已经大致了解了程序的来源,推测为相关人员对上述网站中的内容进行二次打包后分发,接下来进行详细的逆向分析
分模块分析
外壳exe
该exe由易语言编写,可以看作一个dropper,因为有大量压缩数据存放在rdata段中,而该exe并没有太多有用内容,主要用来释放后续加密载荷,下图为释放路径与包含的exe,通过Silent设置静默提取
dump这段数据可以得到一个rar压缩包,可以看到为自解压压缩包
分析1.bat内容,可以看到他会强制修改 TPM 驱动的注册表配置指向tpm0.sys,这应该是一个根本不存在的驱动名,用于关闭 TPM
另外,直接查看这些exe的属性可以看到他们的用途,例如2.exe为彻底关闭UAC,这些模块分别对应了公众号作者在介绍视频中提到的 关闭杀毒 + 常用库 + 关闭内核隔离 + TPM + 关闭UAC
除了上述文件外,还有一个Yel.exe,同样为内嵌PE,并由该程序在sub_407340函数中直接启动
接下来整理一下已经获取到的文件信息文件名初始信息1.bat移除TPM2.exe彻底关闭UAC小工具-软件No13.exe微软常用运行库合集32+64位合集4.exeWindows系统更新(WU)&安全组件(WD)一键统管5.exe无描述信息Yel.exe主执行程序
然后我们来详细分析这些模块
Yel.exe
该程序采用VMProtect加壳,本人对这方面并无了解,无法进行静态分析
直接扔到virustotal中,同样看不到存在恶意行为,进程链和网络连接均正常。https://www.virustotal.com/gui/file/a19452dbb95788cf887cfa8062d141b8586d6fd42800726ab8b3d84ff63f5e94/behavior
但这里同样可以看到一个有意思的链接,https[:]//share.weiyun[.]com/S6N5U5Y3,进去看到同样是一个使用说明文档,并且关联到了另外一个提供机器码重置服务的网站facenb[.]com
2.exe
该程序为NSIS打包程序
可以看到其中包含bmp图像文件、ini配置、真正执行的exe和dll
bmp图像文件是软件站的标志
在该软件站可以找到一款与2.exe界面完全相同的工具,可以看到该工具就出自这里https[:]//www.rjno1[.]com/turn-off-uac/
对比hash也完全一致,这里完全确定资源搬运自此处且未经任何修改
3.exe
该程序使用Inno Setup打包
使用https://github.com/dscharrer/innoextract解包,可以看到大量拥有合法微软签名的库
不过这里不太明白这些库用来干什么,有了解这一方面的大佬希望解释一下
4.exe
该程序使用UPX3.96打包,并且为AutoIt可执行文件
首先进行UPX解包,然后使用https://github.com/nazywam/AutoIt-Ripper解包AutoIt可执行文件,可以得到一个NS_x86.exe和.au3后缀的脚本。其中NS_x86.exe 是 AutoIt 脚本解释器(Stub),.au3 文件是被还原的原始自动化脚本源码,通过NS_x86.exe script.au3来运行
然后来看script.au3的详细内容:
AU3Check=n:禁用语法检查。Au3Stripper=n:禁用代码精简器。AutoIt3Wrapper_Compression=4:设置脚本压缩级别为 4(范围 0~4,4 为最高压缩)。AutoIt3Wrapper_UseX64=n:强制编译为 32 位(x86)程序,即使在 64 位系统上运行也使用 32 位模式。AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator:要求管理员权限运行。AutoIt3Wrapper_Icon=zz.ico AutoIt3Wrapper_Outfile=C:UsersAdministratorDesktopWindows系统更新-安全组件_一键统管.exe :使用名为 zz.ico 的图标文件,输出路径直接指向桌面,文件名为「Windows系统更新-安全组件_一键统管.exe」。AutoIt3Wrapper_Res_File_Add:将两个 .BIN 文件以 RT_RCDATA(原始二进制资源)类型嵌入到最终 EXE 的 PE 资源节中,资源名称分别为 _0101000101 和 _01010110。AutoIt3Wrapper_Res_XXX:被写入 EXE 的 PE Version Info 资源块,也就是右键文件 → 属性 → 详细信息中显示的内容。
同样出现了一个网站,在这个网站中可以找到该程序。https[:]//www.xyboot[.]com/rzddnyzqpakngycuvpyrqphqymrfxcxeefcnmwmcaitfgmkdikeyquqvstrcdwti/
不过这里的hash经过对比后并不一致,推测打包的是之前的版本
5.exe
由Bat To Exe Converter打包
使用process monitor监视程序,可以看到它启动cmd来运行了一个bat
找到这个临时的bat文件,应该就是原始的bat了,因为我是英文环境,因此中文无法正常显示。可以发现会关闭 HVCI(虚拟机监控程序强制代码完整性),关闭基于虚拟化的安全(VBS),禁用受控文件夹访问(即defender的勒索防御机制),卸载 Windows Defender Application Guard。 复制代码 隐藏代码@shift /0@echo off:: ??Windows 11??????????:: ?????????:: ????????????net session >nul 2>&1if %errorLevel% neq 0 (echo ????????????!pauseexit /b)echo ??????????(??????????)...:: ??????????????reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlDeviceGuardScenariosHypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 0 /f:: ?????????????reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlDeviceGuard" /v "EnableVirtualizationBasedS

