最新渗透测试方法流程工具大全

更新时间:2023-05-20 05:55:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件测试:最新渗透测试方法流程工具大全

渗透测试 定义渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。 渗透测试 (penetration test)并没有一个标准的定义,国外一些安全组织达成共识的通用 说法是: 渗透测试是通过模拟恶意黑客的攻击方法, 来评估计算机网络系统安全的一种评估 方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻 击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。 换句话来说,渗透测试是指渗透人员在不同的位置(比如从内网、从外网等位置)利用 各种手段对某个特定网络进行测试, 以期发现和挖掘系统中存在的漏洞, 然后输出渗透测试 报告,并提交给网络所有者。网络所有者根据渗透人员提供的渗透测试报告,可以清晰知晓 系统中存在的安全隐患和问题。 我们认为渗透测试还具有的两个显著特点是: 渗透测试是一个渐进的并且逐步深入的过 程。渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。

专业服务渗透测试有时是作为外部审查的一部分而进行的。 这种测试需要探查系统, 以发现操作 系统和任何网络服务,并检查这些网络服务有无漏洞。你可以用漏洞扫描器完成这些任务, 但往往专业人士用的是不同的工具,而且他们比较熟悉这类替代性工具。 渗透测试的作用一方面在于, 解释所用工具在探查过程中所得到的结果。 只要手头有漏 洞扫描器, 谁都可以利用这种工具探查防火墙或者是网络的某些部分。 但很少有人能全面地 了解漏洞扫描器得到的结果, 更别提另外进行测试, 并证实漏洞扫描器所得报告的准确性了。

执行原因打一个比方来解释渗透测试的必要性。 假设你要修建一座金库, 并且你按照建设规范将 金库建好了。 此时是否就可以将金库立即投入使用呢?肯定不是! 因为还不清楚整个金库系 统的安全性如何, 是否能够确保存放在金库的贵重东西万无一失。 那么此时该如何做?可以 请一些行业中安全方面的专家对这个金库进行全面检测和评估, 比如检查金库门是否容易被 破坏,检查金库的报警系统是否在异常出现的时候及时报警,检查所有的门、窗、通道等重 点易突破的部位是否牢不可破,检查金库的管理安全制度、视频安防监控系统、出入口控制 等等。甚至会请专人模拟入侵金库,验证金库的实际安全性,期望发现存在的问题。这个过 程就好比是对金库的渗透测试。这里金库就像是我们的信息系统,各种测试、检查、模拟入 侵就是渗透测试。 也许你可能还是有疑问:我定期更新安全策略和程序,时时给系统打

补丁,并采用了安 全软件,以确保所有补丁都已打上,还需要渗透测试吗?需要!这些措施就好像是金库建设 时的金库建设规范要求, 你按照要求来建设并不表示可以高枕无忧。 而请专业渗透测试人员 (一般来自外部的专业安全服务公司) 进行审查或渗透测试就好像是金库建设后的安全检测、 评估和模拟入侵演习, 来独立地检查你的网络安全策略和安全状态是否达到了期望。 渗透测页1

软件测试:最新渗透测试方法流程工具大全

试能够通过识别安全问题来帮助了解当前的安全状况。 到位的渗透测试可以证明你的防御确 实有效,或者查出问题,帮助你阻挡可能潜在的攻击。提前发现网络中的漏洞,并进行必要 的修补,就像是未雨绸缪;而被其他人发现漏洞并利用漏洞攻击系统,发生安全事故后的补 救,就像是亡羊补牢。很明显未雨绸缪胜过亡羊补牢。 渗透测试能够通过识别安全问题来帮助一个单位理解当前的安全状况。 这使促使许多单 位开发操作规划来减少攻击或误用的威胁。 撰写良好的渗透测试结果可以帮助管理人员建立可靠的商业案例, 以便证明所增加的安 全性预算或者将安全性问题传达到高级管理层。 安全性不是某时刻的解决方案, 而是需要严格评估的一个过程。 安全性措施需要进行定 期检查, 才能发现新的威胁。 渗透测试和公正的安全性分析可以使许多单位重视他们最需要 的内部安全资源。此外,独立的安全审计也正迅速成为获得网络安全保险的一个要求。 现在符合规范和法律要求也是执行业务的一个必要条件, 渗透测试工具可以帮助许多单 位满足这些规范要求。 启动一个企业电子化项目的核心目标之一,是实现与战略伙伴、提供商、客户和其他电 子化相关人员的紧密协作。要实现这个目标,许多单位有时会允许合作伙伴、提供商、B2B 交易中心、 客户和其他相关人员使用可信连接方式来访问他们的网络。 一个良好执行的渗透 测试和安全性审计可以帮助许多单位发现这个复杂结构中的最脆弱链路, 并保证所有连接的 实体都拥有标准的安全性基线。 当拥有安全性实践和基础架构, 渗透测试会对商业措施之间的反馈实施重要的验证, 同 时提供了一个以最小风险而成功实现的安全性框架。

测试技巧为了从渗透测试上获得最大价值, 应该向测试组织提供尽可能详细的信息。 这些组织同 时会签署保密协议,这样,你就可以更放心地共享策略、程序及有关网络的其它关键信息。 还要确定的是,哪些系统需要测试。虽然你不想漏掉可能会受到攻击的某个系统,但可能仍 想分阶段把渗透测试外包出去,以便每个阶段专注于网络的不同部分。 你还应

该制订测试准则, 譬如说: 渗透测试人员可以探查漏洞并进行测试, 但不得利用, 因为这可能会危及到你想要保护的系统。 此外,你还要提供合适的测试途径。如果你想测试在非军事区(DMZ)里面的系统,最 好的测试地方就是在同一个网段内测试。 让渗透测试人员在防火墙外面进行测试听起来似乎 更实际,但内部测试可以大大提高发现防火墙原本隐藏的服务器安全漏洞的可能性。 因为,一旦防火墙设置出现变动,就有可能暴露这些漏洞,或者有人可能通过漏洞,利 用一台 DMZ 服务器攻击其它服务器。还记得尼姆达病毒吗?它就是首次攻击得逞后、利用 一台 Web 服务器发动其它攻击的。 以外部需要访问的 Web 或应用服务器为例,你应该考虑与渗透测试人员共享这些应用 的源代码,如果测试涉及这些脚本或程序的话。 没有源代码, 很难测试 ASP 或 CGI 脚本, 事先认定攻击者根本不会看到源代码是不明智 的。Web 服务器软件里面的漏洞往往会把脚本和应用暴露在远程攻击者面前。如果能够获 得应用的源代码,则可以提高测试该应用的效率。毕竟,你出钱是为了让渗透测试人员查找 漏洞,而不是浪费他们的时间。

页2

软件测试:最新渗透测试方法流程工具大全

安全审查渗透测试旨在证明, 网络防御机制的运行与你认为的一样良好。 往往系统和网络管理员 视审查人员或渗透人员为敌人, 但实际上他们却是朋友。 到位的渗透测试可以证明你的防御 确实有效, 或者查出问题, 帮助你阻挡未来攻击。 出钱请自己知道的人来发现网络中的漏洞, 总比让自己不知道的人发现漏洞好得多。 渗透测试可以用来向第三方, 譬如投资方或者你的管理人员提供网络安全状况方面的具 体证据。事实上,你知道网络中存在的漏洞可能已有一段时日,但无法说服管理人员分配必 要资源以补救漏洞。光靠自己,网络或安全管理员的意见往往不会被董事会采纳。如果外面 的顾问赞同你的评估,或许会有奇迹出现。 有关渗透测试的合同或工作说明应该包括你从所得报告中想要获得的各个方面。 如果你 请人进行有限的测试, 得到的只是计算机生成的报告。 而渗透测试的真正价值在于由报告所 衍生出的分析。进行测试的一方会详细介绍发现结果,并说明其重要性。在有的地方,测试 人员还会提议采取何种补救方法,譬如更新服务器、禁用网络服务、改变防火墙规则等等。

发展如今,大多数攻击进行的是最基本的漏洞扫描,如果攻击得逞,目标就岌岌可危。如果 攻击者企图对你站点进行漏洞扫描, 他就会获得大量的防火墙日志消息, 而监控网络的任何 入侵检测系统(IDS)也会开始发送有关当

前攻击的警报。如果你还没有试过,不妨利用漏 洞扫描器结合 IDS 对网络来一番试验。别忘了首先获得对方的许可,因为,运行漏洞扫描器 会使 IDS 引发警报。 渗透测试也许是你的网络防御工具箱当中的重要武器之一。 应该视之为各种安全审查的 一部分,但要确保审查人员胜任这项工作。

渗透测试分类实际上渗透测试并没有严格的分类方式, 即使在软件开发生命周期中, 也包含了渗透测 试的环节,但根据实际应用,普遍认同的几种分类方法如下:

方法分类1、黑箱测试黑箱测试又被称为所谓的“Zero-Knowledge Testing”, 渗透者完全处于对系统一无所知的 状态,通常这类型测试,最初的信息获取来自于 DNS、Web、Email 及各种公开对外的服务 器。

页3

软件测试:最新渗透测试方法流程工具大全

2、白盒测试白盒测试与黑箱测试恰恰相反,测试者可以通过正常渠道向被测单位取得各种资料, 包括网络拓扑、 员工资料甚至网站或其它程序的代码片断, 也能够与单位的其它员工 (销售、 程序员、 管理者……) 进行面对面的沟通。 这类测试的目的是模拟企业内部雇员的越权操作。

3、隐秘测试隐秘测试是对被测单位而言的,通常情况下,接受渗透测试的单位网络管理部门会收 到通知:在某些时段进行测试。因此能够监测网络中出现的变化。但隐秘测试则被测单位也 仅有极少数人知晓测试的存在,因此能够有效地检验单位中的信息安全事件监控、响应、恢 复做得是否到位。

目标分类 1、主机操作系统渗透对 Windows、Solaris、AIX、Linux、SCO、SGI 等操作系统本身进行渗透测试。

2、数据库系统渗透对 MS-SQL、Oracle、MySQL、Informix、Sybase、DB2、Access 等数据库应用系统 进行渗透测试。

3、应用系统渗透对渗透目标提供的各种应用,如 ASP、CGI、JSP、PHP 等组成的 WWW 应用进行渗 透测试。

4、网络设备渗透对各种防火墙、入侵检测系统、网络设备进行渗透测试。

页4

软件测试:最新渗透测试方法流程工具大全

高级渗透测试服务流程

相比于普通测试服务,具有什么优势?

相关链接: /infiltration.html

页5

软件测试:最新渗透测试方法流程工具大全

最新最好的八款渗透测试工具如果说你的资产有可能被国内外的攻击者盯上并没有把你吓得半死, 那就不必读这篇文 章。 如果你与我们大家一样也要面对现实, 那么通过一名真正的专业人士在渗透测试方面给 出的一些靠谱的预防性建议,试着采取一些挽救措施。 我们采访了渗透测试工具设计师/编程员/爱好者 Evan Saez, 他是纽约数字取证和网络安 全情报公司 LIFARS 的网络威胁情报分析师,请他谈一谈最新最好的渗透测试工具,以及如 何使用这类工具。 市面上现有的渗透测试工具 本文介绍的渗透测试工具包括

: Metasploit、 Nessus 安全漏洞扫描器、 Nmap、 Burp Suite、 OWASP ZAP、SQLmap、Kali Linux 和 Jawfish(Evan Saez 是 Jawfish 项目的开发者之一)。这些工 具为保护贵企业安全起到了关键作用, 因为这些也正是攻击者使用的同一种工具。 要是你没 找到自己的漏洞并及时堵上,攻击者就会钻空子。

Metasploit是一种框架,拥有庞大的编程员爱好者群体,广大编程员添加了自定义模块,测试工具 可以测试众多操作系统和应用程序中存在的安全漏洞。人们在 GitHub 和 Bitbucket 上发布这 些自定义模块。与 GitHub 一样, Bitbucket 也是面向编程项目的在线软件库。 Saez 说: “Metasploit 是最流行的渗透测试工具。” 相关链接:

Nessus安全漏洞扫描器是一款备受欢迎的、基于特征的工具,可用于查找安全漏洞。Saez 说: “Nessus 只能将扫描结果与收录有已知安全漏洞特征的数据库进行比对。” 相关链接:/products/nessus-vulnerability-scanner

Nmap络扫描器让渗透测试人员能够确定企业在其网络上拥有的计算机、 服务器和硬件的类型。 这些机器可以通过这些外部探测来查明, 这本身就是个安全漏洞。 攻击者利用这些信息为攻 击奠定基础。 相关链接:https://

Burp Suite是另一款备受欢迎的 Web 应用程序渗透测试工具。据 Burp Suite Web 安全工具厂商 PortSwigger 声称,它可以标绘并分析 Web 应用程序,查找并利用安全漏洞。 相关链接:/burp/

页6

软件测试:最新渗透测试方法流程工具大全

OWASP ZAP(Zed 攻击代理)是来自非营利性组织 OWASP(开放 Web 应用程序安全项目)的 Web 应用程 序渗透测试工具。ZAP 提供了自动和手动的 Web 应用程序扫描功能,以便服务于毫无经验 和经验丰富的专业渗透测试人员。 ZAP 是一款如今放在 GitHub 上的开源工具。 相关链接:https:///index.php/OWASP_Zed_Attack_Proxy_Project

SQLmap可自动查找 SQL 注入攻击漏洞。然后,它会利用那些安全漏洞,全面控制数据库和底层 服务器。 相关链接:

Kali Linux是一款一体化工具,包含一套专用的预安装测试(以及安全和取证分析)工具。Saez 说: “它拥有的工具面向对安全一无所知的人。” 相关链接:https://

Jawfish是一款使用遗传算法的渗透测试工具,不像大多数工具基于特征。Saez 说:“遗传算法 会根据搜索结果来寻找目标。”基于搜索标准,随着 Jawfish 逐渐靠近它所寻找的目标,这里 是安全漏洞,它就能找到结果。Jawfish 不需要特征数据库。 相关链接:https://jawfish.io

页7

软件测试:最新渗透测试方法流程工具大全

如何使用渗透测试工具?Metasploit、 Nessus 安全漏洞扫描器、 Nmap、 Burp Suite、 OWASP ZAP、 SQLmap、 Kali Linux 和 Jawfish 各有各的用途

。大多数企业需要多款工具。Metasploit 既提供了 Ruby 接口,又提 供了 CLI,那样你的渗透测试人员可以选择其中一种,这取决于你想要完成什么任务。Saez 说:“Ruby 接口比较适用于测试非常大的网络,因为在 CLI 中运行命令对这种测试任务而言 太过枯燥乏味。” Nessus 安全漏洞扫描器可以检查计算机和防火墙,寻找敞开的端口、是否安装了可能 存在漏洞的软件。大型技术解决方案提供商 ICF International 公司的首席技术专家 Garrett Payer 说:“就渗透测试而言,这款工具用处不大,因为它不够精准,通过前门进入,与操作 系统进行通信才能确定安全漏洞。这款工具通常用于合规工作,完全用来确定补丁是不是最 新版本。” Nmap 可以用来搜索主机、敞开的端口、软件版本、操作系统、硬件版本及安全漏洞, 通常标绘网络的攻击面。它在渗透测试的每个阶段都很有用,只要你有一组新的主机、端口 及其他资源需要识别,比如进入一个新的网段时。Payer 说:“这款工具拥有脚本功能,适用 于枚举用户访问。” Burp Suite 可与你的 Web 浏览器结合使用,标绘 Web 应用程序。Burp Suite 里面的工具 可发现应用程序功能和安全漏洞,然后发动特定的攻击。Burp Suite 可以自动执行重复性功 能, 同时在渗透测试人员需要控制个别选项以便测试的地方为用户保留了选择。 Payer 说: “这 一款功能非常丰富的工具可使用代理,探究分析跨站脚本及其他安全漏洞;它提供了一定的 透明度,让人们清楚网站实际上将什么数据发送给服务器。” OWASP ZAP 可执行众多扫描和测试,包括端口扫描、蛮力扫描和模糊测试,以便识别 不安全的代码。渗透测试人员使用界面直观的 GUI,这种 GUI 类似微软应用程序或某些 Web 设计工具(比如 Arachnophilia)的 GUI。一旦你在网站上浏览并执行活动,你再次进入 ZAP,就 可以查看代码、在那些活动过程中什么数据泄露。被设置成代理服务器后,OWASP ZAP 控 制它处理的网络流量。Payer 说:“这款工具比 Burp Suite 更新颖,功能不是同样丰富,却是 免费开源的。它提供了一小批功能和 GUI,对刚接触 Web 应用程序渗透测试的人来说倒是 很有用。” 可以利用 SQLmap, 通过命令行中的 python 命令, 测试代码没编好的网站和与数据库连 接的 URL。如果数据库信息的异常 URL(链接)导致了错误代码,那么该链接就很容易受到攻 击。 SQLmap 安装在虚拟机里面的 Ubuntu Linux 上。 Payer 说: “作为另一种支持脚本的工具, SQLmap 可以查明编程员是否对输入进行了参数化之类的问题。”Payer 解释,如果没有进行 参数化,渗透测试人员或攻击者就可以转发名称、分号或 SQL 命

令,然后在数据库上运行, 从而获得控制权。 安装 Kali Linux 后,可以打开与之捆绑的十多个渗透测试/漏洞利用工具中的任何一个 工具。Saez 说:“Kali Linux 随带大量的用户说明文档。” 你可以试一试使用 GUI 这种形式的 Jawfish 渗透测试工具。只要输入目标服务器的 IP 地址、该 IP 地址下易受攻击的网站地址,然后输入安全漏洞、方法和目标文本。你成功破 解了地址后,该工具会返回目标文本。这个工具是全新工具,尚未经企业应用测试。 比较、选择、使用、打补丁。 你应该根据最要紧的安全漏洞位于何处来选择工具。 一旦找到了自己的安全漏洞, 要是 有了最新补丁,及时打上补丁,要是没有补丁,就要注意加强防护,这点很要紧。

页8

本文来源:https://www.bwwdw.com/article/dle4.html

Top