渗透测试工具
我们有成百上千个使用asp,.net和java开发的网站,并且我们为外部机构付出了很多钱,以对其站点进行渗透测试以检查安全漏洞。
是否有任何(好的)软件(收费或者免费)可以做到这一点?
或者..有什么技术文章可以帮助我开发此工具?
解决方案
回答
你可以考虑香肠
回答
就付费解决方案而言,我听说过SpiDynamics WebInspect的好处,还有Nikto(免费解决方案)和其他开源工具。 Nessus是用于基础结构的出色工具,以防我们需要同时检查该层。我们可以在CD上找到名为Nubuntu的几种工具(审核器,Helix或者任何其他基于安全的发行版,也可以使用),然后使用Google制作该工具的一些教程。始终始终始终确保从本地网络进行扫描。如果我们未经授权从WAN扫描某个框,则有被数据中心阻塞的风险。教训是艰难的。 ;)
回答
http://www.nessus.org/nessus/ -Nessus建议一些使服务器更好的方法。尽管我认为这些插件相对来说很容易自行创建,但它本身并不能真正测试自定义应用程序。
回答
看一下Rational App Scan(以前称为Watchfire)。它不是免费的,但具有良好的UI,功能强大,可以生成报告(针对标准遵从性框架,例如Basel2),并且可以生成报告,并且我相信我们可以将其编写到CI构建中。
回答
使用针对Web应用程序的自动测试工具,可以有两个不同的方向。
首先,有商用的Web扫描仪,其中HP WebInspect和Rational AppScan是最受欢迎的两种。这些是"多合一","一劳永逸"工具,我们可以在内部Windows桌面上下载并安装这些工具,然后提供URL来对网站进行爬网,扫描众所周知的漏洞(例如,已找到Bugtraq),并探查跨站点脚本和SQL注入漏洞。
其次,有源代码扫描工具,其中Coverity和Fortify可能是最著名的两个。这些工具是我们安装在开发人员的桌面上的工具,用于处理Java或者Csource代码,并寻找众所周知的不安全代码模式,例如不良的输入验证。
最后,还有渗透测试工具。到目前为止,安全专家中最流行的Web应用程序渗透测试工具是Burp Suite,我们可以在http://www.portswigger.net/proxy上找到它。其他包括Spike Proxy和OWASP WebScarab。同样,我们将其安装在内部Windows桌面上。它将作为HTTP代理运行,我们将浏览器指向它。在记录操作的同时,我们将像普通用户一样使用应用程序。然后,我们可以返回到每个页面或者HTTP操作,并针对安全问题进行探测。
在复杂的环境中,尤其是如果我们要考虑自己动手做的事情,我强烈建议我们使用渗透测试工具。原因如下:
商业网络扫描仪提供了很多"广度",并提供了出色的报告。然而:
- 他们倾向于错过事情,因为每个应用程序都是不同的。
- 它们很昂贵(WebInspect开始于千分之十)。
- 我们要为不需要的东西付费(例如90年代已知的不良CGI数据库)。
- 它们很难自定义。
- 它们会产生嘈杂的结果。
源代码扫描程序比Web扫描程序更彻底。然而:
- 它们甚至比网络扫描仪贵。
- 它们需要源代码才能运行。
- 为了有效,它们经常需要我们注释源代码(例如,选择输入路径)。
- 他们倾向于产生假阳性。
商业扫描仪和源代码扫描仪都具有成为架子器的坏习惯。更糟糕的是,即使它们有效,其成本也可以与咨询公司审核1或者2个完整应用程序相提并论;如果我们信任顾问,那么可以肯定他们会比工具带来更好的结果。
渗透测试工具也有缺点:
- 它们比一劳永逸的商用扫描仪难用得多。
- 他们承担了一些有关Web应用程序漏洞的专门知识---我们必须知道要查找的内容。
- 他们很少或者没有正式报告。
另一方面:
- 它们便宜很多,便宜得多-Burp Suite仅售99EU,并提供免费版本。
- 它们很容易自定义并添加到测试工作流程中。
- 它们更好地从内部"了解"应用程序。
我们可以使用针对基本Web应用程序的笔测试工具进行以下操作:
- 通过代理登录到应用程序
- 创建应用程序主要功能区域的"命中列表",并分别进行一次练习。
- 使用笔测试应用程序中的"蜘蛛"工具查找应用程序中的所有页面,动作和处理程序。
- HTML / Java转义符和元字符
- 这些的国际化变体规避输入过滤器
- 众所周知的默认表单字段名称和值
- 众所周知的目录名称,文件名和处理程序动词
- 花几个小时来过滤产生的错误(一种形式的典型模糊测试可能会生成1000个错误),以寻找可疑的响应。
这是一种劳动密集型的"裸机"方法。但是,当公司拥有实际的应用程序时,裸机方法便会奏效,因为我们可以使用它来构建回归测试套件,该套件将在每个应用程序的每个开发周期中像发条一样运行。这是一个胜利,原因有很多:
- 每个应用程序的安全测试将花费可预测的时间和资源,这使我们可以预算和分类。
- 由于测试将根据应用程序进行调整,因此团队将获得最大程度的准确和彻底的结果。
- 它的成本将低于商用扫描仪,且低于顾问。
当然,如果我们走这条路,基本上就是在将自己变成公司的安全顾问。我认为这不是一件坏事。如果我们不想要这些专业知识,WebInspect或者Fortify不会为我们提供任何帮助。
回答
我知道我们是专门询问渗透测试工具的,但由于得到了充分的回答(我通常将AppScan和受过训练的pentester结合使用),我认为必须指出渗透测试不是"检查安全漏洞的唯一方法",这一点很重要。 ",而且通常不是最有效的。
源代码审查工具可以为我们提供更好的代码库可见性,并发现许多渗透测试不会发现的缺陷。
这些工具包括Fortify和OunceLabs(价格昂贵且适用于多种语言),VisualStudio.NET CodeAnalysis(用于.NET和C ++,可通过VSTS免费获得,体面但不佳),OWASP的LAPSE for Java(免费,体面不佳),CheckMarx(不便宜) ,适用于.NET和Java的fanTASTic工具,但开销较高)等等。
我们必须注意的重要一点是,(大多数)自动化工具无法发现所有漏洞,甚至无法消除所有漏洞。可以预期,自动化工具会发现专业的pentester会发现大约35-40%的secbug。自动和手动源代码审查也是如此。
当然,适当的SDLC(安全开发生命周期),包括威胁建模,设计审查等,更多……
回答
以前是hackersafe McAfee Secure。
回答
McAfee Secure不是解决方案。他们提供的服务是个玩笑。
见下文:
http://blogs.zdnet.com/security/?p=1092&tag=rbxccnbzd1
http://blogs.zdnet.com/security/?p=1068&tag=rbxccnbzd1
http://blogs.zdnet.com/security/?p=1114&tag=rbxccnbzd1
回答
nikto怎么样?
回答
对于这种测试,我们确实希望使用某种类型的模糊测试仪。 SPIKE Proxy是Web应用程序的几种模糊测试器之一。它是开源的,用Python编写。我相信从BlackHat或者DefCON那里有一些关于在某个地方使用SPIKE的视频,但是我很难找到它们。
有几个高端专业软件包将对Web应用程序进行测试等等。最受欢迎的工具之一是CoreImpact
如果我们确实打算自己进行笔测试,我强烈建议我们通读OWASP Project的许多文档。特别是OWASP应用程序安全验证和测试/开发指南。彻底测试应用程序所需的思维方式与常规开发思维方式略有不同(并不是应该有所不同,但通常会有所不同)。
回答
那老鼠代理呢?
A semi-automated, largely passive web application security audit tool, optimized for an accurate and sensitive detection, and automatic annotation, of potential problems and security-relevant design patterns based on the observation of existing, user-initiated traffic in complex web 2.0 environments. Detects and prioritizes broad classes of security problems, such as dynamic cross-site trust model considerations, script inclusion issues, content serving problems, insufficient XSRF and XSS defenses, and much more Ratproxy is currently believed to support Linux, FreeBSD, MacOS X, and Windows (Cygwin) environments.
回答
我知道我们是专门询问渗透测试工具的,但由于得到了充分的回答(我通常将AppScan和受过训练的pentester结合使用),我认为必须指出渗透测试不是"检查安全漏洞的唯一方法" ",而且通常不是最有效的。
源代码审查工具可以为我们提供更好的代码库可见性,并发现许多渗透测试不会发现的缺陷。
其中包括Fortify和OunceLabs(价格昂贵且适用于多种语言),VisualStudio.NET CodeAnalysis(适用于.NET和C ++,可通过VSTS免费获得,还不错,但效果不佳),OWASP的LAPSE for Java(免费,还不错但效果不佳),CheckMarx(不便宜) ,适用于.NET和Java的fanTASTic工具,但开销较高)等等。
我们必须注意的重要一点是,(大多数)自动化工具无法发现所有漏洞,甚至无法消除所有漏洞。可以预期,自动化工具会发现专业的pentester会发现大约35-40%的secbug。自动和手动源代码检查也是如此。
当然,适当的SDLC(安全开发生命周期),包括威胁建模,设计审查等,更多……