Vous avez un shell à faibles privilèges sur une machine Linux. Décrivez-moi comment vous passeriez à root.
Réponse courte
Énumérez d'abord : privilèges actuels, droits sudo, binaires SUID/SGID, tâches cron, fichiers inscriptibles dans le PATH, version du noyau et identifiants stockés. Puis exploitez le chemin le plus simple et fiable — souvent une règle sudo mal configurée ou un GTFOBin SUID — avant de recourir à un exploit du noyau.
L'escalade de privilèges consiste à transformer un pied dans la porte en contrôle. Sous Linux, la stratégie gagnante est l'énumération disciplinée d'abord, l'exploitation ensuite — la plupart des machines tombent à cause d'une mauvaise configuration, pas d'un 0-day.
Énumérer l'environnement
Commencez par comprendre qui vous êtes et ce qui vous entoure :
- Identité et sudo :
id,sudo -l. Une seule règle sudo mal configurée (surtoutNOPASSWD) est souvent toute la réponse. - Binaires SUID/SGID :
find / -perm -4000 -type f 2>/dev/null. Un binaire SUID capable de lancer un shell ou de lire des fichiers arbitraires est une voie directe — GTFOBins catalogue précisément comment abuser des plus courants commefind,vim,nmapoucp. - Tâches planifiées : tâches cron (
/etc/crontab, répertoires cron) exécutées en tant que root et référençant un script dans lequel vous pouvez écrire. - Chemins inscriptibles : fichiers dans le PATH de root, scripts accessibles en écriture par tous, permissions faibles sur des fichiers sensibles.
- Identifiants : fichiers de configuration, fichiers d'historique, clés
.ssh, mots de passe de base de données réutilisés pour root. - Version du noyau et de l'OS :
uname -a— pertinent si rien d'autre n'aboutit.
Des outils comme LinPEAS ou linux-smart-enumeration automatisent ce balayage, mais vous devriez comprendre chaque vérification à la main.
Exploiter le chemin le plus fiable
Une fois que vous avez des candidats, choisissez le plus fiable et le moins risqué. Une règle sudo comme (ALL) NOPASSWD: /usr/bin/tar vous permet d'abuser de l'option --checkpoint-action de tar pour exécuter des commandes en tant que root — propre et reproductible. Un script cron inscriptible vous donne root au prochain tick.
Pourquoi les exploits du noyau sont un dernier recours
Les exploits du noyau (Dirty COW, Dirty Pipe, etc.) peuvent faire planter la machine, sont spécifiques à une version et sont bruyants. Dans un engagement réel, faire planter un serveur de production est un incident grave. Vous n'y recourez donc que lorsque les mauvaises configurations n'aboutissent pas.
Ce que recherchent les recruteurs
Une méthodologie, pas un exploit mémorisé. Ils veulent entendre « énumérer, puis prendre la victoire fiable la plus sûre », avec des exemples concrets (sudo -l, SUID + GTFOBins) et la conscience que les exploits du noyau comportent un véritable risque de stabilité.
Questions de suivi probables
- Pourquoi préférez-vous une mauvaise configuration sudo ou SUID à un exploit du noyau ?
- Comment GTFOBins vous aiderait-il une fois que vous trouvez un binaire SUID comme find ou vim ?
- Que vous permet de faire une entrée comme '(ALL) NOPASSWD: /usr/bin/tar' ?