Enumération

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>/bash_history

FreeDisk Space (using docker?)

df -h 

processus utilisés

ps -aux | grep “user”
ps -ef
top
cat /etc/services

2. Que puis je apprendre ?

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*

3. 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

4. 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.

5. Automatisation de l’énumération

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

Un commentaire

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s