(坚持连续发帖)
最近半年在研究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就是我们最终需要拿到生成客户端证书的密钥.废话不多说,直接开干,看一下如何来生成的客户端证书
[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!
最后于 2025-3-10 19:12
被Zedbully编辑
,原因: 优化内容