在校生“网站渗透”被通报批评!--牢记渗透测试标准流程,必须授权!
2023-12-12 16:59:37 Author: 白帽子程序员(查看原文) 阅读量:7 收藏

“无授权,不渗透”,这是网络安全从业者,保护自己的一条重要规则。

如果是实在想挖洞、打战,要么拿到网站授权,要么在靶场上练习,再要么。。。

跳板要做好。

下面就来看一起在校大学未经授权,对学校网站开展扫描,因此得了个“通报批评的处分”

文末整理了一份渗透测试的一般流程和撰写报告,可以参考开展。

一、渗透测试基本概念

1.什么是渗透测试

    渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。

2.渗透测试的评估对象

    任何可能被利用的系统缺陷或问题,如:技术缺陷,管理漏洞,业务流程缺陷,人员意识不足等。

3.渗透测试是一种评估办法
合法:得到信息系统运营方的正式授权;得到监管机构的授权。
避免影响业务:选择测试方法中避免使用具备破坏性的测试方法;选择非业务高峰时段进行测试;在与生产系统相同的开发、测试等环境中进行测试。
考虑风险规避:风险处理计划;备份及恢复。
4.渗透测试的特点
测试:一切在控制之下,不会对系统造成危害。
模拟攻击:从攻击者的角度测试安全;像“坏人”一样思考问题。
渗透:测试方式多样灵活,细小的缺陷都可能被发现并利用;想象一只蚂蚁怎么进入你家里的,防护严密的屋子也很难阻拦一只蚂蚁的进入。
5.渗透测试的优点与不足
优势:一般在真实的生产环境或完全模拟真实生产环境上进行测试,因此发现的问题都是真实的;从攻击者角度进行测试,发现问题可能不被重视甚至不认为是问题,但对于攻击者却很有价值。
不足:测试只能达到有限的测试点,覆盖率较低;对测试人员能力有较高要求,技术,知识和经验很重要;不同能力测试人员测试的效果差异巨大。
6.渗透测试分类
按测试方式:黑盒测试,白盒测试,灰盒测试。
按测试位置:外网测试,内网测试。
      其中选择的渗透测试类型取决于公司和组织的用途和范围,他们是否想要模拟员工,网络管理员或外部来源的攻击。
      在黑盒渗透测试中,测试人员没有提供关于他将要测试的应用程序的许多信息,测试人员有责任收集有关目标网络,系统或应用程序的信息。
      在白盒渗透测试中,测试人员将获得有关网络,系统或应用程序的完整信息以及源代码,操作系统详细信息和其他所需信息,它可以被认为是模拟内部来源的攻击。
      在灰盒渗透测试中,测试人员将具有应用程序或系统的部分知识,因此,它可以被认为是外部黑客的攻击,黑客已经非法访问组织的网络基础设施文档。
二、渗透测试的执行标准(PTES)
      PTES(PTES: Penetration Testing Execution Standard)渗透测试执行标准是安全业界在渗透测试技术领域中正开发的一个新标准,目标是在对渗透测试进行重新定义,新标准的核心理念是通过建立起 进行渗透测试所要求的基本准则基线,来定义一次真正的渗透测试过程,并得到安全业界的广泛认同。渗透测试的执行标准流程是指在进行渗透测试时遵循的一系列步骤和规范,以保证渗透测试的有效性和合法性。一个标准的渗透测试流程包括以下七个阶段:
  • 前期交互阶段:与客户沟通,确定渗透测试的目标、范围、时间、方法和报告格式等。
  • 情报收集阶段:通过各种手段收集目标系统的信息,如域名、IP地址、开放端口、服务版本、操作系统类型等。
  • 威胁建模阶段:根据情报收集的结果,分析目标系统可能存在的威胁和攻击面,制定渗透测试计划。
  • 漏洞分析阶段:利用各种工具或手工方法对目标系统进行漏洞扫描和验证,确定可利用的漏洞和攻击点。
  • 渗透攻击阶段:根据漏洞分析的结果,选择合适的攻击技术和工具,对目标系统进行实际的渗透攻击,获取权限或数据等。
  • 后渗透阶段:在获取目标系统控制权后,进行进一步的横向移动或纵向提权等操作,扩大影响范围或深入挖掘信息等。
  • 报告阶段:根据渗透测试过程中记录的数据和证据,编写详细的渗透测试报告,并提供相应的修复建议。
三、渗透测试基本流程与方法

      渗透测试是一种测试网络系统的方法,通过模拟黑客攻击来检查系统的安全性并找到潜在的漏洞。本文将详细介绍渗透测试的流程,包括准备工作、信息收集、漏洞扫描、漏洞利用和报告撰写。

3.1准备工作

      在进行渗透测试之前,您需要与客户或测试团队沟通,确定测试范围和目标。同时,您需要获得受测系统的授权,以避免因未经授权的测试而触犯法律。在开始测试之前,您还需要准备好测试工具和技术,例如漏洞扫描器、端口扫描器、社会工程学技巧和密码爆破工具。确保您已经获得许可,并遵守相关法规和规定,以保证测试过程的合法性和可靠性。

3.2信息收集

      信息收集是渗透测试的第一步,它涉及到查找与目标有关的所有信息,例如域名、IP地址、操作系统、应用程序和网络拓扑结构。通过了解目标的基本信息,您可以更好地了解它的脆弱性和弱点,并为后续的漏洞扫描和攻击做好准备。

      在信息收集过程中,您可以使用各种工具,例如Nmap、WHOIS、DNS查询、社会工程学技巧等。您还可以搜索公开可用的数据源,例如谷歌、社交媒体、邮件列表和论坛,以获得更多信息。

3.3漏洞扫描

      在了解了目标信息后,您需要使用漏洞扫描器扫描目标系统,以发现可能存在的漏洞和弱点。漏洞扫描器可以自动检测和报告安全漏洞,例如SQL注入、跨站点脚本和文件包含漏洞。

      您可以使用各种漏洞扫描器,例如OpenVAS、Nessus、Acunetix和Nikto。这些扫描器提供了不同的功能和报告,您可以选择适合您需要的扫描器。

3.4漏洞利用

      在完成漏洞扫描后,您可以尝试利用发现的漏洞,以测试系统的安全性。漏洞利用是模拟黑客攻击的重要步骤,它可以帮助您发现系统中的弱点,并确定攻击者是否能够访问敏感信息或系统资源。

      漏洞利用需要您具备一定的技术知识和经验,并使用合适的工具。您可以使用各种漏洞利用工具和脚本,例如Metasploit、sqlmap、BeEF和Nmap脚本。这些工具和脚本可以自动化一些攻击技术,例如密码爆破、远程执行代码和文件上传。在进行漏洞利用之前,您需要考虑测试的风险和可能的后果。确保您已经获得了足够的授权,并尽可能减少对目标系统的损害。

3.5报告撰写

      完成渗透测试后,您需要编写报告,以总结测试结果和发现的漏洞。报告应该包括测试的目的、范围、方法、结果和建议。它应该是易于理解的,并提供具体的建议和修复建议。

      在编写报告时,您应该考虑读者的需求和背景。您可以使用图表和截图来说明测试过程和发现的漏洞。确保报告中的信息准确、详细和有用,以帮助客户或测试团队更好地了解系统的安全状况。

四、渗透测试工具
      渗透测试常用工具有很多种,不同的工具适用于不同的场景和目的。以下是一些常见的渗透测试工具及其简要介绍:
  • Kali Linux:一个基于Debian的操作系统,集成了大量的渗透测试和安全工具,如Metasploit、Nmap、Wireshark等。

  • Metasploit:一个渗透测试平台,能够查找、利用和验证漏洞。它提供了数百个已知软件漏洞的攻击模块,以及一个可扩展的框架,可以开发自定义的攻击代码。
  • Burp Suite:一个知名的Web应用渗透测试工具,包含了多个功能模块,如代理、爬虫、扫描器、重放器、编码器等。它可以拦截和修改Web请求和响应,分析Web应用的结构和漏洞。
  • sqlmap:一个开源的SQL注入渗透测试工具,可以自动检测和利用SQL注入漏洞,并接管数据库服务器。它支持多种数据库类型和注入技术,并提供了丰富的选项和参数。
  • Nmap:一个网络探测和安全扫描工具,可以快速地发现网络上的主机、端口、服务、操作系统等信息。它还支持脚本引擎,可以执行各种自定义或预定义的脚本来进行更深入的检测或攻击。
  • Wireshark:一个网络协议分析器,可以捕获和解析网络上流动的数据包,并显示详细的协议信息。它可以帮助分析网络通信过程中存在的问题或漏洞。
五、渗透测试风险规避
      渗透测试是一种模拟黑客攻击的方法,用于评估目标系统的安全性和漏洞。但是,渗透测试也可能带来一些风险,比如影响目标系统的正常运行、泄露敏感数据、引起法律纠纷等。因此,渗透测试需要遵循一些规范和原则,以规避安全风险。根据网上的资料,我总结了以下几点:
  1. 在开始渗透测试之前,必须获得目标方的授权书或合同,明确测试范围、时间、方式、责任等内容,并保留相关证据。
  2. 最好让目标方提供测试环境或做好数据备份,避免对核心业务系统造成损坏或影响。在进行渗透测试时,要根据目标系统的网络和应用状况,调整测试脚本的时间段和阈值,采取避峰扫描等措施,减少对目标系统的负载和干扰。
  3. 在利用漏洞时,要尽量避免使用危险的操作或工具,如DoS攻击、畸形报文、数据破坏等。如果必须使用,请事先告知目标方并取得同意。
  4. 在收集和处理数据时,要遵守相关法律法规和职业道德,不要泄露或滥用敏感信息。在生成报告时,要对数据进行加密或脱敏处理,并及时销毁无用数据。
  5. 在结束渗透测试后,要及时向目标方提交报告,并提供修复建议和后续跟进服务。同时也要对自己的测试过程进行总结和反思
六、渗透测试方案与报告
      渗透测试报告是对渗透测试进行全面展示的一种文档表达。渗透测试报告通常包含以下几个部分:
  1. 概述:介绍测试目的、范围、时间等基本信息。
  2. 测试方法:介绍使用了哪些工具和技术进行了哪些类型的渗透测试。
  3. 测试结果:列出所有发现的漏洞和攻击,并按照严重程度进行分类。
  4. 风险评估:分析每个漏洞或攻击可能造成的后果,并给出风险等级。
  5. 建议与解决方案:针对每个漏洞或攻击提出相应的修复措施或防范方法。
      关于如何将渗透测试的过程和结果清晰地呈现给客户或管理者的问题,渗透测试报告的大纲,方式方法以及注意事项一般包括以下几个方面:
  1. 大纲:渗透测试报告的大纲应该包含以下几个部分:概述、测试方法、测试结果、风险评估、建议与解决方案。每个部分都应该有一个简短的标题和一个简明扼要的摘要。
  2. 方式:渗透测试报告的方式应该遵循以下几个原则:清晰、简洁、专业、客观。清晰指的是使用易于理解的语言和格式,避免使用过多的技术术语和缩写。简洁指的是只包含必要和重要的信息,避免冗余和重复。专业指的是使用规范和统一的文档风格,遵循相关的标准和规范。客观指的是基于事实和数据,避免主观判断和情感色彩。
  3. 方法:渗透测试报告的方法应该按照以下几个步骤进行:收集信息、整理信息、编写报告、审阅报告。收集信息指的是从各种来源获取关于目标系统和渗透测试过程中发现漏洞攻击等相关信息,并保存为文档或截图等形式。整理信息指的是对收集到的信息进行分类、筛选、分析,并提取出关键点和结论。编写报告指的是根据大纲,将整理好 的信息填入相应部分,并添加必要 的说明 和注释 。审阅报告指 的 是对编写好 的 报告进行检查 和修改 ,确保没有错误 和遗漏 。
注意事项:书写渗透测试报告时应该注意以下几个方面:保密性、合法性、时效性、可读性。保密性指 的 是对 渗透 测试 报告 进行 加密 和签名 ,并只向 授权 的 人员 提供 ,防止 泄露 或篡改 。合法性 指 的 是在 进行 渗透 测试 之前 获取 客户 或目标 系统 的 同意 ,并 遵守 相关 的 法律 和道德 规范 。时效性 指 的 是在 渗透 测试 结束 后 尽快 完成 并提交 报告 ,以便 客户 或管理者 及时 采取 行动 。可读性 指 的 是使 用 易于 理解 和阅读 的 语言 和格式 ,并提供 必要 的 图表 和附件 。
参考:https://mp.weixin.qq.com/s/shuK-a6TVWU7vgr41L81pw

文章来源: http://mp.weixin.qq.com/s?__biz=Mzg3Mjc0MDQ2Nw==&mid=2247493924&idx=1&sn=f612850d55f19073c00c036d49deb8e5&chksm=cfc1ff3266517bae846ef56a1cb6fc3a3281db15c36c0fcfcb7f0f673b7d8da0c46f6e8d4191&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh