近日哈勃分析系统截获了一批新型窃听木马 “窃听狂魔”, 该木马通常在打包后jar的Java Applet应用程序中,通过网页进行传播。
该木马的主要功能是最大限度的窃取用户电脑上的信息,包括各种浏览器保存的账号密码,邮件,视频,各类语音交互软件的音频内容等。窃听信息种类之多, 覆盖的应用程序范围之广,都是之前较为少见的。
木马是打包成jar的Java Applet应用程序,Applet必须运行于特定的容器中,这个容器可以是浏览器本身,所以木马通过嵌入到html网页中,即可进行传播。
通过判断当前系统是windows还是mac, 选择释放不同的可执行文件。Jar包中携带的win既是PE文件。
Jar包中的win文件,重命名成payload.exe释放到了临时目录中。payload.exe运行后,释放了pe文件IZsROY7X.-MP, 此文件是一个dll, 是木马的核心文件。随后将IZsROY7X.-MP文件加载到自己的内存中,调用WriteProcessMemory将IZsROY7X.-MP的数据写入到了explore.exe 中。多次写入后,通过创建远程线程的方式,恶意代码在explore.exe的线程中开始运行。从下图看到,explore.exe调用CreateProcessAPI函数启动了rundll32。
C:/WINDOWS/System32/rundll32.exe "C:/DOCUME~/ADMINI~1/LOCALS~1/jlc3V7we/IZsROY7X.-MP",F1dd208
下面详细分析IZsROY7X.-MP这个核心dll:
在 IZs ROY7X.-MP导出函数F1dd208中。 F1dd 208函数中会对一些杀软的驱动文件进行搜索,如果存在指定 的驱动文件,则会退出进程。这里的 klif.sys 和 kl1.sys 是卡巴斯基的驱动。除此之外,还检查了Avira, Como do 等厂商的驱动 。
上图可以看到,木马会利用加密函数,将字符串或者Windows API的地址进行加密。这样增加了逆向时的难度。
IZsROY7X.-MP最主要的功能是窃取用户的信息, 并将信息保存在日志中,最后通过http发送给服务器。下图展示了木马所窃取的信息类别。可以看到,木马尽其所能窃取一切能窃取的,除了常见的键盘、屏幕、上网账号等,还有VOIP语音信息等 。
下面对几个比较关键的功能,进行简要的分析。
键盘日志
木马获取到键盘的输入后,进行了一系列的判断与处理,随后将信息存入到了日志文件中。
屏幕截图功能
WiFi信息
木马调用WlanEnumInterfaces API , 遍历 当前 周围的 wifi , 把 wifi 的 ssid , bssid ,信号强度等信息存入到日志文件。
获取剪切板内容
通过调用OpenClipboard , GetClipboardData 等一系列 API,获取剪切板的内容。
摄像头,邮件信息的获取,都是通过注册 com 组件来完成。
获取密码
木马从主流浏览器中,获取用户上网时保存的网站账号和密码。
根据不同的浏览器,采用不同的方式来窃取信息,以 chrome 为例, chrome 将用户的账号和密码存储在了 sqlite 数据库中, 木马通过 sql 语句来获取信息。
硬件信息的获取,是通过读取了注册表来完成的。
VOIP语音通话内容获取
木马针对不同的语音应用,保存并解析了用户的语音通话内容。
社交信息的获取
木马会主动向facebook 等主流社交网站发送请求, 然后解析响应值 获取用户 id ,进而又查询了 First_degree.php来获取用户的 好友列表。
以上是关于键盘,屏幕,浏览器等信息的窃取工作,木马还会对宿主的虚拟机进行感染。
虚拟机感染
木马会查找虚拟机的配置文件 preferences.ini ,打开文件后查找后缀 为.vmx 的文件 路径。 V mx文件中保存着虚拟机镜像文件的路径地址,查找 vmx 文件,可以找到镜像文件 vmdk 的地址。
vixDiskMountServer.exe是虚拟机中用来挂载vmdk镜像的工具,木马通过查找注册表中的路径,找到vixDiskMountServer.exe,将vmdk重新进行挂载。
最后将木马打包进 vmd k 镜像 中, 完成了对虚拟机的感染。
最后,木马利用网络,将用户信息日志发送给了线上的服务器。同时,木马修改了注册表启动项,完成开机自启的功能。
不难看出,木马是通过嵌入在 html 的 Applet来传播的,传播方式更为简洁。针对不同的系统,会释放不同的可执行文件,传播广度也更大。
对windows 系统而言, 常见的用户信息被窃取后,对用户的隐私和财产来说都是严重的威胁。
*本文作者:腾讯电脑管家, 转载须注明来自FreeBuf黑客与极客(FreeBuf.COM)