# “会说话的键盘”:一个恶意推广木马的详细分析

Author: 乌云历史资料库 (@wooyun_archive)
Published: 2015-11-27T04:39:00Z
Canonical: https://wepostx.com/topics/1207

> 乌云历史资料归档
>
> **原始作者：** 腾讯电脑管家
> **原始编号：** superkieran-wooyundrops:914
> **原始发布时间：** 2015-11-27 12:39
> **声明：内容仅用于技术研究和个人使用，版权归 wooyun.org。**

---

# 0x00 背景

拦截量一夜之间从零增长到20多万，通过回溯发现主要由“刚需”的色情播放器推广安装。然而分析时该软件却表现地很无辜——直接安装运行，看其功能就是为了实现按下按键播放对应的声音,几乎没有什么恶意行为。然而经测试，其功能并不完善，点击在线升级不进行任何判断就直接弹出当前已是最新版本的提示，这真的就是软件的全部功能吗？

![原文图片](/media/2016/06/a7906ec5ab1ecd880e561ddc6893ecb9)

（图1：木马拦截量呈爆发式增长）

# 0x01 样本简介

软件名称：会说话的键盘
文件名：Key_jpls_9181068.exe
MD5：40dd0aca08e51406179f61cbc382ea84
行为简介：安装时判断自身文件名，不符合规则就弹出安装向导，符合则直接静默安装，安装后在%appdata%\TsanZioxs目录下释放如下文件，并运行。

![原文图片](/media/2016/06/d38033375599c7f8347b23231d062c56)

(图2：安装后释放文件)
其中Sound目录下除了很多声音文件外，还有两个数据文件。

![原文图片](/media/2016/06/68c1d282a0786935a14750542654db5a)

（图3：Sound目录下部分文件）
运行后看着像是正常的软件，有界面、有看似正常的功能。

![原文图片](/media/2016/06/c1875e5374fcb0de9e37e9572f1f8529)

（图4：任务栏创建图标）

![原文图片](/media/2016/06/05d44db8c09289e31e564c8a8e0a8a72)

（图5：点击图标后的相关界面）

# 0x02 详细分析

## QcemTiosp.exe行为：
1、在任务栏的通知区域创建图标，并创建相关的界面进行伪装，然而软件本身并不能实现播放按键声音的功能。如果符合条件，重启机器后将不会再出现相关界面，直接在后台执行。整个木马代码中被大量加入了异常处理函数并主动抛出异常,用于干扰分析。

![原文图片](/media/2016/06/1e411eb2b6f4bea4e6f15b3f4ba6ee4d)

（图6）
2、创建线程开始木马行为：首先获取MAC地址，并使用散列算法将MAC地址计算成一个hash值，随后将其发送到udp.1qingling.com.cn:2005,为了隐蔽该通讯使用UDP协议。

![原文图片](/media/2016/06/09afc12d538eaf8bdc54f538bf1cfdb2)

（图7）

![原文图片](/media/2016/06/24040670e71f3396008dd0e0f7cc3576)

（图8）

![原文图片](/media/2016/06/7057a068175281ab893a809e15dc0ef7)

（图9）
3、接收服务器返回的数据，判断返回的相应值，如果是0x191，则不进行任何行为。

![原文图片](/media/2016/06/4b62e8b3f2d34a9cf82a0565673d0dc3)

（图10）
4、为什么只上传了MAC的hash值就会返回0x191呢？难道有黑名单？或者通过MAC判断虚拟机？然而并不是，多次测试后发现该返回值与当前的ip地址有关系，比如在对北京、深圳、成都、杭州四个城市的测试中，发现只有北京和深圳返回了0x191，看来该木马至少避开了北京和深圳的用户。

![原文图片](/media/2016/06/09d00888321977d72008ba81dd5dfa31)

（图11）
5、如果当前城市不是要屏蔽的城市，则不再装无辜，露出真面目，开始木马行为：首先创建开机自启动项长期驻扎电脑，随后将Sound目录下的Enter.bin文件映射到内存。

![原文图片](/media/2016/06/f248f711e6dbefd24a2ee2938ceae75a)

（图12）
6、经分析Enter.bin和Space.bin文件都是经过压缩的，压缩相关的参数存在文件的末尾，分别通过搜索Space和Enter关键词来定位压缩相关参数，如下图所示：

![原文图片](/media/2016/06/7be9929f9542b9fee95500468dac0adb)

（图13）

![原文图片](/media/2016/06/f7c1f7cdfc8265378fcfbd5463b30a4a)

（图14）
7、获取到相关参数后使用zlib库进行解压，该木马静态编译了zlib库，版本为1.2.3

![原文图片](/media/2016/06/551474b646e4830547f1fdbfbca00d8c)

（图15）
8、解压成功后对文件进行简单的校验，确认是PE文件后创建自身傀儡进程，将解压出的PE注入到傀儡进程中运行。

![原文图片](/media/2016/06/75f0167b1ad8bf51bef94bfa9e056a78)

（图16）

![原文图片](/media/2016/06/94130e9e5707843f1d1e47a56cd3b3f0)

（图17）

![原文图片](/media/2016/06/ee406990d4e86bd885c0a32d5a91a169)

（图18）

# 0x03 Enter.exe行为

该文件由Enter.bin解压而来不落地，MD5：1DCC1E25CF884AF7AF6EA3927CAB9D6E
1、下载http://config.1qingling.com/biz/810.xml配置文件，该配置文件经过加密，解密后内容如图19。该木马的主要功能分三块，第一是流氓推广、第二是弹窗，第三是右下角弹窗。每个功能都配置了生效时间，弹窗频率和时间等。

![原文图片](/media/2016/06/d90f7d3e67710084929c79bfad833b19)

（图19）
2、解析配置文件，根据配置文件进行下载推广行为。

![原文图片](/media/2016/06/9891cda04a3b35e60d9fb4649474cc83)

（图20）

![原文图片](/media/2016/06/b5c2b11991b55e67c98f8933d81c050d)

（图21推广的文件）
3、配置中的弹窗功能代码则不在此文件中，其以加载Enter.bin相同的方式加载Space.bin文件并在内存中加载，随后将配置文件中的参数作为命令行参数创建自身傀儡进程，将Space.bin注入执行。

![原文图片](/media/2016/06/1fe590e5b5a2bb57afebaac18b62a4da)

（图22）

![原文图片](/media/2016/06/7365f3d57f9aa03cb386f637b2403fad)

（图23）

# 0x04 Space.exe行为

该文件由Space.bin解压而来不落地，MD5：1DCC1E25CF884AF7AF6EA3927CAB9D6E
1、该文件的主要功能是从命令行参数中获取弹窗相关的参数信息，进行弹窗行为。

![原文图片](/media/2016/06/7471f9cca67f28a74e237036ee649637)

（图24）
具体弹窗行为：
1）大的弹窗广告如图25：对应配置文件中的<Right>标签

![原文图片](/media/2016/06/33dbc178aee626b6a176f257010ea7d8)

(图25)
2）右下角弹窗广告如图26：对应配置文件中的<Minimax>标签

![原文图片](/media/2016/06/d8fe910e35cbe77406428036ff375453)

（图26）

# 0x05 后记：

随着安全软件的普及，纯粹木马的生存空间越来越小，更多的木马在看似正常的软件中插入恶意代码进行伪装，除了后台的恶意代码外，其在前台还创建了相应的伪装界面，尽量把自己装得单纯无害，甚至还会通过ip限制等手段逃避安全厂商的分析。
该木马的恶意推广列表中的大部分是流氓软件，还有少数危害严重的木马程序，且待下回分析。

## Replies
