Enumeration

Intro : L’énumération est la clés pour pouvoir faire des élévations de privilèges, cela permet de trouver des exploits ainsi qu’un maximum d’informations sur le système et les utilisateurs (lien utile : https://blog.g0tmi1k.com/2011/08/basic-linux-privilege-escalation/)

⚠️⚠️ Enumeration sur les différents ports : Enumeration des ports ⚠️⚠️

  1. Liste de commande système :

Operating system + version == cat /etc/lsb-release

Kernel Version == uname -a

Voir tous les fichiers cachés et qui peut les exécuter == ls -al

Qui êtes vous ? == id, whoami

Où êtes vous ? == pwd

Le fichier password == cat /etc/passwd

Le fichier contenant les password des utilisateurs == cat /etc/shadow

Si la victime utilise le shell /bin/ash, pensez à vérifier l’historique du shell dans le répertoire /.ash_history en modifiant le fichier script. == /home/<user>/.ash_history

FreeDisk Space (using docker?) == df -h 

processus utilisés == ps -aux | grep “user”

  • ps -ef
  • top
  • cat /etc/services
  1.  What Can I Learn ?

Les fichiers de démarrage du shell Bash. Le fichier est lu une fois au login. Ici on définit les variables et paramètres universels, c’est à dire identiques pour tous les utilisateurs. Il est cependant fréquent (et conseillé) de configurer différemment un compte utilisateur du compte root. Par exemple, les exécutables de /sbin et /usr/sbin sont en principe réservés à root.

  • cat /etc/profile
  • cat ~/.bash_profile
  • cat /etc/bash.bashrc

Beaucoup de gens voudront que leur système affiche quelques informations dans le message de connexion. Ceci peut se faire en utilisant le fichier /etc/issue.

Le fichier /etc/issue est un fichier de texte qui accepte aussi certaines séquences d’échappement pour insérer des informations sur le système. Il existe aussi le fichier issue.net pouvant être utilisé lors de connexions à distance :

  • Cat /etc/issue

Le fichier de configuration : Vous pouvez observez les scripts qui peuvent être effectuer par certains utilisateurs :

  • cat /etc/cron*
  1. Listes de commandes Users Vulnerabilities :

Avec ces commandes vous pouvez trouver des fichiers utilisables pour monter un shell et changer d’utilisateurs, pour créer un meterpreter ou exécuter des commandes :

  • find / -user <user name> 2>/dev/null
  • findexit / -group users -type f 2>/dev/null
  • find / -perm -u=s -type f 2>/dev/null

Astuce :  La commande 2>/dev/null permet de “jeter à la poubelle” toutes les informations qui ne correspondent pas à la commande écrite, très utile pour beaucoup d’autres cas

  1. Commandes exécutable avec les droits superadmin (root) 

Grâce à cette commande vous pouvez exploiter le fait que votre utilisateur puisse lancer des commande avec des droits supérieurs:

  • sudo -l

Exemple :  Ici l’utilisateur Steven peux lancer une commande python en superadmin et donc créer un shell pour faire une élévation de privilège que nous allons voir juste après.

⚠️ Script automatisation énumérations : https://github.com/cheetz/LinEnum ⚠️

Script local : https://github.com/sleventyeleven/https://github.com/cheetz/LinEnumlinuxprivchecker