近日,小明有了一樁煩心事,擾的他寢食難安。原來是女神的某安卓手機出了怪病,短信收不到,發出去別人也收不到,更可氣的是女神用來準備網購的錢都被神秘刷走。當女神滿心焦躁翻遍通訊錄時,驀然發現了小明的備注:千斤頂17號-電腦、刷機。于是在女神可憐巴巴大眼睛的注視下,小明把胸脯拍的山響,承諾一天搞定。
于是,小明拿到了夢寐以求的女神手機。可沒想到,后面發生的事讓他始料未及。
拿到手機的第一件事,就是找到收不到短信的原因。翻了翻系統短信設置和APP,裝的東西都很正常,沒有發現可疑的空白圖標,用軟件管理工具查看,也沒有發現可疑的跡象。于是小明從系統程序開始排查,果不然,在打開“谷歌商店”時,發現了狐貍尾巴。
如下圖所示,第一,在未聯網時點擊這種APP會提示“手機無法聯網”。
第二,在聯網時點擊這種APP會提示一大堆權限要求和出現“網絡正常”提示
看到這,小明笑了,這不就是最正火的短信攔截馬嘛。于是果斷把手機通過豌豆莢導出目標APK文件包。如圖所示
看著桌面上不到100KB的短信馬,小明默默的系上了圍裙(安卓虛擬環境),找出了手術刀(反編譯工具dex2jar+Xjad),把馬兒按到在解剖臺(Eclipse)上。
首先,小明把APK文件解壓,然后找到關鍵的classes.dex文件。他是APK文件的java源碼編譯文件。
然后把classes.dex?拷貝到dex2jar目錄下,然后cmd進入dex2jar目錄后再輸入:dex2jar.bat?classes.dex?回車,同目錄下就得到我們想要的源碼包:classes_dex2jar.jar
再請出我們的jar反編譯Xjad,點擊文件-反編譯jar-選擇上把生成的jar文件,就會反編譯成源碼文件夾。
到這一步,我們的牛算是初步分解成功了,下面就是如何找出我們要的菲力牛排~
反編譯后分析出木馬和后臺交互是通過調用c#的WebService協議,而且菊花的IP是加密的,調用代碼圖如下:?
直接把加密代碼,按圖索驥找到加密函數后,反編譯過來發現如下:
運行后,直接爆到服務器端的地址http://103.X.X.X/priv1/baseservice.asmx
至此,找準了菊花的所在。下面開始研究爆菊啦
既然找到后臺地址了,下面怎么來拿下這后臺,這是頭疼的問題,用工具掃描了下沒發現什么漏洞,本人能力有限。看樣子只能從站點下手了,重新整理下思路,把http://103.X.X.X/priv1/baseservice.asmx輸入到瀏覽器發現
有這么幾個方法,既然有方法可以我直接用下,打開程序引用了WebService?代碼如下:
本來想試試XSS?,用AddCall方法插入到數據庫,代碼如下
調用了下發現報錯
無語了,既然有SQL?注入,下面我們來說下這WebService?SQL?注入。
挑選了一個獲取方法getOrders?,調用的時候把參數加了一個單引號提示MYSQL錯誤,這注入點也太多了吧
以下就改造了查詢語句
返回了XML:
<?xml version="1.0" encoding="UTF-8"?><RootJob><Job><Type>9</Type><Content>3</Content><Phone>2</Phone><JobID>1</JobID></Job></RootJob>
這個一看就知道了,下面的步驟就不詳細寫,是root注入。
寫入一句話,目標是IIS,我也沒找到目錄程序目錄,直接試了C:Inetpubwwwroot 寫了一個Aspx馬上去了,在瀏覽器上訪問成功了。
基本上完成了,剩下的就是提權了,在一個朋友的幫助下提權成功。
這時已經通過mysql拿到了服務器的權限,查看注冊表發現端口是55555,服務器版本為2003R2,加了個用戶就進去看看。
東西不復雜,IIS+mysql+C#的WebService
把mysql做了個遠程,本地連上看看。一看之下,這個團伙通過短信馬監控到被害者的內容令小明大吃一驚。
在SO這個庫里,小明發現N多受害人的信息,包括大額的銀行轉賬提示。如果這種短信被攔截的話,那后果可想而知。
但凡一個行業必須是有利可圖的,小明既然發掘到了源頭,就逆流而上,去深挖一下,安卓短信攔截馬的整個產業鏈條。
說干就干,小明在電腦上輸入短信攔截馬、短信馬?出售等相關關鍵詞,發現有很多人在發布相關的需求。
而是各種地下論壇里,很多相關求馬的帖子。
他們買來主要就是為了詐騙。
或冒充熟人詐騙,或為了誘騙網銀,或為了某些不可告人的秘密勾當。
隨機找了個例子。
小明通過對代碼的分析,發現短信馬的運行方式是這樣的。
一旦安裝了木馬的手機,并授權給木馬后,木馬會立刻上傳受害手機的通訊錄。該手機的所有短信來往都會發給指定的手機號,而且該手機號可以使用代碼,來指揮木馬進行偽造短信。從而實施詐騙的目的