lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [day] [month] [year] [list]
Date: Wed, 26 May 2021 16:06:52 -0500
From: KoreLogic Disclosures via Fulldisclosure <fulldisclosure@...lists.org>
To: fulldisclosure@...lists.org
Subject: [FD] KL-001-2021-003: CommScope Ruckus IoT Controller Hard-coded
 System Passwords

KL-001-2021-003: CommScope Ruckus IoT Controller Hard-coded System Passwords

Title: CommScope Ruckus IoT Controller Hard-coded System Passwords
Advisory ID: KL-001-2021-003
Publication Date: 2021.05.26
Publication URL: https://korelogic.com/Resources/Advisories/KL-001-2021-003.txt


1. Vulnerability Details

     Affected Vendor: CommScope
     Affected Product: Ruckus IoT Controller
     Affected Version: 1.7.1.0 and earlier
     Platform: Linux
     CWE Classification: CWE-259: Use of Hard-coded Password
     CVE ID: CVE-2021-33218


2. Vulnerability Description

     Hard coded, system-level credentials exist on the Ruckus IoT
     Controller OVA image, and are exposed to attackers who mount
     the filesystem.


3. Technical Description

     Ruckus vRIoT server software is available from the software
     library at: https://support.ruckuswireless.com/software/

     Once the OVA is imported into VirtualBox, a VMDK file is
     created. The VMDK file can be mounted and the directory
     structure and its contents can be perused. The virtual appliance
     contains three system accounts with password hashes. The three
     accounts are 'root', 'admin', and 'vriotha'. The 'admin'
     account is documented in vendor documentation, but not the
     other two accounts.

     The password for 'admin' is documented and can be changed
     by the user. The password for the 'vriotha' account is
     'nplus1user'. The password for the 'vriotha' account
     is hardcoded into support scripts. The root hash is still
     undergoing password cracking attempts. The 'admin' and 'vriotha'
     accounts are restricted in terms of their shell, they do
     not drop to typical Unix shell access. The virtual appliance
     does not appear to offer a mechanism for changing the default
     password from the vendor for the 'root' or 'vriotha' accounts.


4. Mitigation and Remediation Recommendation

     The vendor has released an updated firmware (1.8.0.0) which
     remediates the described vulnerability. Firmware and release
     notes are available at:

     https://www.commscope.com/globalassets/digizuite/917216-faq-security-advisory-id-20210525-v1-0.pdf


5. Credit

     This vulnerability was discovered by Jim Becher (@jimbecher)
     of KoreLogic, Inc.


6. Disclosure Timeline

     2021.03.30 - KoreLogic submits vulnerability details to
                  CommScope.
     2021.03.30 - CommScope acknowledges receipt and the intention
                  to investigate.
     2021.04.06 - CommScope notifies KoreLogic that this issue,
                  along with several others reported by KoreLogic,
                  will require more than the standard 45 business
                  day remediation timeline.
     2021.04.06 - KoreLogic agrees to extend disclosure embargo if
                  necessary.
     2021.04.30 - CommScope informs KoreLogic that remediation for
                  this vulnerability will be available inside of the
                  standard 45 business day timeline. Requests
                  KoreLogic acquire CVE number for this
                  vulnerability.
     2021.05.14 - 30 business days have elapsed since the
                  vulnerability was reported to CommScope.
     2021.05.17 - CommScope notifies KoreLogic that the patched
                  version of the firmware will be available the week
                  of 2021.05.24.
     2021.05.19 - KoreLogic requests CVE from MITRE.
     2021.05.19 - MITRE issues CVE-2021-33218.
     2021.05.25 - CommScope releases firmware 1.8.0.0 and associated
                  advisory.
     2021.05.26 - KoreLogic public disclosure.


7. Proof of Concept

     With the VMDK file mounted at the current working directory:
     $ sudo cat etc/shadow
     root:$1$root$.6wlmowMW0KVjst8z6Yqa.:17393:0:99999:7:::
     ...
    
admin:$6$AwyhYDBW$KS5q63LZBuQxPM2RG1N/.TvbaKC5gnoq8ERgMSBGms1EL9IZPrM4SscOvsF/FsoD1fgFjYrJF1as0BSYM0SVa0:17667:0:99999:7:::
    
vriotha:$6$c4jEcmjj$uDjuSxfkzd0QHt/MAGnPJ798izuVhq11MSmkS3iXtDg.iqSumzou4.HauYOrSIYl5JdQlrbZAL7PAkPfrxcxH0:18626:0:99999:7:::

     $ egrep '^root|^admin|^vriotha' etc/passwd
     root:x:0:0:root:/root:/bin/bash
     admin:x:1001:1001::/home/admin:/VRIOT/ops/scripts/ras
     vriotha:x:1003:1003::/home/vriotha:/usr/bin/rssh

     /VRIOT/ops/scripts/haN1/n1_ha.py:
                 scpstr = "vriotha@"+slave_ip+":/tmp/authkey >/dev/null 2>&1"
                 #call(['sshpass','-p','"nplus1user"','scp','-o','StrictHostKeyChecking=no','/etc/corosync/authkey',scpstr])
                 os.system("
".join(['sshpass','-p','"nplus1user"','scp','-o','StrictHostKeyChecking=no','/etc/corosync/authkey',scpstr]))
     ...
             ### Call slave API to create user #####
             # HOTST_URL = "https://"+replace_ip+"/service/v1/createUser"
             # json_request = {
             #         "username":"vriotha",
             #         "password":"nplus1user"
     ...
             os.system("
".join(['sshpass','-p','"nplus1user"','scp','-o','StrictHostKeyChecking=no','/etc/corosync/authkey',scpstr]))

     /VRIOT/ops/scripts/entrypoint.py:
             userpwd = 'useradd vriotha ; echo vriotha:nplus1user | chpasswd >/dev/null 2>&1'
             os.system(userpwd)
             call(['usermod','-aG','sudo','vriotha'],stdout=devNullFile)
             call(['chsh','-s','/usr/bin/rssh','vriotha'],stdout=devNullFile)

     /VRIOT/ops/scripts/haN1/ha_slave.py:
         scpstr = "vriotha@"+master_ip+":/VRIOT/ha/"
         os.system("
".join(['sshpass','-p','"nplus1user"','scp','-o','StrictHostKeyChecking=no','-r',scpstr,'/VRIOT/'+master_ip+'/']))



The contents of this advisory are copyright(c) 2021
KoreLogic, Inc. and are licensed under a Creative Commons
Attribution Share-Alike 4.0 (United States) License:
http://creativecommons.org/licenses/by-sa/4.0/

KoreLogic, Inc. is a founder-owned and operated company with a
proven track record of providing security services to entities
ranging from Fortune 500 to small and mid-sized companies. We
are a highly skilled team of senior security consultants doing
by-hand security assessments for the most important networks in
the U.S. and around the world. We are also developers of various
tools and resources aimed at helping the security community.
https://www.korelogic.com/about-korelogic.html

Our public vulnerability disclosure policy is available at:
https://korelogic.com/KoreLogic-Public-Vulnerability-Disclosure-Policy.v2.3.txt


Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)


_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/

Powered by blists - more mailing lists