一、关于安全
1、安全问题的根源:
1)、分层思想,这个分层包括网络分层和软件分层等,分层可以将大的问题划分为不同的层次,层次与层次之间通过一定的接口标准进行信息交换,从而将一个大问题拆分开来由不同层次的模块去实现扩展。
· 从功能实现的角度看,分层是很方便高效的。
· 从系统安全的角度看,不同层次由不同的人去负责,每个人的眼光具有局限性,无法意识到其他层次的安全问题。
· 系统安全要保证完全的安全,任何一点的漏洞都有可能导致系统崩溃,所以要全面地考虑系统安全。
2)、只追求功能的实现,很多技术人员只追求功能的实现而不从安全的角度设计架构软件。
3)、最大的安全威胁是人,只要有人,就会或多或少出现纰漏,让不法分子有机可乘。
2、安全目标:安全人员在保护系统安全时要实现的目标。
1)、先于×××者发现和防止漏洞出现:
· ×××型安全:用×××的手段(×××测试)探测系统的漏洞,再去修补他。
· 防护型安全:将不必要的端口关闭,将系统的×××面降到最低。但这样周期长,投入多,效果不好,因为总有没有防护到的地方。
2)、在保护系统安全时要充分从×××型安全和防护型安全的角度去考虑。
二、×××测试
1、用×××的手段*系统,尝试绕过或打败安全防御机制,发现系统的弱点。
2、×××测试者应不断证明安全问题的存在,不能去破坏系统。
3、×××测试者就是白帽子,白帽子和黑帽子拥有相同的技能,只是用的地方不一样,一个用于守护,一个用于破坏。
· ×××测试和×××的区别在于是否取得目标公司的授权。
4、×××测试标准:简称PETS(详见:http://www.pentest-standard.org),他将×××测试的流程做了一个划分。
1)、前期交互阶段:和客户进行前期沟通。
· 确定×××测试的范围:将大系统划分为一个个子系统(包括系统内所有的设备系统软件)分别去×××测试。
· 确定测试方式:现场测试,远程测试,是否使用社会工程学的手段配合,是否进行直接的DDoS×××型的测试。
· 确定×××投入:花费多少时间,人力。
2)、情报搜集阶段:对目标系统进行信息搜集。
· 被动信息搜集(不与目标系统进行直接交互):邮箱地址,联系人,公司地址,DNS信息,服务器的IP,网站的域名,近期公司动态等。
· 主动信息搜集(对目标系统进行主动探测):主机发现,端口发现,服务发现等。
· 通过搜索引擎和扫描进行情报收集。
3)、威胁建模阶段:通过前期的情报搜集已经对系统有了大概的认识,然后分析情报选取效率最高(用时最短,威胁最大)的手段进行×××测试。
4)、漏洞分析阶段:根据情报分析漏洞。
· 目标服务器版本是否过低,是否有已经公开的漏洞。
· 对一些组件进行逆向分析,发现0day,编写具有针对性的×××脚本。
5)、××××××阶段:漏洞分析完毕后,对漏洞进行××××××,这时候会遇到各种安全防护机制,要想办法绕过防护机制,进入系统拿到权限。
6)、后×××测试阶段:拿到一台服务器的权限后,要继续利用这台服务器向内网×××,想办法控制更多的服务器造成更大的威胁。
7)、×××测试报告:×××人员将漏洞的发现利用到控制整个服务器的过程记录成报告,并附上漏洞的修补方法,提交给目标公司的领导层。
5、×××测试误区:扫描器就是一切。
· 扫描器只能找到技术型的漏洞,对于业务逻辑漏洞无能为力,业务逻辑漏洞需要×××测试人员根据公司的业务逻辑寻找。
Kali linux概述
一、关于kali linux
1、Kali的缘由:
image.png
2、kali linux介绍:
1)、基于Debian的Linux发行版本。
2)、前身是BackTrack(最后更新版本是5.23,之后停止更新),2013年3月发布。
3)、用于×××测试和安全审计。
4)