近期,“火绒威胁情报系统”截获到一款名为HellohaoOCR_V3.1的图像识别程序携带后门病毒Gh0st,推测正通过供应链污染的方式进行传播。用户运行该程序后,就会激活后门病毒。病毒可以接受远程服务器指令,执行下载其它病毒、提升权限、删除日志等恶意行为。更为关键的是,由于大量的下载站和技术类论坛(如下图)提供该程序的下载,导致病毒正在被进一步扩散。
建议近期在上述下载站和论坛下载过该程序的用户及时排查是否感染病毒。火绒用户无需担心,火绒安全软件无需升级即可查杀该病毒。
随后,火绒工程师找到并联系了该程序的作者,得知其使用了第三方的易语言模块进行编程,但对程序带毒并不知情。结合分析结果,火绒工程师推测为易语言模块遭供应链污染导致。最终,经过溯源取证,火绒工程师基本确认了该后门病毒的作者以及作案手法:通过易语言外挂交流群等平台散播含有后门的病毒模块,以感染编译环境的方式达到供应链污染的目的。(详情见分析报告部分)
火绒工程师表示,与此次作案手法类似的还有去年的“微信支付”勒索病毒。供应链污染一直都是病毒传播的一大手段,而下载站也逐渐成为了病毒分发的主要平台,火绒对相关供应链污染与下载站传播各类病毒曾进行多次披露。在此,我们再一次呼吁,广大开发人员在使用第三方模块时,尽量通过正规渠道获取,并及时检查其安全性;各大下载站管理人员对上传文件加强审核,阻止病毒传播,为用户共同营造良好的网络环境。
附:【分析报告】
一、 样本分析
近期火绒接到用户反馈,一款名为HellohaoOCR_V3.1的图像识别程序会被火绒报毒。经过分析,我们发现该图像识别程序中带有Gh0st后门病毒,根据后续溯源分析推测该后门病毒是通过供应链污染的方式进行传播。由于该带毒程序后续被上传到了多个下载站和论坛,从而造成了该后门病毒在互联网中的进一步扩散。受该病毒影响的站点,如下图所示:
受到该病毒影响的下载站列表
带毒程序下载页面,如下图所示:
带毒程序下载页面
HellohaoOCR_V3.1.exe软件采用VMProtect加壳处理,运行之后会将自身所包含的后门病毒模块释放到内存并保存在“C:\Windows\SysWOW64\Scvhost.exe”中,由于Windows XP及以下系统不存在“C:\Windows\SysWOW64\”文件夹,运行软件后无法释放病毒模块,所以不会受此病毒程序的影响。如下图所示:
病毒文件释放路径
病毒文件内存数据
病毒文件所在文件夹
Gh0st是一款远程控制软件,由于其源代码早已在互联网上公开,导致了大量以Gh0st源码为基础的后门病毒不断传播,且变种繁多。Scvhost.exe其实也为Gh0st后门病毒的一个变种,它不仅采用了传统的C&C服务器接收上线消息通知的方式,并且通过QQ的一个公开接口“http://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=qq_number”来获取加密之后的其他C&C服务器地址和端口,这样它就可以随意变换服务端地址,不用担心服务器地址被拉杀软黑,来达到持久化控制的效果。在网上找了一款类似的远程控制软件,其生成客户端的配置界面如下图所示:
可以通过QQ上线方式的远控配置界面
后门病毒运行起来之后,首先会创建线程来接收C&C服务器返回数据和发送上线数据包,并创建全局互斥体来保证自己唯一运行,然后通过第三方网站“ip.cn”来获取真实的C&C服务器地址,确保获取到的C&C服务器地址不会受到当前网络环境影响(比如DNS劫持)。
通过第三方网站“ip.cn”来获取真实的C&C服务器地址相关代码如下图所示:
第三方站点查询真实IP
然后病毒程序会尝试连接C&C服务器地址,如果连接成功,则会创建一个线程来接受并解密远程服务器返回的数据。连接C&C服务器相关代码如下图所示:
连接C&C服务器
创建线程接收返回数据相关代码如下图所示:
创建线程接收返回数据
接收并解密C&C服务器返回数据相关代码如下图所示:
接收并解密C&C服务器返回数据
解密数据的算法并不复杂,将返回的数据按字节先与0x7A相减,在与0x19异或,解密数据部分代码如下图所示:
解密C&C服务器返回数据
接着病毒程序开始收集系统数据来构造上线包信息,除了常见的系统信息之外,例如:网络连接方式、系统版本信息、内存使用状态、磁盘信息、磁盘容量、时间信息等,还会收集当前系统的QQ号和杀软信息。收集常见系统信息代码部分如下图所示:
收集常见系统信息
通过QQ程序的一个窗体类名为“CTXOPConntion_Class”来获取遍历窗体,从而获得当前系统登录的QQ号信息,相关代码如下图所示:
获取当前系统登录的QQ号信息
检测系统杀软信息,相关代码如下图所示:
此外,在将要发送的上线包信息中,还发现了一个可疑QQ号“24******87”,这个在下面的溯源分析中会具体说明,相关代码如下图所示:
发现可疑QQ号相关代码
收集完所需的系统信息之后,开始拼接上线包数据信息,并加密发送给C&C服务器,未加密的明文上线数据包信息如下图所示:
未加密的明文上线数据包信息
加密数据所采用的算法与解密接收数据的算法正好相反,将发送的数据按字节先与0x19异或,在与0x7A相加,这样就得到了最终所需发送的加密数据。加密数据算法相关代码如下图所示:
加密数据算法
加密之后的上线数据包信息如下图所示:
加密之后的上线数据包信息
若发送失败则会不断尝试再次发送,最大发送次数为16次,相关代码如下图所示:
发送上线包相关代码
如果发送16次之后还是返回失败,则开始启用QQ上线的方式,来获取其他的C&C服务器地址和端口,QQ上线相关代码如下图所示:
QQ上线相关代码
远控木马所使用的QQ上线方式就是通过对接口网址“http://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=qq_number”的访问,能够得到自己可控的返回数据QQ昵称,从而任意改变C&C服务器地址。此次病毒程序所使用的QQ号为“23******32”,浏览器访问测试效果如下图所示:
浏览器访问QQ接口
接着病毒程序通过对返回的数据匹配查找,得到QQ昵称,相关代码如下图所示:
查找QQ昵称
得到QQ昵称后,对昵称进行解密操作,由于解密时先对昵称进行减去6个字节的操作,但是此病毒当前所关联的QQ昵称“周末”只有4个字节大小,所以导致了解密失败,这也就是程序为什么运行崩溃的原因了,相关代码如下图所示:
程序崩溃相关代码
虽然病毒程序由于QQ昵称不符合解密算法的关系导致运行崩溃,不排除将来作者更改“23******32”QQ号的昵称来再次进行远程控制,运行崩溃如下图所示:
程序崩溃
解密QQ昵称获取C&C服务器地址和端口的相关算法如下图所示:
解密所使用的密码表
解密逻辑相关代码
通过QQ昵称解密出新的C&C服务器地址和端口之后,则会继续进行上文所述逻辑,解密C&C服务器返回数据,发送上线数据包。由于此类后门病毒已在网上流传很久,并不新颖,功能部分与其他Gh0st变种后门病毒大致相同。部分功能相关代码如下图所示:
病毒程序部分功能相关代码
二、 溯源分析
此次最初的样本来源是在“吾爱破解”论坛上一款图像识别软件,被火绒报毒,原贴地址:“https://www.52pojie.cn/thread-983758-1-1.html“(现已删除),将软件下载下来分析之后发现确实含有后门病毒,作者原贴内容如下:
作者原贴内容
由于作者使用的是易语言开发环境,此前也发生过易语言模块供应链污染导致病毒传播事件,所以暂且无法断定此后门病毒是作者故意为之还是系统编译环境被污染。之后与软件作者取得了直接联系,他表示自己在开发环境的时候确实使用了一个第三方易语言模块,模块是通过一个易语言外挂交流群下载的。征得作者同意,可以公开聊天记录,聊天记录如下图所示:
与软件作者聊天记录
根据作者给出的提示信息,再结合病毒程序QQ上线接口所连接的QQ号(23******32)头像信息提示,可以大致确定后门病毒作者平时也会从事外挂制作,此QQ相关信息截图如下。
QQ相关信息截图
由于QQ上线所使用的QQ号是个小号,没有搜索到更多的相关信息。但是,在病毒程序发送上线包的时候,上线包数据中包含一个前文提到的可疑QQ号(24******87),然后利用搜索引擎查询此QQ号,发现此QQ号曾在远控论坛有过发帖求助记录,如下图所示:
搜索结果
观察后发现此人在不同论坛发帖都喜欢用“s**j”用户名,日期集中在3月份左右。据此,接着往下搜索,发现他在某论坛上曾有如下发帖和回复记录:
发帖纪录
回复记录
下载此人论坛主题中所上传的“北斗星2019最新免杀远程系统(精品)”软件,打开测试后发现,确实也存在着QQ上线这种远控模式,如下图所示:
远控配置界面
接着发现,此QQ号的空间说说存在DNF外挂制作方面的记录,这与病毒程序上线所用的QQ号(23******32)头像信息提示相吻合,如下图所示:
空间说说记录
空间说说记录
空间说说记录
QQ空间也提供了自己的微信号,如下图所示:
空间说说记录
根据微信号中的手机号码,查到归属地为重庆,这也与病毒程序上线所用的QQ号(23******32)归属地一致,如下图所示:
手机号码归属地查询
至此,基本可以确定此次后门病毒真正作者是QQ号为24******87的这个人,所在地为重庆,平时会从事DNF外挂制作与传播,从2019年3月左右开始接触学习后门远控免杀。此后,疑似通过易语言外挂交流群等平台散播含有后门的病毒模块,以感染编译环境的方式达到供应链污染的目的。以后,大家在编写程序时,一定要注意谨慎下载第三方模块组件,时刻保持安全意识,为自己,也为他人带来和谐安全的网络环境。
后门作者个人信息:
姓名:赵**
居住地:重庆
手机号:176******57
微信号:qq176******57
QQ号:24******87(常用)
QQ号:31******08(小号)
QQ号:28******53(小号)
QQ号:23******32(小号)
三、 附录
文件hash:
C&C服务器地址:
103.210.239.90
声明:本文来自火绒安全实验室,版权归作者所有。文章内容仅代表作者独立观点,不代表士冗科技立场,转载目的在于传递更多信息。如有侵权,请联系 service@expshell.com。