近期,360安全卫士监测到了一批通过微信群传播的远控木马,木马针对在网上倒卖微信号的人群定向投放。卖号人的交流群里时常有不同的小号在散播诱导性的木马程序,不知情的卖号人运行木马后,电脑上就被植入后门。
在分析远控木马之前,我们先来认识一下这批远控木马的目标人群——卖号人。卖号分为很多种,本文主要指的是倒卖微信号,更具体的应该是卖“微信62数据”。这里简单认识一下“微信62数据”,这个数据是微信用户登录新设备后生成的加密数据,通过导入该数据到新设备中,可以跳过新设备登录验证的步骤直接登录账号,这一串数据是以数字“62”开头,被卖号人习惯性的称为“62数据”。如下是一条卖号人提供的微信号数据,格式为“账号—密码—62数据—最后登录时间”。
众所周知,微信是个天然营销的平台,围绕在微信圈里的产业链更是举不胜举,自然就有人搞起了微信号的买卖交易。而对于账号交易至关重要的62数据,本身使用起来颇为麻烦(需要辅助工具),所以免不了有人要做一些科普性工作,网上随便找一下62数据相关。
看上去营销工作做得还可以,于是加扣扣打探一下行情,发现的确是一条产业链。
打开所谓的平台,其实是在卓郎上注册的一个“自动发卡”商户,上面提供多种不同品质需求的微信62数据账号。
后来发现,不少卖号的代理人有自己各自的渠道,如下为另一自动批发商户:
这些卖号的代理人平时还会通过微信群来进行交流。我们尝试联系某个卖号的代理人,经过沟通后发现有人专门负责在微信群里散播诱导性的远控木马程序。
有意思的是,卖号代理人一般都会使用微信电脑版来工作,正常情况下群里的木马文件自动接收后会被360识别为木马并隔离查杀,只有用户主动去找回并运行木马程序才会中招。
经了解,进这个群需要交50块RMB,有一定的门槛,目前该群已满500人,其中却有不少“混进去”的小号在散播该木马。
下面以上文提及的微信群内散播的最新样本“国内老号500个62数据.exe”为例进行分析。传播者试图以“国内老号500个62数据”之类的文件名诱导卖号人下载运行木马释放体,传播中的木马文件名和程序图标都比较有欺骗性。该木马的主要运行流程如下图所示:
木马释放体运行后主要的功能代码都在窗口Form1的活动过程函数TForm1:FormActivate里,启动后先从资源里释放一个加密的zip压缩包,保存到D盘根目录命名为:“如遇登录器打不开.txt”。该压缩包里存放了首次感染用户需要用到的所有文件,被解压到用户的图片目录(该目录将作为木马的安装目录),解压密码为“2017”。如果安装目录里事先已存在恶意程序“KGGouWo.exe”(酷狗躺枪。。。),说明不是首次运行,就直接打开一个已存在的文本文件“成功数据(127).txt”。
这里顺便提下,由于木马判断了“D:\如遇到登录器打不开.txt”这个压缩文件是否存在,所以在没有D盘的系统,木马文件会释放失败,无法继续后续行为。
看一下压缩文件解压到安装目录后文件列表。
接着,在安装目录下创建一个名为“360管家.lnk”的欺骗性快捷方式,快捷方式的目标指向了刚解压出来的一个被利用的白程序“gamecore.exe”。
“gamecore.exe”其实是酷狗官方的一个程序组件,且具有有效的数字签名。
“gamecore.exe”启动后未经校验就会直接启动同目录下的文件名为“KGGouWo.exe”的程序。木马作者通过“白加黑”的方法,对抗安全软件的拦截。
木马释放体将伪造的“360管家.lnk“的快捷方式复制到系统的启动目录下实现开机启动,具体的实现的过程比较有特点。
首先,构造一个特殊的命令行如下:
C:\Documents andSettings\Administrator\My Documents\My Pictures\baidu.com execmd copy"C:\Documents and Settings\Administrator\My Documents\My Pictures\360管家.lnk" "C:\Documents andSettings\Administrator\「开始」菜单\程序\启动\360管家.lnk"
从该命令行可以看出,调用的程序为安装目录下的“baidu.com”这个程序,该程序实际上是个NirCmd命令行工具。
命令行给该工具传递“execmd copy”命令来把“360管家.link”快捷方式拷贝到开始菜单里的启动目录,由此实现自启动的目的。在xp环境下“baidu.com”的程序路径包含空格且作者未使用双引号包含(发现此处是木马的bug,在win7以上环境能正常运行命令行),命令行被截断将导致后续执行失败如下:
然后,木马释放体将构造好的命令复制到系统剪贴板里。
最后,木马释放体启动同目录下的“Spy++.exe”来运行剪贴板里的命令。 “spy++.exe”通过调用“baidu.com”命令行工具来模拟键盘操作,首先是发送“Win+R”快捷键来打开windows运行窗口,接着使用“Ctrl+V”快捷键粘贴事先复制好的命令行,然后马上就按回车键执行,从而实现运行剪贴板里命令行的操作,并且最后为了不引起用户的怀疑,还调用CMD命令删除运行记录。
添加开机启动之后,木马释放体会直接运行“360管家.lnk“,通过白程序“gamecore.exe”启动恶意程序”KuGouWo.exe”。之后,木马释放体打开一个“成功数据(127).txt”来迷惑中招用户。
“成功数据(127).txt”内容如下所示,可以看到是一些微信账号和62数据。
KGGouWo.exe的图标伪装成私服的样式,实际上是个远控木马,当运行在非安装目录时,会显示传奇游戏的图片,来欺骗用户。
当程序运行在安装目录(“My Pictures”,即用户图片目录)时,才会触发远控流程。
远控流程需要的一些API函数是在程序窗体初始化的时候准备好的。具体过程是拼接所需API函数的字符串后,调用“LoadLibraryA”和“GetProcAddress”获得。
程序进入远控流程后,会先连接远程控制端服务器,地址为:“27.54.*.211:8100”,连接协议使用TCP连接。
连接远程服务器后,注册WM_Socket消息,绑定窗口消息处理函数来接收远程可读消息,消息码为0x1400。
然后收集用户系统信息准备进行上线,收集的信息包括用户名、主机名、系统版本、硬件信息、语言地区、文档路径等,并使用“|”连接,之后将数据进行压缩后再发送给控制服务器进行上线请求。
压缩后封包的格式为“长度|压缩数据”,接收的控制端数据也采用类似的格式。
接着进入处理0x1400号消息的流程,当判断有可读数据时就接收远程控制数据后开始进入控制流程。
进入控制流程后,经过一系列的长度检查和数据解析之后,得到控制命令字符串。对于新上线的中招机器,服务器会返回一个“Ping”命令字符串,该命令串随后会被用来与木马程序里定义的一系列控制命令作比较,如果相同则执行相应的命令操作,如下图的“shenhua”即比较的第一个命令串。
命令列表里没有“Ping”命令,因而程序会跳出控制流程,进入默认的一个发送心跳包的流程,发送的数据为“Idle”。
心跳包每隔10秒钟就会发送一次,用于向控制服务器证明远控木马一直处于上线状态。
木马上线后,除了持续发送心跳包外就是等待接收控制端的命令了,然后又回到上述的控制流程,遍历命令列表执行相应的控制命令,命令列表及对应功能如下表所示:
远控木马该有的功能都不少。下面看几个常见的功能实现,首先是截屏,核心还是创建屏幕位图。
清除系统日志,可以看到清除了包括安全事件、DNS事件等多个系统关键日志。
键盘记录功能包含“Start”和“Stop”两个开关指令,当开启记录功能时除了设置键盘钩子外还启动了一个辅助程序“mir.exe”。
键盘记录关键的功能在钩子回调里实现,主要记录受害用户的键盘操作,分为可见字符输入、空格和其他特殊字符,同时还额外记录了用户剪贴板、当前窗口标题等内容。
关机、注销系统、重启。
开启远程shell是通过创建两个匿名管道来设置cmd进程启动参数的输入输出,同时cmd窗口属性设置为隐藏。
下面是此类远控木马最近一个月在全国各地区的传播情况分布图,其中广东省为重灾区,占比高达20%以上。
目前微信是常用的交流工具,不少用户在电脑上也安装了微信,因而微信被传统的PC木马作者盯上作为木马的传播途径。而五花八门微信群中人员复杂,木马作者很容易隐藏自己并将木马伪装成用户感兴趣的内容来传播。请广大用户不要随意点开来历不明的陌生链接或文件,及时用安全工具扫描查杀可疑文件,避免给不法分子可乘之机。
*本文作者:360安全卫士,转载请注明来自 FreeBuf.COM