Androwarn:一款針對Android端惡意軟體的全功能靜態程式碼分析工具
Androwarn介紹
Androwarn是一款專為Android端應用程式設計的安全分析工具,該功能的主要功能是檢測並提醒使用者Android應用程式中潛在的惡意行為。
在androguard庫的幫助下,Androwarn可以通過對目標應用程式的Dalvik位元組碼和Smali程式碼進行靜態分析,來判斷目標應用程式中潛在的惡意行為。分析完成之後,工具會自動生成分析報告,報告中的技術細節劃分,取決於使用者的設定引數。
功能介紹
1、 針對不同型別惡意行為的位元組碼和資料流結構進行分析:
a) 電話識別符號提取:IMEI, IMSI, MCC, MNC, LAC和CID等等; b) 裝置設定提取:軟體版本、使用統計、系統設定和操作日誌等等; c) 地理位置資訊:GPS/WiFi地理定位資料; d) 連線介面資訊提取:WiFi憑證、藍芽MAC地址等; e) 電話服務濫用:SMS簡訊傳送、電話呼叫; f) 音訊/視訊流攔截:電話錄音、視訊捕捉; g) 遠端連線建立:開啟套接字會話、藍芽配對、APN設定編輯; h) PIM資料包提取:通訊錄、日曆、SMS簡訊、電子郵件和剪貼簿等; i) 外部記憶體操作:訪問SD卡檔案; j) 任意程式碼執行:執行JNI、UNIX等原生程式碼,實現提權; k) 拒絕服務:事件通知、檔案刪除、程序終止、禁用虛擬鍵盤、關機/重啟;
2、 根據技術細節等級生成分析報告:
a) 新手建議使用:(-v 1) b) 高階:(-v 2) c) 專家:(-v 3)
3、 根據使用者設定的格式生成分析報告:
a) 明文格式txt b) 基於Bootstrap模板的HTML格式 c) JSON
工具使用
選項引數
$ usage:androwarn [-h] -i INPUT [-o OUTPUT] [-v {1,2,3}] [-r {txt,html,json}] [-d] [-L{debug,info,warn,error,critical,DEBUG,INFO,WARN,ERROR,CRITICAL}] [-w] version:1.4 optionalarguments: -h, --helpshow this help message and exit -i INPUT, --input INPUT APK file to analyze -o OUTPUT, --output OUTPUT Output report file(default "./<apk_package_name>_<timestamp>.<report_type>") -v {1,2,3}, --verbose {1,2,3} Verbosity level(ESSENTIAL 1, ADVANCED 2, EXPERT 3) (default 1) -r {txt,html,json}, --report {txt,html,json} Report type (default"html") -d, --display-reportDisplay analysis results to stdout -L {debug,info,warn,error,critical,DEBUG,INFO,WARN,ERROR,CRITICAL},--log-level {debug,info,warn,error,critical,DEBUG,INFO,WARN,ERROR,CRITICAL} Log level (default"ERROR") -w, --with-playstore-lookup Enable online lookupson Google Play
使用樣例
$python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
預設配置下,工具會在命令列的當前目錄下生成分析報告。如果使用者選擇的是HTML格式的報告,工具會生成一份單獨的HTML檔案,並自動潛入CSS/JS資源。
參考樣本
專案目錄中還給廣大使用者提供了一份用於分析參考的惡意軟體樣本,該樣本中整合了多種惡意行為。APK檔案位於_SampleApplication/bin/目錄下,HTML報告可從_SampleReports目錄下獲取。
工具安裝與依賴元件
1、 Python 2.7 + androguard + jinja2+ play_scraper + argparse
2、 最簡單的工具安裝與環境配置方法:
$ pip install androwarn
然後直接使用”$ androwarn”命令。
3、 或者你也可以使用git命令把專案程式碼克隆到本地:
$ git clone git://github.com/maaaaz/androwarn.git
然後執行下列命令完成依賴組建的安裝:
$ pip install -r requirements.txt
許可證協議
本專案遵循 GNU 許可證協議。
* 參考來源: maaaaz ,FB小編Alpha_h4ck編譯,轉載請註明來自FreeBuf.COM