参考链接 https://www.jianshu.com/p/13fa3be9c5b9
明确目标
1)确定范围--测试的范围,如IP、域名、内外网、整站 or 部分模块
2)确定规则--能渗透到什么程度(发现漏洞为止 or 继续利用漏洞)、时间限制、能否修改上传、能否提权。。。
目标系统介绍、重点保护对象及特性
是否允许数据破坏
是否允许阻断业务正常运行
测试之前是否应该知会相关部门接口人?
接入方式?内网?外网?
测试是发现问题就算成功还是尽可能的发现多的问题?
渗透过程是否需要考虑社会工程?
3)确定需求--web应用的漏洞(新上线程序)?业务逻辑漏洞(针对业务的)?人员权限管理漏洞(针对人员、权限)?
分析风险,获得授权
分析渗透测试过程中可能出现的风险,如大量测试数据的处理、影响正常业务开展、服务器发生异常的应急、数据备份和恢复、测试人力物力成本。。。
书写实施方案初稿并提交给客户或者公司内部领导进行审核,审核完成后由审核方给予书面委托书,授权测试方进行渗透测试
信息收集
尽量多地收集关于目标web应用的各种信息,比如脚本语言的类型、服务器的类型、目录的结构、使用的开源软件、数据库类型、所有链接页面、用到的框架等
方式:主动扫描,开放搜索--利用搜索引擎获得后台、未授权页面、敏感URL
漏洞探测(手动&自动)
利用上一步中列出的信息,使用相应的漏洞检测
方法:漏扫--AWVS、AppScan;结合漏洞去探索数据库的未知;网上搜索验证poc
内容:系统漏洞--系统没有及时打补丁
webserver漏洞--webserver配置问题
web应用漏洞--web应用开发问题
其他端口服务漏洞--各种21/8080/7001/3389
通信安全:明文传输,token在cookie中传送
漏洞验证
搭建模拟测试环境进行试验--上一步骤中的所有可能漏洞全部验证一遍,成功后应用于目标中
自动化验证--结合自动化扫描工具提供的结果
手工验证--根据公开资源进行验证
试验验证--自己搭建模拟环境进行验证
登录猜解--采集登录账户密码等信息
业务漏洞验证
公开资源利用--exploit-db/wooyun/渗透代码网站、通用缺省口令、厂商的漏洞警告等
信息分析
精准攻击--准备好上一步探测到的漏洞exp用来精准攻击
绕过防御机制--是否有防火墙等设备,如何绕过
定制攻击路径--最佳工具路径,根据薄弱入口,高内网权限未知,最终目标
绕过检测机制:是否有检查机制,流量监控,杀毒软件、恶意代码检测等
攻击代码:经过试验得来的代码,包括不限于xss代码,sql注入语句等
利用漏洞,获得数据
实施攻击--根据前几步骤的结果进行攻击
获取内部信息--基础设备(网络链接、vpn、路由、拓扑等)
进一步渗透--内网入侵,敏感目标
持续性存在--一般对客户做渗透不需要。rookit、后门、添加管理账户、驻扎手法等
清理痕迹--清理相关日志(访问操作),上传文件等
信息整理
整理渗透工具--整理渗透过程中用到的代码,poc,exp等
整理收集信息--整理渗透过程中收集到的一切信息
整理漏洞信息--整理渗透过程中遇到的各种漏洞,各种脆弱位置信息
目的--为了最后形成报告,形成测试结果使用
形成报告
按需整理--按照之前第一步跟客户确定好的范围,需求来整理资料,病娇资料形成报告
补充介绍--要对漏洞成因,验证过程和带来的危害进行分析
修补建议--当然要对所有产生的问题提出合理高效安全的解决办法