Linux Remote Management Protocols
La gestion à distance des serveurs Linux est une composante essentielle pour les administrateurs système, les équipes DevOps, et les pentesters. Que ce soit pour dépanner un collègue à distance, effectuer une maintenance, ou explorer un système pendant un test d'intrusion, connaître les protocoles de gestion à distance est crucial.
✈SSH (Secure Shell)
SSH permet d'établir une connexion chiffrée entre deux hôtes, généralement sur le port TCP/22. Il est présent nativement sur la plupart des distributions Linux et macOS, et peut être installé sur Windows. OpenSSH est l'implémentation la plus répandue.
Authentification
Mot de passe
Clé publique/privée (recommandée)
Host-based, keyboard-interactive, challenge-response, GSSAPI
Authentification par clé publique
Le client détient une clé privée, et le serveur une clé publique associée. Le client résout un défi envoyé par le serveur pour prouver son identité.
Configuration par défaut (/etc/ssh/sshd_config)
Include /etc/ssh/sshd_config.d/*.conf
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
Paramètres à risque
PasswordAuthentication yes
Brute-force
PermitEmptyPasswords yes
Accès sans mot de passe
PermitRootLogin yes
Accès root à distance
Protocol 1
Protocole obsolète
Footprinting avec ssh-audit
git clone https://github.com/jtesta/ssh-audit.git
./ssh-audit.py <IP CIBLE>
Permet d'auditer les algorithmes de chiffrement, les versions, les clés, etc.
📂 Rsync
Outil de synchronisation rapide de fichiers, localement ou à distance. Il fonctionne sur le port TCP/873 par défaut et peut utiliser SSH pour le transport.
Scanning et énumération
nmap -sV -p 873 <IP CIBLE>
nc -nv <IP CIBLE> 873
rsync -av --list-only rsync://<IP CIBLE>/<partage>
Exemple de fichiers sensibles
secrets.yaml
.ssh/
⚖️ R-Services
Suite de services obsolètes d'accès distant par TCP/IP : rsh, rlogin, rexec, etc. Fonctionnent sur les ports 512, 513, 514 TCP.
Outils
rcp : copie de fichiers
rexec : exécution distante
rlogin : session distante interactive
rsh : shell distant sans login
rwho/rusers : utilisateurs actifs
Fichiers critiques
/etc/hosts.equiv
(global)~/.rhosts
(par utilisateur)
Exemple de .rhosts
htb-student 10.0.17.5
+ 10.0.17.10
+ +
Footprinting
nmap -sV -p 512,513,514 <IP CIBLE>
rlogin <IP CIBLE> -l <user>
rwho
rusers -al <IP CIBLE>
📊 Conclusion
Les protocoles de gestion à distance offrent un accès puissant aux systèmes, mais leur mauvaise configuration peut représenter un vecteur d'attaque critique. En tant que pentester ou administrateur sécurité, nous devons :
Identifier ces services sur le réseau.
Tester les configurations et accès faibles.
Prendre en compte les problématiques de réutilisation de mots de passe et de chiffrement.
Mis à jour