原来他是⽤SSLPinning防抓包的
为了抓包某app,我折腾了10天,原来他是⽤SSL Pinning防抓包的
为了抓包某app,我折腾了10天,原来他是⽤SSL Pinning防抓包的
艺灵
艺灵
⼀枚切图仔~
267 ⼈赞同了该⽂章
对于我的情况,简单做下说明:
本⼈只是⼀个打杂的⼩前端,对于抓包,多数是出于好奇⽽已,所以我并没有太多专业的抓包经验和各种逆向绕过技术。本⽂最后在某逆向⼤神的指点下才成功抓包,但⽂章中的观点或看法并不⼀定正确,看官在阅读时还请⾃⾏斟酌。
最后,还想补充:并不是说移动端就⼀定⽐pc端好抓包,所有的结果都要根据实际情况⽽定!由于不同的
app有不同的限制,所以⽹传的⼀些破解⽅法也并不⼀定全都适⽤!
好了,下⾯开始今天的表演,有点紧张......
⼀、开篇闲扯
不知道该从哪个⽅⾯来写这10天的收获,但确切的说:这10天我收获很⼤,也暴露出⾃⼰潜在的⼀些问题。为了让看官更快的知道艺灵接下来要讲啥,所以我会把主要的东西简练成⼀句话放前⾯。⾄于后⾯的2千来字,全是回忆这10天我是怎么⼊坑爬坑,再⼊坑再爬坑以及⾃⼰是有多么的⽆知的过程。
⼆、核⼼点
SSL Pinning、App逆向反编译、⽤证书的密钥来解锁证书
三、建议
没错,整篇⽂章要讲的东西只⽤上⾯⼀句话就概括了!下⾯就是闲扯时刻......
如果看官跟艺灵⼀样是⼀个门外汉但⼜想抓取app的数据,艺灵建议看官花10来分钟的时间阅读剩下2千字。先不说防坑了,起码会给你介绍若⼲款抓包神器+⼏款模拟器+开挂神器+反编译神器+绕过SSL Pin
ning的最简单⽅法!就算你最后抓包不成,下次抓包时,不⽤为了抓包⼯具和环境⽽苦恼,也不⽤纠结于哪款抓包⼯具更⽜!对不?不过话说回来,接下来的内容但愿会让你快速定位问题并对症下药,⽽不是眉⽑胡⼦⼀把抓,不停的在坑中徘徊!与坑做⽆畏的⽃争
四、前三天是盲⽬的不停更换抓包⼯具
正如⼩标题所说,前三天我在不停的更换抓包⼯具。
最先,我使⽤了业内⽐较知名的Fiddler⼯具,但是获取http数据正常,只要是https数据全部状态为400。配图⼀张:fiddler抓包时https状态为400
然后我以为是⼯具问题,于是⼜换了Charles,结果还是⼀样。
接着我⼜换了spy-debugger,结果同上。
接着我⼜换了mitmproxy,结果同上。
然后我⼜问@赵哥抓App⽤啥⼯具,当时赵哥回我:抓包⽤Thor。好吧,⼩⽩第⼀次听说,然后就开始在⽹上搜索,⼏经折腾,终于在⼆⼿的6s上成功安装了Thor 1.3版本,当时内⼼⽆⽐激动!毕竟这玩意现在是收费的,⽽且⽹上说的也很⽜逼!接着我就在6s上打开了我要抓包的那款App,⼼⾥满怀期待!
那个激动啊!万万没想的到的是:下⼀秒竟然翻车了熟悉的界⾯再次出现在眼前!如图:只要⽤抓包⼯具此app就没有⽹络
我瞬间......
⼀款款⽐较⽜逼的抓包软件相继失败,我开始怀疑⼈⽣,⼼中暗想:我了个去!这个App到底使⽤了什么⿁技术,这些抓包⼯具全都抓不了数据,这也太不科学了吧!内⼼⽆数的疑问,就不写了,看官⾃⼰感受下就⾏了。
五、初识SSL Pinning
越想越不对劲,接下来我⼜开始在⽹上搜索,最后到了⼀篇⽂章介绍说:这是使⽤了SSL Pinning技术。现在忘记是哪⼀篇⽂章了,于是我⼜按照这个线索专门搜索有关:SSL Pinning相关的资料。
⾄于啥是SSL Pinning,其实我也不是很懂,我现在的理解就是:这玩意⼉采⽤的是客户端和服务器双向验证技术来防⽌市场上常见的抓包⼯具进⾏抓包。想知道详细的⾃⾏⽹上搜索吧。
其实此时我还并不确定这款App采⽤的就是SSL Pinning,但是⾄少有了点头绪了。于是接下来就是换⼯具进⾏抓包了。
在挑选安卓模拟器的时候我⼜遇到了新坑,暂且不说在模拟器上安装Xposed+JustTrustMe会遇到⼀些失败的问题这个坑,就说你要抓包的
这款app能不能在模拟器上运⾏吧!
夜神模拟器,⼤家都⽐较熟悉了吧,但此款App在最新版的夜神⽆法运⾏,⼀打开就提⽰:很抱歉,程序已停⽌运⾏!相信对于经常使⽤模拟器的玩家来说,这个弹窗⾮常熟悉了吧!什么改兼容版本、改cpu内核、改分辨率啥的全试过了,此款app还是不⾏!(有些app是可以的)最后放弃夜神模拟器。
再来说说⽹易推出的mumu模拟器,app可正常运⾏,在装Xposed+JustTrustMe时遇到了点问题最后解决了,但按⽂章说的证书操作时,我本地却⽆法安装Burp Suite⾃带的.der证书!即使是改名后从sd卡安装也不⾏,然后这款模拟器也放弃了。
最先开始是命令跑不起来,跑起来后发现模拟器不⾏,需要⽤真机环境!但真机需要root,当天我有点纠结。
次⽇,我也不管了,在⽹上下了个oppo a33相关的刷机包对⼿机进⾏了刷机。这也是我第⼀次亲⼿给⼿机刷机,刷机后开不了机,长按⾳量键和开机键也没反应,当时把我还吓坏了,⼼想:这⼿机该不会就这样变成板砖了吧,我这抓包还没成功呢你就先牺牲了......
⼜在⽹上搜索了下,后来长按了30来秒才开机,这时间可真长!本以为刷机后⼿机就已经root了,但这个刷机包把⼿机上预装了⼀堆软件,卸载都卸载不掉。于是接下来就是root⼯具对⼿机进⾏root!先后试过了⼏款root⼯具,都没有成功,最后⽤刷机精灵成功root!别提我当时多兴奋了,在电脑上卸载了⼀堆刚对待预安装的软件。然后我把输⼊法也给卸载了,我以为这是第三⽅的。直到我打开app要输⼊内容时才发现:软键盘不见了!然后⼜是安装第三⽅软键盘,并没有⽤。于是进⾏了恢复出⼚设置,再安装才有输⼊法。唉,我这都搞的啥事啊......
既然现在⼿机也已经root,那胜利就在眼前了!连上USB,命令⾏中⼀波命令跑起来,结果⾛到./frida-server这⼀步时,出现各种问题,先后经历了报错、⽆权限等好⼏波错误,最后⼀⼀解决。⼏经波折,终于把⽂章中的前8步都⾛完了,只剩下最后⼀步了!我⼜开始激动了起来,但第9步说要挂VPN,挂就挂呗!于是⼜给⼿机装VPN,装完了再看Brup Suite结果发现连拦截都不拦截了,直接不⾛这⾥⽽且此时app⾥⼀直提⽰着:证书路径错误的提⽰。好吧,我承认这个frida我⼜不会玩......
差不多也是这个时候,之前在csdn上咨询的那个逆向⼤神⽤邮件回复我了。原来他已经搞定了!不得不说:⼤神就是⼤神,⼀出⼿效果⽴竿见影!此时,我已经佩服的五体投地!
后来,逆向⼤神⼜发来邮件并附带了⼀篇教程。按照⼤神的提⽰,我对⼏个版本的app进⾏逆向后也得到了原证书的密钥。话说,我这还是第⼀次折腾逆向。但此时正在阅读⽂章的看官应该能想到此时我的⼼理活动:现在密钥是有了,可我要怎么使⽤呢?......
虽然⽂章中附带有Charles配置SSL Proxying Settings的步骤,但我按照步骤操作后并没有实现预期效果。就这样,⼜瞎耗了⼀天时间。不得不说:不会英语真的很吃亏的!不会英语真的很吃亏的!不会英语真的很吃亏的!以后⼀定让我的孩⼦学好英语,不说做为主语吧,起码阅读⽆障碍就⾏。什么孩⼦?对象还没有呢!这真是⼀个悲伤的故事......
前⾯说了,虽然我拿到了证书的密钥,但是还是⽆法抓包,主要就是原因:
安装的app版本与证书密钥版本不符虽然SSL Proxying和Client Certificates也要注意添加域名和证书,但这个并不是主要的原因,但对破解也⾮常重要!
好了,最后来⼀张成功的效果图吧!如图:最后Charles中可以抓取数据了
xposed七、最后
废话这么多,最后在⼤神的指点下成功了,主要还是因为:使⽤此app某版本反编译后获取了该版本的密钥,然后⽤此密钥来解锁证书限制。说⽩了,还是要⽤原配的钥匙才能开锁!对于不知道密钥的app,我就不知道咋搞了,逆向这东西可真不是个简单的事情!
对于这10天的我来说,就像是捡到了失传已久的独孤九剑、九阳神功、降龙⼗⼋掌、乾坤⼤挪移等众多武林绝学,但可惜⾻骼不惊奇没有练武天赋,浪费了这么多神器......
⾄于看官读完后能学到什么、想到什么完全根据看官⽬前的情况⽽定,艺灵相信,会有⼀部分看官对⽹络安防有收获的!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。