
analyse du débordement de tampon de sudo affectant les versions de sudo <1.8.26 et comment utiliser GCC pour compiler les exploits disponibles publiquement
Analyse de la CVE-2019-18634 (https://www.exploit-db.com/exploits/47995)
Sudo 1.8.25p - 'pwfeedback' Débordement de tampon (PoC)
L'option pwfeedback de sudo peut être utilisée pour fournir un retour visuel lorsque l'utilisateur saisit son mot de passe. Pour chaque pression de touche, un astérisque est imprimé. Cette option a été ajoutée en réponse à la confusion des utilisateurs face à l'invite standard Password: qui désactive l'écho des pressions de touches. Bien que pwfeedback ne soit pas activé par défaut dans la version amont de sudo, certains systèmes, comme Linux Mint et Elementary OS, l'activent dans leurs fichiers sudoers par défaut.
Analyse
Sudo buffer overflow tryhackme writeup
Analyse de la CVE-2019-18634
Tout d'abord, nous nous connectons à l'instance tryhackme via SSH
La vulnérabilité survient parce que la fonction pwfeedback est vulnérable à un débordement de tampon de tas (heap buffer overflow). Pour exploiter cette vulnérabilité, nous vérifions d'abord que la machine dispose de la version vulnérable de sudo (sudo <1.8.26) en exécutant la commande sudo –version
Analyse de la CVE-2019-18634
Tout d'abord, nous nous connectons à l'instance tryhackme via SSH
La vulnérabilité survient parce que la fonction pwfeedback est vulnérable à un débordement de tampon de tas (heap buffer overflow). Pour exploiter cette vulnérabilité, nous vérifions d'abord que la machine dispose de la version vulnérable de sudo (sudo <1.8.26) en exécutant la commande sudo –version

Après avoir confirmé que la machine dispose d'une version vulnérable de sudo, nous vérifions maintenant que la fonction pwfeedback est présente. Cela peut être fait de 2 manières : en invoquant sudo et en saisissant n'importe quoi dans l'invite de mot de passe, ce qui devrait afficher « * » à mesure que vous saisissez des caractères pour le mot de passe, et la deuxième manière, plus technique, consiste à utiliser la commande sudo -l, mais cela nécessitera également que l'utilisateur dispose des autorisations appropriées lui permettant de consulter les informations concernant sudo ou de pouvoir concaténer le fichier sudoers

Nous allons maintenant confirmer qu'un débordement de tampon est possible en utilisant le cas de test utilisé sur exploit-db https://www.exploit-db.com/exploits/47995
perl -e 'print(("A" x 100 . "\x{00}") x 50)' | sudo -S id ^^La ligne de code ci-dessus se déroule comme suit :
Ajoutez 100 caractères A et redirigez-les vers la commande sudo, qui se retrouveront ensuite dans le tampon de tas de pwfeedback.

Sudo affichera ensuite une erreur de segmentation (segmentation fault) car il ne sait pas comment poursuivre le processus sudo
Cela se produit parce qu'une fois qu'un tampon de tas statique est inondé, il commence à inonder les registres du CPU et le pointeur d'instruction, qui maintient le flux de la prochaine instruction.
Nous pouvons exécuter l'exploit, ce qui provoquera un débordement de tampon et nous donnera un accès root au système https://www.exploit-db.com/exploits/47995
