[THM]content discovery

发布时间 2023-12-12 14:05:59作者: trymonoly

手动发现 - robots .txt

robots.txt是告诉搜索引擎,那些页面是不允许爬的,这有利于我们渗透测试发现更多有用信息

 手动发现 - Favicon

网站图标

网站图标是显示在浏览器地址栏或选项卡中的一个小图标,用于为网站打造品牌。

 有时 当使用框架来构建网站时,作为安装一部分的网站图标会被遗留下来,如果网站开发人员没有用自定义网站图标替换它,这可以为我们提供关于正在使用什么框架的线索。OWASP托管了一个通用框架图标数据库,您可以使用它来检查目标favicon https://wiki.owasp.org/index.php/OWASP_favicon_database。一旦我们知道了框架堆栈,我们就可以使用外部资源来发现更多关于它的信息(见下一节)。

 

 手动发现 - Sitemap.xml

网站地图.xml

与 robots.txt 文件,它限制了搜索引擎爬虫可以做什么 看一下,SiteMap.xml文件给出了网站每个文件的列表 所有者希望在搜索引擎上列出。这些有时可以 包含网站中更难导航的区域 甚至列出一些当前网站不再使用的旧网页 但仍然在幕后工作。

 哔哩哔哩的sitemap.xml

 可以发现一些秘密路劲。

手动发现 - HTTP 标头

HTTP协议

什么时候 我们向 Web 服务器发出请求,服务器返回各种 HTTP 头。这些标头有时可能包含有用的信息,例如 网络服务器软件,可能还有编程/脚本语言 使用中。在下面的示例中,我们可以看到 Web 服务器是 NGINX 版本 1.18.0 并运行 PHP 版本 7.4.3。使用这些信息,我们可以找到 正在使用的软件的易受攻击版本。尝试运行以下 curl 命令,其中 -v 开关启用详细模式,这将输出标头(可能有一些有趣的东西!

可以发现一些中间件和后端语言

 手动发现 - 框架堆栈

框架堆栈

一次 你已经建立了一个网站的框架,从上面 网站图标示例或通过在页面源代码中查找线索,例如 评论、版权声明或致谢,然后您可以找到 框架的网站。从那里,我们可以了解有关该软件的更多信息 和其他信息,可能会导致我们可以发现的更多内容。

 OSINT - 谷歌黑客 / Dorking

谷歌黑客 / Dorking

Google hacking / Dorking 利用 Google 的高级搜索引擎功能,可让您挑选自定义内容。例如,您可以使用 site: 过滤器从某个域名中挑选结果,例如 (site:tryhackme.com),然后您可以将其与某些搜索词进行匹配,例如,单词 admin (site:tryhackme.com admin) 这将仅返回 来自 tryhackme.com 的结果网站,其内容中包含“管理”一词。您也可以组合多个过滤器。以下是您可以使用的更多过滤器的示例:

 有关谷歌黑客的更多信息,请访问:https://en.wikipedia.org/wiki/Google_hacking

 OSINT - Wappalyzer

瓦帕雷泽

Wappalyzer (https://www.wappalyzer.com/) 是一个在线工具和浏览器扩展,可帮助识别什么 网站使用的技术,例如框架、内容管理 系统(CMS)、支付处理器等等,它甚至可以找到 版本号也是如此。

OSINT - 时光倒流机

返程机

时光倒流机 (https://archive.org/web/) 是可追溯到 90 年代后期的网站历史档案。 您可以搜索一个域名,它会一直向您显示 服务抓取网页并保存内容。这项服务可以 帮助发现当前网站上可能仍处于活动状态的旧页面。

OSINT - GitHub

GitHub的

要了解 GitHub,首先需要了解 Git。Git 是一个版本控制系统, 跟踪对项目中文件的更改。在团队中工作更容易 因为您可以看到每个团队成员正在编辑的内容以及更改的内容 他们制作了文件。当用户完成更改后,他们 使用消息提交它们,然后将它们推送回中心位置 (存储库),以便其他用户将这些更改拉取到他们的 本地计算机。GitHub 是 Internet 上 Git 的托管版本。 存储库可以设置为公共或私有,并具有各种 访问控制。您可以使用 GitHub 的搜索功能来查找公司 名称或网站名称,以尝试查找属于您的存储库 目标。一旦被发现,您可以访问源代码、密码 或您尚未找到的其他内容。

OSINT - S3 存储桶

S3 存储桶

S3系列 存储桶是 Amazon AWS 提供的一项存储服务,允许人们 将文件甚至静态网站内容保存在可访问的云中 通过 HTTP 和 HTTPS。文件的所有者可以设置访问权限 使文件公开、私有甚至可写。有时这些 访问权限设置不正确,无意中允许访问 不应向公众提供的文件。S3 的格式 buckets 的数据类型为 http(s)://{name}。s3.amazonaws.com {name} 由所有者决定的位置,例如 tryhackme-assets.s3.amazonaws.com。 可以通过多种方式发现 S3 存储桶,例如查找 网站的页面源代码、GitHub 存储库,甚至自动化 过程。一种常见的自动化方法是使用公司名称 后跟常用术语,如 {name}-assets、{name}-www、{name}-public、{name}-private 等。

 自动发现

什么是自动发现?

自动发现是使用工具发现内容而不是手动发现内容的过程。这个过程是自动化的,因为它通常包含对 Web 服务器的数百、数千甚至数百万个请求。这些请求检查网站上是否存在文件或目录,使我们能够访问以前不知道存在的资源。通过使用称为单词列表的资源,可以实现此过程。

 

什么是词汇表?

单词列表只是包含一长串常用单词的文本文件;它们可以涵盖许多不同的用例。例如,密码单词列表将包含最常用的密码,而我们在本例中查找内容,因此我们需要一个包含最常用目录和文件名的列表。 丹尼尔·米斯勒(Daniel Miessler)策划的预装在THM AttackBox上的单词列表 https://github.com/danielmiessler/SecLists 是一个很好的资源。

 

自动化工具

尽管有许多不同的内容发现工具可用,但都有其功能和缺陷,但我们将介绍三个预装在我们的攻击盒上的工具,ffuf、dirb 和 gobuster。

 

在 AttackBox 上,执行以下三个命令,以 Acme IT 支持网站为目标,查看获得的结果。

使用 ffuf:

user@machine$ ffuf -w /usr/share/wordlists/SecLists/Discovery/Web-Content/common.txt -u http://10.10.242.233/FUZZ

使用 dirb:

user@machine$ dirb http://10.10.242.233/ /usr/share/wordlists/SecLists/Discovery/Web-Content/common.txt

使用 Gobuster:

user@machine$ gobuster dir --url http://10.10.242.233/ -w /usr/share/wordlists/SecLists/Discovery/Web-Content/common.txt