Facebook Google Plus Twitter LinkedIn YouTube RSS Menu Search Resource - BlogResource - WebinarResource - ReportResource - Eventicons_066 icons_067icons_068icons_069icons_070

[R2] Dell KACE K2000 System Deployment Appliance Backdoor Admin Account

Critical

Synopsis

Dell KACE K2000 Systems Deployment Appliance installs with default user credentials. The 'kbox1248163264128256' account has a password of 'kbox1248163264128256', which is publicly known and documented. This allows remote attackers to trivially gain privileged access to the web interface which controls the device.

Additional details:

Looking at the KUser.class.php source, it appears this is a vendor backdoor:


      9 class KUser {
     10     private static $__admin_username    = 'admin';
     11     private static $__backdoor_username = 'kbox1248163264128256';

While the 'admin' account is documented, the 'kbox1248163264128256' account is not. This account is not visible via the web interface:


    119     public static function ListAll($orderByClause = null, $limitClause = null,
    120                                    &$dbTotalCount = null, $search = null,
    121                                    $label = null, $permission = null)
    122     {
    ...
    135         $dbTotalCount = $db->GetOne(sprintf("select count(distinct USER.ID)
    136                                                from USER left join USER_LABEL_JT
    137                                                  on USER.ID = USER_LABEL_JT.USER_ID
    138                                               where USER_NAME != '%s'
    139                                                     %s",
    140                                             self::$__backdoor_username,
    141                                             $restrict));
    142
    143         $rows = $db->Execute(sprintf("select *
    144                                         from USER left join USER_LABEL_JT
    145                                           on USER.ID = USER_LABEL_JT.USER_ID
    146                                        where USER_NAME != '%s'
    147                                              %s
    148                                     group by USER.ID
    149                                              %s %s",
    150                                      self::$__backdoor_username,
    151                                      $restrict,
    152                                      $orderByClause,
    153                                      $limitClause));

Additionally, it cannot be removed via the web interface:


     90     public static function Delete($id) {
     91         $db = dbConnect();
     92         // don't allow the admin users to be deleted
     93         $rset = $db->Execute(sprintf("select ID, FULL_NAME from USER
     94                                        where ID = %s
     95                                          and USER_NAME != %s
     96                                          and USER_NAME != %s",
     97                                      esc_sql($id),
     98                                      esc_sql(self::$__admin_username),
     99                                      esc_sql(self::$__backdoor_username)));

A remote attacker could exploit this to modify existing deployment/recovery images, gain sensitive information, or mount further attacks (e.g. remote code execution via the associated vulnerabilities).

Solution

As of 2011-10-13, CERT/CC indicated that Dell was preparing to release an update. Unfortunately, the original KB posted by Dell has since been removed from the site, so it is unclear if a solution was published.

Disclosure Timeline

2011-05-03 - Vulnerability reported to CERT/CC via their online submission form, assigned VU #135606
2011-06-09 - CERT/CC acknowledges and says they're contacting Dell
2011-08-15 - Asked CERT/CC for an update
2011-10-13 - CERT/CC responds saying Dell is prepared to issue an update
2011-11-03 - Disclosed via CERT/CC

All information within TRA advisories is provided “as is”, without warranty of any kind, including the implied warranties of merchantability and fitness for a particular purpose, and with no guarantee of completeness, accuracy, or timeliness. Individuals and organizations are responsible for assessing the impact of any actual or potential security vulnerability.

Tenable takes product security very seriously. If you believe you have found a vulnerability in one of our products, we ask that you please work with us to quickly resolve it in order to protect customers. Tenable believes in responding quickly to such reports, maintaining communication with researchers, and providing a solution in short order.

For more details on submitting vulnerability information, please see our Vulnerability Reporting Guidelines page.

If you have questions or corrections about this advisory, please email [email protected]