自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

移動(dòng)安全逆向分析流程

開發(fā) 前端
如果等級(jí)低,則出滑塊,不返回?cái)?shù)據(jù)或者返回異常,提示實(shí)名認(rèn)證,比如某國(guó)外社交app,需要人臉認(rèn)證、身份證、手機(jī)號(hào)碼驗(yàn)證?。

抓包

第一大問題就是抓包,如果包都抓不到,那基本就沒法進(jìn)一步入手了。

而現(xiàn)在的app,稍微有點(diǎn)安全意識(shí)的,都會(huì)防抓包,并且安卓7.0版本開始也自帶了安全等級(jí),不再信任用戶安裝的證書,只信任系統(tǒng)證書,以及種種類似的情況,這種我們?cè)趺刺幚砟兀烤偷镁唧w問題具體分析了。

系統(tǒng)代理檢測(cè):charles+VPN(postern、drony、小黃鳥)
網(wǎng)卡、vpn檢測(cè):過網(wǎng)卡、vpn檢測(cè)腳本(以O(shè)kHttpLogger-Frida為例)
sslpinning檢測(cè):
objection 關(guān)閉ssl
frida unsslpinning腳本
tcp/udp包:mitmdump、小黃鳥
用戶證書:
使用7.0以下的系統(tǒng)安裝抓包
xposed:justTrustMe插件
frida:過證書檢測(cè)腳本
證書綁定,雙向證書
r0capture
針對(duì)spdy/quic:frida降級(jí)
flutter sslpinning: frida過檢測(cè)腳本
自實(shí)現(xiàn)http請(qǐng)求庫(kù):
針對(duì)跟蹤,hook入?yún)⒑头祷刂?br>protobuf/gRPC:https://mp.weixin.qq.com/s/8yOabTkMid9iKcbMJjYVHA
tls檢測(cè):
具體情況具體處理,據(jù)說某邁也有移動(dòng)版,所以也有tls檢測(cè)
抓包框架:lamba:https://github.com/rev1si0n/lamda
eCapture:eBPF下的抓包工具,無需CA證書即可抓HTTPS明文

目標(biāo)點(diǎn)定位的思路

抓到包以后,拿到了接口,以及加密參數(shù),怎么定位這個(gè)加密參數(shù)生成呢?

1.看請(qǐng)求參數(shù),搜索想要查看的特殊字段(并不推薦,但是確實(shí)能解決50-60%的app)。

2.objection 列出所有的類,hook全部,然后看關(guān)鍵點(diǎn)的時(shí)候哪些類被調(diào)用了。

3.利用dumpsys window 或者activity看當(dāng)前的activity(mt管理器也可以記錄activity),進(jìn)到里面找邏輯,如果邏輯代碼太多則不適用。

4.觀察各個(gè)接口的請(qǐng)求參數(shù),是否都有一樣的請(qǐng)求體結(jié)構(gòu)(換句話說就是看這些請(qǐng)求參數(shù)的鍵名)是不是一樣的,如果一樣,按照開發(fā)邏輯理念,一定有一個(gè)通用的模板加密類,搜一個(gè)加密字段,找到這個(gè)加密類,查找用例,或者用objection跟蹤,打印調(diào)用棧。

5.hook 通用的加密算法,打印調(diào)用棧。

6.hook 網(wǎng)絡(luò)庫(kù)okhttp,request等的(以O(shè)kHttpLogger-Frida庫(kù)為首的)。

7.hook hashmap的put方法,大部分的請(qǐng)求參數(shù)基本都用的hashmap封裝請(qǐng)求體,hook put方法,打印調(diào)用棧,則可以找到(并不100%通用)

8.hook string類的getBytes等的常用方法或者轉(zhuǎn)Json的方法。

9.hook Byte類的toString等的常用方法或者轉(zhuǎn)Json的方法。

10.hook Toast類,主流開發(fā)習(xí)慣,提示彈窗都用的這個(gè)類,hook它,看調(diào)用棧。

11.關(guān)閉網(wǎng)絡(luò),再發(fā)起需要操作的目標(biāo)接口,看報(bào)錯(cuò)提示,利用報(bào)錯(cuò)提示找調(diào)用棧,實(shí)際操作時(shí),大部分情況跟思路10重合。

12.用frida hook 類android.view.View,點(diǎn)擊哪里hook哪里的方法,打印調(diào)用棧。

13.hook Log類,按照開發(fā)邏輯,開發(fā)人員會(huì)在開發(fā)的時(shí)候會(huì)在一個(gè)階段里用log打印輸出日志看邏輯,hook log打印調(diào)用棧,有時(shí)候有奇效。

14.有的app會(huì)檢測(cè)返回值的格式,并解析輸出顯示,看是否有通用解析類,hook它,如果hook不上(或者找不到這種類),則用抓包工具修改返回值,然后看解析邏輯(不常用)。

以上方法也無法保證通用,比如也有反調(diào)試調(diào)用棧,使其打印不到核心調(diào)用流程或者直接返回空調(diào)用棧,這種就得針對(duì)處理了。

GDA 、jeb、jadx,混著用,別只用jadx,有時(shí)候jadx解析并不好,看不到邏輯。
比如某wtoken,用jeb可以直接看到一些邏輯,jadx的那個(gè)部分解析失敗。

調(diào)試

當(dāng)定位到加密參數(shù)生成邏輯的時(shí)候,準(zhǔn)備調(diào)試。

一般用objection跟蹤類,看調(diào)用棧,結(jié)合源碼,寫frida腳本調(diào)試,如果在frida邏輯里能hook或者主動(dòng)調(diào)用實(shí)現(xiàn),此步結(jié)束。

目前來看,到這一步,基本都會(huì)遇到frida反調(diào)試,frida直接用不了,有時(shí)候換用lsposed,會(huì)有奇效,如果還不行,這就需要去對(duì)抗檢測(cè)了,三兩句就說不清楚了,感興趣可以聯(lián)系我。

加密協(xié)議實(shí)現(xiàn)

調(diào)試完感覺能行得通之后,開始實(shí)現(xiàn)加密邏輯。

1.確定是什么加密算法(并不通用,需要結(jié)合實(shí)際)。

2位,一般是md5
帶【==】一般是base64,如果這個(gè)【==】還帶有【/】,那多半用了aes/dex/rsa,并用base64做了二次加密
40位的加密結(jié)果,一般是sha
請(qǐng)求體是亂碼,看是否是tcp或者protobuf

 這里的加密算法,推薦看Q佬的文章。

2.判斷是否是標(biāo)準(zhǔn)的加密算法,給一個(gè)固定的入?yún)?,與標(biāo)準(zhǔn)的算法對(duì)照加密結(jié)果。

3.實(shí)現(xiàn)協(xié)議。

這個(gè)就需要需要花精力分析,嘗試,實(shí)在無法實(shí)現(xiàn),可以用unidbg,不要糾結(jié)于手段。

風(fēng)控對(duì)抗

當(dāng)以上步驟你都走完后,請(qǐng)求幾次,發(fā)現(xiàn)確實(shí)能拿數(shù)據(jù),于是你非常開心的部署并跑起來,結(jié)果批量跑沒多久,就各種異常返回,滑塊,403啥的也跟著來了,這時(shí)候你可能就遇到風(fēng)控了。

什么是風(fēng)控,以下是簡(jiǎn)單版的,這個(gè)不一定齊全也不一定對(duì),后面有空再單獨(dú)搞個(gè)專題文章介紹風(fēng)控的。

手機(jī)品牌、型號(hào)、壁紙、上網(wǎng)模式、wifi名等上百個(gè)基本的設(shè)備參數(shù)gps,陀螺儀root檢測(cè)app檢測(cè)(一般檢測(cè)是否magisk包)網(wǎng)絡(luò)/vpn檢測(cè),網(wǎng)絡(luò)狀態(tài)實(shí)時(shí)上傳行為分析,按鈕點(diǎn)擊次數(shù)、接口請(qǐng)求統(tǒng)計(jì)分析某個(gè)頁(yè)面停留時(shí)間,重復(fù)請(qǐng)求次數(shù)請(qǐng)求調(diào)用棧順序分析...

結(jié)合以上信息,傳到服務(wù)器,服務(wù)端收集到用AI推演出用戶畫像,行為習(xí)慣,判定風(fēng)險(xiǎn)等級(jí),然后給定設(shè)備/賬號(hào)限制。

如果等級(jí)低,則出滑塊,不返回?cái)?shù)據(jù)或者返回異常,提示實(shí)名認(rèn)證,比如某國(guó)外社交app,需要人臉認(rèn)證、身份證、手機(jī)號(hào)碼驗(yàn)證?。

風(fēng)控這種東西怎么對(duì)抗呢,這個(gè)就真的難說了,只能花時(shí)間測(cè)試并針對(duì)調(diào)整了。

責(zé)任編輯:武曉燕 來源: 編角料
相關(guān)推薦

2021-03-31 11:35:00

網(wǎng)絡(luò)安全OllyDbg分析工具

2021-04-13 11:15:54

網(wǎng)絡(luò)安全C語(yǔ)言循環(huán)結(jié)構(gòu)

2021-04-08 11:10:22

網(wǎng)絡(luò)安全C語(yǔ)言if…else…

2021-02-23 10:43:42

Facebook Ga

2010-09-30 09:40:45

2015-08-21 17:52:52

逆向分析BinNavi

2011-10-26 09:19:41

移動(dòng)Web

2024-08-06 09:54:20

2020-04-20 09:37:41

移動(dòng)邊緣計(jì)算云計(jì)算安全

2013-09-30 10:06:05

SAP

2013-09-30 10:37:09

SAP

2021-05-21 12:52:47

網(wǎng)絡(luò)安全Android App虛擬機(jī)

2021-08-26 10:05:31

APP安全加密網(wǎng)絡(luò)攻擊

2018-08-20 13:46:59

Android逆向分析終端安全

2012-12-28 14:02:47

2009-05-30 09:36:18

2015-06-12 09:17:33

2012-05-18 09:54:05

2017-01-16 16:16:59

漏洞uaf代碼

2012-12-13 21:34:30

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)