用于渗透测试网络资源等的免费工具回顾 v2

前段时间我写过关于 ,但有点贫乏和混乱。 之后,我决定扩大评论中的工具列表,增加文章的结构,并考虑批评(非常感谢 左撇子 寻求建议)并将其发送到 SecLab 上的竞赛(并发布 链接,但由于种种显而易见的原因,没有人看到她)。 比赛结束了,结果已经公布,我可以问心无愧地在哈布雷上发表它(文章)。

免费的 Web 应用程序渗透测试工具

在本文中,我将讨论使用“黑盒”策略对 Web 应用程序进行渗透测试(渗透测试)的最流行工具。
为此,我们将研究有助于此类测试的实用程序。 考虑以下产品类别:

  1. 网络扫描仪
  2. Web 脚本违规扫描器
  3. 开发
  4. 注射自动化
  5. 调试器(嗅探器、本地代理等)


有些产品具有通用的“特性”,所以我将它们归入具有通用“特性”的类别中。о更好的结果(主观意见)。

网络扫描仪。

主要任务是发现可用的网络服务、安装其版本、确定操作系统等。

NMAP用于渗透测试网络资源等的免费工具回顾 v2
Nmap(“网络映射器”) 是一个免费的开源实用程序,用于网络分析和系统安全审核。 控制台的暴力反对者可以使用 Zenmap,它是 Nmap 的 GUI。
这不仅仅是一个“智能”扫描器,它还是一个重要的可扩展工具(其中一个“不寻常的功能”是存在用于检查节点是否存在蠕虫的脚本”Stuxnet的“ (提及 这里)。 典型用法示例:

nmap -A -T4 localhost

-A 用于操作系统版本检测、脚本扫描和跟踪
-T4时间控制设置(越多越快,从0到5)
localhost - 目标主机
有更难的吗?

nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all localhost

这是 Zenmap 中“慢速全面扫描”配置文件中的一组选项。 它需要相当长的时间才能完成,但最终提供了可以找到有关目标系统的更详细的信息。 俄语帮助指南,如果你决定更深入的话,我也建议翻译一下这篇文章 Nmap 初学者指南.
Nmap 已获得 Linux Journal、Info World、LinuxQuestions.Org 和 Codetalker Digest 等杂志和社区颁发的“年度安全产品”称号。
有趣的是,Nmap 可以在电影《黑客帝国:重装上阵》、《虎胆龙威 4》、《谍影重重》、《Hottabych》等电影中看到。 其他.

IP工具用于渗透测试网络资源等的免费工具回顾 v2
IP工具 - 一组不同的网络实用程序,带有 GUI,“专用”给 Windows 用户。
端口扫描仪、共享资源(共享打印机/文件夹)、WhoIs/Finger/Lookup、telnet 客户端等等。 只是一个方便、快捷、实用的工具。

考虑其他产品没有什么特别的意义,因为这个领域有很多实用程序,而且它们都有相似的操作原理和功能。 尽管如此,nmap 仍然是最常用的。

Web 脚本违规扫描器

尝试查找流行的漏洞(SQL inj、XSS、LFI/RFI 等)或错误(未删除的临时文件、目录索引等)

Acunetix Web漏洞扫描程序用于渗透测试网络资源等的免费工具回顾 v2
Acunetix Web漏洞扫描程序 — 从链接中您可以看到这是一个 xss 扫描器,但这并不完全正确。 此处提供的免费版本提供了相当多的功能。 通常,第一次运行此扫描仪并第一次收到有关其资源的报告的人会感到轻微的震惊,一旦执行此操作,您就会明白为什么。 这是一个非常强大的产品,用于分析网站上的各种漏洞,不仅适用于通常的 PHP 网站,还适用于其他语言(尽管语言的差异不是一个指标)。 描述指令没有特别的要点,因为扫描仪只是“拾取”用户的操作。 类似于典型软件安装中的“下一步,下一步,下一步,准备就绪”。

日高用于渗透测试网络资源等的免费工具回顾 v2
日高 这是一个开源 (GPL) 网络爬虫。 消除日常手工工作。 在目标站点中搜索未删除的脚本(一些test.php、index_.php等)、数据库管理工具(/phpmyadmin/、/pma等)等,即检查资源中最常见的错误通常是人为因素造成的。
另外,如果它发现一些流行的脚本,它会检查它是否有已发布的漏洞(位于数据库中)。
报告可用的“不需要的”方法,例如 PUT 和 TRACE
等等。 如果你是一名审计员,每天分析网站,那是非常方便的。
在缺点中,我想指出误报率很高。 例如,如果您的站点总是给出主要错误而不是 404 错误(当它应该发生时),那么扫描仪会说您的站点包含其数据库中的所有脚本和所有漏洞。 实际上,这种情况并不经常发生,但事实上,很大程度上取决于您网站的结构。
经典用法:

./nikto.pl -host localhost

如果需要在站点上获得授权,可以在 nikto.conf 文件中设置 cookie,即 STATIC-COOKIE 变量。

威克托用于渗透测试网络资源等的免费工具回顾 v2
威克托 — Nikto for Windows,但增加了一些功能,例如检查代码错误时的“模糊”逻辑、使用 GHDB、获取链接和资源文件夹、实时监控 HTTP 请求/响应。 Wikto 使用 C# 编写,需要 .NET 框架。

跳鱼用于渗透测试网络资源等的免费工具回顾 v2
跳鱼 - 网络漏洞扫描器 米哈尔·扎列夫斯基 (称为 lcamt​​uf)。 C语言编写,跨平台(Win需要Cygwin)。 它会递归地(很长一段时间,大约 20~40 小时,尽管上次对我来说是 96 小时)爬行整个网站并发现各种安全漏洞。 它还会产生大量流量(数 GB 传入/传出)。 但一切方法都是好的,特别是如果你有时间和资源的话。
典型用途:

./skipfish -o /home/reports www.example.com

在“reports”文件夹中将会有一个 html 格式的报告, 例子.

w3af 用于渗透测试网络资源等的免费工具回顾 v2
w3af — Web 应用程序攻击和审计框架,开源 Web 漏洞扫描器。 它有一个 GUI,但您可以从控制台工作。 更准确地说,它是一个框架 一堆插件.
您可以长时间谈论它的优点,最好尝试一下:]使用它的典型工作归结为选择配置文件,指定目标,实际上,启动它。

咒语安全框架用于渗透测试网络资源等的免费工具回顾 v2
口头禅 是一个梦想成真了。 内置于网络浏览器中的免费开放信息安全工具的集合。
在测试各个阶段的 Web 应用程序时非常有用。
使用归结为安装和启动浏览器。

事实上,这一类别中有很多实用程序,很难从中选择一个特定的列表。 大多数情况下,每个渗透测试人员都会自己决定他需要的工具集。

开发

为了自动化、更方便地利用漏洞,利用软件和脚本编写漏洞,只需要传递参数即可利用安全漏洞。 有些产品可以消除手动搜索漏洞的需要,甚至可以即时应用它们。 现在将讨论这一类别。

Metasploit框架 用于渗透测试网络资源等的免费工具回顾 v2
Metasploit® 框架 - 我们行业中的一种怪物。 他可以做很多事情,说明将涵盖几篇文章。 我们将研究自动利用(nmap + metasploit)。 底线是这样的:Nmap将分析我们需要的端口,安装服务,metasploit将尝试根据服务类(ftp,ssh等)对其应用漏洞利用。 我将插入一个视频,而不是文本说明,该视频在 autopwn 主题上非常流行

或者我们可以简单地自动化我们需要的漏洞利用操作。 例如:

msf > use auxiliary/admin/cisco/vpn_3000_ftp_bypass
msf auxiliary(vpn_3000_ftp_bypass) > set RHOST [TARGET IP] msf auxiliary(vpn_3000_ftp_bypass) > run

事实上,这个框架的功能非常广泛,所以如果你决定更深入,请访问 链接

阿米蒂奇用于渗透测试网络资源等的免费工具回顾 v2
阿米蒂奇 — Metasploit 赛博朋克流派 GUI 的 OVA。 可视化目标、推荐漏洞利用并提供框架的高级功能。 一般来说,对于那些喜欢一切看起来美丽和令人印象深刻的人来说。
截屏视频:

Tenable Nessus®用于渗透测试网络资源等的免费工具回顾 v2
Tenable Nessus® 漏洞扫描器 - 可以做很多事情,但我们需要它的功能之一是确定哪些服务存在漏洞。 产品的免费版本“仅限家庭”

Использование:

  • 下载(针对您的系统)、安装、注册(密钥发送到您的电子邮件)。
  • 启动服务器,将用户添加到 Nessus 服务器管理器(管理用户按钮)
  • 我们去地址
    https://localhost:8834/

    并在浏览器中获取flash客户端

  • 扫描 -> 添加 -> 填写字段(通过选择适合我们的扫描配置文件),然后单击扫描

一段时间后,扫描报告将出现在“报告”选项卡中
要检查服务的实际漏洞,您可以使用上述 Metasploit 框架或尝试查找漏洞(例如,在 探索数据库, 数据包风暴, 探索搜索 等)并手动使用它 它的系统
恕我直言:太笨重了。 我把他视为软件行业这个方向的领导者之一。

注射自动化

许多网络应用程序秒扫描仪都会搜索注入,但它们仍然只是通用扫描仪。 还有一些实用程序专门处理搜索和利用注入。 我们现在将讨论它们。

SqlMap的用于渗透测试网络资源等的免费工具回顾 v2
SqlMap的 — 用于搜索和利用 SQL 注入的开源实用程序。 支持数据库服务器,例如:MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、SQLite、Firebird、Sybase、SAP MaxDB。
典型用法归结为:

python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
有足够的手册,包括俄语的。 该软件极大地方便了渗透测试人员在该领域的工作。
我将添加官方视频演示:

bsqlbf-v2
bsqlbf-v2 — Perl 脚本,用于“盲”Sql 注入的强力工具。 它既适用于 url 中的整数值,也适用于字符串值。
支持的数据库:

  • SQL数据库
  • MySQL的
  • PostgreSQL的
  • 神谕

使用示例:

./bsqlbf-v2-3.pl -url www.somehost.com/blah.php?u=5 -blind u -sql "select table_name from imformation_schema.tables limit 1 offset 0" -database 1 -type 1

-网址 www.somehost.com/blah.php?u=5 — 带参数的链接
-瞎了你 — 注入参数(默认最后一个取自地址栏)
-sql“从imformation_schema.tables中选择table_name限制1偏移0” ——我们对数据库的任意请求
-数据库1 — 数据库服务器:MSSQL
-1型 — 攻击类型,“盲”注入,基于 True 和 Error(例如,语法错误)响应

调试器

这些工具主要供开发人员在代码执行结果出现问题时使用。 但是这个方向对于渗透测试也很有用,当我们可以动态替换我们需要的数据时,分析响应我们的输入参数的内容(例如,在模糊测试期间)等。

Burp套房
Burp套房 — 一组有助于渗透测试的实用程序。 这是在互联网上 好评价 来自 Raz0r 的俄语版本(不过是 2008 年的版本)。
免费版本包括:

  • Burp Proxy 是一个本地代理,允许您修改浏览器已经生成的请求
  • Burp Spider - 蜘蛛,搜索现有文件和目录
  • Burp Repeater - 手动发送HTTP请求
  • Burp Sequencer - 分析表单中的随机值
  • Burp Decoder是一个标准的编码器-解码器(html、base64、hex等),其中有数千个,可以用任何语言快速编写
  • Burp Comparer - 字符串比较组件

原则上,这个包解决了几乎所有与该领域相关的问题。

提琴手用于渗透测试网络资源等的免费工具回顾 v2
提琴手 — Fiddler 是一个记录所有 HTTP(S) 流量的调试代理。 允许您检查此流量、设置断点并“播放”传入或传出数据。

也有 Firesheep、怪物 Wireshark的 和其他,选择取决于用户。

结论

当然,每个渗透测试人员都有自己的武器库和自己的一套实用程序,因为它们的数量实在是太多了。 我试图列出一些最方便和最受欢迎的。 但为了让任何人都可以熟悉这个方向的其他实用程序,我将在下面提供链接。

扫描仪和实用程序的各种顶部/列表

已经包含大量不同渗透测试实用程序的 Linux 发行版

UPD: BurpSuite 文档 来自“Hack4Sec”团队的俄语(添加 安东·库兹明)

PS 我们不能对 XSpider 保持沉默。 不参与评审,虽然是共享软件(我把文章发给SecLab的时候才发现,其实就是因为这个(不知道,而且缺少最新版本7.8)而没有纳入文章中)。 理论上,计划对其进行审查(我为此准备了困难的测试),但我不知道世界是否会看到它。

PPS 本文中的一些材料将在即将发布的报告中用于其预期目的,网址为 代码节 2012 年的 QA 部分,其中将包含此处未提及的工具(当然是免费的),以及算法、按什么顺序使用什么、期望什么结果、使用什么配置以及何时使用的各种提示和技巧工作(我几乎每天都会思考该报告,我会尽力告诉您有关该主题的所有最佳信息)
顺便说一下,这篇文章有一个教训 信息安全开放日 (哈布雷的标签, 现场), 能够 抢牛物料.

来源: habr.com

添加评论