當前位置:
首頁 > 最新 > 安卓脫殼&協議分析&Burp輔助插件編寫

安卓脫殼&協議分析&Burp輔助插件編寫

先知安全技術社區獨家發文,如需轉載,請先聯繫社區授權;未經授權請勿轉載。前言

本文以一個 為例,演示對 脫殼,然後分析其 協議加密和簽名方法,然後編寫 腳本以方便後面的測試。

文中涉及的文件,脫殼後的 dex 都在:

鏈接: https://pan.baidu.com/s/1nvmUdq5 密碼: isrr

對於 burp 擴展和後面加解密登錄數據包工具的的源碼,直接用 反編譯 包即可。

正文

首先下載目標 ,然後拖到 裡面看看有沒有殼。

發現是騰訊加固,可以通過修改 的源碼進行脫殼。

具體可以看: https://bbs.pediy.com/thread-210275.htm

脫完殼 文件,扔到 裡面進行分析(GDA分析能力還是不太強,不過速度快)

類和方法都出來了,脫殼成功。

首先看看協議抓取,建議自己電腦起一個 (熱點), 然後用手機連接熱點,對於 的數據包,可以使用 進行抓取(對於 還要記得先安裝 的證書),對於 的數據包,由於我們是連接的 電腦的 所以我們可以直接用 抓取我們網卡的數據包就能抓到手機的數據包。對於筆記本,可以買個無線網卡。

首先看看註冊數據包的抓取,設置好代理,選擇註冊功能,然後去 裡面,可以看到抓取的數據包。

對於登錄數據包,點擊登錄功能,去發現 無法抓到數據包, 懷疑使用了 發送請求數據,於是開啟 抓取 手機連接的熱點到的網卡的數據包。抓取時間要短一些,不然找信息就很麻煩了。

然後我們一個一個 數據包查看,看看有沒有什麼特殊的。

發現一個數據包裡面有 加密的數據,猜測這個應該就是登陸的數據包。查了一下 ,應該就是了。

下面針對不同類型的協議加密措施進行分析。

HTTP協議

協議分析關鍵是找到加密解密的函數,可以使用關鍵字搜索定位。為了方便搜索,先把 轉成 然後用文本搜索工具搜索就行了,我使用 。在這裡可以使用 , 等關鍵詞進行搜索,定位關鍵代碼。我選擇了 ,因為它搜出的結果較少。

函數沒經過混淆,看函數名就可以大概猜出了作用,找到關鍵方法,拿起 分析之。

先來看看 的 方法。

獲取手機號進入了 方法,跟進

先調用了 (看名稱估計他就是增加簽名的函數了),然後發送 請求。

繼續跟進

至此簽名方案非常清晰了。

由於有時間戳和簽名的存在,而且伺服器會檢測時間戳,後續如果我們想測試一些東西,就需要過一段時間就要計算一下 簽名和時間戳,這樣非常麻煩,我們可以使用 編寫插件,自動的修改 時間戳和 簽名,這樣可以大大的減少我們的工作量。

看看關鍵的源代碼

首先註冊一個 , 這樣 的流量就會經過我們的擴展。

然後看看 對流經擴展的流量進行處理的邏輯。只處理 請求的數據,然後根據域名過濾處理的數據包,只對 進行處理。接著對於數據包中的 參數和 參數進行重新計算,並且修改 數據包中的對應值。

載入擴展,以後重放數據包,就不用管簽名的問題了。

TCP

對於 的協議可以通過搜索 埠號, 地址等進行定位,這裡搜索 (這裡是, 可以在 中查看),有一點要注意,程序中可能會用 進位或者 進位表示埠號為了,保險起見建議兩種表示方式都搜一下。

通過搜索 ( 的 進位表示)找到兩個可能的位置。分別檢查發現 第二個沒啥用,在 中查找交叉引用都沒有,於是忽略之。然後看看第一個。

可以看到 把埠號都轉成了 進位數,這裡與伺服器進行了連接,沒有什麼有用的信息。於是上下翻翻了這個類裡面的函數發現一個有意思的函數。

用於發送數據,裡面還用了另外一個類的方法,一個一個看,找到了加密方法。

就是簡單的 加密,然後在 編碼。

為了測試的方便寫了個圖形化的解密軟體。

用 測試之

正確。

總結

不要怕麻煩,一些東西儘早腳本化,自動化,減輕工作量。逆向分析,搜索關鍵字,定位關鍵代碼。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 先知安全技術社區 的精彩文章:

TAG:先知安全技術社區 |