看我如何回懟手機黑客?黑回去!
本文中,以色列研究者通過反編譯惡意APK應用GlanceLove,向攻擊者伺服器上傳了webshell,實現了Hack Back(黑回去)。
某天晚上,我躺在沙發上,偶然看到論壇中有人披露了一個由某黑客組織專門開發的惡意安卓應用APK,這些惡意APK是如何被發現的呢?我看了一下,其實也不難,黑客用一些性感女孩的照片創建了一個假Facebook賬戶,然後就用這個賬戶在網上和一些以色列男孩(受害者)聊天,並告訴這些男孩必須要去下載安裝那個APK才能和她視頻聊天。然而,當受害者男孩們下載安裝這個APK之後,之前與他們聊天的辣妹就無故消失了。我從某則論壇中得知這個惡意APK名叫 - GlanceLove。
世界盃期間,以色列網路安全公司 ClearSky Security 曾發布報告稱,伊斯蘭恐怖組織哈馬斯試圖通過包括GlanceLove在內的約會類APP誘騙以色列國防軍安裝受惡意軟體感染的間諜軟體。另外,以色列國防軍也確認哈馬斯組織在以色列士兵的智能手機上植入了名為 GlanceLove 的間諜軟體進行信息收集,而且該APK應用曾被上傳到了Google Play商店(後已被谷歌下架刪除)。
技術分析
找到apk並下載後,我使用JDAX對其進行了反編譯。我假設它使用HTTP協議來竊取數據,所以我做的第一件事是搜索 「HTTP」 字元串。
搜索結果顯示,該APK使用了 「HttpURLConnection」 類,HttpURLconnection是基於http協議的,支持get,post,put,delete等各種請求方式。因此我非常確定其使用了一個web伺服器來收集存儲數據,但我卻沒看到它請求的這個web伺服器相關的URL字元串,所以還需繼續分析代碼。使用 「HttpURLConnection」 類的函數名稱為m7665a:
這個函數調用了兩個參數,其中str代表回調請求web伺服器的URL,bArr代表發送到web伺服器的數據。還可以看到,請求方法定義在了變數f5386b中,而請求屬性則定義在了變數f5387c 和 f5388d中:
攻擊者使用了工具ProGuard來對字元串和函數名進行了混淆,所以前述的我找不到任何URL字元串的原因就在於此。ProGuard是一個壓縮、優化和混淆Java位元組碼文件的免費的工具,它可以刪除無用的類、欄位、方法和屬性。解碼之後,可以看到,其中包含了以下信息:
接著,我檢查了有哪些函數間接調用了 「HttpURLConnection」 類函數m7665a,結果是這樣的:
經過分析,我發現,函數m7672b在函數m7489b中定義URL鏈接時調用了函數m7665a,而在m7487a函數中,在末尾它返回了包含URL鏈接的f5204o。解碼之後,該APK請求的遠程伺服器URL鏈接為:
HTTP://WWW.GLANCELOVE.COM/APPS/d/p/OP.PHP
另外,除了解碼之後看到的APK內置連接請求URL鏈接,我還發現了很多其它有用的字元串:
從以上信息中可知,我可以利用參數 devId、op、fName和data來構造一個發往攻擊控制伺服器WWW.GLANCELOVE.COM的POST請求,其中參數devId、op和fName的值都比較好猜,但是參數data我就不知道是什麼了。所以,我又從以下反編譯代碼中進行了分析:
在函數m7671a中,它利用值分別為 「CCC」、「E」 和 「D」的三個函數m7668a、m7672b 和 m7674c來創建了參數 op 的 id值。
雖然我不知道所有這些參數值代表的確切意義,但我還是嘗試著構造了一個發往WWW.GLANCELOVE.COM的POST請求,該請求Payload為:
devId=123123&op=CCC&fName=123&data=abc
該POST請求應該已經成功發送了,在響應中,除返回了payload的長度38這外,沒有其它有用信息,因此,我還得找到我具體的上傳文件路徑,這真是難找啊。經過幾次有根據的猜測,我發現了那個上傳文件的最終路徑是/apps/d/uploads/dev/123123/123。
由此方法,我接著上傳了一個webshell過去,發現這個惡意APK竟然已經控制了500多部智能手機,並且竊取超過10G的數據。
*參考來源:
asaf,clouds 編譯,轉載請註明來自 FreeBuf.COM


※「3Q」從大戰四年到互相致謝,有些事值得放下恩怨
※初識Linux滲透:從枚舉到內核利用
TAG:FreeBuf |