据美国当地媒体报道,北卡罗来纳州达勒姆市不幸成为了Ryuk勒索软件的最新受害者。为尽可能减轻损失,达勒姆市甚至禁止了达勒姆警察局对DCI网络的所有访问,最直接的影响就是,911呼叫中心“停摆”了。
Ryuk勒索软件简介
说起Ryuk,日漫迷们肯定不会陌生,它正是日本动漫《死亡笔记》里那位爱吃苹果的死神的名字。
在勒索软件圈里,Ryuk同样声名赫赫。在其受害者名单上,不仅包括了美国北卡罗来纳州达勒姆市,还包括了美国国防部承包商EWA、律师事务所EPIQ全球、北美铁路公司RailWorks、克罗地亚最大的加油站连锁INA集团、零部件制造商Visser以及法国ISP和云服务提供商布列塔尼电信。
据称,Ryuk勒索软件起源于同为勒索软件的Hermes,不仅延用了Hermes的绝大多数代码,甚至连文件唯一感染标识也继续沿用Hermes字串。
说来也巧,网络安全公司Fortinet也在近日捕获到了Ryuk勒索软件的最新变种。接下来,就让我们一起来看看该公司针对此新变种的技术分析。
Ryuk勒索软件最新变种分析
根据Fortinet研究人员的说法,勒索软件样本执行的第一步是将其实际有效载荷加压缩到内存中。
在解压缩完成后,实际有效载荷将会被复制一次并重命名(一个由7个字母组成的随机名称)。
接下来,重命名的副本将会被放置到执行目录中,后续使用“8 LAN”作为命令行参数调用。
分析表明,第一次调用侧重于加密本地计算机和映射驱动器上的文件,而第二次调用则侧重于加密网络驱动器上的文件。
总的来说,新的Ryuk勒索软件变种所采取的步骤可归纳为如下:
- 注入合法进程(限本地加密)
- 尝试终止可能干扰其操作的进程和服务
- 删除卷影副本并更改系统配置
- 尝试在受感染计算机建立持久性机制
- 唤醒网络设备(限网络加密)
- 加密文件
值得一提的是,最后一步将持续执行下去。也就是说,Ryuk将持续不断地尝试在网络中探寻新的设备对其文件进行加密。
注入合法进程
为了隐藏其恶意活动,这个Ryuk新变种会尝试将其代码注入除其自身、先前复制的文件或“csrss.exe”、“explorer.exe”和“lsaas.exe”之外的其他任何可以访问的32位进程中。(注:代码编写似乎存在错误,“lsaas.exe”应该是“lsass.exe”)。
终止进程和服务
在开始加密文件之前,这个Ryuk新变种还会使用预先定义的字符串列表来识别和终止与任何字符串匹配的正在运行的进程和服务,其中一些属于防病毒产品,具体如下:
目标进程:
- virtual
- vmcomp
- vmwp
- veeam
- backup
- Backup
- xchange
- sql
- dbeng
- sofos
- calc
- ekrn
- zoolz
- encsvc
- excel
- firefoxconfig
- infopath
- msaccess
- mspub
- mydesktop
- ocautoupds
- ocomm
- ocssd
- onenote
- oracle
- outlook
- powerpnt
- sqbcoreservice
- steam
- synctime
- tbirdconfig
- thebat
- thunderbirdvisio
- word
- xfssvccon
- tmlisten
- PccNTMon
- CNTAoSMgr
- Ntrtscan
- Mbamtray
目标服务:
- vmcomp
- vmwp
- veeam
- Back
- xchange
- ackup
- acronis
- sql
- Enterprise
- Sophos
- Veeam
- AcrSch
- Antivirus
- Antivirus
- bedbg
- DCAgent
- EPSecurity
- EPUpdate
- Eraser
- EsgShKernel
- FA_Scheduler
- IISAdmin
- IMAP4
- MBAM
- Endpoint
- Afee
- McShield
- task
- mfemms
- mfevtp
- mms
- MsDts
- Exchange
- ntrt
- PDVF
- POP3
- Report
- RESvc
- sacsvr
- SAVAdmin
- SamS
- SDRSVC
- SepMaster
- Monitor
- Smcinst
- SmcService
- SMTP
- SNAC
- swi_
- CCSF
- TrueKey
- tmlisten
- UI0Detect
- W3S
- WRSVC
- NetMsmq
- ekrn
- EhttpSrv
- ESHASRV
- AVP
- klnagent
- wbengine
- KAVF
- mfefire
Fortinet研究人员表示,由于匹配规则存在问题,一些本不在上述目标列表里的进程或服务也可能会被终止。例如,服务“audioendpointbuilder”就意外被终止,这显然不是Ryuk开发者的目标,只因它包含了字符串“endpoint”。
删除卷影副本并更改系统配置
如上所述,这个Ryuk新变种还会尝试删除任何卷影副本,以防止文件被还原。卷影副本是一项Microsoft服务,可创建计算机文件或卷的备份和/或快照,它的删除可以通过执行如下命令来完成的:
- cmd /c "WMIC.exe shadowcopy delet"
- vssadmin.exe Delete Shadows /all /quiet
持久性机制
这个Ryuk新变种使用的是一种已知的简单持久机制建立方法——使用cmd.exe设置如下注册表项:
cmd.exe /C REG ADD “HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run“ /v "svchos" /t REG_SZ /d "\\" /f
如果是在64位系统上执行,它将在命令中添加字符串“/reg:64”。
唤醒网络设备
为了尽可能多地加密文件,这个Ryuk新变种还会尝试在开始加密网络驱动器之前唤醒网络上的计算机,该步骤由使用“8 LAN”命令行参数调用的进程执行。
为了远程唤醒局域网内的计算机,Ryuk利用了称为“局域网唤醒(Wake-on-LAN)”的功能 ,负责发送局域网唤醒数据包的函数如下图所示:
加密文件
如上所述,这个Ryuk新变种会尝试同时加密本地驱动器和网络驱动器上的文件。在加密之间,它会遍历驱动器上的每一个文件,并检查其完整路径、文件名和文件扩展名,以确定是否应对其进行加密。
首先,它会检查当前路径是否包含如下字符串:
- Ahnlab
- Chrome
- Mozilla
- Windows
- $Recycle.bin
如果文件路径包含上述字符串之一,则它将跳至下一个文件,而不会执行加密。
然后,它将使用一个硬编码的字符串列表检查当前文件的名称,文件名称列表如下:
- RyukReadMe.html
- UNIQUE_ID_DO_NOT_REMOVE
- boot
- PUBLIC
- PRIVATE
- \\Windows\\
- sysvol
- netlogon
- bin
- Boot
- dev
- etc
- lib
- initrd
- sbin
- sys
- vmlinux
- run
- var
如果文件名包含上述字符串中的任何一个,则它将跳至下一个文件,而不会执行加密。
验证文件名后,它还将根据硬编码列表来检查当前文件的扩展名。如果存在匹配项,它将再次跳至下一个文件,文件扩展名列表如下:
- dll
- hrmlog
- exe
- .ini
- .lnk
- bootmgr
- boot
赎金票据
由这个Ryuk新变种释放的赎金票据是一个简单的简单html文件,只留下了电子邮箱地址,没有其他任何说明。
结语
鉴于Ryuk勒索软件在过去几年里取得的成功,Fortinet研究人员估计它还将继续活跃下去,并且会采取新的攻击方法和策略。因此,详尽了解Ryuk勒索软的攻击方法和策略十分重要,这将有助于我们有效地防御它。
閱讀更多 黑客視界 的文章