<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
* Obtenez le [**merchandising officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* Découvrez [**La Famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection d'[**NFTs**](https://opensea.io/collection/the-peass-family) exclusifs
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-moi** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Partagez vos astuces de piratage en soumettant des PR aux dépôts github** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **/Library** : Beaucoup de sous-dossiers et de fichiers liés aux préférences, caches et journaux peuvent être trouvés ici. Un dossier Library existe dans le répertoire racine et dans le répertoire de chaque utilisateur.
* **/private** : Non documenté, mais beaucoup des dossiers mentionnés sont des liens symboliques vers le répertoire privé.
* **/.vol** : En exécutant `stat a.txt`, vous obtenez quelque chose comme `16777223 7545753 -rw-r--r-- 1 nom_utilisateur wheel ...` où le premier nombre est le numéro d'identification du volume où le fichier existe et le second est le numéro d'inode. Vous pouvez accéder au contenu de ce fichier via /.vol/ avec ces informations en exécutant `cat /.vol/16777223/7545753`
* **Les applications système** se trouvent sous `/System/Applications`
* **Les applications installées** sont généralement installées dans `/Applications` ou dans `~/Applications`
* **Les données d'application** peuvent être trouvées dans `/Library/Application Support` pour les applications fonctionnant en tant que root et `~/Library/Application Support` pour les applications fonctionnant en tant qu'utilisateur.
* Les **daemons** d'applications tierces qui **doivent s'exécuter en tant que root** sont généralement situés dans `/Library/PrivilegedHelperTools/`
* Les applications **sandboxées** sont mappées dans le dossier `~/Library/Containers`. Chaque application a un dossier nommé selon l'ID de bundle de l'application (`com.apple.Safari`).
* **`.pkg`** : Sont les mêmes que xar (format d'archive extensible). La commande d'installation peut être utilisée pour installer le contenu de ces fichiers.
* **`.DS_Store`** : Ce fichier se trouve dans chaque répertoire, il sauvegarde les attributs et les personnalisations du répertoire.
* **`.Spotlight-V100`** : Ce dossier apparaît dans le répertoire racine de chaque volume du système.
Essentiellement, un bundle est une **structure de répertoire** au sein du système de fichiers. Intéressant, par défaut ce répertoire **apparaît comme un objet unique dans Finder** (comme `.app`).
Sur macOS (et iOS), toutes les bibliothèques partagées du système, comme les frameworks et les dylibs, sont **combinées en un seul fichier**, appelé le **cache partagé dyld**. Cela améliore les performances, car le code peut être chargé plus rapidement.
Pour extraire les bibliothèques du fichier unique dylib shared cache, il était possible d'utiliser le binaire [dyld\_shared\_cache\_util](https://www.mbsplugins.de/files/dyld\_shared\_cache\_util-dyld-733.8.zip) qui pourrait ne pas fonctionner de nos jours, mais vous pouvez également utiliser [**dyldextractor**](https://github.com/arandomdev/dyldextractor) :
Notez que même si l'outil `dyld_shared_cache_util` ne fonctionne pas, vous pouvez passer le **binaire dyld partagé à Hopper** et Hopper sera capable d'identifier toutes les bibliothèques et de vous permettre de **sélectionner celle** que vous souhaitez étudier :
Dans un **dossier**, **lire** permet de **le lister**, **écrire** permet de **supprimer** et **écrire** des fichiers dedans, et **exécuter** permet de **traverser** le répertoire. Ainsi, par exemple, un utilisateur avec **la permission de lire un fichier** à l'intérieur d'un répertoire où il **n'a pas la permission d'exécuter****ne pourra pas lire** le fichier.
Il existe certains drapeaux qui peuvent être définis dans les fichiers qui feront se comporter le fichier différemment. Vous pouvez **vérifier les drapeaux** des fichiers à l'intérieur d'un répertoire avec `ls -lO /chemin/répertoire`
* **`uchg`** : Connu sous le nom de drapeau **uchange**, il **empêchera toute action** de changer ou de supprimer le **fichier**. Pour le définir, faites : `chflags uchg fichier.txt`
* L'utilisateur root pourrait **retirer le drapeau** et modifier le fichier
* **`Sticky bit`** : Si un répertoire avec sticky bit, **seul** le **propriétaire du répertoire ou root peut renommer ou supprimer** des fichiers. Typiquement, cela est défini sur le répertoire /tmp pour empêcher les utilisateurs ordinaires de supprimer ou de déplacer les fichiers d'autres utilisateurs.
Les **ACLs** de fichiers contiennent des **ACE** (Entrées de Contrôle d'Accès) où des **permissions plus granulaires** peuvent être attribuées à différents utilisateurs.
C'est une méthode pour obtenir des **Alternate Data Streams dans MacOS**. Vous pouvez enregistrer du contenu dans un attribut étendu appelé **com.apple.ResourceFork** à l'intérieur d'un fichier en le sauvegardant dans **file/..namedfork/rsrc**.
Les binaires de Mac OS sont généralement compilés en tant que **binaires universels**. Un **binaire universel** peut **prendre en charge plusieurs architectures dans le même fichier**.
Le fichier `/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/System` contient le risque associé aux fichiers en fonction de l'extension de fichier.
* **LSRiskCategorySafe**: **Totalement****sûr** ; Safari ouvrira automatiquement après téléchargement
* **LSRiskCategoryNeutral**: Pas d'avertissement, mais **n'est pas ouvert automatiquement**
* **LSRiskCategoryUnsafeExecutable**: **Déclenche** un **avertissement** « Ce fichier est une application... »
* **LSRiskCategoryMayContainUnsafeExecutable**: Pour des éléments comme les archives contenant un exécutable. Il **déclenche un avertissement à moins que Safari ne puisse déterminer que tout le contenu est sûr ou neutre**.
* **`$HOME/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2`**: Contient des informations sur les fichiers téléchargés, comme l'URL d'où ils ont été téléchargés.
* **`/var/log/system.log`**: Journal principal des systèmes OSX. com.apple.syslogd.plist est responsable de l'exécution de la journalisation système (vous pouvez vérifier s'il est désactivé en cherchant "com.apple.syslogd" dans `launchctl list`).
* **`/private/var/log/asl/*.asl`**: Ce sont les journaux système Apple qui peuvent contenir des informations intéressantes.
* **`$HOME/Library/Preferences/com.apple.recentitems.plist`**: Stocke les fichiers et applications récemment accédés via "Finder".
* **`$HOME/Library/Preferences/com.apple.loginitems.plsit`**: Stocke les éléments à lancer au démarrage du système
* **`$HOME/Library/Logs/DiskUtility.log`**: Fichier journal pour l'application DiskUtility (informations sur les lecteurs, y compris les clés USB)
* **`/Library/Preferences/SystemConfiguration/com.apple.airport.preferences.plist`**: Données sur les points d'accès sans fil.
* **`/private/var/db/launchd.db/com.apple.launchd/overrides.plist`**: Liste des démons désactivés.
<summary><strong>Apprenez le hacking AWS de zéro à héros avec</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
* Obtenez le [**merchandising officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* Découvrez [**La Famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection d'[**NFTs**](https://opensea.io/collection/the-peass-family) exclusifs
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez**-moi sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Partagez vos astuces de hacking en soumettant des PR aux dépôts github** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).