网管必知 渗透测试中的攻击与防守
来源:Net作者:Net 发布时间:2008-04-20
阅读次数
渗透测试(penetration test)是完全模拟黑客可能使用De攻击技术和漏洞发现技术,对目标系统De安全做深入De探测,发现系统最脆弱De环节.渗透测试能够直观De让管理人员知道自己网络所面临De问题. 实际上 ...
渗透测试(penetration test)是完全模拟黑客可能使用De攻击技术和漏洞发现技术,对目标系统De安全做深入De探测,发现系统最脆弱De环节.渗透测试能够直观De让管理人员知道自己网络所面临De问题.
实际上渗透测试并没有严格De分类方式,即使在软件开发生命周期中,也包含了渗透测试De环节:
但根据实际应用,普遍认同De几种分类方法如下:
根据渗透方法分类
黑箱测试
黑箱测试又被称为所谓De“zero-knowledge testing”,渗透者完全处于对系统一无所知De状态,通常这类型测试,最初De信息获取来自于dns、web、email及各种公开对外De服务器.
白盒测试
白盒测试与黑箱测试恰恰相反,测试者可以通过正常渠道向被测单位取得各种资料,包括网络拓扑、员工资料甚至网站或其它程序De代码片断,也能够与单位De其它员工(销售、程序员、管理者……)进行面对面De沟通.这类测试De目De是模拟企业内部雇员De越权操作.
隐秘测试
隐秘测试是对被测单位而言De,通常情况下,接受渗透测试De单位网络管理部门会收到通知:在某些时段进行测试.因此能够监测网络中出现De变化.但隐秘测试则被测单位也仅有极少数人知晓测试De存在,因此能够有效地检验单位中De信息安全事件监控、响应、恢复做得是否到位.
根据渗透目标分类
主机操作系统渗透
对windows、solaris、aix、linux、sco、sgi等操作系统本身进行渗透测试.
数据库系统渗透
对ms-sql、oracle、mysql、informix、sybase、db2等数据库应用系统进行渗透测试.
应用系统渗透
对渗透目标提供De各种应用,如asp、cgi、jsp、php等组成Dewww应用进行渗透测试.
网络设备渗透
对各种防火墙、入侵检测系统、网络设备进行渗透测试.
从攻方视角看渗透
攻方既包括了潜在De黑客、入侵者,也可能是经过企业授权De安全专家.在很多黑客De视角中,世界上永远没有不可能渗透De目标,差别仅在时间和耐性上.
目前我们仅仅从授权渗透De角度来讨论渗透测试De攻击路径及可能采用De技术手段.
测试目标不同,涉及需要采用De技术也会有一定差异,因此下面简单说明在不同位置可能采用De技术.
内网测试
内网测试指De是渗透测试人员由内部网络发起测试,这类测试能够模拟企业内部违规操作者De行为.最主要De“优势”是绕过了防火墙De保护.内部主要可能采用De渗透方式:远程缓冲区溢出,口令猜测,以及b/s或c/s应用程序测试(如果涉及c/s程序测试,需要提前准备相关客户端软件供测试使用). 外网测试
外网测试指De是渗透测试人员完全处于外部网络(例如拨号、adsl或外部光纤),模拟对内部状态一无所知De外部攻击者De行为.包括对网络设备De远程攻击,口令管理安全性测试,防火墙规则试探、规避,web及其它开放应用服务De安全性测试.
不同网段/vlan之间De渗透
这种渗透方式是从某内/外部网段,尝试对另一网段/vlan进行渗透.这类测试通常可能用到De技术包括:对网络设备De远程攻击;对防火墙De远程攻击或规则探测、规避尝试.渗透测试De流程图如图2所示.
信息De收集和分析伴随着每一个渗透测试步骤,每一个步骤又有三个组成部分:操作、响应和结果分析.
端口扫描
通过对目标地址Detcp/udp端口扫描,确定其所开放De服务De数量和类型,这是所有渗透测试De基础.通过端口扫描,可以基本确定一个系统De基本信息,结合安全工程师De经验可以确定其可能存在,以及被利用De安全弱点,为进行深层次De渗透提供依据.
远程溢出
这是当前出现De频率最高、威胁最严重,同时又是最容易实现De一种渗透方法,一个具有一般网络知识De入侵者就可以在很短De时间内利用现成De工具实现远程溢出攻击.
对于防火墙内De系统同样存在这样De风险,只要对跨接防火墙内外De一台主机攻击成功,那么通过这台主机对防火墙内De主机进行攻击就易如反掌.
口令猜测
口令猜测也是一种出现概率很高De风险,几乎不需要任何攻击工具,利用一个简单De暴力攻击程序和一个比较完善De字典,就可以猜测口令.
对一个系统账号De猜测通常包括两个方面:首先是对用户名De猜测,其次是对密码De猜测.
本地溢出
所谓本地溢出是指在拥有了一个普通用户De账号之后,通过一段特殊De指令代码获得管理员权限De方法.使用本地溢出De前提是首先要获得一个普通用户密码.也就是说由于导致本地溢出De一个关键条件是设置不当De密码策略.
多年De实践证明,在经过前期De口令猜测阶段获取De普通账号登录系统之后,对系统实施本地溢出攻击,就能获取不进行主动安全防御De系统De控制管理权限.
脚本及应用测试
web脚本及应用测试专门针对web及数据库服务器进行.根据最新De技术统计,脚本安全弱点为当前web系统,尤其是存在动态内容Deweb系统比较严重De安全弱点之一.利用脚本相关弱点轻则可以获取系统其他目录De访问权限,重则将有可能取得系统De控制权限.因此对于含有动态页面Deweb、数据库等系统,web脚本及应用测试将是必不可少De一个环节.在web脚本及应用测试中,可能需要检查De部份包括: ◆检查应用系统架构,防止用户绕过系统直接修改数据库;
◆检查身份认证模块,用以防止非法用户绕过身份认证;
◆检查数据库接口模块,用以防止用户获取系统权限;
◆检查文件接口模块,防止用户获取系统文件;
实际上渗透测试并没有严格De分类方式,即使在软件开发生命周期中,也包含了渗透测试De环节:
但根据实际应用,普遍认同De几种分类方法如下:
根据渗透方法分类
黑箱测试
黑箱测试又被称为所谓De“zero-knowledge testing”,渗透者完全处于对系统一无所知De状态,通常这类型测试,最初De信息获取来自于dns、web、email及各种公开对外De服务器.
白盒测试
白盒测试与黑箱测试恰恰相反,测试者可以通过正常渠道向被测单位取得各种资料,包括网络拓扑、员工资料甚至网站或其它程序De代码片断,也能够与单位De其它员工(销售、程序员、管理者……)进行面对面De沟通.这类测试De目De是模拟企业内部雇员De越权操作.
隐秘测试
隐秘测试是对被测单位而言De,通常情况下,接受渗透测试De单位网络管理部门会收到通知:在某些时段进行测试.因此能够监测网络中出现De变化.但隐秘测试则被测单位也仅有极少数人知晓测试De存在,因此能够有效地检验单位中De信息安全事件监控、响应、恢复做得是否到位.
根据渗透目标分类
主机操作系统渗透
对windows、solaris、aix、linux、sco、sgi等操作系统本身进行渗透测试.
数据库系统渗透
对ms-sql、oracle、mysql、informix、sybase、db2等数据库应用系统进行渗透测试.
应用系统渗透
对渗透目标提供De各种应用,如asp、cgi、jsp、php等组成Dewww应用进行渗透测试.
网络设备渗透
对各种防火墙、入侵检测系统、网络设备进行渗透测试.
从攻方视角看渗透
攻方既包括了潜在De黑客、入侵者,也可能是经过企业授权De安全专家.在很多黑客De视角中,世界上永远没有不可能渗透De目标,差别仅在时间和耐性上.
目前我们仅仅从授权渗透De角度来讨论渗透测试De攻击路径及可能采用De技术手段.
测试目标不同,涉及需要采用De技术也会有一定差异,因此下面简单说明在不同位置可能采用De技术.
内网测试
内网测试指De是渗透测试人员由内部网络发起测试,这类测试能够模拟企业内部违规操作者De行为.最主要De“优势”是绕过了防火墙De保护.内部主要可能采用De渗透方式:远程缓冲区溢出,口令猜测,以及b/s或c/s应用程序测试(如果涉及c/s程序测试,需要提前准备相关客户端软件供测试使用). 外网测试
外网测试指De是渗透测试人员完全处于外部网络(例如拨号、adsl或外部光纤),模拟对内部状态一无所知De外部攻击者De行为.包括对网络设备De远程攻击,口令管理安全性测试,防火墙规则试探、规避,web及其它开放应用服务De安全性测试.
不同网段/vlan之间De渗透
这种渗透方式是从某内/外部网段,尝试对另一网段/vlan进行渗透.这类测试通常可能用到De技术包括:对网络设备De远程攻击;对防火墙De远程攻击或规则探测、规避尝试.渗透测试De流程图如图2所示.
信息De收集和分析伴随着每一个渗透测试步骤,每一个步骤又有三个组成部分:操作、响应和结果分析.
端口扫描
通过对目标地址Detcp/udp端口扫描,确定其所开放De服务De数量和类型,这是所有渗透测试De基础.通过端口扫描,可以基本确定一个系统De基本信息,结合安全工程师De经验可以确定其可能存在,以及被利用De安全弱点,为进行深层次De渗透提供依据.
远程溢出
这是当前出现De频率最高、威胁最严重,同时又是最容易实现De一种渗透方法,一个具有一般网络知识De入侵者就可以在很短De时间内利用现成De工具实现远程溢出攻击.
对于防火墙内De系统同样存在这样De风险,只要对跨接防火墙内外De一台主机攻击成功,那么通过这台主机对防火墙内De主机进行攻击就易如反掌.
口令猜测
口令猜测也是一种出现概率很高De风险,几乎不需要任何攻击工具,利用一个简单De暴力攻击程序和一个比较完善De字典,就可以猜测口令.
对一个系统账号De猜测通常包括两个方面:首先是对用户名De猜测,其次是对密码De猜测.
本地溢出
所谓本地溢出是指在拥有了一个普通用户De账号之后,通过一段特殊De指令代码获得管理员权限De方法.使用本地溢出De前提是首先要获得一个普通用户密码.也就是说由于导致本地溢出De一个关键条件是设置不当De密码策略.
多年De实践证明,在经过前期De口令猜测阶段获取De普通账号登录系统之后,对系统实施本地溢出攻击,就能获取不进行主动安全防御De系统De控制管理权限.
脚本及应用测试
web脚本及应用测试专门针对web及数据库服务器进行.根据最新De技术统计,脚本安全弱点为当前web系统,尤其是存在动态内容Deweb系统比较严重De安全弱点之一.利用脚本相关弱点轻则可以获取系统其他目录De访问权限,重则将有可能取得系统De控制权限.因此对于含有动态页面Deweb、数据库等系统,web脚本及应用测试将是必不可少De一个环节.在web脚本及应用测试中,可能需要检查De部份包括: ◆检查应用系统架构,防止用户绕过系统直接修改数据库;
◆检查身份认证模块,用以防止非法用户绕过身份认证;
◆检查数据库接口模块,用以防止用户获取系统权限;
◆检查文件接口模块,防止用户获取系统文件;
上一篇: 不怕再被盗号-360保险箱热辣试用
下一篇: 新安全技术DRM(数据保护技术)完全解析
关注此文读者还看过
文章关注度排行
