3.9 KiB
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
# 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 :
Références
☁️ 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 !
- Découvrez The PEASS Family, notre collection exclusive de NFT
- Obtenez le swag officiel PEASS & HackTricks
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez moi sur Twitter 🐦@carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR au repo hacktricks et au repo hacktricks-cloud.