作者:hacker发布时间:2022-07-14分类:渗透网站浏览:101评论:3
渗透测试步骤
明确目标
· 确定范围:测试目标的范围,ip,域名,内外网。
· 确定规则:能渗透到什么程度,时间?能否修改上传?能否提权等。
· 确定需求:web应用的漏洞、业务逻辑漏洞、人员权限管理漏洞等等。
信息收集
方式:主动扫描,开放搜索等。
开放搜索:利用搜索引擎获得,后台,未授权页面,敏感url等。
漏洞探索
利用上一步中列出的各种系统,应用等使用相应的漏洞。
方法:
1.漏扫,awvs,IBM appscan等。
2.结合漏洞去exploit-db等位置找利用。
3.在网上寻找验证poc。
内容:
系统漏洞:系统没有及时打补丁
Websever漏洞:Websever配置问题
Web应用漏洞:Web应用开发问题
其它端口服务漏洞:各种21/8080(st2)/7001/22/3389
通信安全:明文传输,token在cookie中传送等。
漏洞验证
将上一步中发现的有可能可以成功利用的全部漏洞都验证一遍,结合实际情况,搭建模拟环境进行试验。成功后再应用于目标中。
自动化验证:结合自动化扫描工具提供的结果
手工验证,根据公开资源进行验证
试验验证:自己搭建模拟环境进行验证
登陆猜解:有时可以尝试猜解一下登陆口的账号密码等信息
业务漏洞验证:如发现业务漏洞,要进行验证
公开资源的利用
信息分析
为下一步实施渗透做准备:
精准打击:准备好上一步探测到的漏洞的exp,用来精准打击
绕过防御机制:是否有防火墙等设备,如何绕过
定制攻击路径:最佳工具路径,根据薄弱入口,高内网权限位置,最终目标
绕过检测机制:是否有检测机制,流量监控,杀毒软件,恶意代码检测等
攻击代码:经过试验得来的代码,包括不限于xss代码,sql注入语句等
获取所需
实施攻击:根据前几步的结果,进行攻击
获取内部信息:基础设施
进一步渗透:内网入侵,敏感目标
持续性存在:一般我们对客户做渗透不需要。rookit,后门,添加管理账号,驻扎手法等
清理痕迹:清理相关日志,上传文件等
信息整理
整理渗透工具:整理渗透过程中用到的代码,poc,exp等
整理收集信息:整理渗透过程中收集到的一切信息
整理漏洞信息:整理渗透过程中遇到的各种漏洞,各种脆弱位置信息
形成报告
按需整理:按照之前第一步跟客户确定好的范围,需求来整理资料,并将资料形成报告
补充介绍:要对漏洞成因,验证过程和带来危害进行分析
修补建议:当然要对所有产生的问题提出合理高效安全的解决办法
渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的网络策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找网络系统安全漏洞的专业人士。
渗透测试一定要遵循软件测试基本流程,要知道测试过程和目标特殊,在具体实施步骤上主要包含以下几步:
1、明确目标
当测试人员拿到需要做渗透测试的项目时,首先确定测试需求,如测试是针对业务逻辑漏洞,还是针对人员管理权限漏洞等;然后确定客户要求渗透测试的范围,如ip段、域名、整站渗透或者部分模块渗透等;最后确定渗透测试规则,如能够渗透到什么程度,是确定漏洞为止还是继续利用漏洞进行更进一步的测试,是否允许破坏数据、是否能够提升权限等。
2、收集信息
在信息收集阶段要尽量收集关于项目软件的各种信息。比如:对于一个Web应用程序,要收集脚本类型、服务器类型、数据库类型以及项目所用到的框架、开源软件等。信息收集对于渗透测试来说非常重要,只要掌握目标程序足够多的信息,才能更好地进行漏洞检测。
信息收集的方式可分为以下2种:主动收集、被动收集。
3、扫描漏洞
在这个阶段,综合分析收集到的信息,借助扫描工具对目标程序进行扫描,查找存在的安全漏洞。
4、验证漏洞
在扫描漏洞阶段,测试人员会得到很多关于目标程序的安全漏洞,但这些漏洞有误报,需要测试人员结合实际情况,搭建模拟测试环境对这些安全漏洞进行验证。被确认的安全漏洞才能被利用执行攻击。
5、分析信息
经过验证的安全漏洞就可以被利用起来向目标程序发起攻击,但是不同的安全漏洞,攻击机制不同,针对不同的安全漏洞需要进一步分析,制定一个详细的攻击计划,这样才能保证测试顺利执行。
6、渗透攻击
渗透攻击实际是对目标程序进行的真正攻击,为了达到测试的目的,像是获取用户账号密码、截取目标程序传输数据等。渗透测试是一次性测试,在攻击完成后能够执行清理工作。
7、整理信息
渗透攻击完成后,整理攻击所获得的信息,为后边编写测试报告提供依据。
8、编写报告
测试完成之后要编写报告,阐述项目安全测试目标、信息收集方式、漏洞扫描工具以及漏洞情况、攻击计划、实际攻击结果等。此外,还要对目标程序存在的漏洞进行分析,提供安全有效的解决办法。
一般渗透测试流程
1. 明确目标
l 确定范围:测试目标的范围、ip、域名、内外网、测试账户。
l 确定规则:能渗透到什么程度,所需要的时间、能否修改上传、能否提权、等等。
l 确定需求:web应用的漏洞、业务逻辑漏洞、人员权限管理漏洞、等等。
2. 信息收集、
l 方式:主动扫描,开放搜索等。
l 开放搜索:利用搜索引擎获得:后台、未授权页面、敏感url、等等。
l 基础信息:IP、网段、域名、端口。
l 应用信息:各端口的应用。例如web应用、邮件应用、等等。
l 系统信息:操作系统版本
l 版本信息:所有这些探测到的东西的版本。
l 服务信息:中间件的各类信息,插件信息。
l 人员信息:域名注册人员信息,web应用中发帖人的id,管理员姓名等。
l 防护信息:试着看能否探测到防护设备。
3. 漏洞探测
利用上一步中列出的各种系统,应用等使用相应的漏洞。
方法:
(1) 漏扫,awvs,IBM appscan等。
(2) 结合漏洞去exploit-db等位置找利用。
(3) 在网上寻找验证poc。
内容:
l 系统漏洞:系统没有及时打补丁
l WebSever漏洞:WebSever配置问题
l Web应用漏洞:Web应用开发问题
l 其它端口服务漏洞:各种21/8080(st2)/7001/22/3389
l 通信安全:明文传输,token在cookie中传送等。
4. 漏洞验证
将上一步中发现的有可能可以成功利用的全部漏洞都验证一遍。结合实际情况,搭建模拟环境进行试验。成功后再应用于目标中。
l 自动化验证:结合自动化扫描工具提供的结果
l 手工验证,根据公开资源进行验证
l 试验验证:自己搭建模拟环境进行验证
l 登陆猜解:有时可以尝试猜解一下登陆口的账号密码等信息
l 业务漏洞验证:如发现业务漏洞,要进行验证
公开资源的利用
l exploit-db/wooyun/
l google hacking
l 渗透代码网站
l 通用、缺省口令
l 厂商的漏洞警告等等。
5. 信息分析
为下一步实施渗透做准备。
l 精准打击:准备好上一步探测到的漏洞的exp,用来精准打击
l 绕过防御机制:是否有防火墙等设备,如何绕过
l 定制攻击路径:最佳工具路径,根据薄弱入口,高内网权限位置,最终目标
l 绕过检测机制:是否有检测机制,流量监控,杀毒软件,恶意代码检测等(免杀)
l 攻击代码:经过试验得来的代码,包括不限于xss代码,sql注入语句等
6. 获取所需
实施攻击:根据前几步的结果,进行攻击
l 获取内部信息:基础设施(网络连接,路由,拓扑等)
l 进一步渗透:内网入侵,敏感目标
l 持续性存在:一般我们对客户做渗透不需要。rookit,后门,添加管理账号,驻扎手法等
l 清理痕迹:清理相关日志(访问,操作),上传文件等
7. 信息整理
l 整理渗透工具:整理渗透过程中用到的代码,poc,exp等
l 整理收集信息:整理渗透过程中收集到的一切信息
l 整理漏洞信息:整理渗透过程中遇到的各种漏洞,各种脆弱位置信息
8. 形成报告
l 按需整理:按照之前第一步跟客户确定好的范围,需求来整理资料,并将资料形成报告
l 补充介绍:要对漏洞成因,验证过程和带来危害进行分析
l 修补建议:当然要对所有产生的问题提出合理高效安全的解决办法
流程总结
标签:渗透主动信息收集工具
已有3位网友发表了看法:
访客 评论于 2022-07-14 22:21:44 回复
.在网上寻找验证poc。内容:系统漏洞:系统没有及时打补丁Websever漏洞:Websever配置问题Web应用漏洞:Web应用开发问题其它端口服务漏洞:各种21/8080(st2)/7001/22/3389通信安全:明文传输,token在cookie中传送等。漏洞验证将上一步中
访客 评论于 2022-07-14 22:13:17 回复
更进一步的测试,是否允许破坏数据、是否能够提升权限等。2、收集信息在信息收集阶段要尽量收集关于项目软件的各种信息。比如:对于一个Web应用程序,要收集脚本类型、服务器类型、数据库类型以及项目所用到的框架、开源软件等。信息收集对于渗透测试来说非常重要,只要掌握目标程序足够多的信息,才能
访客 评论于 2022-07-14 19:28:17 回复
用。3.在网上寻找验证poc。内容:系统漏洞:系统没有及时打补丁Websever漏洞:Websever配置问题Web应用漏洞:Web应用开发问题其它端口服务漏洞:各种21/8080(st