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限制等手段逃避安全厂商的分析。
该木马的恶意推广列表中的大部分是流氓软件,还有少数危害严重的木马程序,且待下回分析。