이는 Apple 콘텐츠 캐싱 시스템의 리버스 엔지니어링 시도입니다.
이 프로젝트의 목표는 진지한 리버스 엔지니어링 시도에 도전하는 동시에 내가 만들고 싶은 것, 즉 Linux 서버에서 작동하는 Apple 콘텐츠 캐시를 만드는 것입니다.
참고 : 자산 캐시 도구는 이 작업 중 일부의 연속입니다.
친애하는 애플에게,
나는 선의의 행위자이며 캐시 설계로 인해 이것이 어떤 해를 끼칠 것이라고 생각하지 않습니다. 다른 방법을 고려하신다면 제 이메일 [email protected]을 통해 저에게 연락해주세요.
고마워요, 알렉스
여기에 표시된 콘텐츠를 남용하지 마십시오. 나는 이를 선의로 수행하려고 노력하고 있으며 Apple 콘텐츠 캐시 시스템의 악의적인 사용이 무엇이든 간에 이를 용납하지 않습니다.
콘텐츠 캐싱은 시스템 환경설정의 공유 섹션에서 사용할 수 있습니다. 공개 Apple 콘텐츠 또는 iCloud 콘텐츠를 위해 로컬 네트워크의 콘텐츠를 캐시하는 데 사용됩니다. /usr/libexec/AssetCache/AssetCache
대부분의 작업을 담당합니다. 서버에서 콘텐츠를 가져오고 업로드할 수 있는 API가 있는 HTTP 서버가 있습니다.
또한 패킷 캡처는 captures
디렉터리에 제공됩니다.
여기서 작업은 Charles Proxy와 Frida를 사용하여 수행되었습니다.
tools/frida-ssl-pin.js
파일은 모든 macOS 프로세스에 연결하고 모든 SSL 확인 및 SSL 인증서 고정을 비활성화할 수 있는 Frida 스크립트입니다. 이를 통해 Apple 서버로 전달되는 요청을 심층적으로 조사할 수 있었습니다. 이 스크립트는 다른 많은 사용 사례에 유용할 수 있습니다. 다른 사람이 그것을 사용한다면, 그것이 어떻게 사용되었는지 듣고 싶습니다. (저는 엄청난 괴짜이고 리버스 엔지니어링에 꽤 관심이 있습니다). SIP를 올바르게 사용하려면 SIP를 비활성화해야 합니다.
또한 SSL 고정 및 확인 비활성화 스크립트를 삽입하기 위해 launchd
대상으로 하는 수정된 Frida Python 스크립트도 있습니다. AssetCache
launchd에 의해 생성되므로 Frida를 launchd에 연결하고 서비스를 통해 AssetCache
생성을 기다릴 수 있습니다. 스크립트는 tools/frida-ssl-pin-target.py
에 있습니다. pip3 install frida frida-tools
실행하고 스크립트를 실행하세요.