Linux Post-Exploitation
Reading time: 4 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépôts github.
Sniffing Logon Passwords with PAM
Configurons un module PAM pour enregistrer chaque mot de passe utilisé par chaque utilisateur pour se connecter. Si vous ne savez pas ce qu'est PAM, consultez :
PAM - Pluggable Authentication Modules
Pour plus de détails, consultez le post original. Ceci est juste un résumé :
Aperçu de la technique : Les modules d'authentification pluggables (PAM) offrent une flexibilité dans la gestion de l'authentification sur les systèmes basés sur Unix. Ils peuvent améliorer la sécurité en personnalisant les processus de connexion, mais présentent également des risques s'ils sont mal utilisés. Ce résumé décrit une technique pour capturer les informations d'identification de connexion à l'aide de PAM, ainsi que des stratégies d'atténuation.
Capture des informations d'identification :
- Un script bash nommé
toomanysecrets.sh
est créé pour enregistrer les tentatives de connexion, capturant la date, le nom d'utilisateur ($PAM_USER
), le mot de passe (via stdin) et l'IP de l'hôte distant ($PAM_RHOST
) dans/var/log/toomanysecrets.log
. - Le script est rendu exécutable et intégré dans la configuration PAM (
common-auth
) à l'aide du modulepam_exec.so
avec des options pour s'exécuter silencieusement et exposer le jeton d'authentification au script. - L'approche démontre comment un hôte Linux compromis peut être exploité pour enregistrer discrètement les informations d'identification.
#!/bin/sh
echo " $(date) $PAM_USER, $(cat -), From: $PAM_RHOST" >> /var/log/toomanysecrets.log
sudo touch /var/log/toomanysecrets.sh
sudo chmod 770 /var/log/toomanysecrets.sh
sudo nano /etc/pam.d/common-auth
# Add: auth optional pam_exec.so quiet expose_authtok /usr/local/bin/toomanysecrets.sh
sudo chmod 700 /usr/local/bin/toomanysecrets.sh
Backdooring PAM
Pour plus de détails, consultez le post original. Ceci est juste un résumé :
Le Pluggable Authentication Module (PAM) est un système utilisé sous Linux pour l'authentification des utilisateurs. Il fonctionne sur trois concepts principaux : nom d'utilisateur, mot de passe et service. Les fichiers de configuration pour chaque service se trouvent dans le répertoire /etc/pam.d/
, où des bibliothèques partagées gèrent l'authentification.
Objectif : Modifier PAM pour permettre l'authentification avec un mot de passe spécifique, contournant le mot de passe réel de l'utilisateur. Cela se concentre particulièrement sur la bibliothèque partagée pam_unix.so
utilisée par le fichier common-auth
, qui est inclus par presque tous les services pour la vérification des mots de passe.
Étapes pour modifier pam_unix.so
:
- Localiser la directive d'authentification dans le fichier
common-auth
:
- La ligne responsable de la vérification du mot de passe d'un utilisateur appelle
pam_unix.so
.
- Modifier le code source :
- Ajouter une instruction conditionnelle dans le fichier source
pam_unix_auth.c
qui accorde l'accès si un mot de passe prédéfini est utilisé, sinon, il poursuit le processus d'authentification habituel.
- Recompiler et remplacer la bibliothèque modifiée
pam_unix.so
dans le répertoire approprié. - Test :
- L'accès est accordé à travers divers services (connexion, ssh, sudo, su, économiseur d'écran) avec le mot de passe prédéfini, tandis que les processus d'authentification normaux restent inchangés.
note
Vous pouvez automatiser ce processus avec https://github.com/zephrax/linux-pam-backdoor
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépôts github.