渗透测试
渗透测试的起源:20世纪90年代,美国军方与国家安全局将军事演习中的“蓝军“”红军”攻防体系引入信息安全领域,信息网络与信息安全基础设施的攻防测试领域慢慢发展起来。
定义:渗透测试并不存在标准的定义,可理解为一种模拟恶意攻击者的技术与方法,挫败目标系统安全控制措施,取得访问控制权,并发现并具备业务影响后果安全隐患的一种安全测试与评估方式
职位:渗透测试工程师、网络安全工程师、黑客等等
黑客的常见产业链:挖洞:挖漏洞,寻找系统弱点/攻击点;抓肉鸡:控制活动的有漏洞、终端设备,DDOS攻击、挖矿;黑网站:获取利益、挂广告。
渗透测试的必要性
为什么要进行渗透测试
1.新系统可能存在未知的安全风险,要做到未雨绸缪而不是亡羊补牢;
2.经过专业的渗透测试后,即使系统未被攻破,也可以此证明先前实行的防御是有效的
3.专业的渗透测试可以有效评估系统的安全状况,并提出合理的改进方案。
渗透测试的目的:侵入系统获取机密信息,并将入侵的过程和细节产生报告提供给用户,由此确定用户系统存在的威胁,并能提醒安全管理员完善安全策略,降低安全风险。
原则
渗透测试过程中的最大风险:测试过程中对业务产生影响。渗透测试是一个渐进的并且逐步深入的过程;沉头测试是选择不影响业务系统正常运行方式的攻击方法进行的测试。
合规性:符合规范和法律要求也是执行渗透测试业务的一个必要条件(渗透测试也必须使用一些符合规范审核后的工具)。
与APT的不同
目的不同:渗透测试的目的是评估计算机网络系统的安全性。渗透测试打你是为了看你哪里有不足,让你改正,防范真的有人要打你。
APT的目的是对高价值目标进行有组织、长期持续性的控制。APT打你就是为了在你那儿捞好处,恶意地控制你。
手段方法不同:渗透测试通过被允许的行为模拟黑客攻击来对目标系统进行测试。
APT利用任何各种高技术手段(包括0day漏洞、水坑攻击、鱼叉攻击等)进行攻击,无所不用其极
结果不同:渗透测试提高了目标系统的安全级别
APT在达成目的的过程中一般会给目标系统带来严重损失
渗透测试的分类:黑白灰盒
黑盒测试:对渗透攻击目标内部拓扑一无所知,完全模拟真实黑客有组织有步骤的渗透入侵过程。
特点:花费时间长;渗透测试者需要较高的技术能力;更加受到推崇
白盒测试:对渗透攻击目标网络非常了解,以最小的代价进行系统安全探测。
特点:节省时间;无法有效地测试客户的内部安全应急响应程序。
灰盒测试:二者之综合,结合黑白两盒的特点。
渗透测试的目标分类
主机操作系统:对Windows、Solaris、Aix、Linux等操作系统本身进行渗透测试
数据库系统:对MS-SQL、Oracle、MySQL、Access等数据库应用系统进行渗透测试
应用系统:对渗透目标提供的各种应用,如ASP、PHP等组成的WWW应用进行渗透测试。
网络设备:对各种防火墙、入侵检测系统、路由器、交换机等网络设备进行渗透测试。
渗透测试的位置分类
内网渗透:模拟客户内部违规操作者行为,已经进入了目标系统的内部网络,在内网中对目标进行渗透测试。更多相关知识可见下方文章链接
blog.csdn.net/sj349781478/article/details/113789717
blog.csdn.net/qq_45927266/article/details/121398072
外网渗透:模拟对内部状态一无所知的外部攻击者的行为(包括对网络设备的远程攻击、口令管理、安全性测试、防火墙规则试探与规避、web以及其他开放应用服务的安全性测试等),从外网对目标进行渗透测试。
https://blog.csdn.net/qq_53079406/article/details/130213549
针对WEB服务体系架构的渗透测试
服务器渗透测试:对服务器自身的安全性(如操作系统、数据库是否存在弱口令等进行检测)。
中间件渗透测试:对IIS、Tomcat、Ngnix、 Apache(第一个Window用的多些,第二个java开发用的多,后两者Linux用的多些)等web中间件的漏洞(如配置缺陷、文件解析、反序列化漏洞等)进行检测。
web应用渗透测试:对CMS、Blog等Web应用程序的漏洞(如SQL注入、XSS,CSRF、文件上传与解析、文件包含、命令执行等)进行检测。
业务逻辑渗透测试:对业务逻辑安全性(如验证逻辑问题、会话管理问题、权限控制问题)进行检测。
标准
安全测试方法学习开源手册(OSSTMM)
NISP SP800-42网络安全测试指南
OWASP十大WEB应用安全威胁项目
WEB安全威胁分类标准(WASC-TC)
渗透测试执行标准PTES
渗透测试流程
见我的另一篇文章:blog.csdn.net/Yisitelz/article/details/131974269
关于安全漏洞
定义:安全漏洞指信息系统中存在的缺陷或不适当的配置,可使攻击者在未授权情况下访问或破坏系统,导致信息系统面临安全风险。
渗透代码指利用安全漏洞来造成入侵或破坏效果的程序。
生命周期:
安全漏洞研究与挖掘;
渗透代码开发与测试;
安全漏洞和渗透代码在封闭团队中流传;
安全漏洞和渗透代码开始扩散;
恶意程序出现并开始传播;
渗透代码/恶意程序大规模传播并危害互联网;
渗透攻击代码/攻击工具/恶意程序逐渐消亡;
0day:从安全漏洞被发现到厂商发布补丁程序用于修补该漏洞之间的期间,称之为0day,漏洞在0day期间,攻击存在该安全漏洞的目标成功率可达100%。
详情可见blog.csdn.net/xianjie0318/article/details/81508599
披露方式:完全公开披露;负责人的公开披露;进入黑客产业链
安全漏洞公共资源库:CNNVD中国国家漏洞库www.cnnvd.org.cn
CNVD:中国国家信息安全漏洞平台www.cnvd.org.cn
乌云安全漏洞报告组织www.wooyun.org
SCAP中文社区www.scap.org
漏洞银行www.bugbank.cn
阿里巴巴安全响应中心security.alibaba.com
i春秋www.ichunqiu.com/src
渗透测试工具
Kali (神器必备)
Metasploit Framework(也是神器)
各种零散黑客工具,常见的有网络论坛中流传的工具(不安全)