0x01 OTG-INFO 信息收集

搜索引擎信息发现和侦察(OTG-INFO-001)

  1. 综述
    • 直接:直接查询索引或从缓存中获取内容
    • 间接:从论坛、新闻组和其他相关网站发现敏感信息和配置信息
  2. 测试目标
    了解公网上的敏感设计和配置信息
  3. 如何测试
  • 使用搜索引擎查找
    • 网络拓扑和配置
    • 获取管理员或其他核心员工的发帖信息和邮件
    • 登陆流程和用户名格式
    • 用户名和密码
    • 错误消息内容
    • 开发、测试、验收和上线版本的网站
  • 搜索选项
  • 搜索引擎
    Baidu、binsearch.info、bing、Duck Duck Go、ixquicke/Startpage、Google、Shodan、PunkSpider
    site: cache:
  • Google hacking数据库
    演示页面
    包含文件名的文件
    敏感文件
    Web服务器探测
    漏洞文件
    漏洞服务器
    错误信息
    含有趣信息的文件
    包含密码的文件
    敏感在线购物信息
  • Google hacking语法
  1. 测试工具
  • FoundStone SiteDigger
  • Google Hacker
  • Stack & Liu’s Google Hacking Diggity Project
  • PunkSpider
  1. 整改措施
    • 避免公网公开敏感设计资料和配置信息
    • 定期审查公开在网上的敏感设计资料和配置信息

识别Web服务器(OTG-INFO-002)

  1. 综述
    将不同服务器对不同请求的响应保存在指纹数据库中,通过请求分析响应,与数据库中的已知签名对比,获取服务器版本和类型
  2. 测试目标
    获取运行服务器的版本和类型,确定已知漏洞和利用方式
  3. 如何测试
    黑盒:
  • HTTP响应头中的“Server”字段–Netcat
  • 协议行为推断
    HTTP头字段顺序
    畸形的请求测试
  1. 测试工具
  • httpprint
  • httprecon
  • Netcraft
  • Desenmascarame
  1. 整改措施
  • 使用加强的反向代理服务器来保护Web服务器的展示层
  • 混淆Web服务器展示层的头信息

Web服务器元文件信息发现(OTG-INFO-003)

  1. 综述
    robots.txt
  2. 测试目标
    识别Web应用路径或文件泄露信息
    获取被搜索引擎忽略的目录信息
  3. 如何测试
    robots.txt
    使用wget/curl获取根目录下的robots.txt
    Google webmaster分析robots.txt
    使用Burp发现<META>标签
  4. 测试工具
  • Browser
  • curl
  • wget
  • rockspider

枚举Web服务器上的应用(OTG-INFO-004)

  1. 综述
  2. 测试目标
    枚举Web服务器上的应用程序
  3. 如何测试
    黑盒
    Web服务器、DNS服务器、反向IP搜索服务、搜索引擎
  • 非标准URL地址
    漏洞扫描器 site: 字典爆破
  • 非标准端口
    全端口扫描nmap -PN -sT -sV -p 0-65535 IP_here
  • 虚拟主机
    DNS区域传输
    nslookup、host、dig DNS反向查询
    基于Web的DNS搜索DNS
    反向IP查询
    Domain tools reverse IP
    Webhosting info
    NDSstuff
    net-square
    tomDNS
    SEOlogs
    Googling
  1. 测试工具
  • DNS查询工具nslookup、dig等
  • 搜索引擎(Google、Bing)
  • 定制化的DNS相关Web搜索服务
  • Nmap
  • Nessus
  • Nikto

审查网页注释和元数据发现信息泄露(OTG-INFO-005)

  1. 综述
    HTML源码注释会泄露信息
  2. 测试目标
    审核页面注释和元数据了解应用情况
  3. 如何测试
  4. 测试工具
  • wget
  • Browser
  • Curl

应用入口识别(OTG-INFO-006)

  1. 综述
  2. 测试目标
    理解应用的请求与响应
  3. 如何测试
    特别关注GET/POST请求
  • 请求:
    识别GET请求和POST请求使用的地方
    识别所有在POST请求中的参数
    注意POST请求中的隐藏参数
    识别查询字符串中的所有参数
    如果查询字符串或POST请求中存在多个参数,识别攻击需要的参数
    注意附加或自定义的头
  • 响应:
    识别cookies在哪里被设置(Set-cookie头),修改或新增
    识别正常访问过程中(未修改正常请求),重定向的位置及状态码(3XX、4XX,5XX)
    注意有趣的HTTP头(如Server:BIG-IP)
  1. 测试工具
  • 劫持代理:
    Zed Attack Proxy(ZAP)
    WebScarab
    Burp
    CAT
  • 浏览器插件:
    TamperIE
    Tamper Data

识别应用工作流程(OTG-INFO-007)

  1. 综述
  2. 测试目标
    建立目标应用结构图,理解其工作流程
  3. 如何测试
  • 实施测试和测量代码覆盖率:
    路径:测试每个应用路径,包括决策路径的组合测试和边界值测试
    数据流(污点分析):数据流、数据转换及使用
    竞争:多个应用并发操作同一个数据
    黑盒
    白盒/灰盒
  1. 测试工具
  • Zed Attack Proxy
  • List spreadsheet software
  • Diagramming software

识别Web应用框架(OTG-INFO-008)

  1. 综述
    此处不区分Web应用框架和CMS
  2. 测试目标
  3. 如何测试
    黑盒:
    识别当前框架
    HTTP头
    Cookies
    HTML源代码
    特定的文件和目录
  • HTTP头
    X-Powered-By
    X-Powered-By可能会被禁用或混淆
  • Cookies
    与框架相关的特定Cookies
  • HTML源代码
    源代码中某一模板
    HTML注释
    与框架相关的CSS链接、JS脚本目录、JS变量
  • 特定的文件和目录
  • 常见框架
Cookies
框架 Cookies名称
Zope cakephp
Kohana kohanasession
Laravel laravel_session

HTML源代码

通用标志
%framework_name%
powered by
built upon
running

特定标志

框架 关键字
Adobe ColdFusion <!– START headerTags.cfm
Microsoft ASP.NET __VIEWSTATE
ZK <!– ZK
Business Catalyst
Indexhibit ndxz-studio
  1. 测试工具
  • 识别框架指纹技巧:
    字符串(区分大小写)
    正则表达式
    Google Hack数据库查询
    MD5
    URL识别
    HTML标签模式
  • Whatweb
  • BlindElephant
  • Wappalyzer
  1. 整改措施
  • HTTP头
    关闭暴露HTTP头的配置或混淆暴露的信息
  • Cookies
    修改相关配置文件来改变Cookies名称
  • HTML源代码
    移除HTML源码中指向框架的内容
    通用指南:
    确保没有暴露框架的可视标记
    移除不必要的注释(版权、bug信息、特定框架注释)
    移除生成的元标签
    使用自定义的CSS和JS脚本文件,不要放在框架相关的目录
    不要使用页面默认的脚本,若必须使用,混淆之
  • 特定文件和目录
    移除无关的目录和文件
    使用404错误响应限制从外部访问其他文件
  • 其他措施:
    • 检验和管理
      修改文件的位置和内容
    • 制造混乱
      将其他框架的伪装文件置于本框架中

识别Web应用程序(OTG-INFO-009)

  1. 综述
  2. 测试目标
    获取Web应用程序及版本确定已知漏洞和可能利用方式
  3. 如何测试
  • Cookies
  • HTML源代码
  • 特定文件和路径
  • 常见应用识别
Cookies
phpBB phpbb3_
WordPress wp-settings
1C-Bitrix BITRIX_
AMPcms AMP
Django CMS django
DotNetNuke DotNetNukeAnonymous
e107 e107_tz
EPiServer EPiTrace, EPiServer
Graffiti CMS graffitibot
Hotaru CMS hotaru_mobile
ImpressCMS ICMSession
Indico MAKACSESSION
InstantCMS InstantCMS[logdate]
Kentico CMS CMSPreferredCulture
MODx SN4[12symb]
TYPO3 fe_typo_user
Dynamicweb Dynamicweb
LEPTON lep[some_numeric_value]+sessionid
Wix Domain=.wix.com
VIVVO VivvoSessionId

HTML源代码

应用 关键字
WordPress <meta name="generator" content="WordPress 3.9.2" />
phpBB <body id="phpbb"
Mediawiki <meta name="generator" content="MediaWiki 1.21.9" />
Joomla <meta name="generator" content="Joomla! - Open Source Content Management" />
Drupal <meta name="Generator" content="Drupal 7 (http://drupal.org)" />
DotNetNuke DNN Platform - http://www.dnnsoftware.com
  1. 测试工具
    与OTG-INFO-008相同
  2. 整改措施
    与相同TG-INFO-008

绘制应用架构图(OTG-INFO-0010)

  • 映射应用架构
    渗透测试:从简单的架构开始假设,拓展架构图
  • 例子:Check point firewall NG
    容易检测:反向代理、负载均衡设备、应用服务器
    白盒很容易获得架构图,但是渗透测试很难从外部简单检测:认证后台(LDAP目录、数据库、RADIUS服务器)等

发表评论

电子邮件地址不会被公开。 必填项已用*标注