如何在kali中使用自动扫描器

介绍

几乎每个渗透测试项目都必须遵循一个严格的时间表,主要由客户的需求或开发交付日期决定。对于渗透测试人员来说,拥有一个能够在短时间内对应用程序执行大量测试的工具是非常有用的,这样可以在计划的时间内识别尽可能多的漏洞。自动漏洞扫描器成为了最佳选择。它们还可以用来寻找开发替代方案,或者确保在渗透测试中没有留下明显的东西。

 自动化扫描注意事项

通常我们用openvas和usses等扫描时,它会扫目标系统的开放口,并别运行服务及版本,它不会发送恶意的 payload。而 web  洞扫描器提交参数时,即使扫略进行过测试payload 被认为是安全的,但有些数据依然有可能影响到程序的完整性和稳定性。因此,在利用自动化扫描工具时,需要特别小心。

下面将介绍一些在扫描之前需要注意的地方

实战演练

在自动化扫描之前,需要考虑以下因素:

1,优先选择测试环境,而不是生产环境。这样如果发生错误,就不会影响到真实的数据

2.做好恢复机制,在发生问题时可以恢复数据和代码。

3.定义扫描范围。虽然我们可以针对整个站点启动扫描,但仍然建议定义工具的配置,避免扫描应用中脆弱或敏感的部分。

4.熟悉要使用的工具,可以先花些时间在试验靶场里测试一下工具,了解它们的功能以及扫描可能造成的影响。

5.保持工具及其模块的更新,使结果与最新的漏洞披露和攻击技术一致。

6.启动扫描之前确认扫描范围和参数,确保扫描不超出指定范围。

7.记录全面的扫描过程,大多数工具都自带日志记录和生成报告的功能。

8.扫描过程中不能无人看管,需要不断检查工作状态,做好造成影响的第一时间反应。

9.不要依赖单一工具,每个人都有自己喜欢的一款工具,但是需要记住,没有一款工具能覆盖到所有渗透测试的内容,所以交叉使用工具可以有效避免假阳性和假阴性的概率。

原理剖析

上面我们介绍了扫描中需要注意的关键点,以便在后期渗透测试中避免信息损害和服务中断。

需要采取这些措施的原因是 web 洞扫描器在扫描中偏向扫描整个站点,并使用爬行到的 url和参数发起进一步的有效载荷测试,若 web 应用未对输入进行过,这些探测请求的参数可能会永久在数据库中,这将导致完整性问题,或损害到服务状态。

为了防止这种破坏,我们建议采取一系列措施,重点是准备好测试环境,熟悉工具原理,并保持更新,仔细选择要扫描的内容,并对所有扫描行为进行记录。

8.2 使用Nikto进行扫描

每个测试人员必备的工具 Nikto,它是世界上使用最广泛的免费扫描仪。正如其官方网站(https://cirtnet/Nikto2)所述:

“Nikto是一个开放源码(GPL)的 web 服务器扫描器,它对 web 服务器上的多个项目执行全面的测试,包括超过 6700个潜在的危险文件/程序,检查超过1250个服务器的过期版,以及 270多个服务器上的特定于版本的问题。它还检查服务器配置项,如是否存在多个索引文件、HTTP 服务器选项并尝试标识已安装的 web 服务器和软件。扫描项目和插件经常更新比较活跃并且可以自动更新。”

在这个小节中,我们将使用 Nikto扫描web应用程序中的漏洞并分析结果。

实战演练

Nikto是Kali Linux默认包含的命令行实用程序,打开终端开始扫描服务器:

1我们将扫描Peruggia 漏洞应用程序,并将结果导出到一个HTML报告文件,该命令为:niktoh http://192.168.108.129/peruggia/-o result,html

输出是这样的:

原理剖析

在此小节中,我们使用 Nikto 扫描应用程并生成HTML 告在这个工具中有更多的选项用于执行特定的扫描或生成特定的输出格式。其中一些比较有用的是:

-h:这是 Nikto 的帮助。

-config<file>:在扫描中使用自定义配置文件。

-update:这将更新插件数据库。

-Formateforma>;这定义了输出格式,它可以是 CSV、HTM、NBE(Nessus)、SQL、TXT或XML。当我们希望将 Nikto 的结果作为其他工具的输入时,CSV、XML和NBE等格式使用的比较多。

-evasion<technique>:这使用了一些编码技术来帮助避免 web 应用程序防火墙和入侵检测系统的检测。

-list-plugins:查看可用的插件。

-portsportnumber>:如果服务器使用非标准口(80443)我们需要使用该参数来告诉Nikto.

8.3 使用Wapiti发现漏洞

Wapiti是另一个基于终端的 Web 漏洞扫描程序,它将 GET和POST请求发送到寻找以下漏洞的目标站点(http://wapitisourceforge.net/):

文件披漏

数据库注入

跨站点脚本(XSS)

命令执行检测

CRLF 注射

XML外部实体(XXE注入

使用已知的潜在危险文件

可绕过的弱.htaccess配置

存在提供敏感信息的备份文件《源代码公开)

在本文中,我们将使用 Wapiti 发现我们的一个测试应用程序中的漏洞并生成扫描报告。

实战演练

Wapiti是一个命令行工具,在 Kali Linux 中打开终端并确保在开始之前运行易受攻击的VM:

  1. 在终端中,执行 wapiti-u http://192.168.108.129/peruggia/ -0 wapiti_result -f html-mxss,fileblindsql 使用指定模块扫描易受攻击的VM中的Peruggia应用程序,将输出以HTML格式保存在wapitiresult目录中。
  2. 等待扫描完成并打开报告的目录,然后打开imdexhtml文件,那么,你会看到这样的东西:
  3. 现在,单击SQL盲注 以查看结果的详细信息。
  4. 选择一个漏洞,然后单击 HTTP请求,我们将选择第二个并选择并复制请求的URL部分
  5. 现在,我们将该URL粘贴到浏览器中并添加服务器部分(http://192.168.108.129/peruggia/index.php?action=sleep%287%29%231&type=XSS&paper=http%3A%2F%2Fmilw0rm.com%2Fpapers%2F173

    原理剖析

    我们跳过了这个配置中的盲SQL注入测试(-m“-blindsql”),因为我们已经知道这个应用程序很容易受到攻击。 当它达到计算基于时间的注入时,它会引发超时错误,使Wapiti 在扫描完成之前关闭,因为 Wapiti通过注入 sleep ()命令多次测试,直到服务器超过超时闹值。

    此外,我们选择了输出的HTML格式(-f html)和wapiti result 作为报告的目标录,我们还可以使用其他格式,例如JSON,OpenVas,TXT或XML。

    Wapiti的其他命令选项包括:

    -x<URL>:从扫描中排除指定的URL,对注销和码更改URL特别有用。

    -i<file>从XML文件恢复以前保存的扫描。文件名是可选的,因为如果省略,Wapiti会从其扫描文件夹中获取文件。

    -a<login%password>:使用指定的凭据对应用程序进行身份验证。

    --auth-method <method>;定义-a 选项的身份验证方法, basic,digest, kerberos,或ntlm 。

    -s<URL>:定义用于开始扫描的URL。

    -p <proxyurl>:使用 HTTP或HTTPS 代理

    8.4 使用OWASP ZAP进行扫描漏洞

    OWASPZAP是我们已经在本书中用于各种任务的工具,在其众多功能中,它包括一个自动漏洞扫描程序。它的使用和报告生成将在本文中介绍。

    准备

    在我们在OWASPZAP中执行成功的漏洞扫描之前,我们需要抓取现场:

    1.打开OWASPZAP并配置Web 浏览器以将其用作代理

    2.导航到http://192.168.108.129/peruggia/

    3.按照第3章“使用代理,爬网程序和蜘蛛”中的使用ZAP蜘蛛的说明进行操作

    实战演练

    浏览了应用程序或运行 ZAP的蜘蛛,我们开始扫描:

    1.转到WASPZAP的“站点”面板,右键单击peruggia 文件夹。

    2.从菜单中,导航到Attack  主动扫描,如下所示截图:3.将弹出一个新窗口。 在这一点上,我们知道我们的应用是什么技术和服务器使用,所以,转到 Technology 选项卡,只检查 MySQL,PHP,Linux 和Apache:

             在这里,我们可以根据 Scope(开始扫的位置,在什么上下文等)配置我们的扫描输入向量(选择是否要在 GET和 POST 请求中测试值,标题,cookic 和其他选项 ),自定义向量(将原始请求中的特定字符或单词添加为攻击向量),技术(要执行的技术特定测试)和策略(选择特定测试的配置参数)。

    4.单击“开始扫描”。

    5.“活动扫描”选项卡将显示在底部面板上,扫期间发出的所有请求都将显示在此处。

    6.扫描完成后,我们可以在“报”选卡中查看结果,如下面的屏幕截图所示

           如果我们选择一个警报,我们可以看到发出的请求和从服务器获得的响应。这允许我们分析攻击并定义它是真正的漏洞还是误报。 我们还可以使用此信息进行模糊测试,在浏览器中重复请求,或深入挖掘开发。

    7.要生成HTML报告(与前的工具一样,请转到菜单中的“报告”,然后选择“生成HTML报告”

    8.新对话将询问文件名和位置。例如,设置 zapresult.html,完成后打开文件:

    原理剖析

            OWASPZAP能够执行主动和被动漏洞扫描,被动扫是0WASPZAP在我们浏览发送数据和点击链接时进行的非侵入式测试。主动测试涉及对每个表单变量或请求值使用各种攻击字符串,以便检测服务器是否响应我们可以称之为易受攻击的行为。

            OWASPZAP拥有各种技术的测试字符,首先确定我们的目标使用的技术是有用的,以便优化我们的扫描并减少被检测或导致服务中断的可能性。此工具的另一个有趣功能是,我们可以在同一窗口中分析导致检测到漏洞及其相应响应的请求。它被检测到的那一刻。这使我们能够快速确定它是真正的漏洞还是误报,以及是否开发我们的概念证明(PoC)或开始利用。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值