{"id":57684,"date":"2024-06-25T21:59:38","date_gmt":"2024-06-25T18:59:38","guid":{"rendered":"https:\/\/packetstormsecurity.com\/files\/179205\/SA-20240624-0.txt"},"modified":"2024-06-25T21:59:38","modified_gmt":"2024-06-25T18:59:38","slug":"faronics-winselect-hardcoded-credentials-bad-permissions-unhashed-password","status":"publish","type":"post","link":"https:\/\/afaghhosting.net\/blog\/faronics-winselect-hardcoded-credentials-bad-permissions-unhashed-password\/","title":{"rendered":"Faronics WINSelect Hardcoded Credentials \/ Bad Permissions \/ Unhashed Password"},"content":{"rendered":"<p>SEC Consult Vulnerability Lab Security Advisory &lt; 20240624-0 &gt;<br \/>=======================================================================<br \/>title: Multiple Vulnerabilities allowing complete bypass<br \/>product: Faronics WINSelect (Standard + Enterprise)<br \/>vulnerable version: &lt;8.30.xx.903<br \/>fixed version: 8.30.xx.903<br \/>CVE number: CVE-2024-36495, CVE-2024-36496, CVE-2024-36497<br \/>impact: high<br \/>homepage: https:\/\/www.faronics.com\/products\/winselect<br \/>found: 2024-02-01<br \/>by: Daniel Hirschberger (Office Bochum)<br \/>SEC Consult Vulnerability Lab<\/p>\n<p>An integrated part of SEC Consult, an Eviden business<br \/>Europe | Asia<\/p>\n<p>https:\/\/www.sec-consult.com<\/p>\n<p>=======================================================================<\/p>\n<p>Vendor description:<br \/>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>&#8220;WINSelect &#8211; Allows you to easily control your end-users&#8217; Windows Experience without<br \/>having to deal with GPOs.<br \/>Need to Prevent Data From Leaving?<br \/>Whether you&#8217;re working on classified government files or the secret ingredient<br \/>for your famous lasagna, you need to protect your sensitive information from<br \/>walking out the door.<\/p>\n<p>Faronics WINSelect offers the ability to disable USB ports and disk drives. Now<br \/>you can relax knowing your secrets won&#8217;t be exported without your knowledge.&#8221;<\/p>\n<p>Source: https:\/\/www.faronics.com\/products\/winselect<\/p>\n<p>Business recommendation:<br \/>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>The vendor provides a patched version which should be installed immediately.<\/p>\n<p>SEC Consult highly recommends to perform a thorough security review of the<br \/>product conducted by security professionals to identify and resolve potential<br \/>further security issues.<\/p>\n<p>Vulnerability overview\/description:<br \/>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>1) Read\/Write Permissions for Everyone on Configuration File (CVE-2024-36495)<br \/>The application saves its configuration in an encrypted file which &#8220;Everyone&#8221; has<br \/>read and write access to.<\/p>\n<p>2) Hardcoded Credentials (CVE-2024-36496)<br \/>The configuration file is encrypted with a static key derived from a static five-<br \/>character password which allows an attacker to decrypt this file.<\/p>\n<p>3) Unhashed Storage of Password (CVE-2024-36497)<br \/>The decrypted configuration file contains the password in cleartext which is used<br \/>to configure WINSelect. It can be used to remove the existing restrictions and<br \/>disable WINSelect entirely.<\/p>\n<p>By combining these issues any local attacker can disable WINSelect.<\/p>\n<p>Proof of concept:<br \/>&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>1) Read\/Write Permissions for Everyone on Configuration File (CVE-2024-36495)<\/p>\n<p>WINSelect Standard saves its configuration in the following file:<br \/>C:\\ProgramData\\WINSelect\\WINSelect.wsd<\/p>\n<p>Every user has read and write permissions on this file by default:<br \/>&lt;read_write_everyone.png&gt;<\/p>\n<p>The write permission is no problem as long as WINSelect is running, because it<br \/>is locked by the process WSEngine.exe.<\/p>\n<p>For WINSelect Enterprise the path for the configuration file is:<br \/>C:\\ProgramData\\Faronics\\StorageSpace\\WS\\WINSelect.wsd<\/p>\n<p>2) Hardcoded Credentials (CVE-2024-36496)<br \/>By analyzing the application via the API Monitor tool, we found that the<br \/>application uses a hardcoded five letter password, hashes it with the outdated<br \/>and broken MD5 algorithm (no salt) and uses the first five bytes as the key<br \/>for RC4. The configuration file is then encrypted with these parameters.<\/p>\n<p>After starting WINSelect.exe the MD5 and RC4 algorithms are requested:<br \/>&lt;rc4_md5.png&gt;<\/p>\n<p>When the login to the configuration of WINSelect is triggered via<br \/>CTRL+ALT+SHIFT+F8, the configuration file is decrypted.<br \/>&lt;login.png&gt;<\/p>\n<p>The hardcoded password &#8220;Kunal&#8221; is hashed.<br \/>&lt;hash_input.png&gt;<br \/>&lt;hash_output.png&gt;<\/p>\n<p>The first five bytes of the hash are used to instantiate a key object.<br \/>&lt;key.png&gt;<\/p>\n<p>The configuration is then decrypted with this key.<br \/>&lt;decrypted.jpeg&gt;<\/p>\n<p>To simplify this proof of concept the following python script was developed<br \/>which automatically decrypts an encrypted WINSelect.wsd:<br \/>&lt;test.py&gt;<\/p>\n<p>3) Unhashed Storage of Password (CVE-2024-36497)<br \/>By decrypting the configuration file, the used password can be extracted at the<br \/>beginning of the file:<\/p>\n<p>&#8212;<br \/>&lt;?xml version=&#8221;1.0&#8243;?&gt;<br \/>&lt;KIOSK&gt;<br \/>&lt;SECTIONS&gt;<br \/>&lt;SECTION&gt;<br \/>&lt;SID&gt;194&lt;\/SID&gt;&lt;!&#8211;S_ID_ADMIN_PASS&#8211;&gt;<br \/>&lt;RULES&gt;<br \/>&lt;RULE&gt;<br \/>&lt;ID&gt;121&lt;\/ID&gt;&lt;!&#8211;R_ID_PROTECTION_ON_OFF&#8211;&gt;<br \/>&lt;ENABLED&gt;1&lt;\/ENABLED&gt;<br \/>&lt;\/RULE&gt;<br \/>&lt;RULE&gt;<br \/>&lt;ID&gt;148&lt;\/ID&gt;&lt;!&#8211;R_ID_PROTECTION_ON_OFF_ADMIN&#8211;&gt;<br \/>&lt;ENABLED&gt;1&lt;\/ENABLED&gt;<br \/>&lt;\/RULE&gt;<br \/>&lt;RULE&gt;<br \/>&lt;ID&gt;116&lt;\/ID&gt;&lt;!&#8211;R_ID_ADMIN_PASS&#8211;&gt;<br \/>&lt;ENABLED&gt;1&lt;\/ENABLED&gt;<br \/>&lt;DATA&gt;<br \/>&lt;PASSWORDSET&gt;0&lt;\/PASSWORDSET&gt;<br \/>&lt;ADMINPASSWORD&gt;myadminpw&lt;\/ADMINPASSWORD&gt;<br \/>&lt;\/DATA&gt;<br \/>&#8212;<\/p>\n<p>Vulnerable \/ tested versions:<br \/>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>The following version has been tested which was the latest version available<br \/>at the time of the test:<br \/>* 8.22.1112.886<\/p>\n<p>Vendor contact timeline:<br \/>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>2024-02-19: Contacting vendor through support@faronics.com and<br \/>customerservice@faronics.com<br \/>2024-02-20: Vendor responds with an email address to which we shall send the<br \/>advisory.<br \/>2024-02-20: Asking for encryption, vendor requests unencrypted communication,<br \/>submitting advisory.<br \/>2024-02-21: Vendor confirms receipt, engaged with product and development teams.<br \/>2024-02-27: Vendor introduces additional contact, will coordinate further responses.<br \/>2024-03-13: Additional contact apologizes for delayed response, vulnerabilities<br \/>already discussed internally. Asks for extension of release.<br \/>2024-03-14: Extending advisory release to coordinate with patch.<br \/>2024-04-10: Vendor has addressed the reported issues in a test build for the<br \/>standard version, enterprise fixes will be incorporated soon.<br \/>2024-04-18: Giving feedback that the issue is still exploitable, proposing a<br \/>better hash function and random UUID, linking to OWASP password storage<br \/>cheat sheet.<br \/>2024-04-21: Vendor thanks us for the proposed fix, current patch must be released, but<br \/>working on new version incorporating our feedback.<br \/>2024-04-23: Providing further feedback, especially regarding GPU attacks.<br \/>2024-05-27: Asking for a status update.<br \/>2024-05-29: Vendor&#8217;s last email got stuck in their mailbox. The latest WINSelect patch<br \/>was released in early May, now incorporates PBKDF2. Provides release notes<br \/>and download URL.<br \/>Reserving CVE numbers.<br \/>2024-06-10: We can confirm that the PBKDF2 is used with SHA256 and 600000 iterations<br \/>2024-06-11: Since the hardcoded password for the encryption is not fixed, we ask if<br \/>this will be addressed as well.<br \/>Vendor responds that this will be addressed in a future release.<br \/>2024-06-24: Coordinated release of security advisory.<\/p>\n<p>Solution:<br \/>&#8212;&#8212;&#8212;<br \/>The vendor provides a patched version 8.30.xx.903 since May 2024 which can be downloaded<br \/>from the following URL:<br \/>https:\/\/www.faronics.com\/document-library\/document\/download-winselect-standard<\/p>\n<p>The vendor provided the following changelog:<br \/>https:\/\/www.faronics.com\/en-uk\/document-library\/document\/winselect-standard-release-notes<\/p>\n<p>Workaround:<br \/>&#8212;&#8212;&#8212;&#8211;<br \/>None<\/p>\n<p>Advisory URL:<br \/>&#8212;&#8212;&#8212;&#8212;-<br \/>https:\/\/sec-consult.com\/vulnerability-lab\/<\/p>\n<p>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<\/p>\n<p>SEC Consult Vulnerability Lab<br \/>An integrated part of SEC Consult, an Eviden business<br \/>Europe | Asia<\/p>\n<p>About SEC Consult Vulnerability Lab<br \/>The SEC Consult Vulnerability Lab is an integrated part of SEC Consult, an<br \/>Eviden business. It ensures the continued knowledge gain of SEC Consult in the<br \/>field of network and application security to stay ahead of the attacker. The<br \/>SEC Consult Vulnerability Lab supports high-quality penetration testing and<br \/>the evaluation of new offensive and defensive technologies for our customers.<br \/>Hence our customers obtain the most current information about vulnerabilities<br \/>and valid recommendation about the risk profile of new technologies.<\/p>\n<p>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br \/>Interested to work with the experts of SEC Consult?<br \/>Send us your application https:\/\/sec-consult.com\/career\/<\/p>\n<p>Interested in improving your cyber security with the experts of SEC Consult?<br \/>Contact our local offices https:\/\/sec-consult.com\/contact\/<br \/>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<\/p>\n<p>Mail: security-research at sec-consult dot com<br \/>Web: https:\/\/www.sec-consult.com<br \/>Blog: https:\/\/blog.sec-consult.com<br \/>Twitter: https:\/\/twitter.com\/sec_consult<\/p>\n<p>EOF Daniel Hirschberger \/ @2024<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SEC Consult Vulnerability Lab Security Advisory &lt; 20240624-0 &gt;=======================================================================title: Multiple Vulnerabilities allowing complete bypassproduct: Faronics WINSelect (Standard + Enterprise)vulnerable version: &lt;8.30.xx.903fixed version: 8.30.xx.903CVE number: CVE-2024-36495, CVE-2024-36496, CVE-2024-36497impact: highhomepage: https:\/\/www.faronics.com\/products\/winselectfound: 2024-02-01by: Daniel Hirschberger (Office Bochum)SEC Consult Vulnerability Lab An integrated part of SEC Consult, an Eviden businessEurope | Asia https:\/\/www.sec-consult.com ======================================================================= Vendor description:&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#8220;WINSelect &#8211; Allows you &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-57684","post","type-post","status-publish","format-standard","hentry","category-vulnerability"],"_links":{"self":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/57684","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/comments?post=57684"}],"version-history":[{"count":0,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/57684\/revisions"}],"wp:attachment":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/media?parent=57684"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/categories?post=57684"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/tags?post=57684"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}