-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Advisory ID: SYSS-2015-025
Product: Netop Remote Control
Vendor: Netop
Affected Version(s): 11.52, 12.11
Tested Version(s): 11.52, 12.11
Vulnerability Type: Use of Hard-coded Cryptographic Key (CWE-321)
Insufficiently Protected Credentials (CWE-522)
Risk Level: Medium
Solution Status: Not fixed
Vendor Notification: 2015-06-19
Solution Date: -
Public Disclosure: 2015-08-24
CVE Reference: Not yet assigned
Author of Advisory: Matthias Deeg (SySS GmbH)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Overview:
Netop Remote Control is a widely-used remote support software with many
features.
The vendor Netop describes the product as follows (see [1]):
"Netop Remote Control is the most secure, trusted and scalable remote
support software solution on the market today. We've been helping
customers grow their enterprises with secure remote control and support
for workstations, servers, embedded systems and mobile devices for 30
years. Our flexible options provide secure remote access in even the
most complex enterprise environments."
Due to security issues in the credentials management, an attacker with
access to Netop Remote Configuration files can decrypt and extract
configured password information (raw MD5 hashes) and perform efficient
password guessing attacks in order to recover the corresponding
cleartext passwords, for example with the use of rainbow tables
(time-memory trade-off).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vulnerability Details:
Netop Remote Control stores configuration data in encrypted
configuration files with the file extension .ndb. The content of these
files is encrypted with a hard-coded cryptographic key (XOR key) that is
contained within the executable file NHSTW32.EXE. In the default
configuration, administrative privileges are required in order to read
these configuration files that are usually stored in an
application-specific folder within the Windows ProgramData folder, for
example in the following location:
* %PROGRAMDATA%\Danware Data\C\Program Files (x86)\Netop\Netop Remote Control\Host
Netop Remote Control password information, i.e. the configured
maintenance and access password, is stored in the configuration file
nhstconf.ndb as raw MD5 password hashes. Furthermore, Netop Remote
Control only supports upper-case passwords with a maximum length of 16
characters (actually all passwords are padded with spaces [0x20] to the
maximum password length of 16 characters), which reduces the search
space for password guessing attacks significantly.
Thus, an attacker with access to Netop Remote Control configuration
files like nhstconf.ndb can easily decrypt its contents and perform
password guessing attacks against the extracted MD5 password hashes.
Due to the use of the weak cryptographic hash algorithm MD5 without many
iterations and a salt, it is possible for an attacker to precompute
password candidates and thus to perform more efficient dictionary
attacks with the use of rainbow tables (time-memory trade-off).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Proof of Concept (PoC):
The SySS GmbH developed a proof-of-concept software tool for decrypting
and extracting password information from the Netop Remote Control
configuration file nhstconf.ndb.
The following output exemplarily shows a successful extraction of the
two MD5 password hashes for the maintenance and access password:
$ ./netopcfgdecrypt.py nhstconf.ndb
_____________________________________________________________
/ _____ _____ _____ \
/ / ___| / ___/ ___| \
| \ `--. _ _\ `--.\ `--. |
| `--. \ | | |`--. \`--. \ |
| /\__/ / |_| /\__/ /\__/ / |
\ \____/ \__, \____/\____/ ... decrypts your configs! /
\ __/ | /
/ |___/ __________________________________________/
/ _________________/
(__) /_/
(oo)
/------\/
/ |____||
* || ||
^^ ^^
Netop Config Decryptor v1.1 by Matthias Deeg <matthias.deeg@syss.de> - SySS GmbH (c) 2013-2015
[*] Decrypt Netop config file
[*] Decrypted config file saved to 'nhstconf.ndb.dec'
[*] MD5 password hash #1 (maintenance password): a9473ded85aa51851deb4859cdd53f98
[*] MD5 password hash #2 (access password) : de7124255c6cb70591492236b5b6f04d
In this example, the maintenance password (first MD5 hash) is the empty
password, as the following output shows:
$ echo -n " " | md5sum
a9473ded85aa51851deb4859cdd53f98 -
The access password (second MD5 hash) is "S3CRET!", as the following
output illustrates:
$ echo -n "S3CRET! " | md5sum
de7124255c6cb70591492236b5b6f04d -
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Solution:
The SySS GmbH is currently not aware of a solution for the reported
security vulnerability.
Please contact the vendor for further information.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Disclosure Timeline:
2015-06-19: Vulnerability reported to vendor
2015-06-26: Reported vulnerability again as the vendor did not reply to
to the first e-mail with the SySS security advisory
2015-08-24: Public release of security advisory according to the SySS
Responsible Disclosure Policy
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
References:
[1] Netop Remote Control Web site
http://www.netop.com/remote-support.htm
[2] SySS Security Advisory SYSS-2015-025
https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2015-025.txt
[3] SySS Responsible Disclosure Policy
https://www.syss.de/en/news/responsible-disclosure-policy/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Credits:
This security vulnerability was found by Matthias Deeg of the SySS GmbH.
E-Mail: matthias.deeg (at) syss.de
Public Key: https://www.syss.de/fileadmin/dokumente/Materialien/PGPKeys/Matthias_Deeg.asc
Key fingerprint = D1F0 A035 F06C E675 CDB9 0514 D9A4 BF6A 34AD 4DAB
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Disclaimer:
The information provided in this security advisory is provided "as is" and
without warranty of any kind. Details of this security advisory may be updated
in order to provide as accurate information as possible. The latest version of
this security advisory is available on the SySS Web site.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Copyright:
Creative Commons - Attribution (by) - Version 3.0
URL: http://creativecommons.org/licenses/by/3.0/deed.en
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBCgAGBQJV2tYLAAoJENmkv2o0rU2r2EsQAKk20gvrTuwKS3CthlLapEXP
Z8zgFDuhE6+/SjVGGF2wv+0OGqUqfp/oRWS+yp6cD6lazNsJ4q+YnWo9ZRumnpUK
b0w6coYp9ZK51AgsRXWgnEIDawkP/N6xoVJ+tdsi4GF68+K+B+LQ5FN8TAQrxWbU
veC7W1lZULxoLd0LOLzKaNEP6ZEEoiev2+2JjGoy5SOR3SIKqTDSSREPOUrwy335
HCKmX4u4N0+P+W+7ZdK0Piyoy6UlEYybm+ri7gYkSgC5csZZwUOaiKw3P8kw03CB
ORYKeYMhqAu8RKWOrajmFlhThc/CahS9pWHM471U8jYAMVNqBn90SgHezWQBogBu
gLy8sLH6sjkfVobmarqAQ3tnCE1SatGrHr3i4VKUJq0jwZ0MsQwu0Q42KCSLtlqF
Ec8BpyxKGs1xOSt4NMFTGE2TMu9F4EW9r62oTWBuyXGCHwdy8o2w2ocrkY3tsbMp
kVXFZC4jeGRO28c5X2h1USwBVyf3wzyFAIkkQGUkLxwIHAqy8A/ZocV8kZYiDGKF
hcdJdiLH6m6POpADzN0LFygFg+so5S+UkcTxHiaALssmAQgr9dkU5Tb8l7+zXfPt
ehlCeJwqH+Wgs9UkHvE65dtKs7oH/uiGxCMS3EQoXgHUeGOMR0f8UCks5BwqGhwd
kJHtn3eyW0PsTN/pCYVc
=Jxvt
-----END PGP SIGNATURE-----