前言
2024年第一卷!!!
摆烂了有段时间了,期间也遇到不少影响心情的事,其实不是没有想写想发的
有几天晚上睡不着的时候,几度想要不要把公众号文章都删了,号也注销算了,这个圈子混不动了,好多次有种 “我把别人放心里,别人把我揣兜里,用时伸手不用弃之” 的感觉,有点心累了
当然还有几个更重要的原因导致不想发文(仅代表我个人观点,与事实并不对应):
1).我个人角度看来,我有点看不到这个领域的未来了
2).新人入行门槛高导致好多人进不来,大环境也不太好,老人们为了生活只能划水了不敢随心而为
3).头部的几大开源库(lsp,zygisk next,kernelsu等)因为被人无脑喷已停更
4).各种防护检测手段玩得飞起,逆向这个领域没剩几条活路可走
生活总得有点期盼,即使那个期盼可能并不切实际,能苟就苟吧
刚好一个朋友遇到一个app,调试起来很奇怪,所以让我帮忙看看,他感觉像是tls指纹检测,所以这不正好在我的兴趣点上吗,我研究了会儿,搞定之后立马记录下来,所以还是热乎的
这个app名字和域名,由于不可抗力原因,下面我会全程打码,而且厚码以示尊重。好奇的朋友也不要私聊问我是哪个app了,不是不愿意说,对你我都好,只展示思路就行了
分析
该app是一个海外的app,目标就是其中一个接口,场景是用clash+charles抓包可以正常抓,但是重放请求就不行,用代码请求也不行
有朋友可能会有感而发: 我去,app上也有了tls指纹检测?之前不是说只有web端才有吗?
哈哈,正常,tls是在服务端的东西,不管客户端是电脑(web),手机(app),还是手表(智能穿戴),还是啥,tls是在服务器后端接口层的东西,只要想检测,都可以很容易实现的,我之前的练习题我也自己开发了一个检测app端的tls指纹的,而且针对不同的tls指纹绕过库做了专项特征分析,可以检测到
1.问题演示
首先,app上安装这个app,然后justtrustme啥的lsp插件自己处理好,以免漏包,然后有一部分lsp检测,用我自己开发的绕过检测lsp的插件绕过即可
电脑开启xxash(虽然该项目作者跑路了不过将就用),然后开启charles
调试
发现确实有点差异,一个有http2.0,一个是http1.1
:method、:path、:authority、:scheme
这几个的就是http2.0,之前我那个查看tls指纹的,里面的akxxai 指纹就是通过这个计算的http2.0指纹,这个反正确实是一个检测点
是有点影响,但是感觉影响不大,我多试了几次后,发现不是这个问题,他也会返回这样的时候,说明验证了某个值的,请求头一看果然有个token
难道就这一个token的时效性问题,感觉不太像,此时我继续在charles里重放,又可以了,神奇,同样的token加密参数
可能看过我文章的朋友这里就要问了,“你之前不是说在客户端看tls信息不准确吗,验证是在服务端的事”
确实啊,但是这里其实并不冲突,因为我们看不到服务端的验证,那么这里只能猜测,毕竟我现在打开任何一个带有ssl的网站都会有这段代码,而且用charles重放的时候,这里还为空:
所以用charles确实是不准确的,只是顺带看看,毕竟上面两个图,一下就看出区别了
用wireshark
然后用ip.addr == 你那台目标手机的局域网ip
这些就是手机实际发包的tls了,然后展开最后的ja3 fullstring:
不,前面不是说了有个加密参数吗,重新获取下最新的,怎么获取,重新抓个包不就完了:
补充
如果你不信任wireshark解析的,其实可以拿到cipher suite相关的,自己去解值:
https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml
https://www.openssl.org/docs/man1.0.2/man1/ciphers.html
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
最左边的就是value,然后转10进制,他那样写你直接复制转出来是有问题的,你得把中间的逗号和0x删了再操作才是正确的值,按我下面的演示
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52392
还有种办法就是,你自己写个app demo,然后去请求tls.peet.ws/api/all,请求库用你目标app相同的库,比如目标app用的okhttp4.10,那你的demo也用okhttp4.10,请求tls.peet.ws/api/all,把结果用logcat打印出来,然后复制结果,把结果赋值给pyhttpx的ja3即可
结语
工作避坑&内推(仅成都)、商务合作、技术交流群
扫码或者搜ID:geekbyte
原文始发于微信公众号(编角料):tls指纹之app端的tls指纹检测突破
评论