渗透测试基础

一、渗透测试概述

渗透测试(Penetration Testing),是一种通过模拟恶意攻击者的技术与方法,挫败目标系统安全控制措施,取得访问控制权,并发现具备业务影响后果安全隐患的一种安全测试与评估方法。 

简单来说,渗透测试就是通过各种手段对目标进行一次渗透(攻击),通过渗透来测试目标的安全防护能力和安全防范意识。

 

渗透过程最主要的底层基础是目标系统中存在安全漏洞(指信息系统中存在的缺陷或不适当的配置,他们可使攻击者在未授权情况下访问或破坏系统,导致信息系统面临安全风险)。

利用安全漏洞来造成入侵或破坏效果的程序就称为渗透代码(Exploit),简称exp,或者漏洞利用代码。

POC:可以理解为漏洞的利用程序。

RCE:远程命令执行。

BUG:不正确的配置导致的错误。

二、渗透测试分类

1.黑盒测试(Black-box Testing)

黑盒测试也称为外部测试(External Testing)。

采用这种方式时,渗透测试者将从一个远程网络位置来评估目标网络基础设施,并没有任何目标网络内部拓扑等相关信息。他们完全模拟真实网络环境中的外部攻击者,采用流行的攻击技术与工具,有组织、有步骤地对目标进行逐步渗透和入侵,揭示目标网络中一些已知或未知的安全漏洞,并评估这些漏洞能否被利用,以获取控制权或者操作业务造成资产损失等。

黑盒测试的缺点是测试较为费事费力,同时需要渗透测试者具备较高的技术能力;优点在于,这种类型的测试更有利于挖掘出系统潜在的漏洞,以及脆弱环节和薄弱点等。

2.白盒测试(White-box Testing)

白盒测试也称为内部测试(Internal Testing)。进行白盒测试的测试者可以了解到关于目标环境的所有内部和底层信息。这可以让渗透测试人员以最小的代价发现和验证系统中最严重的漏洞。白盒测试的实施流程与黑盒测试类似,不同之处在于无须进行目标定位和情报收集。渗透测试人员可以通过正常渠道从被测试机构取得各种资料,如网络拓扑、员工资料甚至网站程序的代码片段等,也可以和单位其他员工进行面对面沟通。

白盒测试的缺点是无法有效地测试客户组织的应急响应程序,也无法判断出他们的安全防护计划对特定攻击的检测效率;优点在于,发现和解决安全漏洞所花费的时间和代价要比黑盒测试少很多。

3.灰盒测试(Grey-box Testing)

灰盒测试是白盒测试和黑盒测试基本类型的组合,它提供对目标更加深入和全面的安全审查。组合之后的好处就是能够同时发挥这两种渗透测试方法的优势。在采用灰盒测试方法的外部渗透攻击场景中,渗透测试者也类似地需要从外部逐步渗透进目标网络,但它所拥有的目标网络底层拓扑与框架将有助于更好的选择攻击途径与方法,从而达到更好的渗透测试效果。

三、渗透测试目标分类

1.主机操作系统渗透

对Windows、Solaris、AIX、Linux、SCO、SGI等操作系统本身进行渗透测试。

2.数据库系统渗透

对MS-SQL、Oracle、MySql、Informix、Sybase、DB2、Access等数据库应用系统进行渗透测试。

3.应用系统渗透

对渗透目标提供的各种应用,如ASP、CGL、JSP、PHP等组成的WWW应用进行渗透测试。

4.网络设备渗透

对各种防火墙、入侵检测系统、网络设备进行渗透测试。

四、渗透测试环节

1.前期交互阶段(Pre-Engagement Interaction)

在前期交互阶段,渗透测试团队与客户组织进行交互讨论,最重要的是确定渗透的范围、目标、限制条件以及服务合同细节。

该阶段通常涉及收集客户需求、准备测试计划、定义测试范围与边界(ip、域名、内网外网,是否提供测试账号等)、定义业务目标、项目管理与规划等活动。

2.情报搜集阶段(Information-Gathering)

ip、网段、域名、端口、操作系统版本、服务信息、人员信息、旁站……

在目标范围确定之后,将进入情报搜集阶段,渗透测试团队可以利用各种信息来源与搜集技术方法,尝试获取更多关于目标组织网络拓扑、系统设置与安全防御措施的信息。

渗透测试者可以使用的情报搜集方法包括公开来源信息查询、Google(谷歌语法)、Hacking、社会工程学、网络踩点、扫描探测、被动监听、服务查点等。而对目标系统的情报探查能力是渗透测试者一项非常重要的技能,情报搜集是否充分在很大程度上决定了渗透测试的成败,因为如果你遗漏关键的情报信息,你将可能在后面的阶段里一无所获。

3.威胁建模阶段(Threat Modeling)

在搜集到充分的情报信息之后,渗透测试人员针对获取的信息进行威胁建模与攻击规划。这是渗透测试过程中非常重要的。

头脑风暴。从大量的信息情报中理清头绪。确定出最可行的攻击通道。

4.漏洞分析阶段(Vulnerability Analysis)

在确定出最可行的攻击通道之后,接下来需要考虑如何取得目标系统的访问控制权。

特别关注安全漏洞扫描结果、服务查点信息等。

5.渗透攻击阶段(Exploitation) 

渗透攻击是渗透测试过程中最具魅力的环节。渗透测试团队利用他们所找出的目标系统安全漏洞,来真正入侵系统当中,获取访问控制权。

6.后渗透攻击阶段(Post Exploitation)

权限维持

内网渗透(横向移动)

7.报告阶段(Reporting)

渗透测试过程最终向客户组织提交,取得认可并成功获得合同付款的就是一份渗透测试报告。这份报告凝聚了之前所有阶段之中渗透测试团队所获取的关键情报信息、探测和发掘出的系统安全漏洞、成功渗透攻击的过程,以及造成业务影响后果的攻击途径,同时还要站在防御者的角度上,帮助他们分析安全防御体系中的薄弱环节、存在的问题,以及修补与升级技术方案。

五、渗透测试工具

Metasploit

是一个开源的渗透测试框架软件,也是一个逐步发展成熟的漏洞研究与渗透代码开发平台,此外也将成为支持整个渗透测试过程的安全技术集成开发与应用环境。

Metasploit中的专业术语

1.Exploit(渗透攻击):渗透攻击是指由攻击者或渗透测试者利用一个系统、应用或服务中的安全漏洞,所进行的攻击行为。流行的渗透攻击技术包括缓冲区溢出、WEB应用程序漏洞攻击(例如:SQL注入、XSS等),以及利用配置错误等。
2.Payload(攻击载荷):攻击载荷是我们期望目标系统在被渗透攻击之后去执行的代码在Metasploit框架中可以自由地选择、传送和植入。
3.ShellCode:ShellCode是渗透攻击时作为攻击载荷运行的一组机器指令。ShellCode通常用汇编语言编写。
4.Module(模块):在Metasploit中一个模块是指Metasploit框架中所使用的一段软件代码组件。
5.Listener(监听器):监听器是Metasploit中用来等待接入网络连接主机的组件。

 

 

 

 

  • 14
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
渗透测试基础教程pdf是一本介绍渗透测试基础知识和技术的电子书。渗透测试是一种授权的攻击行为,通过模拟黑客的攻击方法和技术来评估计算机系统和网络的安全性。这本教程从渗透测试的概念入手,详细介绍了渗透测试的步骤、工具和技术。 首先,教程介绍了渗透测试的目的和重要性。渗透测试可以帮助组织发现系统和网络中的潜在安全漏洞,并提供相应的修复方案,从而提高系统和网络的安全性。 其次,教程详细介绍了渗透测试的步骤。这包括信息搜集、漏洞扫描、漏洞利用、权限提升、数据获取和覆盖痕迹等步骤。每个步骤都有详细的说明和示例,使读者能够掌握实际操作技巧。 此外,教程还介绍了常用的渗透测试工具和技术。比如,教程提到了Nmap、Metasploit、Burp Suite等常见的渗透测试工具,以及常见的漏洞利用技术,如SQL注入、XSS攻击等。读者可以通过学习这些工具和技术,更好地理解渗透测试的原理和实践。 最后,教程还提供了一些渗透测试的实战案例,帮助读者将所学知识应用到实际场景中。这些案例涉及不同类型的系统和网络,涉及不同的攻击方法和技术,读者可以通过实践提升渗透测试的技能和经验。 总的来说,渗透测试基础教程pdf是一本全面介绍渗透测试的教材。通过学习这本教程,读者可以获得渗透测试基础知识,了解渗透测试的步骤和工具,掌握渗透测试的技术和实践。这对于安全从业人员和系统管理员来说都是一本非常有价值的参考书。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值