<div><div style="direction: ltr;"><br> -= DDSi Security Report =-<br> March 8th, 2006<br><br>---------------------------------------------------------------------------------------------------------
<br>Another credentials leak was found in Netcool/NeuSecure Security Information <br>Management platform which leads to remote backend database access <br>with administrative privileges by an unauthenticated remote user
<br><br>
<br><br>Problems :<br><br>- Web interface Applet parameters have credentials stored in clear <br> which allows access to backend database.<br>- Version information leak. <br><br><br>About NeuSecure:<br><br>--------------------------------------------------------------------------------------------------------------------------
<br>Netcool/NeuSecure is a security information management (SIM) platform<br>designed to improve the effectiveness, efficiency and visibility of
<br>security operations and information risk management. The solution<br>centralizes and stores security data from throughout the enterprise,<br>automating incident recognition and response, streamlining incident<br>handling, enabling policy monitoring enforcement and providing
<br>comprehensive reporting for regulatory compliance. The centralization<br>and automation of these functions results in reduced costs of security<br>and IT operations<br><br>---------------------------------------------------------------------------------------------------------------------------------
<br><br>Platform : RedHat EL 3<br>------------------------------<div style="direction: ltr;"><br>JReports-NeuSecure-3.0.236-1<br>common-NeuSecure-3.0.236-1<br>cms-NeuSecure-3.0.236-1<br>---------------------------------------------------------------------------------------------------------------------------------
</div><br><br><br><br><br><br><br>Procedure:<br>----------------------------------------------<br><br>Web client mozilla <a href="http://1.5.0.1/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1.5.0.1
</a><br>Navigate to company;s Neusecure Server Website:<br><br><a href="http://neusecuresrv.domain.com/body.phtml" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://neusecuresrv.domain.com/body.phtml
</a><br><br>View source : <br><br><SCRIPT LANGUAGE="JAVASCRIPT"><br>var ap_width = '';<br>var ap_height = '';<br>var
paramNameArray = ["ARCHIVE", "CODEBASE", "CODE", "EVENT_LIMIT",
"FiresScriptEvents", "MAYSCRIPT", "
database.CMS_DBTYPE", "database.CMS_DBNAME", "database.CMSM_DBNAME",
"database.CMS_DBHOST", "database.CMS_DBUSER", "database.CMS_DBPASS",
"agent_count_limit", "
triton.ticket.export", "username", "sessionid",
"javaplugin.jre.params", "database.java.connectionURL"];<br>var paramValueArray = ["JavaClasses.jar", ".", "
Triton.TritonApplet.class", "", "true", "true", "mysql", "nsdbp", "nsdbm", "localhost", <span style="font-weight: bold;">"ns"</span>, "
<span style="font-weight: bold;">password</span>", "2000", "", "", "fb9ad3ab8968e88e4a576f598b39d6<div style="direction: ltr;">1e", "-Xmx512M -Xms256M", "<a href="http://neusecure.domain.com/getData.php" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://neusecure.domain.com:80/getData.php</a>"];<br>browser.constructApplet('TritonApplet', paramNameArray, paramValueArray, ap_width, ap_height);<br></SCRIPT><br><br><br>Outcome:<br>-----------------------------------------
<br><br>- Default settings for database user [ns] allows connection from any host.<br>- These credentials are used to connect to NeuSecure backend Mysql database with the following privileges:
<br><br>Alter Tables To alter the table<br>Create temporary tables Databases To use CREATE TEMPORARY TABLE<br>Create Databases,Tables,Indexes To create new databases and tables
<br>Delete Tables To delete existing rows<br>Drop Databases,Tables To drop databases and tables<br>File File access on server To read and write files on the server
<br>Grant option Databases,Tables To give to other users those privileges you possess<br>Index Tables To create or drop indexes
<br>Insert Tables To insert data into tables<br>Lock tables Databases To use LOCK TABLES (together with SELECT privilege)
<br>Process Server Admin To view the plain text of currently executing queries<br>References Databases,Tables To have references on tables<br>Reload Server Admin To reload or refresh tables, logs and privileges
<br>Replication client Server Admin To ask where the slave or master servers are<br>Replication slave Server Admin To read binary log events from the master
<br>Select Tables To retrieve rows from table<br>Show databases Server Admin To see all databases with SHOW DATABASES<br>Shutdown Server Admin To shutdown the server
<br>Super Server Admin To use KILL thread, SET GLOBAL, CHANGE MASTER, etc.<br>Update Tables To update existing rows
<br>Usage Server Admin No privileges - allow connect only<br><br><br><br><br>* Also, <span name="st">under Mozilla client applet</span> renders to provide a Help button which gives out the version
<br> of the NeuSecure product and it's service pack version. <br> So far IE6 does not display applet in a way to glean this information.<br><br></div><br><br><br>Workaround:<br> One can change access permissions for user ns in the database
<br> to include only valid hosts to prevent direct backend logins. <br> <br><br>Conclusion:<br><br> - Vendor needs to validate user session before accessing the applet.<br>
- Vendor should not store credential cleartext.<br><br>---------------------------------------------------------------------------------------------<br><br>Vendor communication:<br><br> Attempt to make the vendor aware of this problem was ignored.
<br><br><br><br><br>Thanks,<br><br>Dimitry Snezhkov.<br>DDSi<br></div></div>