什么是渗透测试?如何做渗透测试?
渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的网络策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找网络系统安全漏洞的专业人士。
渗透测试一定要遵循软件测试基本流程,要知道测试过程和目标特殊,在具体实施步骤上主要包含以下几步:
1、明确目标
当测试人员拿到需要做渗透测试的项目时,首先确定测试需求,如测试是针对业务逻辑漏洞,还是针对人员管理权限漏洞等;然后确定客户要求渗透测试的范围,如ip段、域名、整站渗透或者部分模块渗透等;最后确定渗透测试规则,如能够渗透到什么程度,是确定漏洞为止还是继续利用漏洞进行更进一步的测试,是否允许破坏数据、是否能够提升权限等。
2、收集信息
在信息收集阶段要尽量收集关于项目软件的各种信息。比如:对于一个Web应用程序,要收集脚本类型、服务器类型、数据库类型以及项目所用到的框架、开源软件等。信息收集对于渗透测试来说非常重要,只要掌握目标程序足够多的信息,才能更好地进行漏洞检测。
信息收集的方式可分为以下2种:主动收集、被动收集。
3、扫描漏洞
在这个阶段,综合分析收集到的信息,借助扫描工具对目标程序进行扫描,查找存在的安全漏洞。
4、验证漏洞
在扫描漏洞阶段,测试人员会得到很多关于目标程序的安全漏洞,但这些漏洞有误报,需要测试人员结合实际情况,搭建模拟测试环境对这些安全漏洞进行验证。被确认的安全漏洞才能被利用执行攻击。
5、分析信息
经过验证的安全漏洞就可以被利用起来向目标程序发起攻击,但是不同的安全漏洞,攻击机制不同,针对不同的安全漏洞需要进一步分析,制定一个详细的攻击计划,这样才能保证测试顺利执行。
6、渗透攻击
渗透攻击实际是对目标程序进行的真正攻击,为了达到测试的目的,像是获取用户账号密码、截取目标程序传输数据等。渗透测试是一次性测试,在攻击完成后能够执行清理工作。
7、整理信息
渗透攻击完成后,整理攻击所获得的信息,为后边编写测试报告提供依据。
8、编写报告
测试完成之后要编写报告,阐述项目安全测试目标、信息收集方式、漏洞扫描工具以及漏洞情况、攻击计划、实际攻击结果等。此外,还要对目标程序存在的漏洞进行分析,提供安全有效的解决办法。
渗透测试工具的通用漏洞检测
在获取了目标主机的操作系统、开放端口等基本信息后,通常利用通用漏洞扫描工具检测目标系统所存在的漏洞和弱口令。通用漏洞主要指操作系统本身或者安装的应用软件所存在的漏洞,通常是指缓冲区漏洞,例如MS-08-067、oracle的漏洞。由于系统开启了135、139、445、1433、1521等应用程序端口,同时没有及时安装补丁,使得外来主机可以通过相应的端口发送恶意的请求从而获取不应当获得的系统权限。在实际的应用中,如果防火墙做了良好的部署,则对外界展现的端口应该受到严格控制,相应的通用漏洞危害较小。但是如果没有在边界上进行良好的访问控制,则缓冲区溢出漏洞有着极其严重的威胁,会轻易被恶意用户利用获得服务器的最高权限。 X-Scan 是一款国产的漏洞扫描软件,完全免费,无需安装,由国内著名民间黑客组织“安全焦点”完成。X-Scan的功能包括:开放服务、操作系统鉴别、应用系统弱口令、IIS编码漏洞、应用漏洞检测等。
X-Scan通常被用来进行弱口令的检测,其提供的弱口令检测模块包含telnet、ftp、SQL-server、cvs、vnc、smtp、nntp、sock5、imap、pop3、rexec、NT-Server、ssh、www,采用字典攻击的方式,配合恰当的字典生成工具可以完成大部分常用应用软件的弱口令破解工作。X-Scan也提供漏洞检测脚本的加载方式,可以即时的更新扫描模块,同时也提供扫描结果报告功能。 Metasploit 是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。
事实上Metasploit提供的是一个通用的漏洞攻击框架,通过它可以方便的获取、开发针对漏洞的攻击。Metasploit将负载控制,编码器,无操作生成器和漏洞整合在一起,成为一种研究高危漏洞的途径,它集成了各平台上常见的溢出漏洞和流行的 shellcode ,并且不断更新。对于开发者来说,需要了解缓冲区溢出的原理、需要编写的漏洞详细情况、payload生成、注入点以及metasploit的漏洞编写规则。而对于普通的渗透测试人员,仅仅只需要安装metasploit,下载最新的漏洞库和shellcode,选择攻击目标,发送测试就可以完成漏洞检测工作。事实上,metasploit不仅提供漏洞检测,还可以进行实际的入侵工作。由于采用入侵脚本时可能对系统造成不可预估的效果,在进行渗透测试时应当仅仅使用测试功能。
Acunetix Web Vulnerability Scanner
Acunetix Web Vulnerability Scanner是一个网站及
服务器漏洞扫描软件,它包含有收费和免费两种版本。
功能介绍:
1、AcuSensor 技术
2、自动的客户端脚本分析器,允许对 Ajax 和 Web 2.0 应用程序进行安全性测试。
3、业内最先进且深入的 SQL 注入和跨站脚本测试
4、高级渗透测试工具,例如 HTTP Editor 和 HTTP Fuzzer
5、可视化宏记录器帮助您轻松测试 web 表格和受密码保护的区域
6、支持含有 CAPTHCA 的页面,单个开始指令和 Two Factor(双因素)验证机制
7、丰富的报告功能,包括 VISA PCI 依从性报告
8、高速的多线程扫描器轻松检索成千上万个页面
9、智能爬行程序检测 web 服务器类型和应用程序语言
10、Acunetix 检索并分析网站,包括 flash 内容、SOAP 和 AJAX
11、端口扫描 web 服务器并对在服务器上运行的网络服务执行安全检查
渗透测试的步骤有哪些
渗透测试步骤
明确目标
· 确定范围:测试目标的范围,ip,域名,内外网。
· 确定规则:能渗透到什么程度,时间?能否修改上传?能否提权等。
· 确定需求:web应用的漏洞、业务逻辑漏洞、人员权限管理漏洞等等。
信息收集
方式:主动扫描,开放搜索等。
开放搜索:利用搜索引擎获得,后台,未授权页面,敏感url等。
漏洞探索
利用上一步中列出的各种系统,应用等使用相应的漏洞。
方法:
1.漏扫,awvs,IBM appscan等。
2.结合漏洞去exploit-db等位置找利用。
3.在网上寻找验证poc。
内容:
系统漏洞:系统没有及时打补丁
Websever漏洞:Websever配置问题
Web应用漏洞:Web应用开发问题
其它端口服务漏洞:各种21/8080(st2)/7001/22/3389
通信安全:明文传输,token在cookie中传送等。
漏洞验证
将上一步中发现的有可能可以成功利用的全部漏洞都验证一遍,结合实际情况,搭建模拟环境进行试验。成功后再应用于目标中。
自动化验证:结合自动化扫描工具提供的结果
手工验证,根据公开资源进行验证
试验验证:自己搭建模拟环境进行验证
登陆猜解:有时可以尝试猜解一下登陆口的账号密码等信息
业务漏洞验证:如发现业务漏洞,要进行验证
公开资源的利用
信息分析
为下一步实施渗透做准备:
精准打击:准备好上一步探测到的漏洞的exp,用来精准打击
绕过防御机制:是否有防火墙等设备,如何绕过
定制攻击路径:最佳工具路径,根据薄弱入口,高内网权限位置,最终目标
绕过检测机制:是否有检测机制,流量监控,杀毒软件,恶意代码检测等
攻击代码:经过试验得来的代码,包括不限于xss代码,sql注入语句等
获取所需
实施攻击:根据前几步的结果,进行攻击
获取内部信息:基础设施
进一步渗透:内网入侵,敏感目标
持续性存在:一般我们对客户做渗透不需要。rookit,后门,添加管理账号,驻扎手法等
清理痕迹:清理相关日志,上传文件等
信息整理
整理渗透工具:整理渗透过程中用到的代码,poc,exp等
整理收集信息:整理渗透过程中收集到的一切信息
整理漏洞信息:整理渗透过程中遇到的各种漏洞,各种脆弱位置信息
形成报告
按需整理:按照之前第一步跟客户确定好的范围,需求来整理资料,并将资料形成报告
补充介绍:要对漏洞成因,验证过程和带来危害进行分析
修补建议:当然要对所有产生的问题提出合理高效安全的解决办法
渗透检测步骤
渗透测试是什么?
渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的网络策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找网络系统安全漏洞的专业人士。
渗透测试流程是怎样的?
步骤一:明确目标
1、确定范围:规划测试目标的范围,以至于不会出现越界的情况。
2、确定规则:明确说明渗透测试的程度、时间等。
3、确定需求:渗透测试的方向是web应用的漏洞?业务逻辑漏洞?人员权限管理漏洞?还是其他,以免出现越界测试。
步骤二:信息收集
1、基础信息:IP、网段、域名、端口
2、系统信息:操作系统版本
3、应用信息:各端口的应用,例如web应用、邮件应用等等
4、版本信息:所有探测到的东西的版本
5、人员信息:域名注册人员信息,web应用中网站发帖人的id、管理员姓名等
6、防护信息:试着看能否探测到防护的设备,像有没有CDN、waf等
步骤三:漏洞探索
利用上一步中列出的各种系统、应用等等,使用响应的漏洞
方法:
1、漏扫、awvs、IBM appscan等
2、结合漏洞去exploit-db等位置找利用
3、在网上寻找验证poc
步骤四:漏洞验证
将上述中发现有可能可以成功利用的全部漏洞都验证一遍,结合实际情况搭建模拟环境进行实验,成功后再引用于目标。
自动化验证:结合自动化扫描工具提供的结果
手工验证:根据公开的资源进行手工验证
试验验证:自己搭建模拟环境进行验证
登录猜解:可以尝试一下登录口的账号密码的发现
业务逻辑漏洞:如发现业务逻辑漏洞,进行验证
步骤五:信息分析
为下一步实施渗透做准备
1、精准打击:准备好上一步探测到的漏洞的exp,用来精准打击
2、绕过防御机制:是否有防火墙等设备,如何绕过
3、定制攻击路径:最佳工具路径,根据薄弱入口,高内网权限位置,最终目标
4、绕过检测机制:是否有检测机制,流量监控,杀毒软件 ,恶意代码检测等(免杀)
5、攻击代码:经过试验得来的代码,包括不限于XSS代码,SQL注入语句等
步骤六:获取所需
1、实施攻击,根据前几步的结果,进行攻击
2、获取内部信息:基础设施(网络连接,vpn,路由,拓扑等)
3、进一步渗透:内网入侵,敏感目标
4、持续性存在:一般我们对客户做渗透不需要,但真实的环境中,我们会做rookit、后门,添加管理账号。驻扎手法。
5、清理痕迹:清理相关日志(访问,操作),上传文件等
步骤七:信息整理
1、整理渗透工具:整理渗透过程中用到的代码,poc、exp等
2、整理收集信息:整理渗透过程中收集到的一切信息
3、整理漏洞信息:整理渗透过程中遇到的各种漏洞,各种脆弱的位置信息
(为了形成报告,形成测试结果使用)
步骤八:形成报告
1、按需整理:按照之前第一步跟客户确定好的范围和需求来整理资料,并将资料形成报告
2、补充介绍:要对漏洞成因、验证过程和带来的危害进行分析
3、修补建议:当然要对所有产生的问题提出合理高效安全的解决办法
渗透测试的七个步骤
渗透测试的七个步骤
第一步:确定要渗透的目标,也就是选择要测试的目标网站。
第二步:收集目标网站的相关信息,比如操作系统,数据库,端口服务,所使用的脚本语言,子域名以及cms系统等等。
第三步:漏洞探测。利用收集到的信息,寻找目标的脆弱点。
第四步:漏洞利用,找到对方系统的弱点后,进一步攻克对方系统,拿到目标系统的权限。
第五步:渗透目标内网的其他主机,把获得的目标机器权限当作跳板,进一步攻克内网其他主机。
第六步:验证漏洞与修复漏洞。
第七步:清楚渗透痕迹,编写测试报告。
如何对网站进行渗透测试和漏洞扫描?
1、渗透测试 (penetration test)并没有一个标准的定义,国外一些安全组织达成共识的通用说法是:渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。
2、渗透测试能够通过识别安全问题来帮助一个单位理解当前的安全状况。这使促使许多单位开发操作规划来减少攻击或误用的威胁。
3、渗透测试有时是作为外部审查的一部分而进行的。这种测试需要探查系统,以发现操作系统和任何网络服务,并检查这些网络服务有无漏洞。你可以用漏洞扫描器完成这些任务,但往往专业人士用的是不同的工具,而且他们比较熟悉这类替代性工具。
4、渗透测试的作用一方面在于,解释所用工具在探查过程中所得到的结果。只要手头有漏洞扫描器,谁都可以利用这种工具探查防火墙或者是网络的某些部分。但很少有人能全面地了解漏洞扫描器得到的结果,更别提另外进行测试,并证实漏洞扫描器所得报告的准确性了。
5、漏洞扫描是指基于漏洞数据库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用漏洞的一种安全检测(渗透攻击)行为。
6、漏洞扫描技术是一类重要的网络安全技术。它和防火墙、入侵检测系统互相配合,能够有效提高网络的安全性。通过对网络的扫描,网络管理员能了解网络的安全设置和运行的应用服务,及时发现安全漏洞,客观评估网络风险等级。网络管理员能根据扫描的结果更正网络安全漏洞和系统中的错误设置,在黑客攻击前进行防范。如果说防火墙和网络监视系统是被动的防御手段,那么安全扫描就是一种主动的防范措施,能有效避免黑客攻击行为,做到防患于未然。
7、网络安全事故后可以通过网络漏洞扫描/网络评估系统分析确定网络被攻击的漏洞所在,帮助弥补漏洞,尽可能多得提供资料方便调查攻击的来源。
8、互联网的安全主要分为网络运行安全和信息安全两部分。网络运行的安全主要包括以ChinaNet、ChinaGBN、CNCnet等10大计算机信息系统的运行安全和其它专网的运行安全;信息安全包括接入Internet的计算机、服务器、工作站等用来进行采集、加工、存储、传输、检索处理的人机系统的安全。网络漏洞扫描/网络评估系统能够积极的配合公安、保密部门组织的安全性检查。
0条大神的评论