kali渗透3-crawlers and spiders-爬虫和蜘蛛

In this chapter, we will cover:
Downloading a page for offline analysis with Wget
Downloading a page for offline analysis with HTTrack
Using ZAP’s spider
Using Burp Suite to crawl a website
Repeating requests with Burp’s repeater
Using WebScarab
Identifying relevant files and directories from crawling results

简介

渗透测试可以通过多种途径完成,例如黑盒、灰盒和白盒。黑盒测试在测试者没有任何应用的前置信息条件下执行,除了服务器的 URL。白盒测试在测试者拥有目标的全部信息的条件下执行,例如它的构造、软件版本、测试用户、开发信息,以及其它。灰盒测试是黑盒和白盒的混合。
对于黑盒和灰盒测试,侦查阶段对测试者非常必然,以便发现白盒测试中通常由应用所有者提供的信息。
我们打算采取黑盒测试方式,因为它涉及到外部攻击者用于获取足够信息的所有步骤,以便入侵应用或服务器的特定功能。
作为每个 Web 渗透测试中侦查阶段的一部分,我们需要浏览器每个包含在网页中的链接,并跟踪它展示的每个文件。有一些工具能够帮助我们自动和以及加速完成这个任务,它们叫做Web 爬虫或蜘蛛。这些工具通过跟随所有到外部文件的链接和引用,有的时候会填充表单并将它们发送到服务器,保存所有请求和响应来浏览网页,从而提供给我们离线分析它们的机会。
这一章中,我们会涉及到一些包含在 Kali 中的爬虫的使用,也会查看我们感兴趣的文件和目录,来寻找常见的网页。

使用 Wget 为离线分析下载网页

操作步骤

  1. 让我们做第一次尝试,通过仅仅以一个参数调用 Wget 来下载页面。
wget http://192.168.56.102/bodgeit/

它仅仅下载了 index.html 文件到当前目录,这是应用的首页。

  1. 我们需要使用一些选项,告诉 Wget 将所有下载的文件保存到特定目录中,并且复制我们设为参数的 URL 中包含的所有文件。让我们首先创建目录来保存这些文件:
mkdir bodgeit_offline
  1. 现在,我们会递归下载应用中所有文件并保存到相应目录中。
wget -r -P bodgeit_offline/ http://192.168.56.102/bodgeit/

工作原理
Wget 是个为下载 HTTP 内容创建的工具。通过 -r 参数,我们可以使其递归下载,这会按照它所下载的每个页面的所有连接,并同样下载它们。 -P 选项允许我们设置目录前缀—— Wget 会开始保存下载内容的目录,它默认设为当前目录。

更多
在我们使用 Wget 时,可以考虑一些其它的实用选项:
-l :在递归下载的时候,规定 Wget 的遍历深度可能很有必要。这个选项后面带有我们想要遍历的层级深度的数值,让我们规定这样的界限。
-k :在文件下载之后,Wget 修改所有链接,使其指向相应的本地文件,这会使站点能够在本地浏览。
-p :这个选项让 Wget 下载页面所需的所有图像,即使它们位于其它站点。
-w :这个选项让 Wget 在两次下载之间等待指定的描述。当服务器中存在防止自动浏览的机制时,这会非常有用。

使用 HTTrack 为离线分析下载页面

httrack允许你从互联网下载 WWW 站点到本地目录中,递归构建所有目录、从服务器获得HTML、图像,和其它文件到你的计算机中。
准备
HTTrack 没有默认在 Kali 中安装。所以我们需要安装它。
apt-get update
apt-get install httrack
操作步骤

  1. 我们的第一步是创建目录来储存下载的站点,输入:
mkdir bodgeit_httrack
cd bodgeit_httrack
  1. 使用 HTTrack 的最简单方式就是向命令中添加我们打算下载的 URL。
httrack http://192.168.56.102/bodgeit/

设置最后的 / 非常重要,如果遗漏了的话,HTTrack 会返回 404 错误,因为服务器根目录没有 bodgeit 文件在这里插入图片描述
3. 现在,如果我们访问文件 file:///root/MyCookbook/test/bodgeit_httrack/index. html (或者你在你的测试环境中选择的目录),我们会看到,我们可以离线浏览整个站点:
在这里插入图片描述
工作原理
HTTrack 创建站点的完整静态副本,这意味着所有动态内容,例如用户输入的响应,都不会有效。在我们下载站点的文件夹中,我们可以看到下列文件和目录:

以服务器名称或地址命名的目录,包含所有下载的文件。
cookies.txt 文件,包含用于下载站点的 cookie 信息。
hts-cache 目录包含由爬虫检测到的文件列表,这是 httrack 所处理的文件列表。
hts-log.txt 文件包含错误、警告和其它在爬取或下载站点期间的信息
index.html 文件重定向到副本的原始主页,它位于名称为服务器的目录中。

更多
HTTrack 也拥有一些扩展选项,允许我们自定义它的行为来更好符合我们的需求。下面是一些值得考虑的实用修改器:
-rN :将爬取的链接深度设置为 N。
-%eN :设置外部链接的深度界限。
+[pattern] :告诉 HTTrack 将匹配 [pattern] 的 URL 加入白名单,例如 +google.com/
-[pattern] :告诉 HTTrack 将匹配 [pattern] 的 URL 加入黑名单。
-F [user-agent] :允许我们定义用于下载站点的 UA(浏览器标识符)。

使用 ZAP 蜘蛛

在我们的计算机中将完整的站点下载到目录给予我们信息的静态副本,这意味着我们拥有了不同请求产生的输出,但是我们没有服务器的请求或响应状态。为了拥有这种信息的记录,我们需要使用蜘蛛,就像 OWASP ZAP 中集成的这个。

操作步骤

  1. 为了让 ZAP 启动并使浏览器将其用作代理,浏览 http://192.168.56.102/bodgeit/ 。
  2. 在 Sites 标签页中,打开对应测试站点的文件夹(本书中是 http://192.168.56.102 )。
  3. 右击 GET:bodgeit 。
  4. 从下拉菜单中选择 Attack | Spider… 。在这里插入图片描述
  5. 在对话框中,保留所有选项为默认并点击 Start Scan 。
  6. 结果会出现在 Spider 标签页的底部面板中。在这里插入图片描述
  7. 如果我们打算分析独立文件的请求和响应,我们访问 Sites 标签并打开其中的 site 文件夹和 bodget 文件夹。让我们看一看 POST:contact.jsp(anticsrf,comments,null) 。
    在右边,我们可以看到完整的请求,包含所使用的参数(下半边)。
  8. 现在,选择右侧部分的 Reponse 标签页。在这里插入图片描述
    在上半边中,我们可以看到响应头,包括服务器标识和会话 Cookie,在下半边我们拥有完整的 HTML 响应。在之后的章节中,我们会了解从已授权的用户获取这种 cookie,如何用于劫持用户会话以及执行冒充它们的操作。

工作原理
就像任何其它爬虫那样,ZAP 的蜘蛛跟随它找到的每个链接,位于每个包含请求范围以及其中的链接中的页面上。此外,蜘蛛会跟随表单响应、重定向和包含在 robots.txt 和 sitemap.xml 文件中的 URL。之后它会为之后分析和使用储存所有请求和响应。

更多
在爬取站点或目录之后,我们可能会使用储存的请求来执行一些测试。使用 ZAP 的功能,我们能够执行下列事情:
在修改一些数据之后重放请求
执行主动和被动漏洞扫描
模糊测试输入参数来寻找可能的攻击向量
在浏览器中重放特定请求

使用 Burp Suite 爬取站点

使用 Burp repeater重放请求

使用 WebScarab

webscarab是另一个web代理,跟burp差不多,也可以截取数据包改数据

准备
作为默认配置,WebScarab 实用 8008 (不是8080)端口来捕获 HTTP 请求。所以我们需要配置我们的浏览器来在 localhost 中使用这个端口作为代理。你需要遵循与在浏览器中配置 OWASP ZAP、Burp Suite 的相似步骤。这里,端口必须是 8008。

操作步骤
(可先用apt install webscarab安装)

  1. 在 Kali 的 Applications 菜单中,访问 03 Web Application Analysis | webscarab 来打开WebScarab。
  2. 浏览vulnerable_vm 的 Bodgeit 应用( http://192.168.56.102/ bodgeit/ )。我们会看到它出现在 WebScarab 的 Summary 标签页中。
  3. 现在,右击 bodgeit 文件夹并从菜单选择 Spider tree
    在这里插入图片描述
  4. 在蜘蛛发现新文件过程中,所有请求会出现在summary的下半部分,树也会被填满。在这里插入图片描述
    这个summary就展示了一些关于每个特定文件的相关信息。例如,是否存在注入或者可能为注入的漏洞,是否设置了 cookie,包含表单,或者是否表单含有隐藏字段。它也表明了代码或文件上传中存在注释。
  5. 如果我们右击任何下半部分的请求,我们会看到可以对它们执行的操作。我们分析请求,找到路径 /bodgeit/search.jsp ,右击它,并选择Show conversation`。新的窗口会弹出,并以多种格式展示响应和请求
    在这里插入图片描述
  6. 现在点击 Spider 标签页。
    这个标签页中,我们可以在 Allowed Domains 和 Forbidden Domains 中,使用正则表达式来调整蜘蛛抓取的内容。我们也可以使用 Fetch Tree 来刷新结果,也可以通过点击 Stop 按钮来停止蜘蛛。
    在这里插入图片描述
    工作原理
    WebScarab 的蜘蛛类似于 ZAP 或者 Burp Suite,对发现网站中所有被引用文件或目录,而无需手动浏览器所有可能的链接,以及深度分析发给服务器的请求,并使用它们执行更多复杂的测试非常实用。

从爬取结果中识别相关文件和目录

我们已经爬取了应用的完整目录,并且拥有了被引用文件和目录的完整列表。下一步地当是识别这些文件哪个包含相关信息,或者是更可能发现漏洞的机会。
这篇不仅仅是个秘籍,更是用于文件和目录的常见名称、前后缀的总结,它们通常给渗透测试者提供有价值的信息,或者是可能导致整个系统沦陷的漏洞利用。

操作步骤

  1. 首先,我们打算寻找登录和注册页面,它们可以给我们机会来成为应用的正常用户,或者通过猜测用户名和密码来冒充它们。一些名称和部分名称的例子是:
    Account
    Auth
    Login
    Logon
    Registration
    Register
    Signup
    Signin

  2. 另一个常见的用户名、密码来源和与之相关的漏洞是密码恢复页面:
    Change
    Forgot
    lost-password
    Password
    Recover
    Reset

  3. 下面,我们需要识别是否存在应用的管理员部分,这里有一组功能可能允许我们执行高权限的操作,例如:
    Admin
    Config
    Manager
    Root

  4. 其它有趣的目录是内容管理系统(CMS)的管理员、数据库或应用服务器之一,例如:
    Admin-console
    Adminer
    Administrator
    Couch
    Manager
    Mylittleadmin
    PhpMyAdmin
    SqlWebAdmin
    Wp-admin

  5. 应用的测试和开发版通常没有保护,并且比最终发行版更容易存在漏洞,所以它们在我们搜索缺陷的时候是个很好的目标。这些目录的名称包含:
    Alpha
    Beta
    Dev
    Development
    QA
    Test

  6. Web 服务器的信息和配置文件如下:
    config.xml
    info
    phpinfo
    server-status
    web.config

  7. 此外,所有在 robots.txt 中标记为 Disallow 的目录和文件可能非常实用。

工作原理
前面列出的一些名称和它们的语言变体允许我们访问站点的受限部分,这是渗透测试中非常重要的步骤。它们中的一些能够提供给我们服务器,它的配置以及所使用的开发框架信息。
其它的,例如 Tomcat 管理器和 JBoss 的登录页面,如果配置不当的话,会让我们(或恶意攻击者)获得服务器的控制。

kali-linux-2017.3-vm-i386.zip是一个用于虚拟机的Kali Linux操作系统的压缩文件。Kali Linux是一个基于Debian的Linux发行版,主要用于渗透测试和网络安全评估。如果您对网络安全或渗透测试有兴趣,下载和使用Kali Linux可能会对您有帮助。 在下载过程中,请确保使用合法的渠道获取此文件,以避免下载到来自未知源的恶意软件。您可以在官方Kali Linux网站上找到正版的下载链接。选择与您的操作系统兼容的版本,并下载相应的zip文件。 下载完成后,您可以使用虚拟机软件(例如VMware、VirtualBox等)来创建一个虚拟机实例,然后将Kali Linux的zip文件导入虚拟机软件中。解压缩zip文件并按照虚拟机软件的指导完成安装过程。 安装完成后,您将获得一个Kali Linux的虚拟机实例,可以在虚拟机中运行Kali Linux操作系统。Kali Linux提供了一套强大的工具和实用程序,可用于网络安全测试、渗透测试、恢复丢失的数据以及其他计算机安全任务。 请注意,Kali Linux是一个专业的网络安全工具,并且要求使用者具备相关的知识和技能。在使用Kali Linux进行安全测试时,务必遵守法律和道德规范,避免非法和滥用行为。同时,确保在网络安全测试之前取得合法的授权,以避免产生法律问题。 总之,kali-linux-2017.3-vm-i386.zip是一个用于虚拟机的Kali Linux操作系统文件,通过正确的下载和安装方式,您可以获得一个功能强大的网络安全工具来支持您的相关工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值