exploit the possibilities
Home Files News &[SERVICES_TAB]About Contact Add New

Riverbed RiOS Insecure Cryptographic Storage

Riverbed RiOS Insecure Cryptographic Storage
Posted Feb 14, 2017
Authored by Jean-Christophe Baptiste

Riverbed RiOS suffers from an insecure cryptographic storage vulnerability.

tags | exploit
advisories | CVE-2017-5670
SHA-256 | 6c7eaca80cbaef18c44ff1dad3053a46e808b5645d2ca63316fc835733a57a41

Riverbed RiOS Insecure Cryptographic Storage

Change Mirror Download
# Riverbed RiOS insecure cryptographic storage (CVE-2017-5670)

## Description

Riverbed Steelhead hardware appliances are used to optimize and
accelerate network traffic.
There can be implemented as TLS endpoints, so they have a secure vault
aimed to store private TLS certificates for servers.
The secure vault has FIPS mode support.

## Improper encryption implementation

The secure vault used on the Steelhead appliance (and potentially other
that we could not test) is not efficient in its default form, because of
the lack of boot loader security.

**Threat**

An adversary can boot an appliance and recover all private keys of the
server certificates that are configured on it. It may happen in various
situation (subcontractors, hardware decommissioning, etc.).

**Expectation**

With proper encryption (FDE) and sanitization procedures, certificates
should be unrecoverable, as quoted from the documentation:

> Since the information is only in memory, when an appliance is rebooted
or powered off, the information is no longer available".

**CVE ID**: CVE-2017-5670

**Access Vector**: local

**Security Risk**: medium

**Vulnerability**: CWE-310, CWE-321

**CVSS Base Score**: 7.1

**CVSS Vector**: CVSS:3.0/AV:P/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:L

### Defeating system encryption with anonymous console access

We followed the steps below to take over the appliance and recover
private keys from the file system, with zero knowledge of the appliance
and its configuration :

**1/** Connect to the appliance in RS232.

**2/** Turn on the appliance and edit the Grub line to boot in `single` mode

**3/** Proceed with the boot to get the root shell. But at this stage,
vault decryption has not happened yet.

**4/** Reset the *admin* password, which can be achieved with the
`/sbin/resetpw.sh` script.

**5/** Modify the firmware to replace `/opt/tms/bin/cli` with `bash` :

```
# mount / -o remount, rw
# cd /opt/tms/bin/
# mv cli cli.bask
# cp /bin/bash cli
# reboot
```

**5/** Reboot to now get a full admin access with a `bash` shell.

**6/** Use the `mount` command to confirm that decryption has happened:

```
# mount
encfs on /var/opt/rbt/decrypted type fuse.encfs
(rw,nosuid,nodev,relatime,user_id=0)
# ls /var/opt/rbt/decrypted
available framework notes ssl tmp
```

**7/** Now insert an USB key and retrieve the whole vault. Note that
non-exportable certificates can be extracted without any issue (from
`./decrypted/server_certs/names/NOExportableCA/`).
The exportation is only based on a local file that acts as a flag:

```
# cat /var/opt/rbt/decrypted/server_certs/names/NOExportableCA/exportable
false
```

**8/** Note that encryption is made by the `/sbin/secure_vault.sh`
script, which makes EncFS encryption based on fixed and hard-coded keys:

```
[...]
MAGIC_STRING='This ********* motorcycle'
[...]
PASSWORD="${MAGIC_STRING}_{SERIAL_NUM}
[...]
```

So the passphrase is basically a concatenation of a constant magic
string and the appliance serial number, two pieces of information that
an attacker can easily retrieve.

> With this knowledge, it is trivial to reproduce the decryption on any
Linux computer with EncFS. Thus, it is actually not necessary anymore to
root the appliance to decrypt data, the disk content could be copied
offline.

Several weaknesses lead to the certificate exposure:

- The boot loading chain is not password protected (starting with Grub)
and there is no integrity control, so it is trivial to "root" the appliance.
- File-system level encryption is inefficient for protecting local
storage, especially when the system lacks of integrity protection : the
disk can be accessed and the data can be retrieved while it is decrypted.
- A fixed and hard-coded value is used by the system as an encryption
key. It even makes offline decryption easy.
- Do not claim to encrypt with PBKDF-2 in the documentation. The user
password is used with no derivation.

### A look at the user password mode

In an improved vault encryption mode, the appliance allows the user to
encrypt with its own key.
The documentation advertises that the key is based on PBKDF-2, so we
expect that the encryption to be a hash.

We set this mode and tracked system calls while unlocking a certificate
in the Web interface :

```
# strace -e write -o /tmp/out /opt/tms/bin/mgmtd & 1 > /dev/null 2>&1
[...]
write(19, "Pass123_EC6R*****0\n", 22) = 22
[...]
```

So we found the password that we set for the vault, appended with the
appliance serial number. With this information, we succeeded in
decrypting the vault offline, from another Linux box.

Riverbed advertises that the use of PBKDF-2 makes the password stronger
to prevent brute force attacks (as it is used in EncFS).
However, a poorly chosen pass phrase (in the absence of password policy
enforcement) and a physically readable salt (the serial number on the
appliance) would yet defeat the benefits of EncFS encryption.


## Insecure secure vault deletion

Two scripts are used at different times to delete the secure vault:
`/sbin/secure_vault_clear.sh` and `/sbin/scrub.sh`.

They simply use the `rm` system command to delete the files, as follows:

```
[...]
umount /var/opt/rbt/decrypted
rm -rf /var/opt/rbt/decrypted
rm -rf /var/opt/rbt/encrypted
rm -f /var/opt/rbt/ssl
[...]
```

A better practice would be to use `shred` or `srm` utilities to wipe
files securely.

## Affected versions

RiOS versions prior to 9.0.1 regarding the single boot mode.

Potentially all version regarding secure vault weak encryption and wiping.

### Solution

Sysdream considers that the encryption scheme needs a complete
re-factoring in relevance with the secrets it protects. We believe that
full disk encryption should be implemented, with better boot loader
security features. Default security and clarifications should be
mandatory for this kind of appliance.

As of now, Riverbed advises:

> 1) Ensure physical access is protected
> 2) Keep your software up-to-date
> 3) Set a bootloader password
> 4) Set a BIOS password
> 5) Change the default secure-vault password
> 6) Take proper steps when decommissioning including erasing hard-disk data

We could not verify that all these items can be implemented (for
instance, on our model and RiOS version, no setting allowed to set a
Grub and BIOS password, and the user guide did not mention anything).
So, please refer to your documentation (deployment guide) or support to
check how you can implement these security settings.

## Timeline (dd/mm/yyyy)

* 7/12/2016 Initial discovery
* 11/12/2016 First e-mail contact
* 17/12/2016 Sent all details to Riverbed contact
* 26/01/2017 After several requests to the support, got contact with
the security team. Riverbed position is that customers should put proper
physical protections in place in any case. Also, version 9.0.1 removed
single mode boot.
* 11/02/2017 Disclosure

## Credits

* Jean-Christophe Baptiste, aka phocean, Sysdream (jc.baptiste -at-
sysdream -dot- com)


--
SYSDREAM Labs <labs@sysdream.com>

GPG :
47D1 E124 C43E F992 2A2E
1551 8EB4 8CD9 D5B2 59A1

* Website: https://sysdream.com/
* Twitter: @sysdream


Login or Register to add favorites

File Archive:

April 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Apr 1st
    10 Files
  • 2
    Apr 2nd
    26 Files
  • 3
    Apr 3rd
    40 Files
  • 4
    Apr 4th
    6 Files
  • 5
    Apr 5th
    26 Files
  • 6
    Apr 6th
    0 Files
  • 7
    Apr 7th
    0 Files
  • 8
    Apr 8th
    22 Files
  • 9
    Apr 9th
    14 Files
  • 10
    Apr 10th
    10 Files
  • 11
    Apr 11th
    13 Files
  • 12
    Apr 12th
    14 Files
  • 13
    Apr 13th
    0 Files
  • 14
    Apr 14th
    0 Files
  • 15
    Apr 15th
    30 Files
  • 16
    Apr 16th
    10 Files
  • 17
    Apr 17th
    22 Files
  • 18
    Apr 18th
    45 Files
  • 19
    Apr 19th
    0 Files
  • 20
    Apr 20th
    0 Files
  • 21
    Apr 21st
    0 Files
  • 22
    Apr 22nd
    0 Files
  • 23
    Apr 23rd
    0 Files
  • 24
    Apr 24th
    0 Files
  • 25
    Apr 25th
    0 Files
  • 26
    Apr 26th
    0 Files
  • 27
    Apr 27th
    0 Files
  • 28
    Apr 28th
    0 Files
  • 29
    Apr 29th
    0 Files
  • 30
    Apr 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close