通过创建傀儡进程进行加密的Medusa勒索病毒

2019-11-05   

威胁等级:★★★★
Medusa勒索病毒通过一个外壳程序创建傀儡进程执行加密。使用RSA+AES加密模式,加密后文件后缀添加“.encrypted”,目前该病毒在东南亚诸多国家以及国内部分企业均有感染案例。

概述

近日,瑞星安全研究院捕获最新Medusa勒索病毒,该勒索病毒通过一个外壳程序创建傀儡进程执行加密。使用RSA+AES加密模式,加密后文件后缀添加“.encrypted”,目前该病毒在东南亚诸多国家以及国内部分企业均有感染案例。

病毒MD5:5A3027E977E9DECF5C537B9B74943B63

威胁等级:★★★★

病毒演示视频

技术分析

【病毒进程】

获取临时目录,然后在临时目录下随机生成临时文件,然后删除生成的临时文件,为了测试病毒对文件的读写功能

图:重新创建临时文件

动态获取VirtualAlloc函数地址,然后调用它来分配大小0x32000内存属性是MEM_COMMIT和MEM_RESERVE,此段内存将来会被病毒存放shellcode

图:分配存储shellcode内存

解密shellcode并且写入到分配的内存空间

图:解密shellcode

创建各种窗口,然后使用EnumChildWindows函数的回调功能来执行分配好的shellcode

图:使用窗口回调执行shellcode

(shellcode执行部分)

动态获取API地址

图:动态获取API

从病毒模块中获取一段数据

图:解析病毒模块

通过Shellcode解密该数据,最终获得一个可执行的PE文件

图:被加密的PE文件
图:解密PE文件
图:解密后PE文件

(创建傀儡进程)

以挂起的方式创建子进程,子进程对应的文件即为父进程对应的文件

图:创建子进程

把解密出的数据写入创建的子进程内存空间

图:向子进程空间写入可执行数据

恢复子进程的执行,然后父进程退出

图:父进程退出

【傀儡进程】

创建互斥体防止多个实例相互影响。

通过GetTokenINformation查询当前进程所处的访问权限是否管理员。

图:查询进程权限

如果当前非管理员权限将通过以下手段绕过UAC提升程序权限

通过修改注册表项来禁用(UAC)通知:

HKLM\\Microsoft\\Windows\\CurrentVersion\\policies\\System\\EnableLUA

修改注册表项提升程序运行权限:

HKLM\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\\ConsentPromptBehaviorAdmin

图:绕过UAC

在注册表项中存储当前勒索程序名称:

HKCU\\SOFTWARE\\Medusa\\Name

图:添加注册表

初始化创建CSP容器1,使用默认的RSA秘钥算法

图:使用RSA

导入硬编码的RSA公钥:

BgIAAACkAABSU0ExAAgAAAEAAQDhbu1pHPq8wK4vSYAsLw7qn4eemNpWk2j
YsNF3H1SI8bjEnf7nDMd/VxwJMZzvZdMPTdn26EDNHS6569WWxGqyeCzMIRZh7
Diw+kdtSYPZvD4b40PMmU3HH5ZIPX1kttOWQvAfsemo4IbObMkXsO4z662LLNsu/
PmjNOcg4aNBRT10g9Jx5NDyRpyRGcMZ4PpfPlJkU/oMQE5tWemsC51ZSz+l/O80
6CRl17o5s1+gTaF4HLDeJQGSU2UEEBbtHTRbSwmmLF3oBfz5wKn/2gOzZT2Kgx
dOFkv8fCPWvdAkK0NJqQ83HqRURpu9I3o4fz0KY19tR+Q4B9kcs/byICa2
图:内嵌RSA公钥

初始化创建CSP容器2,设置AES算法

图:初始化AES加密

通过CryptGenKey生成AES_256秘钥

使用内嵌的RSA公钥加密CryptGenKey生成的AES_key

图:加密文件秘钥

将自身复制到%AppData%目录下命名为“svchostt.exe”

图:自我复制

通过FindFirstVolume系列函数获取系统所有磁盘,包括未分配卷标的磁盘空间。

图:获取所有磁盘信息

清除下列进程服务:

Wrapper、DefWatch、ccEvtMgr、ccsetmgr、SavRoam、sqlservr、sqlagent、sqladhlp、Culserver、
RTVscan、sqlbrowser、SQLADHLP、QBIDPService、Intuit.QuickBooks.FCS、QBCFMonitorService、
sqlweiter、msmdsrv、tomcat6、zhudongfangyu、SQLADHLP、vmware-usbrbitator64、vmware-converter、
dbsrv12、dbeng8、
图:服务终止

结束指定的进程

wxServer.exe、wxServerView、sqlservr.exe、sqlmangr.exe、RAgui.exe、supervise.exe、
Culture.exe、RTVscan.exe、Defwatch.exe、sqlbrowser.exe、winword.exe、QBW32.exe、
QBDBMgr.exe、qbupdate.exe、axlbridge.exe、httpd.exe、fdlauncher.exe、MsDtSrvr.exe、
tomcat6.exe、java.exe、360se.exe、360doctor.exe、wdswfsafe.exe、fdhost.exe、GDscan.exe
图:终止进程

修改以下注册表值以使当前进程具有访问网络资源的能力

HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System, 1

图:允许进程网络磁盘访问

清空驱动器上的所有回收站

图:清空回收站

将执行下列操作来删除卷影副本,禁用启动修复以及清除系统备份。

删除卷影操作:vssadmin.exe Delete Shadows /all /Quiet

关闭启动时自动修复:bcdedit.exe /set {default} recoveryenabled No

忽略异常关机修复:bcdedit.exe /set {default} bootstatusplicy ignoreallfailures

删除系统备份文件:wbadmin DELETE SYSTEMSTATEBACKUP

删除系统的旧备份文件:wbadmin DELETE SYSTEMSTATEBACKUP –deleteoldest

关闭网络盘符自动断开:net config server /autodisconnect:-1

图:关闭/删除系统恢复

最大读取单个文件的0x1000000大小,进行文件加密

图:文件长度加密

每次使用AES算法加密0x2000大小的文件内容同时写入到文件中

图:加密并写入文件

追加0x200字节用于存储AES秘钥 以及0x18的文件信息与标识。

图:加密文件结构

加密后的文件在名称末尾添加后缀名“.encrypted”,同时在被加密的文件夹下创建“HOW_TO_RECOVER_DATA.html”格式的勒索信

图:勒索信内容

防范措施

  1. 不下载可疑邮件附件
  2. 浏览网页时不下载运行可疑程序
  3. 及时更新系统补丁
  4. 不适用弱口令密码
  5. 安装杀毒软件
  6. 安装勒索病毒防御软件
编辑:瑞瑞 阅读: