hacktricks/linux-hardening/linux-post-exploitation/README.md

80 lines
6.2 KiB
Markdown
Raw Normal View History

2023-06-03 13:10:46 +00:00
# Post-Exploitation Linux
2022-06-27 08:48:17 +00:00
{% hint style="success" %}
Apprenez et pratiquez le piratage AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-06-27 08:48:17 +00:00
<details>
2022-06-27 08:48:17 +00:00
<summary>Soutenez HackTricks</summary>
2022-06-27 08:48:17 +00:00
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Partagez des astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
2022-06-27 08:48:17 +00:00
</details>
{% endhint %}
2022-06-27 08:48:17 +00:00
## Capture des mots de passe de connexion avec PAM
2022-06-27 08:48:17 +00:00
Configurons un module PAM pour enregistrer chaque mot de passe que chaque utilisateur utilise pour se connecter. Si vous ne savez pas ce qu'est PAM, consultez :
2022-06-27 08:48:17 +00:00
{% content-ref url="pam-pluggable-authentication-modules.md" %}
[pam-pluggable-authentication-modules.md](pam-pluggable-authentication-modules.md)
{% endcontent-ref %}
**Pour plus de détails, consultez le [message original](https://embracethered.com/blog/posts/2022/post-exploit-pam-ssh-password-grabbing/)**. Ceci n'est qu'un résumé :
2022-06-27 08:48:17 +00:00
**Aperçu de la technique :**
Les modules d'authentification enfichables (PAM) offrent une flexibilité dans la gestion de l'authentification sur les systèmes Unix. Ils peuvent renforcer la sécurité en personnalisant les processus de connexion, mais posent également des risques s'ils sont mal utilisés. Ce résumé décrit une technique pour capturer les informations d'identification de connexion en utilisant PAM, ainsi que des stratégies d'atténuation.
2022-06-27 08:48:17 +00:00
**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'adresse 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`) en utilisant le module `pam_exec.so` avec des options pour s'exécuter discrètement et exposer le jeton d'authentification au script.
- Cette approche montre comment un hôte Linux compromis peut être exploité pour enregistrer discrètement des informations d'identification.
2022-06-27 08:48:17 +00:00
```bash
#!/bin/sh
echo " $(date) $PAM_USER, $(cat -), From: $PAM_RHOST" >> /var/log/toomanysecrets.log
2022-06-27 08:48:17 +00:00
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
2022-06-27 08:48:17 +00:00
```
### Installation d'une porte dérobée dans PAM
2022-06-27 08:48:17 +00:00
**Pour plus de détails, consultez le [post original](https://infosecwriteups.com/creating-a-backdoor-in-pam-in-5-line-of-code-e23e99579cd9)**. Ceci est juste un résumé :
2022-06-27 08:48:17 +00:00
Le Module d'Authentification Pluggable (PAM) est un système utilisé sous Linux pour l'authentification des utilisateurs. Il repose 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.
2022-06-27 08:48:17 +00:00
**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`, inclus par presque tous les services pour la vérification des mots de passe.
2022-06-27 08:48:17 +00:00
### Étapes pour modifier `pam_unix.so` :
1. **Localiser la Directive d'Authentification** dans le fichier `common-auth` :
- La ligne responsable de la vérification du mot de passe de l'utilisateur appelle `pam_unix.so`.
2. **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 procède avec le processus d'authentification habituel.
3. **Recompiler et Remplacer** la bibliothèque `pam_unix.so` modifiée dans le répertoire approprié.
4. **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.
2022-06-27 08:48:17 +00:00
{% hint style="info" %}
2023-06-03 13:10:46 +00:00
Vous pouvez automatiser ce processus avec [https://github.com/zephrax/linux-pam-backdoor](https://github.com/zephrax/linux-pam-backdoor)
2022-06-27 08:48:17 +00:00
{% endhint %}
{% hint style="success" %}
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Soutenez HackTricks</summary>
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Partagez des astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}