渗透测试(Penetration Testing) 是一种通过模拟攻击者的技术与方法,挫败目标系统的安全控制措施并取得访问控制权的安全测试方式。安全业界采纳的渗透测试执行标准PTES(全称:Penetration Testing Execution Standard),核心理念是建立渗透测试的基本准则基线,定义一次真正的渗透测试过程。
以下内容是我学习网络安全知识的笔记整理,由于分享知识点比较特殊,所以以后所有关于网安知识点分享都会带上声明《关于道德伦理的忠告》
★关于道德伦理的忠告★
以下内容摘自《Metasploit渗透测试指南》
作为一名渗透测试者,我们可以击败安全防御机制,但这是仅仅是我们工作的一部分。当你进行渗透攻击时,请记住如下的忠告:
-
不要进行恶意的攻击;
-
不要做傻事;
-
在没有获得书面授权时,不要攻击任何目标;
-
考虑你的行为将会带来的后果;
-
如果你干了些非法的事情,天网恢恢疏而不漏,你总会被抓到牢里的。
1、PTES标准的渗透测试阶段
PTES标准中的渗透测试阶段是用来定义渗透测试过程,并确保客户组织能够以标准化的方式扩展一次渗透测试,无论由谁来执行这类型的评估。PTES标准包含7个阶段。
1.1、前期交互
确定范围: 测试目标的范围、ip、域名、内外网、测试账户。
确定规则: 能渗透到什么程度,所需要的时间、能否修改上传、能否提权等。
确定需求: web应用的漏洞、业务逻辑漏洞、人员权限管理漏洞等。
1.2、情报收集
开放搜索: 利用搜索引擎获取:后台、未授权页面、敏感URL等。
基础信息: IP、网段、域名、端口。
应用信息: 各端口的应用:例如web应用、邮件应用等。
系统信息: 操作系统版本。
版本信息: 所有探测到的东西的版本。
服务信息: 中间件:各类信息,插件信息。
人员信息: 域名注册人员信息,web应用中发帖人的id,管理员姓名等。
防护信息: 试着看能否探测到防护设备。
1.3、威胁建模
利用上一阶段获取到的信息进行威胁建模和攻击规划
威胁建模: 利用获取到的信息来标识目标组织可能存在的漏洞与缺陷。威胁建模有两个关键要素:资产分析和威胁分析。识别主要和次要资产并对其进行分类,并根据资产识别可能存在的威胁。比如看到28017端口我们要想到是否存在MongoDB未授权访问,看到21端口我们要想到是否存在ftp匿名登录等。
攻击规划: 根据威胁模型确定下一步需要搜集的信息和攻击方法。威胁模型建立后,可行的攻击矢量已基本确定,然后是一个一个验证是否可行,在这个过程中可能会伴随信息的收集和威胁模型的调整。
主要使用在信息搜集阶段所获取到的信息,来标识出目标系统上可能存在的安全漏洞与弱点。在进行威胁建模时,确定最高效的攻击方法,需要进一步获取信息和从哪里攻破目标系统。
1.4、漏洞分析
a. 确定最佳攻击方法后,需要考虑如何取得目标系统的访问权,需要考虑哪些攻击是可行的。特别是需要重点分析端口和漏洞扫描结果。
b. 一个发现系统和应用程序漏洞的过程(这些漏洞可能包括主机和服务配置错误,或不安全的应用程序设计)
在进行任何类型的漏洞分析时,测试人员应适当地确定适用深度和广度的测试范围,以满足所需结果的目标和要求。
1.5、渗透攻击
在验证漏洞存在后,后面就是利用发现的漏洞对目标进行攻击,真正入侵系统中,获取访问控制权。(最具魅力的环节)
为实现系统安全,系统一般都会采用很多技术进行防御,比如反病毒(IPS、IDS、WAF…)、编码、加密、白名单等,在渗透期间,需要混淆有效载荷绕过安全限制,以达到成功攻击目的。一般互联网已公开的漏洞利用,可直接拿来使用,但对于一些特殊情况,需要根据实际情况量身定制有效载荷(payload)和漏洞利用(exploit)。
1.6、后渗透攻击
顾名思义,漏洞利用成功后的攻击,就是拿到系统权限后的后续操作。后渗透攻击阶段的操作,可分为两种:权限维持和内网渗透。
权限维持: 提升权限和保持对系统的访问。系统最高权限是我们向往的ONEPIECE,如果漏洞利用阶段得到的权限不是系统最高权限,应该继续寻找并利用漏洞进行提权。同时为了保持对系统的访问权限,应该留下后门(木马文件等)并隐藏自己(清除日志、隐藏文件等)。
内网渗透: 利用获取的服务器对其所在的内网环境进行渗透。内网环境与外网相比,可以利用获取到的服务器进一步获取目标组织的敏感信息。
在不同的渗透测试场景中,攻击目标与途径可能是变化的,设置是否准备、可行,取决于团队或自身的创新意识、知识范畴、实际经验和技术能力。(一般作为技术的分水岭)
1.7、报告
按需整理: 按照之前第一步跟客户确定好的范围、需求整理资料,并将资料形成报告。
补充介绍: 需要对漏洞成因,验证过程和带来的危害进行分析。
修补建议: 要对产生的问题提出合理高效安全的解决办法。
2、我为什么学习网安了?
我是一个Java语言开发超过7年的程序员,我学习网络安全知识,一方向是给自己找兼职的可能(挖洞),一方面也是想拓宽自己的就业路线。如果你对网安知识感兴趣可以持续关注我,明天我会基于渗透测试写一篇实战的内容。
3、资料获取
如果想系统学习渗透测试知识,关注我的公众号:大象只为你,后台回复:渗透测试,获取《Metasploit(渗透测试指南)》电子版本。