(坚持连续发帖)
最近半年在研究appleID注册, 各种风控和签名搞的我头很大,幸好结果是好的,可以批量注册了,分享下非核心逆向过程 纯技术分享,如有其他人员使用本文使用的技术出现了任何法律问题,与本人无关,与看雪平台无关,皆在寻找志同道合之人,共筑iOS安全防御长城
首先第一步,提交注册表单的时候,需要验证客户端证书,不然无法发起证书请求.
经过抓包分析
+
猜测,https:
/
/
setup.icloud.com
/
setup
/
qualify
/
cert,拿到了服务端的证书,直接通过get请求就可以获取,非常简单,无需多言(X
-
Apple
-
I
-
MD
-
M以及X
-
Apple
-
I
-
MD我会专门有一章来讲)
拿到服务端的cert以后,观察设备又发起了一个请求https:
/
/
setup.icloud.com
/
setup
/
qualify
/
session,发送了一个X
-
MMe
-
Nas
-
Session:AQhLLJFIHZt9oBqRnbrsEDSqGil
+
X0Wr4Qwc
/
JWIyqyPQsLrDlnNrEh8icDPhGcpDZ2iu2RMPs4bEegaAXRvqtdsHm0SRwrobwXkvL7lNS
/
Re8HzQvIgllzO
+
+
l51SM
/
aLq1rljMKfjGG9Xjja3rI
+
tErLwU
/
7Vtza38D6o
/
Cxpy2K8rLvyg56GAzYPenUjxgQOyh3bfkBDAh6m72xjYE8UKJb8dlKNy0WPmq1iTktDNVK
+
BiSthzTjx76hkQaaZpEKsM419tL2pkWnfjCxAqgu5qZEN2Fuv3ytXca34cv7bF8Grn6AHgAdb
+
zgDAssXEz7Y8mWLbQzM6cEKDrwWT1Bay1yeSLU8hQAjQwSUgTyuw6LdGeJFEBkjAAAAIGQHDj0zJKw
/
rd5jTXNMi
/
qCi5kg
+
0RaiDQkYORlQ2vJsow8lTPhSFctCaBbPJYGncokx2g
=
来获取到一个session
-
info:uQ2C8236DMOd53m
+
CGsk28AAABAEJIFsDYjhFeAmrJt17DZHwbaXnAv5mBF5tALlGGvVqQPu4OFe7UfkFU
/
AGMl3ntRIN
/
30EM
/
D7Zz
/
jBwFwRKaQHNVine24yK5uS6cJ
/
i5tgUVnNbhQAAADYDA
+
CFOUhZ2vyU
/
O
+
fc0DKQKtnzsVnXwqdE3AoNvEKhc93HSaX2Y71gP6pQFgI5mfPWUMqOWJXAEwAOAA
=
经过观察,这个session
-
info就是我们最终需要拿到生成客户端证书的密钥.废话不多说,直接开干,看一下如何来生成的客户端证书
打开frida,检测所有的请求头,找到MMe
-
Nas
-
Session,查看这个请求头在哪里进行生成的,打印队战,最后找到了AKAbsintheSigner这个类,看名字问题就很大,直接objection全局hook这个类的所有方法,最后找到了sharedSigner方法以及_sessionInfoFromCertificateData
接受的参数就是服务端的cert,我们直接使用frida进行主动调用这个方法,发现直接自己去调用sessioon这个
in
请求,省事了,查看_conetxt这个属性,发现已经有了客户端证书了.
下面调用appleid注册第一个接口来获取celietToken试试
发现有两个参数 X
-
Apple
-
I
-
Phone和X
-
Apple
-
I
-
CFU
-
State(可以自己看下)是写死的,带上我们的客户端证书,对参数L进行加密,加上其他加密参数,反正成功获取到xmlui,获取里面的clientToken执行后续操作,直接注册成功.
本期内容没什么难度,就是获取公开的服务端证书来生成客户端证书,下期为大家详细一步步讲解,在注册appleid的时候如何对body进行签名
最近半年在研究appleID注册, 各种风控和签名搞的我头很大,幸好结果是好的,可以批量注册了,分享下非核心逆向过程 纯技术分享,如有其他人员使用本文使用的技术出现了任何法律问题,与本人无关,与看雪平台无关,皆在寻找志同道合之人,共筑iOS安全防御长城
首先第一步,提交注册表单的时候,需要验证客户端证书,不然无法发起证书请求.
经过抓包分析
+
猜测,https:
/
/
setup.icloud.com
/
setup
/
qualify
/
cert,拿到了服务端的证书,直接通过get请求就可以获取,非常简单,无需多言(X
-
Apple
-
I
-
MD
-
M以及X
-
Apple
-
I
-
MD我会专门有一章来讲)
拿到服务端的cert以后,观察设备又发起了一个请求https:
/
/
setup.icloud.com
/
setup
/
qualify
/
session,发送了一个X
-
MMe
-
Nas
-
Session:AQhLLJFIHZt9oBqRnbrsEDSqGil
+
X0Wr4Qwc
/
JWIyqyPQsLrDlnNrEh8icDPhGcpDZ2iu2RMPs4bEegaAXRvqtdsHm0SRwrobwXkvL7lNS
/
Re8HzQvIgllzO
+
+
l51SM
/
aLq1rljMKfjGG9Xjja3rI
+
tErLwU
/
7Vtza38D6o
/
Cxpy2K8rLvyg56GAzYPenUjxgQOyh3bfkBDAh6m72xjYE8UKJb8dlKNy0WPmq1iTktDNVK
+
BiSthzTjx76hkQaaZpEKsM419tL2pkWnfjCxAqgu5qZEN2Fuv3ytXca34cv7bF8Grn6AHgAdb
+
zgDAssXEz7Y8mWLbQzM6cEKDrwWT1Bay1yeSLU8hQAjQwSUgTyuw6LdGeJFEBkjAAAAIGQHDj0zJKw
/
rd5jTXNMi
/
qCi5kg
+
0RaiDQkYORlQ2vJsow8lTPhSFctCaBbPJYGncokx2g
=
来获取到一个session
-
info:uQ2C8236DMOd53m
+
CGsk28AAABAEJIFsDYjhFeAmrJt17DZHwbaXnAv5mBF5tALlGGvVqQPu4OFe7UfkFU
/
AGMl3ntRIN
/
30EM
/
D7Zz
/
jBwFwRKaQHNVine24yK5uS6cJ
/
i5tgUVnNbhQAAADYDA
+
CFOUhZ2vyU
/
O
+
fc0DKQKtnzsVnXwqdE3AoNvEKhc93HSaX2Y71gP6pQFgI5mfPWUMqOWJXAEwAOAA
=
经过观察,这个session
-
info就是我们最终需要拿到生成客户端证书的密钥.废话不多说,直接开干,看一下如何来生成的客户端证书
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2025-3-10 19:12
被Zedbully编辑
,原因: 优化内容