编写漏洞检查

这是一个关于在安全控制台中开发自定义漏洞检查的教程。关于这个主题的更多信息可在以下文章中获得:

安全控制台包括一个使用简单XML格式创建复杂漏洞检查的框架。漏洞检查被分割成两个或多个文件,当扫描引擎启动时,安全控制台会对这些文件进行解析。

有两种类型的XML文件构成一个漏洞检查:

  • 漏洞描述符-以字符结尾的文件<代码class="prism-code language-text">.xml包含特定漏洞信息(标题、描述、严重性、CVE ID、CVSS分数等)的扩展。
  • 漏洞检查-以字符结尾的文件<代码class="prism-code language-text">.vck包含多个测试的扩展,这些测试在运行时编译并由安全控制台用于验证描述符中描述的漏洞的存在(或不存在)。

一个漏洞可以有几种不同类型的检查(或<代码class="prism-code language-text">.vcks) 与之相关的。

存在第三种可选的XML文件类型:

  • 漏洞解决方案文件-以字符结尾的文件<代码class="prism-code language-text">.sol包含漏洞解决方案信息的扩展。此解决方案信息可以选择性地包含在漏洞定义中<代码class="prism-code language-text">.xml锉刀,锉刀<代码class="prism-code language-text">.sol用于重新使用其他漏洞。解决方案包含有关如何修复漏洞的信息。当推荐的解决方案因使用同一解决方案的多个漏洞而发生更改时,解决方案文件允许该解决方案编写一次并在一个位置更新。
    • 您可以在本文中阅读有关解决方案文件的更多信息外部参照.

创建您的第一个漏洞检查

在本文中,我们将从Nikto重新实现一个简单的漏洞检查,因为这是一个许多人都会熟悉的开源工具。这个示例基于Nikto中添加的WordPress版本信息泄漏检查。让我们在安全控制台中执行相同的检查,以便您可以看到方法上的差异。

Nikto支票写为:

         
1.
“006184”、“0”、“3”、“/wp links opml.php”、“GET”、“generator=\”WordPress/“、”“、”“、”“、”“,”,此WordPress脚本显示已安装的版本。“、”“、”

在本支票中:

  • <代码class="prism-code language-text">006184是Nikto漏洞ID
  • / wp-links-opml.php是请求的URL路径
  • 生成器=\“WordPress/要在响应中查找的字符串,该字符串表示存在此漏洞(引号以Nikto文件格式转义)

现在,让我们在Security Console中创建一个相同漏洞的检查——您将发现格式更复杂,并且需要更长时间来编写(尽管在Rapid7内部,我们有创作工具来加快这个过程)。

创建漏洞描述符(.xml)文件

首先,我们创建<代码class="prism-code language-text">.xml描述符文件。该文件看起来很复杂,但实际上很容易解释。创建一个名为<代码class="prism-code language-text">cmty-http-wordpress-wplinks-opml-info-leak.xml其内容如下:

         
xml
1.
<?xml版本='1.0'编码='UTF-8'?>
2.
<弱点身份证件="cmty http wordpress wplinks opml信息泄漏"出版="2007-05-26"补充="2010-03-13"被改进的="2010-03-13"版本="2">
3.
<的名字>WordPress通过wp泄漏版本信息-链接-opml.php的名字>
4.
<标签>
5.
<标签>WordPress标签>
6.
<标签>网状物标签>
7.
<标签>社区标签>
8.
标签>
9
<cvss>(成人影片:N/自动控制:L/:N/C:P/:N/A.:N)cvss>
10
<AlternateIds>
11
<身份证件的名字="统一资源定位地址">http://blogsecurity./wordpress/工具/可湿性粉剂-扫描仪身份证件>
12
AlternateIds>
13
<描述>
14
<P>这个版本这个WordPress博客软件可能会因请求
15
名为wp的文件-链接-opml.php.页面输出链接信息在里面OPML
16
总体安排.OPML这个
17
<A.href="http://en.wikipedia.org/wiki/OPML">概述处理器标记语言A.>,
18
用于在博客和用户之间交换信息RSS聚合器.P>
19
描述>
20.
<解决方案>
21
<解决方案身份证件="cmty http wordpress禁用wplinks opml"时间="30米">
22
<总结>使残废查阅可湿性粉剂-链接-opml.php页面总结>
23
<解决方案>
24
<P>评估是否OPML需要启用对于你的博客.如果,禁用对wp的访问-链接-opml.php页面由
25
删除它或使用web服务器的访问控制机制(对于实例.htaccess上阿帕奇)禁用超文本传输协议访问
26
文件.P>
27
解决方案>
28
解决方案>
29
解决方案>
30.
弱点>

让我们解释一下这个文件的不同部分: