Whiske
现在很多web服务器都支持cgicgi是一个允许你拓展web服务器一般协议。通过编写cgi程序你能够添加web服务器的功能,这些功能很可能无意中引如新的安全漏洞,whisker是一款web服务器扫描软件,它由rainforestpuppy开发,能够进行大量的cgi漏洞扫描。另外whisker采用了很多对特的ids躲避技术。Whisker的当前版本是2.0版但是这个版本目前基本无法使用因此在2.1版本推出之前建议还是使用1.4版本wihisker
解压缩后程序无需编译即可使用。通过使用帮助,你会发现whsker的使用也是很简单的,由于本文只涉及cgi漏洞扫描,所以我们只说说他的扫描功能就足够了,至于更多的cgi探测功能,大家可以参考目录下的readme文件首先确定我们将要检测的主机ip或者域名在shell下作如下操作在输出结果中,我们可以看到有三种基本的检测结果:200ok403accsforbidden和404objectnotfound这些结果表示200ok这个输出表示攻击检查成功。服务器存在这个缺陷。这些缺陷包括newdsnexehtr和url扩展字符串攻击者可能利用这个缺陷侵入服务器403acceforbidden表示whisker已经发现了可应用于攻击检查的文件。但是没有对他的访问权限。在这种情况下攻击者暂时无法通过这些可能的缺陷侵入服务器但是如果将来权限设置出现失误可能给攻击者以可乘之机404objetfound表示whisker没有发现可以用于攻击的文件从结果我们可以看出检测目标主机的web服务器为iis5.0存在多个安全漏洞因此我们必须及时修补相应的漏洞说玩whisker的漏洞检测功能,不得不说说它独特的ids躲避技术,躲避或者越过网络入侵检测系统技术的应用一只是确保扫描安全的重要因素,whisker的ids躲避技术多为利用基本字符串匹配弱点的ID躲避技术,一些基于特征码的入侵检测设备几乎完全依赖于字符串匹配算法,面对于一个编写相差的特征码,攻击者可以轻松地破坏对其字符串匹配,虽然不是所有的入侵检测系统都是纯碎基于特征码检测的,但是绝大多数对字符匹配算法有很大的依赖,这里我们将使用开放源码工具sdort的特征码来经行讨论。在unlx系统中/etc/pswd是一个重要的文件,它包含用户名组成员关系和为用户分配的shell等信息,我们就从临视对etc/passwd文件的访问开始,下面是用于检测snort检测规则Snort使用字符串匹配算法对包含特征码etc/passwd的http请求进行检测,但是,这个规则的特征码过于检测,但是这个规则的特征码过于简单了,攻击者修改攻击字符串可以很轻松地逃过检测。;例如把攻击请求由GTetc/pswd改为GET/etc//\//pswd或者ET/etc.d/../.\passwd,修改方式简直不计其数,这是最基本的检测逃避技术,对这种技术的检测也相对容易一些。只要在编写特征码时能够仔细考虑下攻击可能出现的变体。目前大多数流行入侵检测系统都有非常大的字符串匹配能力,足以检测此类攻击的大多数变体。不过任然有些编写不太好的特征码可以给攻击者以可称之机。攻击者还可以在次基础上再加以变化,几乎不费吹灰之力就可以加大入侵检测系统的防御难度,例如在telnet之类的的交互会话中,攻击者企图读取etcpasswd文件通常入侵监测系统存在很多特征码一些误用用操作和后门等,但是这些特征码一般只包含黑客工具名文件名和程序名在获得etc./passwd等命令行,而是通过一个命令解释器来实现我们的目的。
从这个命令中乳清检测系统根本不会重组出etc/passwd这些字符,显然防御这种攻击就很困难了。因为这要求入侵检测系统必须能够理解这种解释器如何收到的命令,这恐怕不太现实,当然,入侵检测系统也可以,对适用解释器的可疑行为进行报警,但是它很难对攻击行进行精确的监视。通过把字符串处理技术和字符替换技术结合到一起,我们可疑现实更复杂的字符串伪装。对于web请求,我们不必使用命令解释器,在我们的请求中使用16进制的URL即可,以下的请求可以被目标WEB服务器解释为etc/passwd为了捕获这一个字符串的所有变体,你可能需要1000个以上的特征码进行字符匹配,还没有考虑UNICODE,UNICODE提供了另一个字符表达方式,有关UNICODE的IDS的欺骗技术细节,本文将不多做评论。Whisker中采用的一些IDS欺骗技术。
如果想了解上面这些方法的技术细节,可以参考ALOOKATwhiskersantiIDSTACTICS。需要特别说明的是,RIP把whisker采用的anti-ids技术单独放倒了whisker库中,为其它的程序采用这些技术提供了很大的便利。MaliceMalice也是一款使用PERL写的CGI漏洞扫描程序,同样是一款Anti-IDS-Scanner。我们可以在它的说明文件中看到如下信息,UsesnullandHeadrequeststofoolIDSEvensmartIDSandFirewallsystems意思为利用rull和Head请求欺骗IDS防火墙,同样MALICE的使用也是相当简单的。
如果想了解上面这些方法的技术细节,可以参考ALOOKATwhiskersantiIDSTACTICS。需要特别说明的是,RIP把whisker采用的anti-ids技术单独放倒了whisker库中,为其它的程序采用这些技术提供了很大的便利。MaliceMalice也是一款使用PERL写的CGI漏洞扫描程序,同样是一款Anti-IDS-Scanner。我们可以在它的说明文件中看到如下信息,UsesnullandHeadrequeststofoolIDSEvensmartIDSandFirewallsystems意思为利用rull和Head请求欺骗IDS防火墙,同样MALICE的使用也是相当简单的。
本文为网络安全技术研究记录,文中技术研究环境为本地搭建或经过目标主体授权测试研究,内容已去除关键敏感信息和代码,以防止被恶意利用。文章内提及的漏洞均已修复,在挖掘、提交相关漏洞的过程中,应严格遵守相关法律法规。