2016年5月11日 星期三

[反組譯工具]超好用的APK反組譯工具-BytecodeViewer

簡介
自APP開發興起後,Android APP的反組譯(decompile)領域逐漸開始是被關注的領域。因APP初期保護機制的不完善以及惡意程式的興起(例:詐騙簡訊.apk)後,逆向工程的領域一直是電腦技術人員專精研究的部份。

  • 駭客可藉由破解正常的apk程式後,偽冒正常的apk程式騙取使用者個資,以達到竊取的目的。
  • 資安人員可藉由分析駭客撰寫的惡意apk,來瞭解惡意程式主要的目的與行為模式。

初期在分析apk的過程中,一般分析人員大多使用下列的工具作分析與操作過程

  • 更改apk副檔案為壓縮檔案(rar)
  • 解壓縮(rar)檔案後,取出classes.dex
  • 利用smali工具作AndroidManifest.xml的反組譯來還原並讀取apk的權限功能
  • 使用dex2jar與jd-gui搭配,讀取apk撰寫的java code

而這樣的反組譯(decompile)的過程與工具的使用,往往需要具備有cmd指令與基礎工具操作經驗的人員作分析,使得有興趣研究的初學者學習上面臨到困難而容易放棄。

若用於其他線上反組譯分析工具,也會將apk上傳至遠端主機上的安全疑慮。那有沒有最簡單的分析工具而且又可以在本機上執行的呢?

本文推薦BytecodeViewer作為apk decompile工具,因BytecodeViewer在操作過程中,相當好用,該軟體把常用的decompile工具打包起來,並將之圖形化。分析人員只要會作基本的操作後,再讀取程式碼內容即可。

BytecodeViewer官方軟體下載:http://bytecodeviewer.com/

BytecodeViewer軟體操作過程

BytecodeViewer下載並解壓縮完成後,點擊BytecodeViewer應用程式

BytecodeViewer開啟後的初始畫面

BytecodeViewer匯入apk檔案時,操作過程 file>add

apk檔案匯入完成後,在file視窗中,會呈現已經反組譯完成的檔案階層式架構

在file視窗中,點選Decoded Resources功能選單,即可快速找到android開發所設定的相關權限功能AndroidManifest.xml。

進一步點擊BytecodeViewer所含的功能視窗後,可以直接拆開原本程式撰寫人員的java code,因此作分析時是相當好用的。但若apk已有設定程式保護機制(混淆)的話,則反組譯出來的結果仍會有部份的不完全。

結論
BytecodeViewer是一個相當便利的反組譯工具,分析人員免除傳統使用不同的工具逐一拆解程式,而可以快速有效率的完成解析的動作,剩下便是分析各類型的java代碼來找出惡意apk的行為模式,可謂是方便有效的工具。

本文章連結:http://linjsian.blogspot.tw/2016/05/decompile-apk-bytecodeviewer.html
本文歡迎轉載,請注明出處

[日誌分析]從日誌分析了解webshell攻擊手法


簡介
網站遭受駭客攻擊的次數屢創新高,尤其是含有使用者個資或消費明細的電子商務網站更是駭客眼中的肥羊,因為這類型的網站大多以行銷購物為目的,資安機制並不完善,且內含有眾多消費者個資,導致駭客屢次攻擊成功後,竊取大量被害民眾的個資,且業者仍渾然不自覺。

因此,從管理日誌檔案機制與分析面的角度,企業應該導入日誌檔案備份、分析等相關的軟體與人力配置,以便網站問題發生時,才能有效找出癥結點進行排除,以防下次再度遭受駭客攻擊。

分析過程
本例以受害網站的日誌檔案作實務分析,以供了解駭客入侵的過程與手法。

  • 分析軟體:Log Parser Lizard
  • 分析方式:以SQL語法查詢網站日誌檔案,以祈找出被駭客攻擊的特徵模式。
  • 分析要點:以OWASP TOP10攻擊模式為主要篩選條件。

資料隱碼攻擊(SQL injection)
根據OWASP TOP10報告指出,資料隱碼攻擊(SQL injection)一直是高風險且常見的漏洞。因此,在日誌檔案的分析中,先以SQL injection攻擊樣態作分析要點。

使用Log Parser Lizard進行分析
1.資料匯入
在查詢框中,我們先針對SQL injection輸入篩選的條件式後執行。

2.找到異常部分
找到符合條件的結果,但發現有內部錯誤(500)的情況,若為內部IP所造成的,有可能是因為程式的問題而導致,但找出來源IP則發現是外部IP,因為推斷為外部IP攻擊而造成內部資料庫錯誤的情況,列為重大疑點之紀錄。

3.確認網站入侵點
進一步分析外部IP整體的攻擊過程,發現網路某個頁面一直被攻擊利用,應是「遭攻擊注入點」所在。接下來查看一下惡意字串的代碼為何、以及伺服器成功回應的數值(200)。
這表示,駭客已經攻擊成功,而伺服器都會正常回應駭客的任何請求,換言之,此時駭客取得管理者權限(administrator)。

我們試著找出駭客攻擊的過程,並試圖還原駭客攻擊成功後所操作的一切。可以看出在特定的頁面下,駭客已偷偷植入了一個webshell後,該webshell又提供檔案上傳的功能,此時駭客可以把更多的惡意程式透過webshell頁面,一直上傳至被害網站的頁面中。

檢視駭客所創造的webshell頁面,發現疑似在測試用的資料夾名稱「test」。

點入test資料夾後,發現一個字串與日誌檔案分析紀錄中,雷同的字串代碼,因此可以推斷駭客整體攻擊流程並與日誌檔案紀錄作一個吻合的比對。

結論
由於網站業者對於防範資安機制的不足,使得網路攻擊事件發生後,遭受駭客入侵竊取個資的成功率逐漸提高,使得被害人數升高,我們也可以從警政署防詐騙165網站上了解,電商平台的網站一直是駭客所鎖定的主要目標,也使得民眾一直遭受詐騙。

凡是有在網站有提供消費並搜集民眾個資的平台,應該慎重把關消費者的個資,以避免網站遭駭客入侵後,倒楣的民眾去承擔遭受詐騙集團的風險。

本文歡迎轉載,請註明出處