什么是渗透测试?哪些场景下需要做渗透测试?
渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。由专业的渗透测试人员,完全模拟黑客的攻击方法对业务系统进行安全性测试,比如操作系统、web服务、服务器的各种应用漏洞等,从而发现系统的脆弱点。那渗透测试可以给企业带来什么好处?渗透测试的目的是什么?
渗透测试的目的是什么?
渗透测试可以使我们避免无意中触犯某些法律而导致被处以的巨额罚款或者丧失经营许可证等危害;同时,渗透测试也可以帮助降低软件漏洞造成的数据泄露风险,从而加强对企业内部数据的保护。如果企业数据丢失或泄露,或让竞争对手掌握这些的话,后果是非常严重的。
哪些场景下需要做渗透测试?
1、交付场景:满足甲方需求;
2、合规场景:满足相关法律法规要求,比如主机等保建设、避免被监管通报等;
3、业务场景:对应用系统进行全面安全测试,发现系统安全漏洞。
渗透测试可以给企业带来什么好处?
1、技术安全性的验证:渗透测试作为独立的安全技术服务,其主要目的就在于验证整个目标系统的技术安全性,通过渗透测试,可在技术层面定性的分析系统的安全性。
2、查找安全隐患点:渗透测试是对传统安全弱点的串联并形成路径,最终通过路径式的利用而达到模拟入侵的效果。所以,在渗透测试的整个过程中,可有效地验证每个安全隐患点的存在及其可利用程度。
3、安全教育:渗透测试的结果可作为内部安全意识的案例,在对相关的接口人员进行安全教育时使用。
4、安全技能的提升:一份专业的渗透测试报告不但可为用户提供作为案例,更可作为常见安全原理的学习参考。
渗透测试工具的通用漏洞检测
在获取了目标主机的操作系统、开放端口等基本信息后,通常利用通用漏洞扫描工具检测目标系统所存在的漏洞和弱口令。通用漏洞主要指操作系统本身或者安装的应用软件所存在的漏洞,通常是指缓冲区漏洞,例如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 服务器并对在服务器上运行的网络服务执行安全检查
app渗透无法用模拟器
1、app渗透测试常见的模拟器有夜神,闪电模拟器等。
2、遇到问题,数据包抓不到?
(1)最常见的解决方法调低模拟器安卓版本,使用MuMu模拟器,大部分app都适用,但是也有些app无法抓取。
(2)安装证书到系统根证书,可以解决上面的问题(一般情况下手机在安装了BurpSuite的伪证书后,是可以抓大部分APP数据包的,但APP在安卓7.0或更高的系统下,无法抓取数据包,是因为安卓从7.0开始应用只会信任系统预装的CA证书,而不会信任用户安装的CA证书,所谓的中间人攻击就不起效果了。这种的情况下,一个解决方法就是使用低于7.0版本的安卓系统进行抓包,另一个就是把使用的伪证书安装到系统证书目录中,伪装成系统证书)
什么是渗透测试?如何做渗透测试?
渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的网络策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找网络系统安全漏洞的专业人士。
渗透测试一定要遵循软件测试基本流程,要知道测试过程和目标特殊,在具体实施步骤上主要包含以下几步:
1、明确目标
当测试人员拿到需要做渗透测试的项目时,首先确定测试需求,如测试是针对业务逻辑漏洞,还是针对人员管理权限漏洞等;然后确定客户要求渗透测试的范围,如ip段、域名、整站渗透或者部分模块渗透等;最后确定渗透测试规则,如能够渗透到什么程度,是确定漏洞为止还是继续利用漏洞进行更进一步的测试,是否允许破坏数据、是否能够提升权限等。
2、收集信息
在信息收集阶段要尽量收集关于项目软件的各种信息。比如:对于一个Web应用程序,要收集脚本类型、服务器类型、数据库类型以及项目所用到的框架、开源软件等。信息收集对于渗透测试来说非常重要,只要掌握目标程序足够多的信息,才能更好地进行漏洞检测。
信息收集的方式可分为以下2种:主动收集、被动收集。
3、扫描漏洞
在这个阶段,综合分析收集到的信息,借助扫描工具对目标程序进行扫描,查找存在的安全漏洞。
4、验证漏洞
在扫描漏洞阶段,测试人员会得到很多关于目标程序的安全漏洞,但这些漏洞有误报,需要测试人员结合实际情况,搭建模拟测试环境对这些安全漏洞进行验证。被确认的安全漏洞才能被利用执行攻击。
5、分析信息
经过验证的安全漏洞就可以被利用起来向目标程序发起攻击,但是不同的安全漏洞,攻击机制不同,针对不同的安全漏洞需要进一步分析,制定一个详细的攻击计划,这样才能保证测试顺利执行。
6、渗透攻击
渗透攻击实际是对目标程序进行的真正攻击,为了达到测试的目的,像是获取用户账号密码、截取目标程序传输数据等。渗透测试是一次性测试,在攻击完成后能够执行清理工作。
7、整理信息
渗透攻击完成后,整理攻击所获得的信息,为后边编写测试报告提供依据。
8、编写报告
测试完成之后要编写报告,阐述项目安全测试目标、信息收集方式、漏洞扫描工具以及漏洞情况、攻击计划、实际攻击结果等。此外,还要对目标程序存在的漏洞进行分析,提供安全有效的解决办法。
0条大神的评论