如何写好一份渗透测试报告
当你连续奋战了好几天,终于合上了笔记本,想要出去透透风时,一个熟悉的问句传来:“你好,请问什么时候可以交付报告?”
有成千上万的书籍讲解什么是信息安全,什么是渗透测试,也有数不清的培训课程视频。但是,我敢打赌,在这些材料中,只有不到10%是在讲写报告的事情。在一个完整的渗透测试过程中,有将近一半的时间都用在了编写报告上,这听起来很让人吃惊,但是也并不奇怪。
教会某人写报告不像教会某人 *** 一个完美的缓冲区溢出那么有意思,大部分的渗透测试人员情愿复习19次TCP数据包结构的工作原理,也不愿意写一份报告。
不管我们的渗透测试水平多么高,想要把一个很深的技术点解释的很通俗易懂,即使是完全不懂安全的人也可以理解,这是一件异常艰难的挑战。不但得学会简单明了的解释渗透测试的结果,还得控制好时间。这样做的好处很多,关系到客户会不会不断的采购你的服务。有一次,我开车到350英里以外的一家客户那里做售前,当面重新解释了渗透测试报告的本内容;如果能把测试报告写的简单明了,我就不用跑这么一趟,相当于节省了一整天的时间和一整箱汽油。
举个例子:
一个模糊不清的解释:“SSH版本应该被禁用,因为它含有高危漏洞,可能允许攻击者在 *** 上拦截和解密通信,虽然攻击者控制 *** 的风险很低,这减少了严重性。”
清楚的解释:“建议在这些设备上禁用SSH,如果不这样做,就有可能允许攻击者在当地 *** 解密和拦截通讯。”
为什么渗透测试报告如此重要?
请谨记:渗透测试是一个科学的过程,像所有科学流程一样,应该是独立可重复的。当客户不满意测试结果时,他有权要求另外一名测试人员进行复现。如果之一个测试人员没有在报告中详细说明是如何得出结论的话,第二个测试人员将会不知从何入手,得出的结论也极有可能不一样。更糟糕的是,可能会有潜在漏洞暴露于外部没有被发现。
举个例子:
模糊不清的描述:“我使用端口扫描器检测到了一个开放的TCP端口。“
清晰明了的描述:“我使用Nmap 5.50,对一段端口进行SYN扫描,发现了一个开放的TCP端口。
命令是:nmap –sS –p 7000-8000“
报告是实实在在的测试过程的输出,且是真实测试结果的证据。对客户高层管理人员(批准用于测试的资金的人)可能对报告的内容没有什么兴趣,但这份报告是他们唯一一份证明测试费用的证据。渗透测试不像其他类型的合同项目。合同结束了,没有搭建新的系统,也没有往应用程序添加新的代码。没有报告,很难向别人解释他们刚买的什么东西。
报告给谁看?
至少有三种类型的人会阅读你的报告:高级管理人员,IT管理和IT技术人员。
高级管理人员根本不关心,或者压根不明白它的意思,如果支付服务器使用SSL v2加密连接。他们想知道的答案是“我们现在到底安不安全?”
IT管理对该组织的整体安全性感兴趣,同时也希望确保其特定的部门在测试过程中都没有发现任何重大问题。我记得给三个IT经理一份特别详细的报告。阅读这份报告后有两个人脸色变得苍白,而第三个人笑着说“太好了,没有数据库的安全问题”。
IT人员是负责修复测试过程中发现的问题的人。他们想知道三件事:受影响系统的名称,该漏洞的严重程度以及如何解决它。他们也希望这些信息以一种清晰而且有组织的方式呈现给他们。更好的 *** 是将这些信息以资产和严重程度来进行划分。例如“服务器A”存在“漏洞X,Y和Z,漏洞Y是最关键的。这样IT人员就可以快速的找到问题的关键,及时修复。
当然,你可以问你的客户是否愿意对漏洞分组。毕竟测试是为了他们的利益,他们是付钱的人!一些客户喜欢有个详细说明每个漏洞的页面,并表明受漏洞影响的资产有哪些。
虽然我已经提到了渗透测试报告三种最常见的读者,但这并不是一个详尽的清单。一旦报告交付给客户,取决于他们用它干什么。它可能最终被提交给审计人员作为审计的证据。它可以通过销售团队呈现给潜在客户。“任何人都可以说自己的产品是安全的,但他们可以证明这一点?我们可以看看这里的渗透测试报告。“
报告甚至可能最终共享给整个组织。这听起来很疯狂,但它确实发生过。我执行一次社会工程学测试,其结果低于客户的期望。被触怒的CEO将报告传递给整个组织,作为提高防范社会工程攻击意识的一种方式。更有趣的是,几周后当我访问同一个公司做一些安全意识的培训。我在自我介绍时说,我就是之前那个负责社工测试的人。愤怒的目光,嘲讽的语气,埋怨我给他们所有人带来多少麻烦。我的内心毫无波动,答道:“把密码给我总比给真正的黑客好。”
报告应该包含什么?
有时候你会很幸运的看到,客户在项目计划之初就表明他们想要的报告内容。甚至有一些更为细小的要求,比如,字体大小和线间距等。但是这只是少数,大部分客户还是不知道最终要什么结果,所以下面给出一般报告的撰写程序。
封面
封面是报告的之一面窗户,封面页上包含的细节可以不那么明显。但是测试公司的名称、标志以及客户的名称应该突出显示。诸如“内部 *** 扫描”或“DMZ测试”测试标题也应该在那里,对于相同的客户执行多个测试时,可以避免混淆。测试时间也要写上,随着时间的推移,用户可以清楚的得知他们的安全状况是否得到了改善。另外该封面还应包含文档的密级,并与客户商定如何保密好这份商业上的敏感文件。
内容提要
我见过一些简直像短篇小说一样的内容提要,其实这部分一般要限制在一页纸以内。不要提及任何特定的工具、技术,因为客户根本不在乎,他们只需要知道的是你做了什么,发现了什么,接下来要发生什么,为什么,执行摘要的最后一行应该是一个结论,即明确指出是该系统是安全还是不安全。
举个例子:
一个糟糕的总结:“总之,我们发现一些地方的安全策略运作良好,但有些地方并未遵从。这导致了一定风险,但并不是致命风险。”
一个优秀的总结:“总之,我们发现了某些地方没有遵守安全策略,这给组织带来了一个风险,因此我们必须声明该系统是不安全的。”
漏洞总结
将漏洞列表放在一个页面上,这样,IT经理便可以一目了然的知道接下来要做什么。具体怎样表现出来,形式多样,你可以使用花哨的图形(像表格或图表),只要清晰明了就行。漏洞可以按类别(例如软件问题, *** 设备配置,密码策略)进行分组,严重程度或CVSS评分—— *** 很多,只要工作做得好,很容易理解。
测试团队的详细信息
记录测试过程中所涉及的每一个测试人员的名字,这是一个基本的礼节问题,让客户知道是谁在测试他们的 *** ,并提供联系方式,以便后续报告中问题讨论。一些客户和测试公司也喜欢依据测试的内容向不同的测试小组分配任务。多一双眼睛,可以从不同的角度查看系统的问题。
工具列表
包括版本和功能的简要描述。这点会涉及到可重复性。如果有人要准确复现您的测试,他们需要确切地知道您使用的工具。
工作范围
事先已经同意,转载作为参考是有用的。
报告主体
这部分才是报告的精华,报告的正文应包括所有检测到的漏洞细节,如何发现漏洞,如何利用漏洞,以及漏洞利用的可能性。无论你做的是什么,都要保证给出一个清晰的解释。我看过无数份报告,都是简单的复制粘贴漏洞扫描的结果,这是不对的。另外报告中还应包括切实贴合的修复建议。
最终交付
在任何情况下任何一份报告应该加密传输。这虽然是常识,但往往大家就会摔倒在最后的这环上。
渗透工程师是做什么的?
渗透工程师是一种利用模拟黑客攻击的方式,来评估计算机 *** 系统攻击步骤安全性能,评估计算机 *** 系统工作。
渗透工程师要熟悉一下工作:
攻击
安全性能的 *** 。通常的黑客攻击包括预攻击、攻击和后攻击三个阶段;预攻击阶段主要指一些信息收集和漏洞扫描的过程;攻击过程主要是利用之一阶段发现的漏洞或弱口令等脆弱性进行入侵;后攻击是指在获得攻击目标的一定权限后,对权限的提升、后面安装和痕迹清除等后续工作。与黑客的攻击相比,渗透测试仅仅进行预攻击阶段的工作,并不对系统本身造成危害,即仅仅通过一些信息搜集手段来探查系统的弱口令、漏洞等脆弱性信息。为了进行渗透测试,通常需要一些专业工具进行信息收集。渗透测试工具种类繁多,涉及广泛,按照功能和攻击目标分为 *** 扫描工具、通用漏洞检测、应用漏洞检测三类。
*** 扫描工具
*** 扫描是渗透测试的之一步,其目的在于发现目标的操作系统类型、开放端口等基本信息,为后续的扫描工作做基础。事实上,利用操作系统本身的一些命令如ping、telnet、nslookup等也可以对目标的信息进行判断,但是利用专业的工具可以给出更加全面和准确的判断。
NMap
NMap 是Linux操作系统下的一款 *** 连接端扫描软件,其功能主要有三个:探测一组主机是否在线;扫描主机端口是否打开;判断目标操作系统。NMap的常用扫描方式有:
》 TCP connect端口扫描:-sT参数
》 端口扫描TCP同步:-sS参数
》 端口扫描UDP:-sU参数
》 Ping扫描:-sP参数
SuperScan
SuperScan是一款功能强大的端口扫描软件,其主要功能有:
SuperScan
1) 通过Ping来检验IP是否在线;2) IP和域名相互转换;3) 检验目标计算机提供的服务类别;4) 检验一定范围目标计算机的是否在线和端口情况;5) 工具自定义列表检验目标计算机是否在线和端口情况;6) 自定义要检验的端口,并可以保存为端口列表文件;7) 软件自带一个木马端口列表trojans.lst,通过这个列表我们可以检测目标计算机是否有木马;同时,我们也可以自己定义修改这个木马端口列表.
Wireshark
Wireshark是一个 *** 封包分析软件,其功能是借取流经本地网卡的有数据流量进而分Wireshark
析。通常的应用包括: *** 管理员用来解决 *** 问题、 *** 安全工程师用来检测安全隐患、开发人员用来测试协议执行情况、用来学习 *** 协议。在渗透测试中,Wireshark通常被用于嗅探局域网内的数据传输格式,探查是否存在明文传输口令、数据传输风险等。图形界面的Wireshark使用十分便捷,选取监听的网卡之后,主界面中会显示所有的数据流量。双击任意条目,则可以根据协议的层次拆分该数据流。Wireshark内置了基本的 *** 协议,可以方便的查询包括但不局限于IP、TCP、UDP、HTTP、FTP、 *** B等常见的协议内容。
由于Wireshark借取的数据是所有流经网卡的数据,在实际应用中最重要的操作是通编写过滤器获得需要的数据流量。主界面中的Filter选项可以方便的进行过滤器的编辑,过滤包括源地址、目的地址、协议类型等配合各种逻辑运算符组成的表达式,从而根据需要快速的找到目标数据流量。
通用漏洞检测
在获取了目标主机的操作系统、开放端口等基本信息后,通常利用通用漏洞扫描工具检测目标系统所存在的漏洞和弱口令。通用漏洞主要指操作系统本身或者安装的应用软件所存在的漏洞,通常是指缓冲区漏洞,例如MS-8-67、oracle的漏洞。由于系统开启了135、139、445、1433、1521等应用程序端口,同时没有及时安装补丁,使得外来主机可以通过相应的端口发送恶意的请求从而获取不应当获得的系统权限。在实际的应用中,如果防火墙做了良好的部署,则对外界展现的端口应该受到严格控制,相应的通用漏洞危害较小。但是如果没有在边界上进行良好的访问控制,则缓冲区溢出漏洞有着极其严重的威胁,会轻易被恶意用户利用获得服务器的更高权限。
Nessus
Nessus 是一款系统漏洞扫描与分析软件,采用B/S架构的Nessus
方式安装,以网页的形式向用户展现。用户登录之后可以指定对本机或者其他可访问的服务器进行漏洞扫描。Nessus的扫描程序与漏洞库相互独立,因而可以方便的更新其漏洞库,同时提供多种插件的扩展和一种语言NASL(Nessus Attack Scripting Language)用来编写测试选项,极大的方便了漏洞数据的维护、更新。在进行扫描完成后,Nessus还可以生成详尽的用户报告,包括脆弱性、漏洞修补 *** 以及危害级别等,可以方便的进行后续加固工作。
X-Scan
X-Scan 是一款国产的漏洞扫描软件,完全免费,无需安装,X-Scan
由国内著名民间黑客组织“安全焦点”完成。X-Scan的功能包括:开放服务、操作系统鉴别、应用系统弱口令、IIS编码漏洞、应用漏洞检测等。
X-Scan通常被用来进行弱口令的检测,其提供的弱口令检测模块包含telnet、ftp、SQL-server、cvs、vnc、 *** tp、nntp、sock5、imap、pop3、rexec、NT-Server、ssh、www,采用字典攻击的方式,配合恰当的字典生成工具可以完成大部分常用应用软件的弱口令破解工作。X-Scan也提供漏洞检测脚本的加载方式,可以即时的更新扫描模块,同时也提供扫描结果报告功能。
Metasploit
Metasploit 是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。
事实上Metasploit提供的是一个通用的漏洞攻击框架,通过它可以方便的获取、开发针对漏洞的攻击。Metasploit将负载控制,编码器,无操作生成器和漏洞整合在一起,成为一种研究高危漏洞的途径,它集成了各平台上常见的溢出漏洞和流行的 shellcode ,并且不断更新。对于开发者来说,需要了解缓冲区溢出的原理、需要编写的漏洞详细情况、payload生成、注入点以及metasploit的漏洞编写规则。而对于普通的渗透测试人员,仅仅只需要安装metasploit,下载最新的漏洞库和shellcode,选择攻击目标,发送测试就可以完成漏洞检测工作。事实上,metasploit不仅提供漏洞检测,还可以进行实际的入侵工作。由于采用入侵脚本时可能对系统造成不可预估的效果,在进行渗透测试时应当仅仅使用测试功能。
Acunetix Web Vulnerability Scanner
Acunetix Web Vulnerability Scanner界面
Acunetix Web Vulnerability Scanner是一个网站及
服务器漏洞扫描软件,它包含有收费和免费两种版本。
功能介绍:
1、AcuSensor 技术
2、自动的客户端脚本分析器,允许对 Ajax 和 Web 2. 应用程序进行安全性测试。
3、业内更先进且深入的 SQL 注入和跨站脚本测试
4、高级渗透测试工具,例如 HTTP Editor 和 HTTP Fuzzer
5、可视化宏记录器帮助您轻松测试 web 表格和受密码保护的区域
6、支持含有 CAPTHCA 的页面,单个开始指令和 Two Factor(双因素)验证机制
7、丰富的报告功能,包括 VISA PCI 依从性报告
8、高速的多线程扫描器轻松检索成千上万个页面
9、智能爬行程序检测 web 服务器类型和应用程序语言
1、Acunetix 检索并分析网站,包括 flash 内容、SOAP 和 AJAX
11、端口扫描 web 服务器并对在服务器上运行的 *** 服务执行安全检查
Web应用漏洞检测
随着信息 *** 的发展,人们的信息安全意识日益提升,信息系统的安全防护措施也逐渐提高。通常在服务器的互联网边界处都会部署防火墙来隔离内外 *** ,仅仅将外部需要的服务器端 *** 露出来。采用这种措施可以大大的提高信息系统安全等级,对于外部攻击者来说,就像关闭了所有无关的通路,仅仅留下一个必要入口。但是仍然有一类安全问题无法避免,就是web应用漏洞。目前的大多数应用都是采用B/S模式,由于服务器需要向外界提供web应用,http服务是无法关闭的。web应用漏洞就是利用这个合法的通路,采用SQL注入、跨站脚本、表单破解等应用攻击方式来获取服务器的高级权限。在目前的 *** 环境下,威胁更大的漏洞形式就是web应用漏洞,通常是攻击者攻陷服务器的之一步。常见的漏洞包括SQL注入、跨站脚本攻击和编码漏洞等,表单破解主要是针对服务器用户的弱口令破解。从本质上来说,应用漏洞的形成原因是程序编写时没有对用户的输入字符进行严格的过滤,造成用户可以精心构造一个恶意字符串达到自己的目的。
AppScan
AppScan 是IBM公司出的一款Web应用安全测试工具,AppScan
采用黑盒测试的方式,可以扫描常见的web应用安全漏洞。其工作原理,首先是根据起始页爬取站下所有可见的页面,同时测试常见的管理后台;获得所有页面之后利用SQL注入原理进行测试是否存在注入点以及跨站脚本攻击的可能;同时还会对cookie管理、会话周期等常见的web安全漏洞进行检测。AppScan功能十分齐全,支持登录功能并且拥有十分强大的报表。在扫描结果中,不仅能够看到扫描的漏洞,还提供了详尽的漏洞原理、修改建议、手动验证等功能。AppScan的缺点在于,作为一款商业软件,价格十分昂贵。
溯雪
溯雪是一款国产软件,主要的功能是进行表单破解。溯雪
由于目前的应用多数采用B/S模式,登录窗口也都采用表单提交的方式,使得基于传统协议的暴力破解软件没有用武之地。针对此类应用,采用溯雪等基于表单的暴力破解软件可以很好的进行弱口令扫描。
溯雪的工作原理是抽取目标网站中的表单元素,搜寻错误登录时的错误标志,然后采用字典填充其值并不断提交尝试获得正确的连接。
Pangolin
Pangolin是一款SQL注入测试工具,能够自动化的进行Pangolin
注入漏洞的检测,从检测注入开始到最后控制目标系统都给出了测试步骤,是目前国内使用率更高的SQL注入测试软件。支持的数据库包括Access、DB2、Informix、Microsoft SQL Server 2、Microsoft SQL Server 25、Microsoft SQL Server 28、Mysql、Oracle、PostgreSQL、Sqlite3、Sybase。
CISP一共有几个专业方向
目前CISP共有15个专业方向,由9家机构与中心共同运营,具体有:
(1)CISP-A(注册信息系统审计师),证书持有人主要从事信息系统审计工作,在全面掌握信息安全基本知识技能的基础上,具有较强的信息安全风险评估、安全检查实践能力。
(2)CISD(注册信息安全开发人员),证书持有人主要从事软件开发相关工作,在全面掌握信息安全基本知识技能的基础上,具有较强的信息系统安全开发能力、熟练掌握应用安全。
(3)CISP-PTE(注册渗透测试工程师),证书持有人主要从事信息安全技术领域渗透测试工作,具有漏洞验证、制定渗透测试方案与测试计划、编写测试用例、实施测试、输出测试报告的基本知识和能力。
(4)CISP-PTS(注册渗透测试专家),证书持有人主要从事信息安全技术领域高级渗透测试工作,具有较强的漏洞研究、代码分析、进行最新 *** 安全动态跟踪研究以及策划解决方案等方面的知识和能力。
(5)CISP-IRE(注册应急响应工程师),证书持有人主要从事信息安全技术领域应急响应工作,具有实施应急响应事件监测、应急响应事件分析和处置的基本知识和能力。
(6)CISP-IRS(注册应急响应专家),证书持有人主要从事信息安全技术领域应急响应高级分析及规划管理工作,具有 *** 安全事件溯源分析、规划和制定重大 *** 安全事件应急处理方案,以及应急实施与处置过程协调管理等方面的知识和能力。
(7)CISP-CTE(注册信息安全专业人员-密码技术专家),证书持有人掌握密码学基础理论、密码法律法规、密码应用和密码工程实现等方面知识,为党政机关、关键信息基础设施和互联网等领域的密码实施应用提供服务。
(8)CISP-F(电子数据取证专业人员),证书持有人掌握电子数据取证的法律、法规和标准规范,以及电子数据取证的主要技术,具备从事电子数据取证专业人员的知识、技能和素质标准,能够在 *** 机关、事业单位或企业从事 *** 安全维护、电子数据取证等专业工作。
(9)CI *** -F(电子数据取证工作人员),证书持有人理解电子数据取证的法律、法规和标准规范,以及电子数据取证的主要技术,具备从事电子数据取证一般工作人员的知识、技能和素质标准,能够在 *** 机关、事业单位或企业从事 *** 安全维护、电子数据取证等基本工作。
(10)CISP-DSG(注册数据安全治理专业人员),证书持有人具备数据安全治理过程能力,能帮助各类组织机构解决数据安全顶层设计及管理体系建设的问题,提升企事业单位信息安全管理能力。
(11)CISP-PIP(注册个人信息保护专业人员),证书主要面向我国数据保护、信息审计、组织合规与风险管理等领域的信息安全专业人员,以加强用户个人信息保护为目标,同时兼顾重要数据保护需求以及医疗健康、金融等领域的行业监管要求,旨在为我国数据安全保护工作培养一支强有力的专业人才队伍。
(12)CISP-ICSSE(注册工业控制系统安全工程师),持证人员主要从事信息安全技术领域工业控制系统安全方向的工作,具备制定工控安全威胁应对方案、开展工控系统安全防护设计、建立工控安全应急处置体系、实施安全管理等工作的基本知识和能力。
(13)CISP-CSE(注册云安全工程师),持证人员掌握云计算体系架构及关键技术、云计算安全威胁与需求分析、云计算安全技术、云计算安全防护应用、云计算安全管理、云安全政策法规与标准规范等知识内容,具备从事云计算安全规划和系统运维等安全工作的能力,可从事云计算安全设计、安全运维、安全管理等工作。
(14)CISP-BDSA(注册大数据安全分析师),持证人员掌握大数据分析过程、数据分析算法原理、大数据系统工程实现、大数据安全分析常见案例、大数据系统安全法律法规等知识内容,具备大数据安全分析理论基础和实践能力,可从事大数据安全分析、安全管理等工作。
(15)CISP-BR(一带一路注册信息安全人员),证书持有人掌握国际 *** 安全法律、法规、标准规范,以及安全保障和主要技术,在各国信息安全企业、信息安全测评机构、 *** 机构及企事业单位中从事信息系统建设、运行维护和管理工作。
免费领取CISP学习资料、知识地图:
*** 渗透工程师是做啥的?
*** 渗透工程师是一种利用模拟黑客攻击的方式,来评估计算机 *** 系统攻击步骤安全性能,评估计算机 *** 系统工作。如需学习此类技术推荐选择达内教育。
达内教育打造 *** *** 、运维、数据库、开发、安全工作于一身的“复合性"人才,拥有十大全真商业实战,带学员从0开始攒经验。真正解决学员工作中出现的各种问题,让学员在实操中获取项目经验。汇聚业内资深Linux讲师,实战经验倾囊相授,将学员培养成综合性多维度人才。多重就业服务体系,实现一站式人才输送,达内与合作企业共建人才输送通道,助力学员就业。 感兴趣的话点击此处,免费学习一下
想了解更多有关 *** 渗透工程师的相关信息,推荐咨询达内教育。达内教育已从事19年IT技术培训,累计培养100万学员,并且独创TTS8.0教学系统,1v1督学,跟踪式学习,有疑问随时沟通。该机构26大课程体系紧跟企业需求,企业级项目,课程穿插大厂真实项目讲解,对标企业人才标准,制定专业学习计划,囊括主流热点技术,助力学生更好的学习。
0条大神的评论