Web 工具,或者作为渗透测试人员从哪里开始?

继续 谈论对渗透测试人员有用的工具。 在新文章中,我们将介绍用于分析 Web 应用程序安全性的工具。

我们的同事 我已经做过这样的事情 汇编 大约七年前。 有趣的是,看看哪些工具保留并加强了它们的地位,哪些工具已经淡出背景并且现在很少使用。
Web 工具,或者作为渗透测试人员从哪里开始?

请注意,这还包括 Burp Suite,但将有一个关于它及其有用插件的单独出版物。

内容:

阿马斯

阿马斯 - 用于搜索和枚举 DNS 子域以及映射外部网络的 Go 工具。 Amass 是一个 OWASP 项目,旨在向外人展示互联网上的组织是什么样子。 Amass 通过多种方式获取子域名;该工具同时使用子域名的递归枚举和开源搜索。

为了发现互连的网段和自治系统编号,Amass 使用在操作期间获得的 IP 地址。 找到的所有信息都用于构建网络地图。

优点:

  • 信息收集技术包括:
    * DNS - 子域的字典搜索、暴力子域、使用基于找到的子域的突变的智能搜索、反向 DNS 查询以及搜索可以发出区域传输请求 (AXFR) 的 DNS 服务器;

    * 开源搜索 - Ask、百度、Bing、CommonCrawl、DNSDB、DNSDumpster、DNSTable、Dogpile、Exalead、FindSubdomains、Google、IPv4Info、Netcraft、PTRArchive、Riddler、SiteDossier、ThreatCrowd、VirusTotal、Yahoo;

    * 搜索 TLS 证书数据库 - Censys、CertDB、CertSpotter、Crtsh、Entrust;

    * 使用搜索引擎 API - BinaryEdge、BufferOver、CIRCL、HackerTarget、PassiveTotal、Robtex、SecurityTrails、Shodan、Twitter、Umbrella、URLScan;

    * 搜索互联网网络档案:ArchiveIt、ArchiveToday、Arquivo、LoCArchive、OpenUKArchive、UKGovArchive、Wayback;

  • 与 Maltego 集成;
  • 提供最完整的 DNS 子域搜索任务覆盖。

缺点:

  • 请小心 amass.netdomains - 它将尝试联系已识别基础设施中的每个 IP 地址,并从反向 DNS 查找和 TLS 证书中获取域名。 这是一种“高调”的技术,它可以揭露你在被调查组织中的情报活动。
  • 高内存消耗,在不同的设置下可能会消耗高达 2 GB 的 RAM,这将不允许您在廉价的 VDS 上在云中运行此工具。

Web 工具,或者作为渗透测试人员从哪里开始?

Altdns

Altdns — 用于编译枚举 DNS 子域的字典的 Python 工具。 允许您使用突变和排列生成子域的许多变体。 为此,使用子域中经常出现的单词(例如:test、dev、staging),所有突变和排列都应用于已知的子域,这些子域可以提交到 Altdns 输入。 输出是可能存在的子域变体的列表,该列表稍后可用于 DNS 暴力破解。

优点:

  • 适用于大型数据集。

AQUATONE

AQUATONE - 以前作为另一种搜索子域的工具而广为人知,但作者本人放弃了它,转而使用前面提到的 Amass。 现在aquatone已经用Go重写了,更适合网站的初步侦察。 为此,aquatone 会遍历指定的域并搜索不同端口上的网站,然后收集有关该网站的所有信息并进行屏幕截图。 方便快速对网站进行初步侦察,然后选择优先攻击目标。

优点:

  • 输出创建一组文件和文件夹,在进一步使用其他工具时可以方便地使用:
    * HTML 报告,其中包含收集的屏幕截图和按相似性分组的响应标题;

    * 包含找到网站的所有 URL 的文件;

    * 包含统计数据和页面数据的文件;

    * 一个文件夹,其中包含包含已找到目标的响应标头的文件;

    * 一个文件夹,其中包含包含已找到目标的响应正文的文件;

    * 找到的网站截图;

  • 支持使用 Nmap 和 Masscan 的 XML 报告;
  • 使用无头 Chrome/Chromium 渲染屏幕截图。

缺点:

  • 它可能会引起入侵检测系统的注意,因此需要进行配置。

截图是aquatone的旧版本(v0.5.0)之一,其中实现了DNS子域搜索。 旧版本可以在以下位置找到 发布页面.
Web 工具,或者作为渗透测试人员从哪里开始?

域名解析

域名解析 是另一种查找 DNS 子域的工具。 它的主要区别在于它直接向许多不同的 DNS 解析器进行 DNS 查询,并且速度相当快。

优点:

  • 快速 - 每秒能够解析超过 350 万个名称。

缺点:

  • MassDNS 可能会对正在使用的 DNS 解析器造成巨大负载,这可能会导致这些服务器被禁止或向您的 ISP 投诉。 此外,如果公司拥有 DNS 服务器并且它们负责您尝试解析的域,那么这会给公司的 DNS 服务器带来很大的负载。
  • 解析器列表当前已过时,但如果您选择损坏的 DNS 解析器并添加新的已知解析器,一切都会好起来的。

Web 工具,或者作为渗透测试人员从哪里开始?
aquatone v0.5.0 截图

纳秒3图

纳秒3图 是一个用于获取受 DNSSEC 保护的域的完整列表的 Python 工具。

优点:

  • 如果在区域中启用了 DNSSEC 支持,则可以用最少的查询次数快速发现 DNS 区域中的主机;
  • 包括 John the Ripper 的插件,可用于破解生成的 NSEC3 哈希值。

缺点:

  • 许多 DNS 错误没有得到正确处理;
  • 处理 NSEC 记录没有自动并行化 - 您必须手动划分命名空间;
  • 高内存消耗。

的Acunetix

的Acunetix — 一种 Web 漏洞扫描程序,可自动检查 Web 应用程序的安全性。 测试应用程序是否存在 SQL 注入、XSS、XXE、SSRF 和许多其他 Web 漏洞。 然而,与任何其他扫描程序一样,各种 Web 漏洞并不能取代渗透测试程序,因为它无法发现复杂的漏洞链或逻辑漏洞。 但它涵盖了很多不同的漏洞,包括各种 CVE,而渗透测试人员可能已经忘记了这些漏洞,因此非常方便地将您从例行检查中解放出来。

优点:

  • 误报率低;
  • 结果可以导出为报告;
  • 对各种漏洞进行大量检查;
  • 并行扫描多个主机。

缺点:

  • 没有重复数据删除算法(Acunetix 会将功能相同的页面视为不同的页面,因为它们会导致不同的 URL),但开发人员正在研究它;
  • 需要安装在单独的 Web 服务器上,这使得使用 VPN 连接测试客户端系统以及在本地客户端网络的隔离网段中使用扫描仪变得复杂;
  • 正在研究的服务可能会产生噪音,例如,通过向网站上的联系表单发送过多的攻击向量,从而使业务流程大大复杂化;
  • 它是一个专有的解决方案,因此不是免费的解决方案。

Web 工具,或者作为渗透测试人员从哪里开始?

目录搜索

目录搜索 — 一个用于暴力破解网站上的目录和文件的 Python 工具。

优点:

  • 能够区分真正的“200 OK”页面和“200 OK”页面,但带有文本“找不到页面”;
  • 附带一本方便的词典,在大小和搜索效率之间取得了良好的平衡。 包含许多 CMS 和技术堆栈通用的标准路径;
  • 自带的字典格式,可以让你在枚举文件和目录时获得良好的效率和灵活性;
  • 方便的输出——纯文本、JSON;
  • 它可以进行限制——请求之间的暂停,这对于任何弱服务来说都是至关重要的。

缺点:

  • 扩展名必须作为字符串传递,如果您需要一次传递多个扩展名,这会很不方便;
  • 为了使用您的词典,需要将其稍微修改为 Dirsearch 词典格式以获得最大效率。

Web 工具,或者作为渗透测试人员从哪里开始?

模糊

模糊 - Python Web 应用程序模糊器。 可能是最著名的网络移相器之一。 原理很简单:wfuzz 允许您对 HTTP 请求中的任何位置进行阶段化,这使得可以对 GET/POST 参数、HTTP 标头(包括 Cookie 和其他身份验证标头)进行阶段化。 同时也方便对目录和文件进行简单的暴力破解,为此你需要一本好的字典。 它还具有灵活的过滤系统,您可以根据不同的参数过滤来自网站的响应,从而使您获得有效的结果。

优点:

  • 多功能——模块化结构,组装仅需几分钟;
  • 方便的过滤和模糊机制;
  • 您可以对任何 HTTP 方法以及 HTTP 请求中的任何位置进行分段。

缺点:

  • 正在开发中。

Web 工具,或者作为渗透测试人员从哪里开始?

— Go 中的 Web 模糊器,以 wfuzz 的“形象和相似性”创建,允许您暴力破解文件、目录、URL 路径、GET/POST 参数的名称和值、HTTP 标头,包括用于暴力破解的 Host 标头虚拟主机。 wfuzz 与它的兄弟的不同之处在于更高的速度和一些新功能,例如,它支持 Dirsearch 格式的字典。

优点:

  • 过滤器与wfuzz过滤器类似,它们允许您灵活配置暴力破解;
  • 允许您模糊 HTTP 标头值、POST 请求数据和 URL 的各个部分,包括 GET 参数的名称和值;
  • 您可以指定任何 HTTP 方法。

缺点:

  • 正在开发中。

Web 工具,或者作为渗透测试人员从哪里开始?

戈巴斯特

戈巴斯特 — 一个用于侦察的 Go 工具,有两种操作模式。 第一个用于暴力破解网站上的文件和目录,第二个用于暴力破解 DNS 子域。 该工具最初不支持文件和目录的递归枚举,这当然可以节省时间,但另一方面,网站上每个新端点的暴力破解必须单独启动。

优点:

  • 对于 DNS 子域的强力搜索以及文件和目录的强力搜索,操作速度很高。

缺点:

  • 当前版本不支持设置HTTP headers;
  • 默认情况下,只有部分 HTTP 状态代码 (200,204,301,302,307) 被视为有效。

Web 工具,或者作为渗透测试人员从哪里开始?

阿琼

阿琼 - 用于暴力破解 GET/POST 参数以及 JSON 中隐藏 HTTP 参数的工具。 内置词典有 25 个单词,Ajrun 在近 980 秒内检查完毕。 诀窍在于 Ajrun 不会单独检查每个参数,而是一次检查约 30 个参数并查看答案是否发生变化。 如果答案发生了变化,它会将这 1000 个参数分为两部分,并检查哪一部分会影响答案。 因此,使用简单的二分搜索,可以找到影响答案的一个或多个隐藏参数,因此可能存在。

优点:

  • 由于二分查找而速度快;
  • 支持GET/POST参数,以及JSON形式的参数;

Burp Suite 插件的工作原理类似 - 参数矿工,它也非常擅长查找隐藏的 HTTP 参数。 我们将在即将发布的有关 Burp 及其插件的文章中向您介绍更多相关信息。
Web 工具,或者作为渗透测试人员从哪里开始?

链接查找器

链接查找器 — 用于搜索 JavaScript 文件中的链接的 Python 脚本。 对于在 Web 应用程序中查找隐藏或遗忘的端点/URL 很有用。

优点:

  • 快速地;
  • Chrome 有一个基于 LinkFinder 的特殊插件。

.

缺点:

  • 不方便得出最终结论;
  • 不随时间分析 JavaScript;
  • 搜索链接的逻辑非常简单 - 如果 JavaScript 被某种方式混淆,或者链接最初丢失并动态生成,那么它将无法找到任何内容。

Web 工具,或者作为渗透测试人员从哪里开始?

JS解析器

JS解析器 是一个Python脚本,使用 Tornado и JS美化器 从 JavaScript 文件中解析相对 URL。 对于检测 AJAX 请求和编译与应用程序交互的 API 方法列表非常有用。 与 LinkFinder 结合使用可以有效地工作。

优点:

  • 快速解析 JavaScript 文件。

Web 工具,或者作为渗透测试人员从哪里开始?

SqlMap的

SqlMap的 可能是最著名的 Web 应用程序分析工具之一。 Sqlmap 自动执行 SQL 注入的搜索和操作,支持多种 SQL 方言,并且拥有大量不同的技术,从直接引用到用于基于时间的 SQL 注入的复杂向量。 此外,它还具有许多可进一步利用各种 DBMS 的技术,因此它不仅可以用作 SQL 注入扫描器,而且还可以用作利用已发现的 SQL 注入的强大工具。

优点:

  • 大量不同的技术和载体;
  • 误报率低;
  • 大量的微调选项、各种技术、目标数据库、绕过WAF的篡改脚本;
  • 能够创建输出转储;
  • 许多不同的操作能力,例如对于某些数据库——自动加载/卸载文件、获取执行命令的能力(RCE)等;
  • 支持使用攻击过程中获取的数据直接连接数据库;
  • 您可以提交一个文本文件,其中 Burp 结果作为输入 - 无需手动编写所有命令行属性。

缺点:

  • 由于文档稀缺,很难进行定制,例如编写自己的一些检查;
  • 如果没有适当的设置,它会执行一组不完整的检查,这可能会产生误导。

Web 工具,或者作为渗透测试人员从哪里开始?

NoSQL映射

NoSQL映射 — 一个用于自动搜索和利用 NoSQL 注入的 Python 工具。 它不仅可以方便地在NoSQL数据库中使用,而且在审计使用NoSQL的Web应用程序时也可以直接使用。

优点:

  • 与 sqlmap 一样,它不仅发现潜在的漏洞,还检查其对 MongoDB 和 CouchDB 的利用可能性。

缺点:

  • Redis、Cassandra不支持NoSQL,正在朝这个方向开发。

oxml_xxe

oxml_xxe — 一种将 XXE XML 漏洞嵌入到以某种形式使用 XML 格式的各种类型文件中的工具。

优点:

  • 支持多种常见格式,如 DOCX、ODT、SVG、XML。

缺点:

  • 对 PDF、JPEG、GIF 的支持尚未完全实现;
  • 仅创建一个文件。 为了解决这个问题,你可以使用该工具 文档,它可以在不同的地方创建大量的有效负载文件。

当加载包含 XML 的文档时,上述实用程序在测试 XXE 方面做得很好。 但还要记住,XML 格式处理程序可以在许多其他情况下找到,例如,XML 可以代替 JSON 用作数据格式。

因此,我们建议您关注以下存储库,其中包含大量不同的有效负载: 有效负载AllTheThings.

tpl映射

tpl映射 - 一个用于自动识别和利用服务器端模板注入漏洞的Python工具;它具有类似于sqlmap的设置和标志。 使用多种不同的技术和向量,包括盲注入,并且还具有执行代码和加载/上传任意文件的技术。 此外,他还拥有针对十几种不同模板引擎的技术,以及一些在 Python、Ruby、PHP、JavaScript 中搜索类似 eval() 的代码注入的技术。 如果成功,它将打开一个交互式控制台。

优点:

  • 大量不同的技术和载体;
  • 支持多种模板渲染引擎;
  • 操作技巧很多。

西华

西华 - Ruby 中的字典生成器,创建用于从指定网站提取唯一单词,跟踪网站上的链接到指定深度。 编译后的唯一单词字典稍后可用于暴力破解服务上的密码或暴力破解同一网站上的文件和目录,或者使用 hashcat 或 John the Ripper 攻击生成的哈希值。 在编译潜在密码的“目标”列表时很有用。

优点:

  • 易于使用。

缺点:

  • 您需要小心搜索深度,以免捕获额外的域。

弱通行证

弱通行证 - 包含许多具有唯一密码的字典的服务。 对于与密码破解相关的各种任务非常有用,从目标服务上帐户的简单在线暴力破解,到使用接收到的哈希值的离线暴力破解 hashcat или 开膛手约翰。 它包含大约 8 亿个密码,长度从 4 到 25 个字符不等。

优点:

  • 包含特定词典和最常用密码词典——您可以根据自己的需要选择特定词典;
  • 字典更新并补充新密码;
  • 字典按效率排序。 您可以选择快速在线暴力破解和从最新泄露的大量字典中详细选择密码的选项;
  • 有一个计算器可以显示在您的设备上破解密码所需的时间。

Web 工具,或者作为渗透测试人员从哪里开始?

我们希望将 CMS 检查工具纳入一个单独的组中:WPScan、JoomScan 和 AEM hacker。

AEM_黑客

AEM黑客 是一种用于识别 Adob​​e Experience Manager (AEM) 应用程序中的漏洞的工具。

优点:

  • 可以从提交给其输入的 URL 列表中识别 AEM 应用程序;
  • 包含通过加载 JSP shell 或利用 SSRF 获取 RCE 的脚本。

Joom扫描

Joom扫描 — 一个 Perl 工具,用于在部署 Joomla CMS 时自动检测漏洞。

优点:

  • 能够发现配置缺陷和管理设置问题;
  • 列出 Joomla 版本和相关漏洞,对于各个组件也是如此;
  • 包含超过 1000 个针对 Joomla 组件的漏洞利用;
  • 以文本和 HTML 格式输出最终报告。

Web 工具,或者作为渗透测试人员从哪里开始?

WPScan

WPScan - 一个用于扫描 WordPress 网站的工具,它的库中存在针对 WordPress 引擎本身和某些插件的漏洞。

优点:

  • 不仅能够列出不安全的 WordPress 插件和主题,还能获取用户和 TimThumb 文件的列表;
  • 可以对 WordPress 网站进行暴力攻击。

缺点:

  • 如果没有适当的设置,它会执行一组不完整的检查,这可能会产生误导。

Web 工具,或者作为渗透测试人员从哪里开始?

一般来说,不同的人喜欢不同的工作工具:它们各有各的优点,一个人喜欢的东西可能根本不适合另一个人。 如果您认为我们不公平地忽略了一些好的实用程序,请在评论中写下来!

来源: habr.com

添加评论