0x00 背景


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

(图1:木马拦截量呈爆发式增长)

0x01 样本简介


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

(图2:安装后释放文件)

其中Sound目录下除了很多声音文件外,还有两个数据文件。

(图3:Sound目录下部分文件)

运行后看着像是正常的软件,有界面、有看似正常的功能。

(图4:任务栏创建图标)

(图5:点击图标后的相关界面)

0x02 详细分析


QcemTiosp.exe行为:

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

(图6)

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

(图7)

(图8)

(图9)

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

(图10)

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

(图11)

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

(图12)

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

(图13)

(图14)

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

(图15)

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

(图16)

(图17)

(图18)

0x03 Enter.exe行为


该文件由Enter.bin解压而来不落地,MD5:1DCC1E25CF884AF7AF6EA3927CAB9D6E

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

(图19)

2、解析配置文件,根据配置文件进行下载推广行为。

(图20)

(图21推广的文件)

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

(图22)

(图23)

0x04 Space.exe行为


该文件由Space.bin解压而来不落地,MD5:1DCC1E25CF884AF7AF6EA3927CAB9D6E

1、该文件的主要功能是从命令行参数中获取弹窗相关的参数信息,进行弹窗行为。

(图24)

具体弹窗行为:

1)大的弹窗广告如图25:对应配置文件中的<Right>标签

(图25)

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

(图26)

0x05 后记:


随着安全软件的普及,纯粹木马的生存空间越来越小,更多的木马在看似正常的软件中插入恶意代码进行伪装,除了后台的恶意代码外,其在前台还创建了相应的伪装界面,尽量把自己装得单纯无害,甚至还会通过ip限制等手段逃避安全厂商的分析。

该木马的恶意推广列表中的大部分是流氓软件,还有少数危害严重的木马程序,且待下回分析。