0x00 序言
笔者最近网络安全的学习方向出了点偏差,有基础但是无法继续提升,在过去,一直在往红队的技能方向进行学习,未来想往红队的技能方向去发展。但笔者目前的方向是渗透测试,而不是红队,过于急切的心理从而导致学习内容有些混乱,于是现在总结自身的技术能力及学习方向,并记录以加深印象。
0x01 思路纠正
渗透测试人员与攻击者的性质不一样,攻击者只需要找到程序的一个突破口,拿到权限即可,而渗透测试人员或“白帽子”则不一样,渗透测试人员必须要找到系统的所有漏洞,才能保证系统的安全。
——摘自 《Web安全深度剖析》
在 《Web安全深度剖析》中,笔者发现了目前自身学习路线混乱的原因,红队跟传统的渗透测试,其实有很多东西是差不多的,大家都是采取攻击技术来发现安全问题的。但从摘要中可以读出:
举个例子:
- 渗透测试人员:给你一些资产目标进行渗透,你找到漏洞了,
接下来就不要动了,赶紧写进报告吧 。你挖到数据,接下来也不要动了,赶紧写进报告吧 。 - 红队人员:
红队就是一种更高层次更高级别的渗透测试 ,它不仅仅针对技术,例如给业务系统挖掘漏洞等。红队关注技术、人、组织、管理、规范等 ,测试范围变得更为广泛,不顾一切将目标打穿。
再从作业流程上对渗透测试人员与红队渗透人员进行对比分析:渗透测试相对于红队渗透的作业流程来说,
0x02 风险点分析
明确了渗透测试流程后,就开始对目标资产的风险点进行分析,渗透测试人员渗透服务器就可以从下面这些点下手,同时也是我们所需掌握的部分技能图。但往往企业渗透测试项目用不到一些的技能,一些可能用不到的点将在下文分析中标出。
本段只讲述大概的思路,具体渗透思路过程在本文后篇进行整理发布。
社会工程学
笔者认为,社工玩的好得懂人心,行为等,得了解一些灰暗面,所以社工往往具有比较坏的性质,而且一般渗透测试的项目用不着社工,
社会工程学就是对人类心理漏洞进行攻击的手段。它利用的是人类的脆弱点、贪婪心理、好奇心、信任感等,设置心理陷阱,以此来收集所需信息或者实质利益。社会工程学可以放大黑客攻击,使黑客攻击更具威胁性。
C段渗透&旁站
旁站一般指在单个WEB服务器上同时运行多个资产,如果目标资产无法渗透,就可以对这台WEB服务器上的其他资产进行渗透,也许可以找到突破口。但一般企业渗透测试项目无需此操作。
C段一般指的是一个IP段,例如:156.156.1.1/16
或者192.168.1.1/24
,目标资产无法渗透成功,在同种网络类型下(公网/内网),可以尝试从C段渗透,然后横向进行攻击。但一般企业渗透测试项目无需此操作。
服务渗透
从目标服务器开放的服务来进行渗透是最常用的手法,常用服务包括:SSH、微软远程桌面RDP、Mysql、redis、MSSQL、FTP、WEB服务等。一般情况下,
一些服务类端口可以尝试进行远程连接的爆破,例如:
0x03 渗透测试流程分析
根据渗透测试的流程图,笔者详细记录一下每个阶段:应该做什么事,如何去做,做到什么程度,一来加深笔者自身印象,二来希望给未来的朋友提供若干帮助。
明确目标
明确目标就是指渗透测试可以做的一个范围,一般范围在企业渗透测试项目会给
- 如果有详细的资产清单,是只可以测试清单内的资产,还是可以额外渗透测试子域名/旁站/该域名(ip)下其他端口资产等
- 如果只给了一个模糊的范围,例如:get-shell.com,是否可以测子域名/旁站/其他端口资产等
- 如果是公网资产渗透,是否允许测内网测试
- 如果是内网资产渗透,是否允许测内网内其他资产
如果是个人渗透,且没有限制的情况下,那么
- 目标资产有关的所有域名/子域名/所有端口的资产
- 目标资产的真实IP地址
- 历史解析子域名,历史解析IP
- 域名解析的记录:A记录/CNAME记录等
信息收集
信息收集即收集目标相关的信息,要根据实际情况来进行收集必要的信息,以网站为例,从资产的角度出发,梳理思路。这里列举一下一些可能会用到的信息收集工具以及网站:
- 综合扫描信息收集
- 【资产侦查】ARL灯塔资产侦察系统Plus 魔改版
- 【资产侦查】Nemo
- 在线资产测绘:FOFA、鹰图、钟馗之眼等
- 国内企业资产收集:企查查、爱企查
- 子域名收集
- 端口扫描
- 指纹识别
- 查找真实IP
- 子域名查询
- IP反查域名(旁站)
- 域名历史IP解析查询
- 域名查询(Whois)
漏洞探测(自动化)
在这个阶段,就是使用漏洞扫描器对已有收集的资产进行大规模的扫描,使用自动化工具和手动分析,识别目标系统中可能存在的漏洞,原理就是:一些使用量高的系统一般会产生一些漏洞被爆出,然后自动化扫描器就会预先写好这些复现漏洞的POC,然后逐个尝试。这可能包括已知漏洞数据库的查询、配置文件的检查、源代码的审查等。对于自动化漏洞扫描器
可以尝试使用:
当以上的综合漏洞扫描器扫描到漏洞的时候,就要根据漏洞信息进行搜索,根据漏洞信息进行尝试利用,这里列举一些手动常用利用思路:
- 在搜索引擎搜索漏洞编号信息,进行尝试利用,推荐使用
Bing或者谷歌
- 根据站点的指纹,尝试在漏洞库里查找漏洞信息,然后尝试利用:
除了手工利用,还有一些工具是专门针对某一些系列漏洞而编写出的工具,可以在本站的漏洞利用标签中尝试寻找一下专门的利用工具:漏洞利用 – 极核GetShell (get-shell.com)
在成功复现漏洞后,一般就可以认定该系统存在漏洞,接下来就是收集相关信息整理报告。
漏洞探测(手动测试)
除了自动化的扫描器,手动测试也是必须要有的一环,因为不是所有的系统都会在漏洞扫描器里面有POC,一些小众或者私人写的系统就需要自己手动测试。手动测试是十分体现渗透测试人员的含金量的,不要过度依赖自动化扫描器,自动化扫描器只是锦上添花
。根据流程思路图来看,可以看一些手动测试的点。
需要注意的是,这些手动测试的手法需要慢慢积累练习才可以学会,本文三言两语无法全部写出来,切记:少就是多,慢就是快
- 最新
- 最热
只看作者