Il s'agit d'une tentative d'ingénierie inverse du système Apple Content Caching.
Le but de ce projet est de me lancer un défi sérieux dans une tentative sérieuse d'ingénierie inverse tout en créant quelque chose que je veux créer : un cache de contenu Apple qui fonctionne sur les serveurs Linux.
REMARQUE : Asset-cache-tool est une continuation d'une partie de ce travail.
Chère Pomme,
Je suis un acteur de bonne foi et, en raison de la conception du cache, je ne pense pas que cela devrait causer un quelconque préjudice. Si vous envisagez le contraire, contactez-moi via mon email : [email protected]
Merci, Alex
Veuillez ne pas abuser du contenu que vous voyez ici. J'essaie de le faire de bonne foi et je ne tolère aucune utilisation malveillante du système Apple Content Cache, quelle qu'elle soit.
La mise en cache du contenu est disponible dans la section Partage des Préférences Système. Il est utilisé pour mettre en cache le contenu de votre réseau local pour le contenu public Apple ou le contenu iCloud. Le /usr/libexec/AssetCache/AssetCache
est responsable de la majorité du travail. Il dispose d'un serveur HTTP doté d'une API qui permet de récupérer et de télécharger du contenu depuis le serveur.
De plus, les captures de paquets sont fournies dans le répertoire captures
.
Le travail ici a été réalisé en utilisant Charles Proxy et Frida.
Le fichier tools/frida-ssl-pin.js
est un script Frida qui peut s'attacher à n'importe quel processus macOS et désactiver toutes les vérifications SSL et l'épinglage des certificats SSL. Cela m'a permis d'examiner en profondeur les requêtes adressées aux serveurs d'Apple. Ce script est probablement utile pour de nombreux autres cas d'utilisation. Si quelqu'un d'autre l'utilise, j'aimerais savoir comment il a été utilisé (je suis un très grand nerd et je suis très intéressé par l'ingénierie inverse). Notez que SIP devra être désactivé pour pouvoir l'utiliser correctement.
J'ai également un script Frida Python modifié qui cible launchd
pour injecter le script de désactivation de l'épinglage et de la vérification SSL. Étant donné AssetCache
est généré par launchd, vous pouvez attacher Frida à launchd et attendre AssetCache
soit généré via le service. Le script se trouve à l'adresse : tools/frida-ssl-pin-target.py
, faites simplement pip3 install frida frida-tools
et exécutez le script.