PTEST 渗透测试标准
1:前期交互阶段
在前期交互(Pre-Engagement Interaction)阶段,渗透测试团队与客户组织进行交互讨论,最重要的是确定渗透测试的范围、目标、限制条件以及服务合同细节。该阶段通常涉及收集客户需求、准备测试计划、定义测试范围与边界、定义业务目标、项目管理与规划等活动。
2:情报收集阶段
在目标范围确定之后,将进入情报搜集(Information Gathering)阶段,渗透测试团队可以利用各种信息来源与搜集技术方法,尝试获取更多关于目标组织网络拓扑、系统配置与安全防御措施的信息。
渗透测试者可以使用的情报搜集方法包括公开来源信息查询、Google Hacking、社会工程学、网络踩点、扫描探测、被动监听、服务查点等。而对目标系统的情报探查能力是渗透测试者一项非常重要的技能,情报搜集是否充分在很大程度上决定了渗透测试的成败,因为如果你遗漏关键的情报信息,你将可能在后面的阶段里一无所获。
3:威胁建模阶段
在搜集到充分的情报信息之后,渗透测试团队的成员们停下敲击键盘,大家聚到一起针对获取的信息进行威胁建模(Threat Modeling)与攻击规划。这是渗透测试过程中非常重要,但很容易被忽视的一个关键点。通过团队共同的缜密情报分析与攻击思路头脑风暴,可以从大量的信息情报中理清头绪,确定出最可行的攻击通道。
4:漏洞分析阶段
在确定出最可行的攻击通道之后,接下来需要考虑该如何取得目标系统的访问控制权,即漏洞分析(Vulnerability Analysis)阶段。
在该阶段,渗透测试者需要综合分析前几个阶段获取并汇总的情报信息,特别是安全漏洞扫描结果、服务查点信息等,通过搜索可获取的渗透代码资源,找出可以实施渗透攻击的攻击点,并在实验环境中进行验证。在该阶段,高水平的渗透测试团队还会针对攻击通道上的一些关键系统与服务进行安全漏洞探测与挖掘,期望找出可被利用的未知安全漏洞,并开发出渗透代码,从而打开攻击通道上的关键路径。
5:渗透攻击阶段
渗透攻击(Exploitation)是渗透测试过程中最具有魅力的环节。在此环节中,渗透测试团队需要利用他们所找出的目标系统安全漏洞,来真正入侵系统当中,获得访问控制权。渗透攻击可以利用公开渠道可获取的渗透代码,但一般在实际应用场景中,渗透测试者还需要充分地考虑目标系统特性来定制渗透攻击,并需要挫败目标网络与系统中实施的安全防御措施,才能成功达成渗透目的。在黑盒测试中,渗透测试者还需要考虑对目标系统检测机制的逃逸,从而避免造成目标组织安全响应团队的警觉和发现
6:后渗透攻击阶段
后渗透攻击(Post Exploitation)是整个渗透测试过程中最能够体现渗透测试团队创造力与技术能力的环节。前面的环节可以说都是在按部就班地完成非常普遍的目标,而在这个环节中,需要渗透测试团队根据目标组织的业务经营模式、保护资产形式与安全防御计划的不同特点,自主设计出攻击目标,识别关键基础设施,并寻找客户组织最具价值和尝试安全保护的信息和资产,最终达成能够对客户组织造成最重要业务影响的攻击途径。在不同的渗透测试场景中,这些攻击目标与途径可能是千变万化的,而设置是否准确并且可行,也取决于团队自身的创新意识、知识范畴、实际经验和技术能力。
7:报告阶段
渗透测试过程最终向客户组织提交,取得认可并成功获得合同付款的就是一份渗透测试报告(Reporting)。这份报告凝聚了之前所有阶段之中渗透测试团队所获取的关键情报信息、探测和发掘出的系统安全漏洞、成功渗透攻击的过程,以及造成业务影响后果的攻击途径,同时还要站在防御者的角度上,帮助他们分析安全防御体系中的薄弱环节、存在的问题,以及修补与升级技术方案。
渗透测试的本质
目标资产信息搜集的广度,决定渗透过程的复杂程度。
目标主机信息搜集的深度,决定后渗透权限持续把控。
渗透的本质是信息搜集,而信息搜集整理为后续的情报跟进提供了强大的保证。
持续渗透的本质是线索关联,而线索关联为后续的攻击链方提供了强大的方向。
渗透的本质是权限把控,而权限把控为后渗透提供了以牺牲时间换取空间强大基础。
只要是“一个人”设置的密码“群”,一定有大的规律,只要是“一个行业”设置的密码“群”一定有规律可寻。
渗透的本质是信息搜集,而要把信息搜集发挥最大效果,一定是离不开“线索关联”,而信息搜集,无论是对内,对外,更或者是主动信息搜集,被动信息搜集。如何把目标A与B的信息搜集,整理后做“线索关联”是一个非常有趣的工作。
渗透测试过程,提权是非核心任务,这里也不建议尝试提权,因为在实战过程中获取某个“点”的权限,过程是及其漫长以及困难的,不要因为某个大胆的尝试,而影响了整个渗透测试流程。
由于信息化,自动化的办公,企业成本的考虑,传统的“以点打面”的点会越来越分散与难以集中管理,如跨国办公,移动办公等。那么可预知的攻击方式将会以人为突破口的事越来越多。安全的本质又不能仅仅靠预算与设备的投入而杜绝,尤其是在未来的大型甲方公司,都会有着自己的安全团队,那么如何把网络安全发展成未来甲方公司的企业文化,将会是一个漫长的过程。而近些年无论是国内还是国外的官方部门开始重视网络安全,但是效果不明显。
在大型内网渗透中,尤其是针对办公公机的渗透,需要熟知目标集体或者个人的作息时间,工作时间,文档时间,咖啡时间,或者需要从某些文件中获取对方的真实拍摄地坐标等。那么无疑需要快速的从大量文件中筛选信息诉求。当目标越复杂,文件中的信息搜集就更为重要。如文档作者,技术文章作者,财务文档作者等,熟知在大量人员,获取对方职务,大大减少渗透过程中的无用性,重复性,可见性。与暴露性。而作为公司,应该熟悉相关文档的内置属性,尤其是在共享文件服务器上,删除或者复写敏感信息来降低企业安全风险。企业安全在处理本公司相关敏感文件以及重要文件应做好更多的防范,尤其是重要部门,如研发,财务等。
渗透沉思录
在谈"渗透的沉思"之前,先来解决几个问题。也是这几天邮件以及留言的主要问题之一。
1.刚入门应该学习那一块知识?/安全从业者工作多年感觉心累,知识更新太快,跟不上了,怎么办?
2.是不是应该选择并新学习一个大型渗透框架来做渗透?
3.某项目/某目标渗透没有任何思路了,怎么办?
这三个问题应该是每一个安全从业者在不同的阶段一定会遇到的三个问题。同时笔者曾遇到过4四次瓶颈,也分别与以上大致相同。
网络安全是一个特殊的行业,亦正亦邪。亦又一新兴行业,虽前景可期,但是大多数人都在”摸石头过河“虽前岸可期,却对河水深浅无所知。无论是入门还是工作多年都会遇到特别迷茫期,选择哪个方向,亦或者知识无心更新,网络安全应该选择一个可以“沉淀”下来的方向便是最好的方向,让多年的知识或者技能沉淀下来,形成知识化,体系化,与传递化。最简单的一个例子,笔者应该在2009年写过“针对一流信息拦截系统”的技巧与归纳,回过头看来,这个技术在今天还能用吗?甚至“一流拦截”这个软件都没了。但是能留下来至今依然有用的便是:知识化(对一流拦截的研究总结),体系化(对当时waf等的系统归纳),传递化(文章分享)。我把它简称渗透"三板斧",更像是:学习,归纳,总结,分享的一个完整流程。并非知识太快,并非哪一安全方向领域就一定更有前景,而是这“三板斧”是否完整连接。
渗透测试发展到如今,工具五彩缤纷,框架五颜六色,姿势日益骚奇。知识来源手段源源不断,一会推特,一会小密圈,眼花缭乱,应该怎么去看待?这里笔者先把这个问题放下来,不知大家看没看过《天龙八部》,也借此缅怀金庸先生,在天龙八部中,原著用一百万字在讲述一个非常悲剧的故事,想复仇的得不到复仇,想复国的得不到复国,想复婚的得不到复婚。虚竹呢?又是不忘初心,虽内功与美人竟得,但却再也回不去少林了。刚认父母,便生死相离。8个字概括整个著作便是人生八苦:生苦,老苦,病苦,死苦,怨憎会苦,爱别离苦,求不得苦,五阴炽盛苦。也正是本系列的主旨标题,在扫地僧一集中是这样说道:
少林寺建寺以来,只有达摩祖师一人身兼七十二绝技,由于本寺七十二绝技,每一项都足以置人于死地,所以每一项绝技都要以相应的佛法来化解,只有佛法越高,慈悲之念越盛的高僧,才能练习越多的绝技,否则强行多练只会内伤越重,早晚走火入魔!
同样渗透也一样,并不是强制个人追求工具,框架,姿势来强制推演表面的功力,正如鸠摩智一样,靠小无相功来驱动少林72绝技,最终走火入魔,人走向最后的迷茫。反观乔峰,主要就会那么几招,便震出扫地僧口吐少许鲜血。获取工具/框架/姿势等越多并非是一件好事,当没有自己的知识体系的时候,反而导致知识混乱,体系复杂。当遇上实战场景,不知用哪一招来制胜。混乱一通,权限丢失,踪迹露出。最终一场空。
渗透的沉思非常重要,尤其是在后渗透阶段,需要有着一套非常完整周期计划,思考可能遇到的问题,或者通过已知的信息搜集,来推导可能面临的问题,这就是渗透的沉思。招式不在多,在于精,力道不在狠,在于寸。故本系列并非是仅仅msf教程,仅仅是认为它能让笔者融会贯通,在结合到其它需求,借力发力的去进一步渗透。说到融汇贯通,必须要提到“链”,安全是一个链安全,攻击引入链攻击,后门引入链后门。
渗透的本质是信息搜集,每一次的项目如果碰到迷茫无解的时候,请继续搜集。而信息搜集的本质是渗透的沉思,与线索“链”的关联。每一次真实的攻击演练项目,最难得并非是入侵攻击,也并非是得到域控或最高权限。而是如何把渗透攻击演变成一次对己有利的一个过程。后渗透需要沉淀,而沉淀需要给渗透留下沉思的时间。用“沉思”来化解五彩缤纷的工具,五颜六色的框架,日益骚奇的姿势,当戾气化解时,便形成一套了自我知识体系。
愿每一位读者能找到自己能融合贯通的“武功”,在结合吞噬其他“招式”,如行云流水,石便是器,枝便是剑。
专注APT攻击与防御(转载于) :https://micropoor.blogspot.com/
PTEST 渗透测试标准的更多相关文章
- PETS渗透测试标准总结
国外的标准框架,感觉大部分渗透公司的测试指南都是从这俩借鉴的,正好复习下. 国外渗透测试标准:http://www.pentest-standard.org 渗透测试分为:前期交互,情报搜集,威胁建模 ...
- 全球著名的渗透测试Linux简介
注:如发现链接无法打开,请尝试代理登录链接 1. Kali Linux Kali Linux是基于Debian的Linux发行版, 设计用于数字取证和渗透测试.由Offensive Security ...
- 『安全科普』WEB安全之渗透测试流程
熟悉渗透流程,攻击会像摆积木一样简单! 0x 01:信息收集 收集网站信息对渗透测试非常重要,收集到的信息往往会让你在渗透中获得意外惊喜. 1. 网站结构 可以使用扫描工具扫描目录,主要扫出网站管理员 ...
- Android App渗透测试工具drozer,Qark,Androguard
一. drozer简介 drozer(以前称为Mercury)是一款Android安全测试框架. drozer允许您通过承担应用程序的角色并与Dalvik VM,其他应用程序的IPC端点和底层操作系统 ...
- 渗透测试的理论部分3——ISSAF的详细描述
ISSAF即信息系统安全评估框架(Information Systems Security Assessment Framework)是另外一种开放源代码的安全性测试和安全分析框架.为了解决安全评估工 ...
- 《Metasploit渗透测试魔鬼训练营》第一章读书笔记
第1章 魔鬼训练营--初识Metasploit 20135301 1.1 什么是渗透测试 1.1.1 渗透测试的起源与定义 如果大家对军事感兴趣,会知道各国军队每年都会组织一些军事演习来锻炼军队的攻防 ...
- Kali Linux渗透测试实战 2.2 操作系统指纹识别
目录 2.2 操作系统指纹识别 2.2.1 Banner抓取 2.2.2 TCP 和 ICMP 常规指纹识别技术 TCP数据报格式 ICMP首部格式 TTL与TCP窗口大小 FIN探测 BOGUS f ...
- Kali Linux渗透测试实战 1.3 渗透测试的一般化流程
1.3 渗透测试的一般化流程 凡事预则立,不预则废,做任何事情都要有一个预先的计划.渗透测试作为测试学科的一个分支,早已形成了完整的方法论.在正式开始本书的实践教学章节之前,我也想谈一谈使用Kali ...
- Kali Linux渗透测试实战 1.1 Kali Linux简介
1.1 Kali Linux简介 如果您之前使用过或者了解BackTrack系列Linux的话,那么我只需要简单的说,Kali是BackTrack的升级换代产品,从Kali开始,BackTrack将成 ...
随机推荐
- HTTP的响应码?
响应头对浏览器来说很重要,它说明了响应的真正含义.例如200表示响应成功了,302表示重定向,这说明浏览器需要再发一个新的请求. l 200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览 ...
- Tortoises SVN 教程
1. TortoiseSVN 简介 版本控制是管理信息修改的艺术,它一直是程序员最重要的工具,程序员经常会花时间作出小的修改,然后又在某一天取消了这些修改,想象一下一个开发者并行工作的团队 - 或许 ...
- css 控制li点与文字的距离
ul>li 默认的样式如下 前面的点与文字是有间距的 可见,通过设置 text-indent 属性可以调整li点与文字的距离
- mysqldump免密备份方法
注意:1.暂时只试验了root用户 2.暂时只试验了5.6和5.7两个版本 1.我用的root用户,先进入家目录 cd ~ 2.vim .my.cnf #在家目录添加该文件 [mysqldum ...
- TF Notes (5), GRU in Tensorflow
小筆記. Tensorflow 裡實作的 GRU 跟 Colah's blog 描述的 GRU 有些不太一樣. 所以做了一下 TF 的 GRU 結構. 圖比較醜, 我盡力了- XD TF 的 GRU ...
- Docker深入浅出系列 | 单机Nginx+Springboot实战
目录 Nginx+Springboot实战 前期准备 实战目标 实战步骤 创建Docker网络 搭建Mysql容器 搭建额度服务集群 搭建Nginx服务 验证额度服务 附录 Nginx+Springb ...
- C++中cin的输入分隔符问题及相关
1.C/C++中的类型转换函数(区分类中的类型转换构造函数): 头文件:C中stdlib.h C++中cstdlib atof(将字符串转换成浮点型数) atoi(将字符串转换成整型数) atol(将 ...
- Maven使用和配置
Maven使用和配置 一.maven安装和概念 maven安装 maven编译(compile) 执行测试用例(test) maven打包(package) maven依赖管理 1.maven安装 官 ...
- SpringBoot入门系列(一)如何快速创建SpringBoot项目
这段时间也没什么事情,所以就重新学习整理了Spring Boot的相关内容.今天开始整理更新Spring Boot学习笔记,感兴趣的朋友可以关注我的博客:https://www.cnblogs.com ...
- 如何在windows server上安装 Windows评估和部署工具包
此文是<.NET内存宝典>一书的售后服务系列文章之一. 在<.NET内存宝典>一书(目前我还在翻译本书,预计年底出版)的第3章 “内存测量”里的“Windows性能工具包”一节 ...