Kali Linux渗透测试介绍
安全问题的根源
优点:分工明确,工作效率高。(把大问题简化成易于解决的小问题)
缺点:从业人员对系统没有整体的认识,对安全认识较为片面。(搞技术的为了提高工作效率,只追求功能实现, 很少能在实现功能后考虑到安全性)
最大威胁是人,人都会犯错,安全问题不能100%绝对根除。【没有片面和单一的安全!!!】
安全目标
安全没有 100%,只能通过积极对策降低风险
先于攻击者发现和防止漏洞出现
攻击型:以攻击者的思维发现漏洞,攻击系统,提前发现并修补好漏洞。
防护型:投入巨大,周期长,会有遗漏,不够全面,收效不高。
渗透测试
尝试破解系统防御机制,发现系统弱点
从攻击者的角度思考,测量安全防护的有效性
证明问题存在,而不是破坏【用一个漏洞找到更大的漏洞,让企业明白安全问题的重要性】
道德约束、遵守法律
不局限于一台机器出现的问题,而着眼漏洞对整个系统的影响与危害
渗透测试标准
PETS (http://www.pentest-standard.org)
【准备】前期交互
(客户沟通,确定渗透测试范围,对应用系统渗透任务划分,包括支撑整个系统的各种软件组件,如果系统太大,可以分为几个子系统。确定测试方法。一般不包括社工与 ddos。)
情报收集
(收集目标系统信息,被动收集与主动探测,邮箱地址,联系人,公司地址,dns,服务器地址,域名等等。还有一部分主动信息收集,对系统端口发现,端口服务发现,用于下一阶段。有一个轮廓性的认识。)
威胁建模
(根据收集到的信息,确定最有效,最有可能成功的攻击途径。先看服务器有没有已经有公开的漏洞。然后看软件逆向工程有没有 0day,编写一些漏洞的攻击代码。)
漏洞分析
(通过系统软件版本分析,系统应用漏洞分析写出漏洞利用代码)
【实战】渗透攻击阶段
(并不像想象中那么顺利,目标系统有防护系统。在真实环境中如果以前的发现不可以用,可以重复进行前几个阶段)
后渗透测试阶段
(以一台被渗透机器为跳板,进一步渗透整个系统。拿下一台服务器以后还要考虑是否可能进行下一步渗透,特别是其他外联到内网的不太安全的区域,被控制可能导致十分严重的后果,比如控制一台服务器后,工作并没有结束,你要向客户证明,通过这一台服务器你可以获得更多信息,大部分白帽子缺少该部分。)
渗透测试报告
(向客户和其他同事证明系统可以被控制,描述发现、利用过程,以及如何解决)
渗透测试项目
测试范围(整个应用系统)
获得客户授权(允许攻击还是只是渗透都取决于客户的授权,韩国对未授权网络扫描就是违法行为。)
渗透测试方法
u 是否允许社会工程学攻击
u 是否允许DOS攻击
渗透测试误区
扫描器就是一切(不能忽略业务逻辑的漏洞。自动化技术扫描工具有他的适用范围,对业务逻辑的漏洞也是无能为力。扫描器是辅助工具,只能用于解决技术层面的漏洞问题,对于如访问权限的控制这样逻辑方面的问题无能为力。高手是可以不用扫描器的。所有的自动化的扫描器对于业务逻辑层面的漏洞完全无能为力,比如系统分经理和员工两个层面,但是员工用户可以拥有经理层面的操作时候,就是业务逻辑层面的漏洞,只能发现一些技术漏洞。)
KALI
字面意思“黑色”,音译“咖利”,印度神话中最为黑暗和暴虐的黑色地母。
Kali Linux中的Kali用意估计取自“黑色”的意思。
Kali Linux
基于Debian的发行版本,在其基础上添加了许多信息安全工具,用于渗透测试和安全审计
所有Linux发行版本都遵循的FHS标准目录结构(BT pentest目录中工具分类困难,工具难以更新)
定制内核(主要解决无线渗透测试出现各种错误的问题)
支持ARM、手机平台(NetHunter)
Open Source Free-Offensive Security
Kali Linux策略
Root用户策略(不同于普通Linux系统小心翼翼的使用方式,官方提倡用 root 账号。)
网络服务策略(默认关闭所有网络服务,自启动脚本默认关闭,不会自动执行。但是可以通过命令启动)update.rc -d 服务(自动启动的命令)
更新升级策略(Debian 更新可以同步,安全工具更新则是 Kali 官方维护。)
实践是最好的老师,Kali很强大,但不是全部。这只是关于渗透测试的起点。