0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Android APP滲透之雙向認(rèn)證突破

冬至子 ? 來源:聞雞習(xí)武 ? 作者:吾奶習(xí)武之人 ? 2023-05-20 14:08 ? 次閱讀

Android APP滲透之雙向認(rèn)證突破

今天有hxd發(fā)來一個APP說存在雙向認(rèn)證,沒法正常抓包進(jìn)行滲透,抓包的結(jié)果長下面這個樣子,一般抓包看到服務(wù)器返回“400 No required SSL certificate was sent”那基本就可以確認(rèn)測試的目標(biāo)APP使用了雙向認(rèn)證,這種情況下,想要正常抓包進(jìn)行滲透的話,就必須要從APP客戶端中,把客戶端證書以及證書密鑰給找出來,然后導(dǎo)入抓包工具,即可正常抓包(同時需開啟justtrustme等繞過服務(wù)端證書校驗的插件)。

圖片

客戶端證書及密鑰獲取

接下來,我們就來看看怎么獲取APP客戶端證書及密鑰,一般情況下,能用工具一把梭的話那肯定最好,平時常用的dump證書及密鑰的工具主要有以下幾個:

r0capture

r0capture具備客戶端證書導(dǎo)出功能:默認(rèn)開啟;必須以Spawm模式運行;

運行腳本之前必須手動給App加上存儲卡讀寫權(quán)限;

并不是所有App都部署了服務(wù)器驗證客戶端的機(jī)制,只有配置了的才會在Apk中包含客戶端證書;

導(dǎo)出后的證書位于/sdcard/Download/包名xxx.p12路徑,導(dǎo)出多次,每一份均可用,密碼默認(rèn)為:r0ysue;

hooker

也是基于frida的hook工具,支持客戶端證書dump

平時常用的自動dump證書的工具就這兩個,不過這次遇到的雙向認(rèn)證APP,使用證書dump也沒有成功。

手動尋找證書及密鑰

獲取證書

既然用工具沒法直接獲取到證書及密鑰,那就只好自己動手分析了,首先我們先來找客戶端證書文件??蛻舳俗C書文件的話,一般直接解壓apk包,在解壓文件夾里的assets目錄下可能會存在客戶端證書文件,如下:

圖片

看到有這兩個明顯的證書文件,證書文件一般直接雙擊即可安裝導(dǎo)入到本地,這2個證書文件中的client.pfx雙擊安裝證書的過程中,提示需要密碼,而另一個不需要,經(jīng)過驗證,不需要密碼的證書不是客戶端證書(導(dǎo)入BurpSuite后抓包驗證)

圖片

獲取密鑰

APP脫殼后反編譯查看源碼,因為APP要使用客戶端證書,肯定要從資源文件目錄下去讀取,因此嘗試在源碼中搜索關(guān)鍵字:"client.pfx",

圖片

通過閱讀代碼,感覺在instance.load(open, "".toCharArray()); 代碼處,應(yīng)該傳入證書密碼打開證書文件,但是代碼中顯示的是一個空""字符串。第一次遇到空密碼,有點拿不準(zhǔn),網(wǎng)上檢索一下類似代碼片段。

圖片

發(fā)現(xiàn)在加載證書調(diào)用load方法的時候,參數(shù)2就是證書密碼。

驗證密鑰

既然代碼中顯示證書密鑰為空"",那本地安裝client.pfx 輸入空密碼試試。

輸入空密碼,證書導(dǎo)入成功,說明這個APP的證書密碼確實為空。

客戶端證書導(dǎo)入BurpSuite

經(jīng)過前面的操作,我們已經(jīng)拿到的客戶端證書文件,以及客戶端證書密鑰

導(dǎo)出key

openssl pkcs12 –in client.pfx –nocerts –nodes –out client.key

圖片

由于之前通過反編譯查看源碼確認(rèn)證書密鑰為空,因此提示輸入密碼的時候直接回車就行。

圖片

合成p12證書文件

將pfx證書和key文件合并成“.p12”證書文件

openssl pkcs12 -export -inkey client.key -in client.pfx -out client.p12

圖片

導(dǎo)入p12證書抓包

在BurpSuite→User options→TLS→Client TLS Certificates中添加導(dǎo)入客戶端證書:

圖片

設(shè)置證書及證書密鑰

圖片

密碼輸入正確即可導(dǎo)入成功。

圖片

成功抓包

成功搞定雙向認(rèn)證抓取到數(shù)據(jù)包

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3936

    瀏覽量

    127417
  • dump
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    9515
收藏 人收藏

    評論

    相關(guān)推薦

    Android App環(huán)境檢測分析

    這個原理就是APPAndroidManifest.xml文件中application是否配置了android:debuggable="true",設(shè)置true支持動態(tài)調(diào)試
    的頭像 發(fā)表于 12-01 10:26 ?921次閱讀

    Android APP如何進(jìn)行訪問硬件驅(qū)動

    本文我們要講的是在用 i.MX8 平臺開發(fā)時,Android APP 如何進(jìn)行訪問硬件驅(qū)動。
    的頭像 發(fā)表于 12-04 13:50 ?1583次閱讀
    <b class='flag-5'>Android</b> <b class='flag-5'>APP</b>如何進(jìn)行訪問硬件驅(qū)動

    請問Matter Android APP是否支持連接市面上的Matter設(shè)備?

    各位大佬們,請教下我基于matter開源的Android App,是否可以連接市面上其他的matter協(xié)議設(shè)備并且進(jìn)行控制呢?如果不可以,是需要其他認(rèn)證碼?
    發(fā)表于 07-24 07:25

    【Thunderboard Sense試用體驗】(二)動手編譯APP

    )動手編譯APP【Thunderboard Sense試用體驗】(三)供電問題梳理【Thunderboard Sense試用體驗】(四)體驗官方Demo【Thunderboard Sense試用
    發(fā)表于 06-09 16:49

    關(guān)于Android下的APP開發(fā)體驗過程記錄

    關(guān)于Android下的APP開發(fā)體驗過程記錄
    發(fā)表于 03-04 11:38

    基于HARN改進(jìn)算法的雙向認(rèn)證方案

    現(xiàn)在的單向認(rèn)證在某些應(yīng)用環(huán)境中被證明是不安全的,需要在系統(tǒng)之間進(jìn)行雙向認(rèn)證。本文設(shè)計了一種基于改進(jìn)的HARN 數(shù)字簽名算法的雙向認(rèn)證方案,并
    發(fā)表于 08-04 14:44 ?13次下載

    Android開發(fā)APP應(yīng)該如何省電

    AndroidManifest.xml中加上DEVICE_POWER的權(quán)限??墒羌恿藱?quán)限之后,ADT又提示錯誤“Permission is only granted to system apps”。這下傻眼了,怎么會說“權(quán)限只授予系統(tǒng)應(yīng)用程序”呢?不過這難不倒我,咱把app
    發(fā)表于 07-30 17:35 ?0次下載
    <b class='flag-5'>Android</b>開發(fā)<b class='flag-5'>APP</b>應(yīng)該如何省電

    該如何滲透檢測APP存在的安全漏洞

    IOS端的APP滲透測試在整個互聯(lián)網(wǎng)上相關(guān)的安全文章較少,前幾天有位客戶的APP數(shù)據(jù)被篡改,導(dǎo)致用戶被隨意提現(xiàn),任意的提幣,轉(zhuǎn)幣給平臺的運營造成了很大的經(jīng)濟(jì)損失。
    發(fā)表于 03-31 11:42 ?1388次閱讀

    基于AndroidAPP安全檢測技術(shù)淺析

    基于AndroidAPP安全檢測技術(shù)淺析
    發(fā)表于 06-28 16:03 ?16次下載
    基于<b class='flag-5'>Android</b>的<b class='flag-5'>APP</b>安全檢測技術(shù)淺析

    Java代碼加密支持Android App Bundle動態(tài)化框架

    傳統(tǒng)App加殼技術(shù)無法應(yīng)用在App Bundle模式生成的數(shù)據(jù)包之上。然而,幾維安全推出的Java2C加固方案完美支持Android App Bundle動態(tài)化框架,守護(hù)企業(yè)的核心代碼
    的頭像 發(fā)表于 07-29 16:13 ?2312次閱讀
    Java代碼加密支持<b class='flag-5'>Android</b> <b class='flag-5'>App</b> Bundle動態(tài)化框架

    Android 12“App Pairs”功能:改造分屏多任務(wù)能力

    Android 12“App Pairs”功能:新分屏多任務(wù)能力,安卓,app,谷歌,分屏,應(yīng)用程序
    發(fā)表于 02-04 14:45 ?1737次閱讀

    基于Android的果蠅識別APP

    本文檔的主要內(nèi)容詳細(xì)介紹的是基于Android的果蠅識別APP采用隨機(jī)森林,神經(jīng)網(wǎng)絡(luò)等多種算法。
    發(fā)表于 03-01 09:28 ?6次下載

    APK滲透測試工具:AppMessenger

    APK滲透測試工具:AppMessenger,一款適用于以APP病毒分析、APP漏洞挖掘、APP開發(fā)、HW行動/紅隊/滲透測試團(tuán)隊為場景的移
    的頭像 發(fā)表于 11-18 09:32 ?2851次閱讀

    Arduino/Android藍(lán)牙伺服電機(jī)控制安卓APP

    電子發(fā)燒友網(wǎng)站提供《Arduino/Android藍(lán)牙伺服電機(jī)控制安卓APP.zip》資料免費下載
    發(fā)表于 12-05 09:14 ?4次下載
    Arduino/<b class='flag-5'>Android</b>藍(lán)牙伺服電機(jī)控制安卓<b class='flag-5'>APP</b>

    Android App開發(fā)新選擇:使用Chaquopy輕松結(jié)合Python

    當(dāng)今的程式開發(fā)中,Python已經(jīng)成為了一個非常流行的語言,因為它可以快速編寫出高效的代碼。然而,如果要將Python結(jié)合到Android App(應(yīng)用程式)中,需要進(jìn)行一些復(fù)雜的設(shè)置和調(diào)整
    的頭像 發(fā)表于 04-25 20:29 ?2218次閱讀
    <b class='flag-5'>Android</b> <b class='flag-5'>App</b>開發(fā)新選擇:使用Chaquopy輕松結(jié)合Python