diff --git a/SUMMARY.md b/SUMMARY.md index fc195af92..bc7361fa1 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -151,7 +151,7 @@ * [macOS File Extension Apps](macos-hardening/macos-security-and-privilege-escalation/macos-file-extension-apps.md) * [macOS Files, Folders, Binaries & Memory](macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/README.md) * [macOS Bundles](macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-bundles.md) - * [macOS Installer Packages (pkg)](macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-installer-packages-pkg.md) + * [macOS Installers Abuse](macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-installers-abuse.md) * [macOS Memory Dumping](macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md) * [macOS Sensitive Locations](macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-sensitive-locations.md) * [macOS Universal binaries & Mach-O Format](macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/universal-binaries-and-mach-o-format.md) diff --git a/macos-hardening/macos-security-and-privilege-escalation/README.md b/macos-hardening/macos-security-and-privilege-escalation/README.md index 3d1901cea..7a7b44a5b 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/README.md +++ b/macos-hardening/macos-security-and-privilege-escalation/README.md @@ -78,7 +78,7 @@ Dans les entreprises, les systèmes **macOS** sont très probablement **gérés ## Surface d'attaque -### Autorisations de fichier +### Autorisations de fichiers Si un **processus s'exécutant en tant que root écrit** un fichier qui peut être contrôlé par un utilisateur, l'utilisateur pourrait l'utiliser pour **escalader les privilèges**.\ Cela pourrait se produire dans les situations suivantes : @@ -92,13 +92,13 @@ Cela pourrait se produire dans les situations suivantes : Pour ce type de vulnérabilités, n'oubliez pas de **vérifier les installateurs `.pkg`** vulnérables : -{% content-ref url="macos-files-folders-and-binaries/macos-installer-packages-pkg.md" %} -[macos-installer-packages-pkg.md](macos-files-folders-and-binaries/macos-installer-packages-pkg.md) +{% content-ref url="macos-files-folders-and-binaries/macos-installers-abuse.md" %} +[macos-installers-abuse.md](macos-files-folders-and-binaries/macos-installers-abuse.md) {% endcontent-ref %} ### Abus de privilèges et d'attributions via l'abus de processus -Si un processus peut **injecter du code dans un autre processus avec des privilèges ou des attributions supérieurs** ou le contacter pour effectuer des actions de privilèges, il pourrait escalader les privilèges et contourner les mesures de défense telles que [Sandbox](macos-security-protections/macos-sandbox/) ou [TCC](macos-security-protections/macos-tcc/). +Si un processus peut **injecter du code dans un autre processus avec des privilèges ou des attributions supérieurs** ou le contacter pour effectuer des actions de privilèges, il peut escalader les privilèges et contourner les mesures de défense telles que [Sandbox](macos-security-protections/macos-sandbox/) ou [TCC](macos-security-protections/macos-tcc/). {% content-ref url="macos-proces-abuse/" %} [macos-proces-abuse](macos-proces-abuse/) @@ -106,7 +106,7 @@ Si un processus peut **injecter du code dans un autre processus avec des privil ### Applications d'extension de fichier -Des applications étranges enregistrées par des extensions de fichier pourraient être abusées : +Des applications étranges enregistrées par des extensions de fichier peuvent être abusées : {% content-ref url="macos-file-extension-apps.md" %} [macos-file-extension-apps.md](macos-file-extension-apps.md) @@ -175,9 +175,9 @@ Tout d'abord, veuillez noter que **la plupart des astuces sur l'élévation de p [**Suivez HackenProof**](https://bit.ly/3xrrDrL) **pour en savoir plus sur les bugs web3** -🐞 Lire des tutoriels sur les bugs web3 +🐞 Lire les tutoriels de bugs web3 -🔔 Recevoir des notifications sur les nouveaux programmes de primes pour bugs +🔔 Recevoir des notifications sur les nouveaux bug bounties 💬 Participer aux discussions de la communauté diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/README.md b/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/README.md index a633b9b87..ff90a5ea4 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/README.md +++ b/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/README.md @@ -51,8 +51,8 @@ macOS stocke des informations telles que des mots de passe à plusieurs endroits ### Installateurs pkg vulnérables -{% content-ref url="macos-installer-packages-pkg.md" %} -[macos-installer-packages-pkg.md](macos-installer-packages-pkg.md) +{% content-ref url="macos-installers-abuse.md" %} +[macos-installers-abuse.md](macos-installers-abuse.md) {% endcontent-ref %} ## Extensions spécifiques à OS X @@ -90,7 +90,7 @@ Dans un **dossier**, **la lecture** permet de **lister** celui-ci, **l'écriture ### Modificateurs de drapeaux -Il existe des d +Il existe des drapeaux qui peuvent être dé ```bash ls -ld Movies drwx------+ 7 username staff 224 15 Apr 19:42 Movies diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-installers-abuse.md b/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-installers-abuse.md new file mode 100644 index 000000000..0ca211436 --- /dev/null +++ b/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-installers-abuse.md @@ -0,0 +1,63 @@ +## Informations de base + +Un package d'installation macOS (également connu sous le nom de fichier `.pkg`) est un format de fichier utilisé par macOS pour **distribuer des logiciels**. Ces fichiers sont comme une **boîte qui contient tout ce dont un logiciel** a besoin pour s'installer et fonctionner correctement. + +Le fichier de package lui-même est une archive qui contient une **hiérarchie de fichiers et de répertoires qui seront installés sur l'ordinateur cible**. Il peut également inclure des **scripts** pour effectuer des tâches avant et après l'installation, comme la configuration de fichiers de configuration ou le nettoyage des anciennes versions du logiciel. + +### Hiérarchie + +
+ +* **Distribution (xml)** : Personnalisation (titre, texte de bienvenue...) et vérifications de script/installation +* **PackageInfo (xml)** : Informations, exigences d'installation, emplacement d'installation, chemins vers les scripts à exécuter +* **Bill of materials (bom)** : Liste des fichiers à installer, mettre à jour ou supprimer avec les autorisations de fichier +* **Payload (archive CPIO compressée gzip)** : Fichiers à installer dans l'emplacement d'installation à partir de PackageInfo +* **Scripts (archive CPIO compressée gzip)** : Scripts d'installation pré et post et plus de ressources extraites dans un répertoire temporaire pour l'exécution. + +### Décompression +```bash +# Tool to directly get the files inside a package +pkgutil —expand "/path/to/package.pkg" "/path/to/out/dir" + +# Get the files ina. more manual way +mkdir -p "/path/to/out/dir" +cd "/path/to/out/dir" +xar -xf "/path/to/package.pkg" + +# Decompress also the CPIO gzip compressed ones +cat Scripts | gzip -dc | cpio -i +cpio -i < Scripts +``` +## Privesc via l'abus de pkg + +### Exécution à partir de répertoires publics + +Si un script d'installation pré ou post est par exemple exécuté à partir de **`/var/tmp/Installerutil`**, un attaquant pourrait contrôler ce script pour escalader les privilèges chaque fois qu'il est exécuté. Ou un autre exemple similaire : + +
+ +### AuthorizationExecuteWithPrivileges + +Il s'agit d'une [fonction publique](https://developer.apple.com/documentation/security/1540038-authorizationexecutewithprivileg) que plusieurs programmes d'installation et mises à jour appelleront pour **exécuter quelque chose en tant que root**. Cette fonction accepte le **chemin** du **fichier** à **exécuter** en tant que paramètre, cependant, si un attaquant pouvait **modifier** ce fichier, il serait en mesure d'**abuser** de son exécution avec des privilèges root pour **escalader les privilèges**. +```bash +# Breakpoint in the function to check wich file is loaded +(lldb) b AuthorizationExecuteWithPrivileges +# You could also check FS events to find this missconfig +``` +Pour plus d'informations, consultez cette présentation : [https://www.youtube.com/watch?v=lTOItyjTTkw](https://www.youtube.com/watch?v=lTOItyjTTkw) + +## Références + +* [https://www.youtube.com/watch?v=iASSG0\_zobQ](https://www.youtube.com/watch?v=iASSG0\_zobQ) + +
+ +☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 + +* Travaillez-vous dans une entreprise de **cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) ! +* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family) +* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) +* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) **groupe Discord** ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** +* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud). + +