近日,安全专家截获全新勒索病毒Ouroboros,此勒索病毒在加密文件完成后会添加.[ID=十位随机字符][[email protected]].Lazarus的后缀,亚信安全将其命名为Ransom.Win32.OUROBOROS.SM。随着深入的分析,安全专家发现了黑客使用的FTP服务器,服务器上还存有Ouroboros勒索病毒变种文件,安全专家推测该勒索病毒目前正处在持续更新中,亚信安全将会持续关注该勒索病毒的动态。
勒索病毒Ouroboros详细分析
安全专家分析发现,该勒索病毒源文件并未加壳:
使用IDA打开此文件,加载符号文件时发现病毒作者编译程序留下的符号文件位置,以此确定此勒索病毒为Ouroboros:
初步分析,该勒索病毒中有大量的反调试函数,或者通过函数中包含return函数的形式增加病毒分析难度:
进入到程序关键函数,该勒索病毒会调用PowerShell程序,通过vssadmin delete shadows /all /y命令删除卷影副本:
然后加载病毒中需要的信息,如邮箱信息,生成ID:
在地址40A000的位置,安全专家发现勒索病毒会进行进程遍历,关闭与数据库相关的进程:
该病毒使用了SFML(Simple and Fast Multimedia Library)网站的一个资源:http[:]//www[.]sfml-dev[.]org/ip-provider.php
访问此网址后,可以获取到访问者的公网IP地址(图中红框位置为get请求包内容):
然而在此勒索病毒中,此网站成了用来获取受害者IP的工具(为了正常分析,我在本地搭建了一个web,通过hosts将sfml-dev[.]org指向本地,图中地址为本地web环境伪造的响应地址):
该病毒会尝试建立与主机176.31.68.30的连接,等到程序收集了IP、ID、磁盘使用情况和key的信息后,一并发送给主机176.31.68.30,并且等待返回包。
该病毒不会在主线程中直接进行加密操作,而是将加密逻辑的函数地址作为参数传递给新创建的线程,新线程中获取到对应参数,再进行跳转执行。加密逻辑会遍历磁盘上的文件夹,检查是否是Windows目录以及文件名中是否包含eScan、!qhlogs、info.txt字符,如果符合条件,避免对这些文件或者目录下的文件进行加密操作
否则其会读取文件内容,开始在内存中对文件内容进行加密:
文件内容加密完成后,其会创建以下后缀的文件:[ID=十位随机字符串][[email protected]].Lazarus
然后,其将加密内容写入创建的带后缀的文件中,随后删除未被加密的源文件:
完成勒索后,释放勒索信息的文件Read-Me-Now.txt,文件内容如下:
普通勒索病毒到这里可能就已经完成了所有逻辑,但是安全专家做了静态分析后发现,此病毒还会触发ftp连接的操作,从176.31.68.30的ftp上下载名为uiapp.exe的文件到本地C:\ProgramData\uiapp.exe,此后,启动新的进程来执行此文件:
安全专家对下载的Uiapp.exe文件进行了简单的分析,发现此程序没有明显的恶意行为,仅仅只是为了更加醒目的显示勒索信息:
双击执行后,桌面会弹出如下的勒索信息界面:
安全专家还在176.31.68.30的ftp中发现了另一个exe文件:crypt.exe(该文件被检测为Ransom.Win32.OUROBOROS.AA),依据文件名安全专家怀疑该文件是此次勒索病毒最初的来源,所以将crypt.exe文件和安全专家截获的勒索病毒做了hash对比,发现并不一致:
但是经过进一步的分析发现,两者代码块中的内容几乎一致,仅仅只是编译时间上的不同,crypt.exe的文件编译时间较新,据此安全专家怀疑Ouroboros勒索病毒正在持续更新中,未来会密切关注。