文章目录
1.1 什么是渗透测试
渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种安全测试与评估方法。
黑盒测试(Black-box Testing):
又称外部测试(External Testing)。渗透测试者从一个远程网络位置来评估目标网络基础设施,并没有任何目标网络内部拓扑结构等相关信息。
优点:
(1)更有利于挖掘出系统潜在的漏洞以及脆弱环节和薄弱点等。
缺点:
(1)测试较为费时和费力。
(2)需要渗透测试者具备较高的技术能力。
白盒测试(White-box Testing):
又称内部测试(Internal Testing)。渗透测试者可以了解到关于目标环境的所有内部和底层信息。
优点:
(1)发现和解决安全漏洞所花费的时间和代价比黑盒测试少很多。
缺点:
(1)无法有效地测试客户组织的应急程序响应程序。
(2)无法判断出他们的安全防护计划对特定攻击的检测效率。
灰盒测试(Grey-box Testing):
白盒测试和黑盒测试基本类型的组合,它可以提供对目标系统更加深入全面的安全审计。
优点:能够同时发挥这两种渗透测试方法的优势。
1.2 渗透测试流程
这里共包括五个阶段:
(1)前期交互
渗透测试前,渗透测试者需要与渗透测试目标、渗透测试范围、渗透测试方式、服务合同等细节进行商议,以达成一致协议。
(2)信息收集
渗透测试者需要使用各种公开的资源尽可能地获取与测试目标相关的信息。收集的信息越充分,对渗透测试越有利,成功率也会提高。
(3)漏洞扫描
渗透测试者通过网络对目标系统进行探测,向目标系统发送数据,并将反馈数据与自带的漏洞特征库进行匹配,进而列举出目标系统上存在的安全漏洞。
(4)漏洞利用
渗透测试者发现漏洞后,就可以使用已有的漏洞利用程序对目标主机进行渗透。同时也需要考虑对目标系统安全机制的逃逸,从而避免让目标系统发现。
(5)编写报告
完成渗透测试后,需要对渗透测试编写测试报告。其中应包括获取到的各种有价值的信息、探测和挖掘出来的安全漏洞、成功攻击过程及对业务造成的影响和后果分析等,以及目标主句中存在的漏洞及漏洞的修补方法。
1.3 Kali Linux系统概述
Kali Linux是一个基于Debian的Linux发行版,其中包括很多安全和取证相关的工具。它是由Offensive Security Ltd维护和资助,最先由Offensive Security的MatiAharoni和DevonKearns通过重写Back Track来完成。而Back Track是基于 Ubuntu的Linux发行版。
使用Kali Linux的原因:
(1)工具仓库
Kali Linux系统中提供了一个强大的工具仓库,而且预装了许多渗透测试软件。这使得使用Kali Linux进行渗透测试更加快速方便。
(2)不断更新
系统更新速度快,无需用户手动更新。每三个月更新稳定版本,同时还有周更新版本。
Kali Linux发展史:
(1)前身Back Track Linux
Back Track Linux是一套专业的计算机安全监测Linux操作系统,简称BT。其中众多RFID工具支持ARM平台。目前,Back Track Linux已被Kali Linux取代,不再维护。
(2)历史版本
Kali Linux发布至今共有四个版本代号,即moto、kali、sana、kali-rolling。每个版本代号都代表Kali Linux的不同版本,用户通过修改软件源中的版本代号,更新到对应版本的系统。
(3)当前版本
目前,Kali Linux的最新版本为2021.3。
1.4 法律边界
在进行渗透测试前,必须要获得准确的书面授权,否则就有可能会去免费享用国家饭。
获取合法授权:
以下列举几条与渗透测试相关的法律条文:
(1)违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。
(2)违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。
(3)提供专门用于侵入、非法控制计算机信息系统的程序、工具,或者明知他人实施侵入、非法控制计算机信息系统的违法犯罪行为而为其提供程序、工具,情节严重的,依照前款的规定处罚。
(4)违反国家规定,对计算机信息系统中存储、处理或者传输的数据和应用程序进行删除、修改、增加的操作,后果严重的,依照前款的规定处罚。
(5)故意制作、传播计算机病毒等破坏性程序,影响计算机系统正常运行,后果严重的,依照第一款的规定处罚。
部分操作的危害性:
渗透测试者在渗透测试前必须要以正式的方式告诉目标主机所有者渗透测试可能造成的影响,并要求对方确认。
(1)占用系统资源
渗透测试过程中,部分操作会占用大量的系统资源。DOS攻击、暴力破解操作、网络端口扫描等。
(2)留下后门
渗透测试在利用漏洞实施攻击后,可能会留下后面,需要及时清理后门,以免被他人利用。