渗透测试基础
1、part渗透测试概述
2、part渗透测试流程
3、渗透测试流程图
1、part 1 渗透测试概述
渗透测试流程概念
定义
渗透测试 (penetration test)是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种 评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可 能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。
换句话来说,渗透测试是指渗透人员在不同的位置(比如从内网、从外网等位置)利用各种手段对 某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给网络所 有者。网络所有者根据渗透人员提供的渗透测试报告,可以清晰知晓系统中存在的安全隐患和问题。
渗透测试的特点:
1、渗透测试是一个渐进的并且逐步深入的过程。渗透测试 是选择不影响业务系统正常运行的攻击方法进行的测试。
2、作为网络安全防范的一种新技术,对于网络安全组织具有实际应用价值。但要找到一家合适的公司 实施渗透测试并不容易。
渗透测试的意义:
渗透测试为了证明网络防御按照预期计划正常运行而提供的一种机制,换句话说,就是证明一下之前所做过的措施可以实现的,然后再续找一些原来没有发现过的问题,这个就是渗透测试。
许多时候,无论是网站还是系统的开发者,在开发的过程中乃至结束,都很难会注意到所开发的应用的安全问题,这样就造成了大量的存在瑕疵的应用暴露在外部网络之上,直接就触发了信息安全的产生,渗透测试在于发现问题、解决问题。经过专业人员渗透测试加固后的系统也会随之变得更加坚固、稳定、安全。
渗透测试的目的
1、了解入侵者可能利用的途径
2、了解系统及网络的安全强度
入侵途径
程序bug:
1、缓冲区溢出
2、以外组合
3、竞争情况
系统配置:
1、系统默认配置
2、管理员失职
3、系统漏洞
4、信任关系
密码破译:
1、脆弱的密码
2、字典攻击
3、暴力攻击
网络监听:
1、共享式网络
2、监听服务器
3、远程监听
设计缺陷:
1、TCP/IP协议缺陷
2、操作系统设计缺陷
渗透测试的方法分类
1、根据方式分类:
(1)、黑盒测试
Black-box Testing 也称为外部测试(External Testing)。采用这种方式时,渗透测试团 队将从一个远程网络位置来评估目标网络基础设施,并没有任何目标网络内部拓扑等相关信息,他们完 全模拟真实网络环境中的外部攻击者,采用流行的攻击技术与工具,有组织有步骤地对目标组织进行逐 步的渗透和入侵,揭示目标网络中一些已知或未知的安全漏洞,并评估这些漏洞能否被利用获取控制权 或者操作业务资产损失等。
黑盒测试不同于黑客入侵,并不等于黑站。黑盒测试考验的是综合的能力(OS、Datebase、Script、 code、思路、社工),思路与经验积累往往决定成败。
(2)、白盒测试
White-box Testing 也称为内部测试(Internal Testing)。相对黑盒测试,白盒测试基本是从内部发起。白盒测试与黑盒测试恰恰相反,测试者可以通过正常渠道向被测单位取得各种资料,包 括网络拓扑、员工资料甚至网站或其它程序的代码片断,也能够与单位的其它员工(销售、程序员、管 理者……)进行面对面的沟通。
(3)、灰盒测试
Grey-box Testing是白盒测试和黑盒测试基本类型的组合,它可以提供对目标系统更加深入和全面的安全审查。组合之后的好处就是能够同时发挥两种渗透测试方法的各自优势。在采用灰盒测 试方法的外部渗透攻击场景中,渗透测试者也类似地需要从外部逐步渗透进目标网络,但他所拥有的目 标网络底层拓扑与架构将有助于更好地决策攻击途径与方法,从而达到更好的渗透测试效果。
2、根据目标分类
(1)主机操作系统测试
对Windows,Solaris,AIX,Linux,SCO,SGI等操作系统本身进行渗透测试。
(2)数据库系统渗透
对MS-SQL,Oracle,MySQL,informix,Sybase,DB2,access等数据库应用系统进行渗透测试。
(3)应用系统测试
对渗透目标提供的各种应用,如ASP,CGI,JSP,PHP等组成的WWW应用进行渗透测试。
(4)网络设备渗透
各种防火墙,入侵检测系统,路由器,交换机等网络设备进行渗透测试。
3、根据位置分类
(1)内网渗透
模拟客户内部违规操作者的行为,在内网对目标进行渗透测试
(2)外网渗透
模拟对内部状态一无所知的攻击者的行为(包括对网络设备的远程攻击,口令管理安全测试,防火墙规则试探和规避,web及其他开放应用服务的安全测试等),从外网对目标进行渗透测试。
4、针对Web服务体系架构的渗透测试
(1)服务器渗透测试
对服务器自身的安全性(如操作系统、数据库是否存在弱口令等)进行检测。
(2)中间件渗透测试
对Apache. lI、Tomcat. Nginx等Web中间件的漏洞(如配置缺陷、文件解析、反序列化漏洞等)进行检测。
(3)Web应用渗透测试
对CMS、Blog等Web应用程序的漏洞(如SQL注入、XSS、CSRF、文件上传与解析、文件包含、命令执行等)进行检测。
(4)业务逻辑渗透测试
对业务逻辑安全性(如验证逻辑问题、会话管理问题、权限控制问题等)进行检测。
part 2 渗透测试流程
1、前期交互
(1)进行交互讨论,确定渗透测试的范围、目标、限制条件以及服务合同细节。
2、情报搜集
信息收集
项目分析
3、威胁建模(此步最考验实力、经验、实际逻辑)
制定方案、实施渗透
权限提升、内部渗透
4、漏洞分析
信息汇总、整体分析
5、漏洞攻击
项目汇总、总结结果
6、后渗透(逻辑上的步骤)
渗透测试 、报告输出
7、报告
提出安全、解决建议