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


Posted Jul 26, 2004
Authored by Dirk Loss | Site it-consult.net

eSeSIX Thintune with a firmware equal to or below 2.4.38 is susceptible to multiple vulnerabilities. These include having a backdoored service on a high port with an embedded password giving a remote root shell, various other passwords being stored locally in clear text, and a local root shell vulnerability.

tags | exploit, remote, shell, local, root, vulnerability
SHA-256 | c7d6d010b7722058b4e87e183838984d6663484de3c895b5781af6297637e073


Change Mirror Download
eSeSIX Thintune thin client multiple vulnerabilities

IT-Consult, 2004-07-24

- --------

Thintune is a series of thin client appliances sold by eSeSIX GmbH, Germany.
They offer ICA, RDP, X11 and SSH support based on a customized Linux
platform. See http://www.thintune.com for details.

Affected Product
- --------------

All Linux-based Thintune models with firmware <= 2.4.38

The following device was tested:

Thintune M, Firmware version 2.4.38-32-D
VIA Centaur processor (533 MHz), 128 MB RAM
Software version: JSTREAM II 2.4.38

According to the vendor, all Linux based Thintune models with firmware
version up to (and including) v2.4.38 are affected. The vulnerabilities
1, 2, 3 and 4 are fixed in firmware version 2.4.39. eSeSIX claims that
Windows CE based Thintune models are not vulnerable.

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


By connecting to an undocumented process on the Thintune over the network
an attacker can gain full control over the thin client without notice by
the local user. This includes running installed programs, transferring
files to and from the network, powering down the system and updating the

There is an undocumented process listening on TCP port 25072 that can be
given one of the following commands after authenticating by a short
password. This password ("jstwo") is hardcoded into the /usr/bin/radmin
shell script and cannot be changed via the configuration interface. [1]

shell - give root shell
version - show hardware version
beep - start beeping
restart - reboot immediately
poweroff - power off immediately
info - display pop-up message via xmsg
firmware - download firmware from given URL
getreg - get local configuration settings

$ nc 25702
jstwo <- hardcoded password
shell <- one of several commands shown above
+yep here you are ...
id <- run "id" to show my privileges
uid=0(root) gid=0(root)

The Thintune firmware includes BusyBox v0.47 which gives you access to nc,
dd, tar, mount, kill, powerdown and other utilities. In my case, there was
about 4MB of free space on the flash card used as hard drive.

According to the vendor, this backdoor is used by the eSeSIX support team
when the management software is not available at the customer site or is
not working correctly.

[1] Of course you could change the hardcoded password after exploiting
vulnerabilities #1 or #3 and gaining a root shell.

Recommended fix:
Upgrade to firmware v2.4.39. (The backdoor stays in place but uses a
challenge-response system for authentication.)

Temporary workaround:
Open local root shell by exploiting vulnerability #3 (see below), edit
/etc/inetd.conf and delete the line concerning port 25702. Reboot.


All configuration settings can be aquired remotely, including saved user
names and passwords for RDP and ICA connections as well passwords for the
local VNC server, the JStream control center and the screensaver.

The Keeper library [2] is used to store all JStream configuration settings.
Configuration files are stored in the /root/.keeper/ directory. Every
section of the database has its own subdirectory and every configuration
setting is put into a file in that subdirectory.

[2] http://kempelen.iit.bme.hu/~mszeredi/keeper/keeper.html

By browsing the local filesystem or (more comfortably) using the "getreg"
command shown above, one can remotely read out this Keeper database. The
following sections and keys may be particularly interesting for an attacker:

desktop shadow_password - VNC password (VNC is called "shadowing")
security adminpassword - control center (administrator) password
security userpassword - screen saver password

ica con_0_9 - username for first ICA connection
ica con_0_10 - password for first ICA connection
ica con_0_11 - domain for first ICA connection
ica con_0_3 - address for first ICA connection

rdp con_0_6 - username for first RDP connection
rdp con_0_7 - password for first RDP connection
rdp con_0_8 - domain for first RDP connection
rdp con_0_3 - address for first RDP connection

Connection settings and passwords for other protocols can be found in the
rdppro, ssh, tarantella and rexec subdirectories in the same way.

All passwords are stored in cleartext in the corresponding files.

$ nc 25702
+yep enter section and key
desktop shadow_password

Recommended fix:
Upgrade to firmware v2.4.39.

Temporary workaround:
Open local root shell by exploiting vulnerability #3 (see below), edit
/etc/inetd.conf and delete the line concerning port 25702. Reboot.


Any local user of the thin client can launch a local root shell by pressing
some keys and entering a special password. Attackers could use this shell
to aquire all passwords in the Keeper database (see above).

This feature has not been documented, but is shown to the customer during
support sessions when needed.


Press <CTRL><SHIFT><ALT><DEL> and enter "maertsJ" as password. An xterm
window is launched that runs with root privileges. The password is
hardcoded into the /usr/bin/lshell executable and cannot be changed.

For an alternate attack vector, use the Phoenix web browser to open the file
/usr/bin/lshell with itself (see below).

Recommended fix:
Upgrade to firmware v2.4.39, which uses a challenge-response system for

Temporary workaround:
Delete /usr/bin/lshell.
(Be sure to apply workarounds for vulnerabilities 1 and 2 first.)


Any local user can browse the complete filesystem by using an existing web
browser connection and entering a simple URL into the address bar. As the
control center, screensaver and VNC passwords are stored in cleartext files,
they can be read by a local attacker.

The Thintune software supports WWW acess for end users via the Phoenix web
browser (now called Mozilla Firefox).

Entering "file:///" into the Phoenix URL address bar shows the root
directory of the local filesystem. As Phoenix is run with root privileges,
there are no restrictions concerning the files that can be viewed.

Using this technique, cleartext passwords can be found in several files.
Some examples:

/root/.keeper/desktop/shadow_password - VNC
/root/.keeper/desktop/security/adminpassword - control center
/root/.keeper/security/userpassword - screen saver password
/usr/bin/radmin - remote control (see Vuln.#1)

Note: Web browsing has to be enabled by the administrator in the JStream
control center by creating a Web connection. Access to the JStream control
center can be password protected. Nevertheless, by exploiting vulnerability
3 and viewing the configuration file a local attacker can easily determine
this password and get access to the control center.

Recommended fix:
Upgrade to firmware v2.4.39. (The browser has been put into a sandbox.)

Temporary workaround:
Delete all Phoenix connections.


When prompted for the control center and lshell passwords, you do not have
to press <Enter> to complete your input. Authentication takes place as soon
as you have given the right password. This could make password guessing much


Password is "a". No matter if you try "automobile", "any" or
"afternoon" -- as soon as you press the first "a" you are authenticated.

Recommended fix:
No fix is available at the moment.

Temporary workaround:
Choose long passwords.

Method used for reseach
- ---------------------

- Try browsing the local filesystem via the "file:///"-URL.
Further examination gives the following interesting details:

* local configuration files are placed in /root/.keeper

* Two files in /root/.keeper/security/ show the administrator and
screensaver passwords in cleartext.

* /usr/bin/radmin seems to be a shell script that offers remote control
commands. Password is shown in cleartext.

- Opening /usr/bin/lshell (local shell?) via the web browser gives password
prompt. Password is not known at this point

* /root/.icewm/keys shows that lshell can be run by pressing

- Nmap portscan against Thintune shows open TCP port 25702 (among others).
Connecting to this port gives the "JSRAFV-1" reply that was found in local
file /usr/bin/radmin before.

- Gain remote root shell by giving the password found in /usr/bin/radmin and
transfer local filesystem over the network using dd and nc.

- Viewing /usr/bin/lshell in hex-editor on remote system shows cleartext
password for local shell access.

- Browsing the /root/.keeper/ directory shows all connection settings in

- Playing with the "getreg" command reveals that all settings can be aquired

Disclosure Timeline
- -----------------

2004-05-29 Vulnerabilities found by Dirk Loss
2004-06-02 Vendor notification per phone and E-Mail
2004-06-07 Vendor confirms vulnerabilities and promises fixing the problems
in next firmware release
2004-07-16 New firmware v2.4.39 released including fixes for problems 1-4
2004-07-24 Public disclosure

- -----

Dirk Loss, IT-Consult Ralf Emons e.K., M√ľnster, Germany
Mail: dirk.loss@it-consult.net
Tel: +49-251-97416-0
WWW: http://www.it-consult.net

- --------

This advisory does not claim to be complete or to be usable for any purpose.
Especially information on the vulnerable systems may be inaccurate or wrong.
Possible supplied exploit code is not to be used for malicious purposes, but
for educational purposes only.

Legal Notices
- -----------

Copyright (c) 2004 IT-Consult Ralf Emons e.K.

Permission is granted for the redistribution of
unaltered versions of this text in any medium.
Login or Register to add favorites

File Archive:

September 2023

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

Top Authors In Last 30 Days

File Tags


packet storm

© 2022 Packet Storm. All rights reserved.

Security Services
Hosting By