Travaillez-vous dans une entreprise de cybersécurité? Voulez-vous voir votre entreprise annoncée dans HackTricks? ou souhaitez-vous avoir accès à la dernière version du PEASS ou télécharger HackTricks en PDF? Consultez les PLANS D'ABONNEMENT!
// Privesc to user id: 1000#define_GNU_SOURCE#include<stdlib.h>#include<unistd.h>intmain(void) {char*const paramList[10] = {"/bin/bash","-p",NULL};constint id =1000;setresuid(id, id, id);execve(paramList[0], paramList,NULL);return0;}
Écraser un fichier pour escalader les privilèges
Fichiers courants
Ajouter un utilisateur avec mot de passe à /etc/passwd
Changer le mot de passe dans /etc/shadow
Ajouter un utilisateur aux sudoers dans /etc/sudoers
Abuser de docker à travers le socket docker, généralement dans /run/docker.sock ou /var/run/docker.sock
Écraser une bibliothèque
Vérifier une bibliothèque utilisée par un binaire, dans ce cas /bin/su:
Dans ce cas, essayons de nous faire passer pour /lib/x86_64-linux-gnu/libaudit.so.1.
Donc, vérifiez les fonctions de cette bibliothèque utilisées par le binaire su:
Les symboles audit_open, audit_log_acct_message, audit_log_acct_message et audit_fd proviennent probablement de la bibliothèque libaudit.so.1. Comme libaudit.so.1 sera écrasée par la bibliothèque partagée malveillante, ces symboles doivent être présents dans la nouvelle bibliothèque partagée, sinon le programme ne pourra pas trouver le symbole et se terminera.
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 du PEASS ou télécharger HackTricks en PDF? Consultez les PLANS D'ABONNEMENT!