Este es un intento de ingeniería inversa del sistema Apple Content Caching.
El objetivo de este proyecto es desafiarme a mí mismo en un intento serio de ingeniería inversa y al mismo tiempo crear algo que quiero hacer: un caché de contenido de Apple que funcione en servidores Linux.
NOTA : Asset-cache-tool es una continuación de parte de este trabajo.
Querida manzana,
Soy un actor de buena fe y, debido al diseño del caché, no creo que esto deba causar ningún daño. Si consideras lo contrario, contáctame a través de mi correo electrónico: [email protected]
Gracias, alex
Por favor, no abuses del contenido que ves aquí. Estoy tratando de hacer esto de buena fe y no apruebo ningún uso malicioso del sistema Apple Content Cache, cualquiera que sea.
El almacenamiento en caché de contenido está disponible en la sección Compartir de Preferencias del Sistema. Se utiliza para almacenar en caché contenido en su red local para contenido público de Apple o contenido de iCloud. /usr/libexec/AssetCache/AssetCache
es responsable de la mayor parte del trabajo. Tiene un servidor HTTP que tiene una API que permite buscar y cargar contenido desde el servidor.
Además, las capturas de paquetes se proporcionan en el directorio captures
.
El trabajo aquí se realizó con Charles Proxy y Frida.
El archivo tools/frida-ssl-pin.js
es un script de Frida que puede adjuntarse a cualquier proceso de macOS y deshabilitar toda la verificación SSL y la fijación de certificados SSL. Esto me ha permitido examinar en profundidad las solicitudes que llegan a los servidores de Apple. Es probable que este script sea útil para muchos otros casos de uso. Si alguien más lo usa, me encantaría saber cómo se usó (soy un gran nerd y estoy bastante interesado en la ingeniería inversa). Tenga en cuenta que será necesario desactivar SIP para poder utilizarlo correctamente.
También tengo un script Frida Python modificado cuyo objetivo es launchd
el script de desactivación de verificación y fijación de SSL. Dado que Launchd genera AssetCache
, puede adjuntar Frida a launchd y esperar a que se genere AssetCache
a través del servicio. El script se encuentra en: tools/frida-ssl-pin-target.py
, simplemente haga pip3 install frida frida-tools
y ejecute el script.