全球网站排名查询,做网站怎么存放视频,陕西工程项目信息网,网站开发期间账务处理不知有多少“曾梦想仗剑走天涯”的网络与信息安全从业者#xff0c;是因为渗透测试的初心而步入这个行业的。不过#xff0c;您是否对渗透测试及其漏洞扫描的相关概念感到既熟悉又陌生呢#xff1f;您是否觉得自己还停留在从工作实践中积累的感性认识呢#xff1f;下面是因为渗透测试的初心而步入这个行业的。不过您是否对渗透测试及其漏洞扫描的相关概念感到既熟悉又陌生呢您是否觉得自己还停留在从工作实践中积累的感性认识呢下面我们将为您梳理渗透测试的各个实施阶段流程示例典型工具以及自动化开源方案。
渗透测试的阶段
从概念上说渗透测试是一种通过模拟“友好的”黑客来识别和利用安全漏洞的过程。作为一种标准化的系统性方法它旨在提高目标系统与组织的安全态势。如下图所示渗透测试往往从规划和收集信息开始根据目标需求的不同或是以报告发现到的漏洞、或是以保持访问控制作为结束。
渗透测试的各个阶段 规划与侦察
计划阶段旨在获取目标的所有相关信息例如通过网络钓鱼攻击捕获详细的技术数据。这些细节方面的信息对于后续过程的开展起到了至关重要的影响。
而侦察阶段主要是通过主动和被动两种基本方法收集大量的基本数据。其中主动侦查很容易引起目标组织的注意而被动侦察则以更加隐蔽、难以识别的方式间接收集信息。不过相比被动方法的复杂与耗时主动方法虽不够细致但效率更高。
扫描
扫描阶段的主要目的是以最小的被发现代价深入挖掘目标收集有价值的信息如同从一堆乱七八糟的物品中筛选出隐藏的宝石。例如针对Web应用我们可以扫描CSRF潜在漏洞和XSS端点等。定位入侵点后我们便可以调查该端口上运行的服务类型进而判定其是否存在防火墙或WAF。下图展示了可开展的多种扫描类型。 各种扫描类型
作为渗透测试的重要一环漏洞扫描往往被细化为分析评估数据通过逆向工程研究漏洞和错误的成因。通常漏洞扫描与评估需要我们投入大量的时间和精力以了解不同信息之间的相互关系进而准确地发现可能被利用的入侵点。当然像exploit-db之类的在线数据库可以为我们提供针对CVE的可利用漏洞列表以及相关的PoC代码及其详细信息。
利用和获取访问
一旦发现可被利用的漏洞攻击者需要尽快谨慎地利用漏洞对目标系统予以非法访问。其中最常见的莫过于使用远程代码执行RCE和后门。作为最危险的漏洞类型RCE漏洞往往表现对输入与输出缺乏检查以及存在可被篡改的代码逻辑。后门则有两类自定义后门通常与欺骗目标下载恶意文件有关而错误配置的后门则开放了开发者的隐蔽访问模式。
报告和控制
作为一名道德黑客渗透测试的最后往往是撰写报告。在报告中您需要阐述采取的步骤、发现的问题、可利用的漏洞、面临风险的资产、以及取得的成果等。这些有价值的信息可以协助组织确定针对攻击预防的优先级从而有的放矢。
渗透测试的流程
在不断变化的网络威胁领域我们有必要根据上述不同的实施阶段为渗透测试创建一套能够轻松集成各种工具的工作流程。例如我们可以首先使用Amass收集Web应用系统的子域地址接着利用DnsDumpster提取IP地址或使用regex来提取诸如URL、IP、端口等必要的数据然后通过Nmap进行基于脚本的漏洞分析。下图展示了一个典型的渗透测试流程模型 流程模型示例
该流程的特点是能够合理地整合各个测试工具之间的关联让一种工具的输出能够影响另一种工具的配置从而使得针对Web应用的枚举流程更加流畅和简化。当然随着时间的推移、威胁的演化、以及Web环境的复杂化安全专家需要通过持续关注细节和积累实战经验来不断修订和完善该测试流程。
渗透测试的工具
显然渗透测试离不开工具的使用。让我们来试想一位安全专家被要求对某个Web应用开展渗透测试。那么他会根据自己的工作经验开展如下工作
选用Python作为自动化脚本的基础开发各种工作流。
通过Sublist3r使用开源网络情报OSINT来枚举和收集目标Web的子域。
通过Nmap使用Sublist3r的输出结果对发现的子域进行有针对性的扫描以了解开放的端口和网络服务等攻击面。
以Nmap扫描结果为基础配置Burp Suite查找SQL注入和跨站脚本等常见漏洞。
以Burp Suite扫描到的漏洞为指导通过Dirb枚举目标应用目录和文件以查找Web服务器上的隐藏资源。
参照Dirb的发现使用Nikto进行更全面、更深入的漏洞分析总结出Web服务器上的已知漏洞、错误配置、以及过时的软件版本并形成有关安全风险的综合报告。 典型工具的综合运用
随着网络安全威胁的不断变化渗透测试工具也应持续迭代、与时俱进。以Metasploit为代表的漏洞利用平台与框架不但能够提供友好的用户界面而且可以支持更广泛的漏洞类型为安全专家提供直观、高效的自动漏洞利用执行流程。目前整合威胁情报信息已成为一项标准功能。有的工具甚至采用了人工智能和机器学习等技术来提高对于新型网络威胁和漏洞的识别和排序的精确度和有效性。
自动化开源方案
随着越来越多的组织实现了持续、快速的软件交付自动化渗透测试方案也在不断与DevOps工作流进行整合。它可以在开发管道的不同阶段引入安全测试。同时随着无服务器架构在云计算环境的普及我们也可以通过创建或修改现有的自动化工具以评估云基础架构的安全性。对此安全专家可以将如下开源的工具与方案整合到现有的测试流程中以免去自己动手编写系统代码和脚本的烦恼
Rayder是一款简化的工作流应用可用于运行复杂的编排映射。该工具通过YAML来映射不同的命令和工具来运行侦查任务。当然我们需要使用命令来告知其该如何执行、保存和定位输出。
MetaHub是一个上下文框架可根据环境与核心要求自动编译与上下文相关的资产。该工具主要适用于与云服务和AWS相关的操作。
Vortex该工具有助于侦查、枚举和开发等多种任务的自动化。
Osmedeus是一个庞大的框架几乎涵盖了自动化枚举和侦查的所有要求可被用于扫描Git存储库、某个子域、以及云服务发行版。
小结
当然您可以自行在GitHub上搜索可用于持续集成与持续部署的Python软件包。例如使用GitHub Actions、GitLab CI或Jenkins等工具可建立持续集成和测试的管道以确保自动化测试流程的有效性、灵活性。
可以说渗透测试流程的自动化使得安全团队能够从重复性任务中解脱出来简化了资源的使用率缩短了漏洞扫描与评估的时间进而让组织能够动态地应对不断变化的威胁形势保护自身的敏感数据和数字资产。
最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走【文末自行领取】
这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你