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 etc/passwd :

 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 (utilise t-on docker?)

df -h 

Lister les 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 de l’utilisateur. 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*

Trouver un Fichier par son nom

find / -name user.txt 2>/dev/null

Trouver un fichier contenant un mot spécifique :

grep -Rw ~/PATH/ -e 'pasword'

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 :

Trouver des fichier avec le bit SUID activé :
find / -perm -4000 -type f 2>/dev/null 

Trouver des fichier qui ont tous les droits (écriture, lecture, exécution) :
find / -perm -777 -type f 2>/dev/null 

Trouver des fichier avec le bit SUID activé pour l'utilisateur courant :
find / perm /u=s -user `whoami` 2>/dev/null 
find / -user root -perm -4000 -print 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 :

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 ⚠️

Full énumération automatique :LinuxAllEnum

Dump du Login & Password de l’utilisateur courrant : MimiPinguin

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