Post

渗透测试指南

1 测试流程

GHDB: google hack database,使用搜索引擎收集资料

2 测试开始前

2.1 收集敏感信息

测试目标的操作系统、版本信息;Web应用的物理路径;目标服务器/Web应用的账号/密码;Web应用的登陆入口;Web应用所使用的编辑器、上传组件;Web应用异常错误信息……

2.2 第一阶段

系统扫描:使用RSAS/Nessus等检测目标主机开放端口、服务及系统,公开漏洞

Web扫描:多种工具结合提高覆盖度,AWVS、Appscan。最好指定服务器类型、扫描目录层数(3-5)、目录及文件数限制、线程数。导入常见Web服务器缺省目录和编辑器目录。

路径扫描:wwwscan,识别后台路径、开源编辑器、论坛、上传组件

GHDB:即寄希望于Google爬虫寻找隐藏目录、特殊文件、废弃站点信息,(google)site:www.baidu.com (baidu)site:(www.baidu.com)

2.3 第二阶段

2.3.1 弱口令扫描:

  • (针对Web应用)表单认证-小榕的溯雪2或FormKiller(windows)、Hydra(linux),HTTP基本认证-AET2(windows)、Hydra(linux)。

  • (针对应用)telnet、SSH、数据库服务、smtp/pop3: AET2、Hydra;HScan(端口扫描及弱口令破解)

2.3.2 漏洞验证:

  • SQL注入:工具-穿山甲

  • 跨站漏洞:常见XSS脚本

  • 框架钓鱼:向服务端传递html元素,观察返回页面是否受影响。

1
2
"><iframe src=" http://www.test.com" /><!--
"><a href=" http://www.test.com" >Login</a><!--
  • 文件遍历: 网站的配置文件(ASP.NET的web.config、Jsp的web.xml等)操作系统敏感文件、网站脚本文件 ../../../../../../etc/passwd(linux)//C:/boot.ini(windows)

  • 目录浏览漏洞

  • 文件上传漏洞 MIME类型过滤、扩展名过滤、重新渲染过滤,前面两者可轻松绕过

2.3.3 GHDB查询

e.g. wwwscan查询到网站使用了/ewebeditor/,通过GHDB了解到其存在admin_login.asp管理后台。通过观察页脚、源码的head注意到论坛、企业门户使用了开源建站系统。GHDB查找其版本漏洞。或直接找源程序进行代码审计。

2.4 第三阶段-漏洞利用

  • 远程溢出漏洞:常见于未安装补丁的操作系统或远程服务器,使用工具Metasplit(e.g. windows的打印服务远程代码执行)

  • 本地溢出漏洞:未安装补丁的系统或程序,(e.g. afd.sys特权提升漏洞)

  • 注入漏洞: 获取敏感数据/执行系统命令、读取文件/生成ebshell

  • 弱口令

  • 上传漏洞:上传webshell

  • 文件名解析漏洞:IIS6.0的*.asp文件夹下所有文件都会被作为asp脚本解析,nginx文件名%00.php即可作为php脚本解析

  • 存储型XSS:钓鱼欺骗or盗取管理员会话信息

2.5 第三阶段-业务测试

2.5.1 熟悉业务流程

2.5.2 测试已知问题(业务可能的漏洞类型)

1
2
3
使用Fiddler、BurpSuite

常见业务漏洞:短信验证码直接隐藏在网页中、转出积分负值导致积分增加、数据未二次验证允许交易篡改、交易限额冲突问题、自助缴费导致用户信息泄露、购买金额与实际支付金额不匹配……

2.5.3 分析新的业务风险及验证测试

1
对某个业务流程进行分解分析,每个环节存在什么样的风险与威胁
This post is licensed under CC BY 4.0 by the author.