Élévation de privilèges Linux · guide pratique V13
Sudo, SUID, SGID et capabilities
Guide professionnel et progressif consacré à sudo, suid, sgid et capabilities, avec méthodologie autorisée, interprétation, preuves et remédiations.
En bref
But : Guide professionnel et progressif consacré à sudo, suid, sgid et capabilities, avec méthodologie autorisée, interprétation, preuves et remédiations.
Preuve attendue : une preuve exploitable, une conclusion prudente et un retest documenté
Limite : le résultat est valable uniquement pour les versions, rôles, chemins et conditions effectivement testés.
Vue synthétique de « Sudo, SUID, SGID et capabilities » : les étapes affichées correspondent aux sections pratiques de cette page.
Points essentiels
Évaluer les erreurs de configuration locales Linux en privilégiant l’observation et la preuve réversible. L’objectif est de produire une démonstration limitée mais convaincante, sans créer un incident supplémentaire ni collecter des données qui ne sont pas nécessaires. Dans le cadre de « Sudo, SUID, SGID et capabilities », ce point est relié à « Résultat recherché » afin d’éviter une conclusion générique ou déconnectée de la cible.
« Résultat recherché » pose le cadre technique de « Sudo, SUID, SGID et capabilities ». Le chapitre examine les comptes, sudoers, services, tâches planifiées, capabilities, SUID/SGID, permissions et secrets de configuration du système Linux de laboratoire. Dans le domaine « ⬆️ Élévation de privilèges Linux », l’objectif est de distinguer l’état attendu, les faits observés et les hypothèses qui nécessitent encore une confirmation.
Commandes et exemples
Les exemples ci-dessous proviennent des éléments utiles de « Sudo, SUID, SGID et capabilities ». Adaptez uniquement les valeurs du laboratoire et conservez la commande exacte avec sa sortie.
Exemples de laboratoire
# Chapitre : Sudo, SUID, SGID et capabilities
# Répertoire de preuve conseillé : preuves/sudo_suid_sgid_et_capabilities/bloc_01
# Inventaire local autorisé
whoami
uname -a 2>/dev/null || ver
id 2>/dev/null || whoami /all
Lire les résultats
Pour « Sudo, SUID, SGID et capabilities », distinguez la sortie brute, l’hypothèse et la conclusion. Les versions, droits, caches et contrôles compensatoires sont vérifiés avant de classer le résultat.
Comprendre le sujet avant d’agir
Le chapitre « Sudo, SUID, SGID et capabilities » appartient au domaine « Elevation de privileges Linux ». Il doit permettre de comprendre le mécanisme avant d’utiliser un outil, puis de produire une preuve lisible par une autre personne. L’objectif n’est pas d’accumuler des commandes : chaque action doit répondre à une hypothèse, rester dans le périmètre et déboucher sur une conclusion vérifiable.
Dans ce contexte, l’attention porte surtout sur le système, l’utilisateur courant, les groupes, services, tâches, permissions et mécanismes de durcissement. Une approche professionnelle commence par noter l’état initial, la version des composants et l’identité utilisée. Elle se termine par la conservation des sorties utiles, l’explication des limites et la vérification que le laboratoire a été remis dans son état prévu.
Point de contrôle — version et rôle de l’hôte.
Point de contrôle — contexte utilisateur.
Point de contrôle — permission ou configuration observée.
Point de contrôle — preuve d’accès minimale.
Point de contrôle — journal ou artefact confirmant le comportement.
Inventaire non destructif
La méthode suivante transforme « Sudo, SUID, SGID et capabilities » en exercice reproductible. Elle évite de confondre la quantité de sorties avec la qualité de la preuve et permet d’arrêter le test dès que l’objectif est démontré.
Définir en une phrase ce que l’exercice « Sudo, SUID, SGID et capabilities » doit confirmer ou infirmer.
Relever l’état initial du laboratoire et les versions utiles au domaine « Elevation de privileges Linux ».
Choisir l’action la moins intrusive capable de répondre à la question.
Exécuter une seule variation à la fois et conserver la sortie brute avec un horodatage UTC.
Confirmer le résultat par une seconde observation ou une vérification manuelle.
Documenter l’impact, les limites, la correction proposée et le critère de retest.
Exemple guidé dans le laboratoire
Préparez un scénario réduit dans `lab.local` qui ne contient que les composants nécessaires à « Sudo, SUID, SGID et capabilities ». Notez l’état initial, appliquez la méthode du chapitre et sauvegardez chaque sortie sous un nom horodaté.
Le cas est réussi lorsque la conclusion peut être relue et reproduite sans connaissance implicite. Les captures servent d’illustration, mais la preuve principale reste la sortie brute accompagnée de son contexte.
Préparation — confirmer les actifs et comptes autorisés pour « Sudo, SUID, SGID et capabilities ».
Exécution — limiter l’action à une seule hypothèse et une seule variation.
Validation — reproduire le résultat et conserver la sortie brute.
Clôture — nettoyer les artefacts, documenter les limites et définir le retest.
Lecture des commandes et options
Les commandes déjà présentes dans « Sudo, SUID, SGID et capabilities » doivent être lues comme des exemples de laboratoire. Les lignes suivantes expliquent leur rôle afin d’éviter une exécution aveugle.
`whoami` — cette ligne participe à l’exercice « Sudo, SUID, SGID et capabilities » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
`uname -a 2>/dev/null || ver` — cette ligne participe à l’exercice « Sudo, SUID, SGID et capabilities » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
`id 2>/dev/null || whoami /all` — cette ligne participe à l’exercice « Sudo, SUID, SGID et capabilities » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
Prioriser les écarts réellement exploitables
Pour « Sudo, SUID, SGID et capabilities », un résultat utile relie au minimum le contexte, l’action et l’observation. Une sortie d’outil isolée reste une indication : elle devient une preuve lorsque le périmètre, la version, les paramètres et la reproduction sont documentés.
La conclusion doit préciser ce qui est confirmé, ce qui reste probable et ce qui n’a pas été testé. Dans le profil « host », les éléments à rapprocher sont notamment : version et rôle de l’hôte, contexte utilisateur, permission ou configuration observée. Les autres éléments servent à expliquer la portée et à préparer le retest.
Élément à documenter — version et rôle de l’hôte.
Élément à documenter — contexte utilisateur.
Élément à documenter — permission ou configuration observée.
Élément à documenter — preuve d’accès minimale.
Élément à documenter — journal ou artefact confirmant le comportement.
Erreurs fréquentes et amélioration de la qualité
Les erreurs ci-dessous sont particulièrement importantes pour « Sudo, SUID, SGID et capabilities ». Elles produisent des faux positifs, des conclusions impossibles à reproduire ou un risque inutile pour le laboratoire.
À éviter — lancer tous les scripts sans définir une hypothèse.
À éviter — confondre information intéressante et élévation possible.
À éviter — modifier un service pour prouver un droit déjà visible.
À éviter — ignorer les protections EDR ou le contexte métier.
À éviter — ne pas distinguer privilège local et privilège de domaine.
Checklist avant de clôturer le chapitre
Cette checklist résume les contrôles attendus pour considérer « Sudo, SUID, SGID et capabilities » comme terminé de manière professionnelle.
L’objectif et le périmètre de « Sudo, SUID, SGID et capabilities » sont écrits.
La version des outils et composants est enregistrée.
La commande, le filtre ou la procédure exacte est conservé.
La sortie brute est horodatée et accompagnée de son contexte.
Le résultat a été confirmé par une seconde observation.
Les limites et les éléments non testés sont explicites.
Les artefacts créés ont été supprimés ou remis dans l’état convenu.
La recommandation et le critère de retest sont exploitables.
Pour maîtriser « Sudo, SUID, SGID et capabilities », retenez trois idées : comprendre le système, l’utilisateur courant, les groupes, services, tâches, permissions et mécanismes de durcissement, exécuter une méthode limitée et reproductible, puis transformer la sortie en preuve contextualisée. Le chapitre est terminé lorsque le résultat peut être confirmé, que ses limites sont explicites et que la correction peut être retestée sans réinterpréter toute la mission.
Savoir expliquer le mécanisme propre à « Sudo, SUID, SGID et capabilities » sans réciter une commande.
Conserver au minimum version et rôle de l’hôte, contexte utilisateur et permission ou configuration observée.
Éviter en priorité de lancer tous les scripts sans définir une hypothèse et de confondre information intéressante et élévation possible.
Proposer une action corrective mesurable et un retest réalisable.