Wireshark和Fiddler分析Android中的TLS協議包數據(附帶案例樣本)

一、前言
在之前一篇文章已經介紹了一款網絡訪問軟件的破解教程,當時采用的突破口是應用程序本身的一個漏洞,就是沒有關閉日志信息,我們通過抓取日志獲取到關鍵信息來找到突破口進行破解的。那篇文章也說到了,如果這個app應用沒有日志信息,我們該怎么辦呢?那么這時候就需要采用抓包來尋找突破口了。
二、安裝Fiddler證書
我們通過Fiddler連接手機進行抓包查看,應用訪問數據信息都是用的HTTPS協議,也就是加密的數據,我們可能無法查看,比較麻煩,本文就來講解如何查看這些加密數據了。


首先我們知道Fiddler抓包工具是可以抓HTTPS數據的,就是把Fiddler證書安裝到設備中即可。安裝過程也很簡單:
第一步:導出Fidder的證書文件


進入Fiddler選項中:

然后直接選擇導出證書到桌面即可。

第二步:把證書安裝到設備中
先把上一步導出來的證書文件,放到設備的SD目錄下,然后在設備中直接打開這個證書文件,會提示安裝信息,當然這里在老版本系統中,可能還需要去設置頁面進行操作:


在設置中,選擇安全,然后選擇從SD卡安裝證書,就可以正常安裝了。安裝成功之后,可以查看這個證書信息:

三、抓取樣本app的數據包
這樣,我們的設備就有了Fiddler證書,這時候在用Fiddler抓包會看到正常的HTTPS協議數據了:


我們可以查看返回的數據信息:

可惜的是,這里的數據顯示是不全的。所以這時候,我們得想辦法獲取返回的全部數據,可以借助Wireshark工具進行操作了,而Wireshark工具相對于Fiddler工具來說會分析的更加詳細,但是Fiddler更加方便快捷。但是Wireshark工具只能在PC端抓包運行,所以如果想用這個工具抓取手機端數據的話,可以用兩種方式:
第一種:Wireshark+Fiddler工具
Fiddler作為手機端的代理在PC上訪問流量。然后Wireshark可以抓取PC上的請求,這樣來做到用Wireshark抓取手機端的請求。
第二種:Wireshark+tcpdump工具
當然我們還可以利用tcpdump工具來直接抓取手機端的請求數據,一般保存為pcap文件格式,然后在PC端用Wireshark來分析pcap文件格式即可。關于tcpdump如何抓包生成pcap文件,可以自行搜索即可。這里不做解釋了。
很多同學會考慮第二種,但是第二種會失敗的,因為這里需要抓取HTTPS協議的數據,所以有證書相關的信息,如果直接用tcpdump工具抓包生成文件,然后用Wireshark工具分析是會失敗的。因為Wireshark分析TLS協議數據是需要設置證書信息的,不然是解析失敗的。所以這里采用第一種方式進行操作。

四、Wireshark分析TLS數據包
因為Wireshark分析TLS協議的數據是需要設置證書信息的,不然看到的也是加密數據信息:


那么這里的問題其實就轉化成,如何利用Wireshark來解密TLS數據信息了,這個就比較簡單了,我們可以借助瀏覽器自動生成的證書信息,來作為解密的工具。這里需要借助一個知識點:就是瀏覽器在訪問HTTPS協議信息的時候都會有這么個提示:

讓我們信任這個證書:

然后,我們確認安全,這時候,如果設置了一個系統環境變量。瀏覽器會把證書信息保存到指定文件中的,這個系統環境變量就是:SSLKEYLOGFILE,然后自定義一個SSLKEY的保存文件名稱即可。

因為我們在上面用Fiddler可以抓到HTTPS請求鏈接的,這時候我們把這個鏈接放到瀏覽器中訪問一次:

然后就會有相對應的SSLKEY數據保存下來了,可以去看看這個信息:

這樣我們就弄到了這個url對應的證書信息了,這里可以看到其實是借助瀏覽器的功能獲取到的,下面就來Wireshark中設置這個證書信息:


在Wireshark的Edit->Preferences->Protocols->SSL,設置剛剛保存的SSLKEY信息文件位置,保存即可。

下面就來開始抓包分析吧,在啟動Wireshark抓包的時候,可能有的同學無法看到抓包的網絡接口信息:



這個就需要啟動系統的npf服務了,我們可以這么做:
01、在開始–>運行02、輸入:%windir%/system3203、將會開啟一個文件夾窗口,在里面找到CMD.EXE(cmd.exe)04、點擊右鍵,選擇"以管理員身份運行"05、輸入命令:net start npf06、系統提示NetGroup Packet Filter Driver 服務已經啟動成功。07、至此,Wireshark再點擊Interfaces list就可以正常選擇需要捕捉的接口了。08、如果需要關閉此服務,是要在命令行輸入命令:net stop npf 即可。



操作成功之后,再去Wireshark選擇接口列表信息就有了網絡接口信息了:

這里運行的時候,一定要記得把本地連接和無線網絡連接都選擇上,以免請求被遺漏:


點擊開始之后,就會發現很多請求在刷屏,為了想看到我們關心的數據,可以利用一些過濾規則來進行過濾,而這里其實有很多過濾規則命令的,感興趣的同學可以自行搜索操作實驗即可,這里我們只想看到SSL協議的請求信息:



然后我們在利用瀏覽器去刷新剛剛那個HTTPS的請求,會發現多了很多TLS協議請求,如果這里沒有設置上面的SSLKEY信息的話,看到的都是加密信息:



這里簡單說一下TLS協議的原理,直接盜了網上的一張圖:

設置了SSLKEY信息之后,就可以看到Application Data會被解密:



而且,這時候,底部會多出一個Decrypted SSL選項卡。這里解密之后會發現在SSL層后面多了一個超文本傳輸層,也就是HTTP等信息了。然后我們在選中這條信息,右鍵查看他的HTTP信息流:

記得是有OK字樣的那條HTTP協議數據信息條目,這里是因為已經解密了,所以看到的是HTTP協議:

五、解密返回數據信息
這里就可以清晰的看到這次請求信息和返回信息了。然后我們把這部分的數據,在用AES進行解密:



看到打印的結果就是一個返回json信息:



關于這里的解密方法,之前一篇文章在用Jadx分析樣本已經看到了:

我們直接把這個方法拷貝出來,寫一個簡單的Java成功就可解密了。不了解的同學去回顧上一篇介紹的內容吧。

六、TLS知識點總結
好了,到這里我們就介紹完了,如何利用Wireshark和Fiddler這兩個抓包神器,解密HTTPS請求信息。關于TLS協議可能有的同學還不太了解,而且他和SSL的區別是啥,其實TLS是SSL的升級版:



現在很多協議都會用到TLS了,而且TLS1.3版本已經出來了。比如WX就采用了這個協議進行數據加密的。我們有了這個技能之后,后面就可以很輕松的分析TLS協議數據了,當然我們一定要熟練掌握Wireshark這個工具的用法,我們在學習過網絡工程課的時候,都知道網絡協議棧,比如物理層,網絡層,傳輸層,應用層:



我們在上面看到Wireshark的底部信息欄中也是有這么幾層信息的:

在SSL層,需要解密才能看到后面的超文本傳輸層協議的詳細信息了,也就是上面的解密方法進行操作的結果。

七、問題解惑
其實看到這里有的同學會有好奇的地方:

第一個:開始利用Fiddler可以直接進行解密數據了,為何還要用Wireshark去抓包呢?因為我們可以看到Fiddler抓取的信息是不全的。當然有時候可能是全的,那么就不需要在用Wireshark進行抓包分析了。
第二個:在把Fiddler中抓取到的鏈接放到瀏覽器中訪問,生成對應的SSLKEY信息文件。在瀏覽器中不是直接可以看到返回數據了嗎?為什么還要用Wireshark進行抓包呢?這個的確是可以看到全部的返回信息在瀏覽器中訪問的話,但是利用Wireshark抓包是為了更加信息的看到TLS協議的訪問流程。這個也是為了以后熟練操作做準備。

在逆向研究中,有時候抓包是一個非常重要的一個突破口點。所以抓包分析包信息也是至關重要的技能。

嚴重聲明
本文介紹的內容只是為了逆向技術探討,絕對不允許不法分子進行惡意用途。而涉及到安全隱患,本文提到的樣本,加編碼美麗技術圈,留言我的真實姓名,發放僅供參考分析而已。

更多內容:點擊這里

關注微信公眾號,最新技術干貨實時推送


編碼美麗技術圈
微信掃一掃進入我的"技術圈"世界

掃一掃加小編微信添加時請注明:“編碼美麗”非常感謝!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,316評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,481評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,241評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,939評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,697評論 6 409
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,182評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,247評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,406評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,933評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,772評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,973評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,516評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,209評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,638評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,866評論 1 285
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,644評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,953評論 2 373

推薦閱讀更多精彩內容