🐧Linux
L'énumération est la première étape cruciale dans le processus de test d'intrusion, que ce soit pour identifier des vulnérabilités, comprendre la configuration du système, ou trouver des vecteurs potentiels d'élévation de privilèges. Même après avoir obtenu un accès initial, l'énumération reste essentielle pendant la phase post-compromission.
🛰️ Enumération
📛 Nom d'hôte
La commande hostname
renvoie le nom d'hôte de la machine cible, pouvant fournir des indications sur le rôle du système au sein du réseau.
hostname
💻 Informations Système
La commande uname -a
affiche des détails sur le noyau utilisé par le système, utile pour rechercher des vulnérabilités potentielles.
uname -a
Le fichier /proc/version
peut également fournir des informations sur la version du noyau.
cat /proc/version
Le fichier /etc/issue
peut contenir des informations sur le système d'exploitation.
cat /etc/issue
🔄 Processus en Cours
La commande ps
affiche les processus en cours sur le système, avec des options utiles.
ps -A # Afficher tous les processus en cours
ps axjf # Afficher l'arborescence des processus
ps aux # Afficher les processus avec des informations détaillées
ps -elf # Afficher les processus avec des informations détaillées et lisibles par l'homme
En tant que root :
$ ps aux | grep root
$ ps -elf | grep root
Tools :
🌐 Variables d'Environnement
La commande env
affiche les variables d'environnement, notamment la variable PATH.
env
📜 Privilèges Sudo
La commande sudo -l
permet de lister les commandes que l'utilisateur peut exécuter avec les privilèges root.
sudo -l
📁 Fichiers et Répertoires
La commande ls
est commune ; utilisez ls -la
pour une vue détaillée.
ls -la
Afficher les fichiers de courrier électronique des utilisateurs
ls -lh /var/mail/
Lister les fichiers dans /usr/bin/
et /sbin/
pour trouver les applications installées
ls -lh /usr/bin/
ls -lh /sbin/
👥 Utilisateur et Groupe
La commande id
fournit un aperçu du niveau de privilège de l'utilisateur et des adhésions à des groupes.
id
Afficher les adhésions à des groupes en lisant le fichier /etc/group
cat /etc/group
Lecture du fichier /etc/passwd
pour découvrir des utilisateurs.
cat /etc/passwd
Le fichier /etc/shadow
est utilisé pour stocker les informations de mot de passe chiffré des utilisateurs sur les systèmes Linux.
cat /etc/shadow
Afficher les utilisateurs connectés et ce qu'ils font
w
Afficher la liste des derniers utilisateurs connectés
last
⌨️ Historique des Commandes
La commande history
peut révéler des informations potentielles stockées, même des mots de passe ou des noms d'utilisateur.
history
🌐 Interfaces Réseau
La commande ifconfig
fournit des informations sur les interfaces réseau du système.
ifconfig
Afficher les informations de configuration DNS en lisant le fichier /etc/resolv.conf
cat /etc/resolv.conf
🔗 Connexions Réseau
La commande netstat
permet de visualiser les connexions réseau.
netstat -ntlp
netstat -a # Afficher les connexions réseau
netstat -l # Afficher uniquement les prises d'écoute
netstat -n # Afficher une sortie numérique
netstat -t # Afficher les connexions TCP
netstat -u # Afficher les connexions UDP
netstat -x # Afficher les connexions UNIX
Afficher les processus qui utilisent les ports réseau
sudo lsof -i
sudo lsof -i :25
🔍 Recherche de Fichiers avec find
La commande find
est puissante pour la recherche de fichiers et de dossiers.
find / -name filename
find / -perm -u=s -type f 2>/dev/null # Fichiers avec le SUID bit
find / -type f -perm 0777 # Fichiers avec les autorisations 777
find / -writable -type d 2>/dev/null # Dossiers accessibles en écriture
find / -perm -222 -type d 2>/dev/null # Dossiers accessibles en écriture par le groupe
find / -perm -o w -type d 2>/dev/null # Dossiers accessibles en écriture par les autres
find / -xdev -type d -perm -0002 -ls 2> /dev/null # Dossiers avec le sticky bit
find / -xdev -type f -perm -0002 -ls 2> /dev/null # Fichiers avec le sticky bit
find / -user username # Fichiers appartenant à un utilisateur spécifique
find / -mtime 10 # Fichiers modifiés au cours des 10 derniers jours
find / -atime 10 # Fichiers consultés au cours des 10 derniers jours
find / -cmin -60 # Fichiers modifiés au cours de la dernière heure
find / -amin -60 # Accès aux fichiers au cours de la dernière heure
find / -size 50M # Fichiers d'une taille de 50 Mo
find / -perm -4000 -user root -exec ls -ld {} \; 2> /dev/null # SUID (fichiers et programmes qui ont l'autorisation de leur propriétaire - généralement root)
🔧 Configuration du Système
Afficher les informations de version du système en lisant le fichier /etc/*-release
.
ls /etc/*-release
📈 Services en Cours d'Exécution
Obtenir un instantané des processus en cours peut fournir de nombreuses informations.
ps aux
ps -elf
⏰ Configuration de la Tâche Planifiée
Voir les crontabs et les tâches planifiées.
crontab -l
cat /etc/cron*
cat /etc/cron.d/*
cat /etc/cron.daily/*
cat /etc/cron.hourly/*
cat /etc/cron.monthly/*
cat /etc/crontab
cat /etc/at.allow
cat /etc/at.deny
cat /etc/anacrontab
🧰 Outils d'Énumération Linux
Pendant le processus d'énumération sur des systèmes Linux, plusieurs outils peuvent grandement améliorer l'efficacité.
LinPeas : Automatise le processus d'élévation de privilèges sur les systèmes Linux.
LinEnum : Script d'énumération pour découvrir des informations importantes sur les systèmes Linux.
Linux Exploit Suggester (LES) : Suggère des exploits potentiels pour l'élévation de privilèges sur des systèmes Linux.
Linux Smart Enumeration (LSE) : Script d'énumération léger pour répertorier des informations essentielles sur un système Linux.
Linux Priv Checker : Vérifie diverses configurations pour identifier des vecteurs potentiels d'élévation de privilèges.
⚙️ Fonctionnement des droits
🗂️ Droits sur un Fichier ou Répertoire
Les systèmes d'exploitation de type Unix/Linux attribuent des droits spécifiques à chaque fichier et répertoire pour déterminer qui peut lire, écrire ou exécuter ces éléments. Ces droits sont généralement représentés par une série de caractères ou de symboles.
💾 Notation des Droits
La notation standard des droits est une chaîne de dix caractères sous la forme drwxr-xr-x
, où :
Le premier caractère indique le type de fichier (
d
pour répertoire,-
pour fichier ordinaire).Les trois groupes suivants de trois caractères chacun représentent les permissions du propriétaire, du groupe et des autres utilisateurs.
Pour chaque groupe de trois caractères, les droits sont indiqués par les lettres suivantes :
r
: Lecture (read).w
: Écriture (write).x
: Exécution (execute).
Exemple : drwxr-xr-x
signifie que c'est un répertoire où le propriétaire a tous les droits, le groupe et les autres utilisateurs ont le droit de lire et d'exécuter.
🕹️ GID et UID
GID (Group ID) : un identifiant de groupe attribué à un ensemble d'utilisateurs. Chaque utilisateur appartient à un groupe, et le GID de ce groupe est associé à leurs fichiers.
UID (User ID) : un identifiant d'utilisateur unique. Chaque utilisateur sur le système a un UID qui lui est attribué.
Chiffres Associés
L'UID 0 est généralement réservé à l'utilisateur
root
, qui a des privilèges administratifs complets.Les GID peuvent prendre diverses valeurs, avec souvent le GID 0 réservé au groupe
root
.
Exemple : drwxr-xr-x 2 root root
indique un répertoire avec l'UID 0 (root), le GID 0 (root), et les permissions spécifiques pour le propriétaire, le groupe et les autres utilisateurs.
👇 Arborescence des répertoires Linux

Last updated