时间 2019-04-29 08:45:11 FreeBuf
原文
主题 渗透测试 CDN
信息收集概念, 作用和分类
在一次护网行动中再次深刻意识到了信息收集对于渗透测试整个流程的重要性, 信息收集的完整性决定了你的渗透测试结果,"知己知彼, 百战不殆". 在此, 为了使今后的渗透测试工作更加流程化, 规范化, 提高工作效率为前提, 我总结了常见的信息收集经验和技巧, 希望对大家有一定帮助.
信息收集概念
信息收集是指黑客为了更加有效地实施渗透攻击而在攻击前或攻击过程中对目标的所有探测活动.
信息收集作用
1. 了解组织安全架构
2. 缩小攻击范围
3. 描绘网络拓扑
4. 建立脆弱点数据库
信息收集分类
(1)主动信息搜集: 与目标主机进行直接交互, 从而拿到目标信息, 缺点是会记录自己的操作信息.
(2)被动信息搜集: 不与目标主机进行直接交互, 通过搜索引擎或者社会工程等方式间接的获取目标主机的信息.
信息收集常用方法
根据每个信息收集条目的重要性, 收集难易程度和漏洞利用难以程度进行了推荐星数的排序(仅供参考).
Whois 信息
推荐星数:★
whois 是用来查询域名的 IP 以及所有者等信息的传输协议. whois 信息可以获取关键注册人的信息, 包括注册商, 所有者, 所有者联系邮箱, 联系电话, 域名注册时间, 域名到期时间, 域名状态, DNS 服务器等.
whois 可以获取的信息:
域名详细信息
域名服务器信息
网络 IP 地址
域名创建, 过期时间
最近更新记录
可通过注册邮箱, 注册人等反查相关目标注册过的域名.
Whois 信息在线收集地址:
站长之家 http://whois.chinaz.com/
阿里云域名信息查询 https://whois.aliyun.com/
Kali whois 命令
Python-whois 模块查询域名信息
企业信息收集
推荐星数:★★
企业基本信息.
员工信息(手机号码, 邮箱, 姓名等), 组织框架, 企业法人, 企业综合信息等.
其中员工信息收集是信息收集中的一项重要工作, 员工信息包括: 员工姓名, 员工工号, 员工家庭及交际信息, 上网习惯等.(社会工程学)
员工身份信息: 员工简历, 员工身份证, 手机号, 生日, 家乡, 住址等个人信息. 5, 员工社交账号信息: QQ 号, QQ 群, 微博, 微信, 支付宝, 员工邮箱账号等.
企业信息查询网站:
https://www.tianyancha.com/ 天眼查
https://www.qichacha.com/ 企查查
ICP 备案查询
http://www.beian.gov.cn/portal/recordQuery 公安部备案查询
GitHub 信息
推荐星数:★★
GitHub 不仅能托管代码, 还能对代码进行搜索, 当上传并公开代码时, 一时大意, 会让某些敏感的配置信息文件等暴露于众. GitHub 主要收集:
泄露源码
泄露数据库, 邮箱, ftp,SSH,3389 等账号
泄露的人员信息
泄露其他敏感信息
SVN 信息
推荐星数:★★
SVN(subversion)是源代码版本管理软件, 造成 SVN 源代码漏洞的主要原因是管理员操作不规范."在使用 SVN 管理本地代码过程中, 会自动生成一个名为. svn 的隐藏文件夹, 其中包含重要的源代码信息. 但一些网站管理员在发布代码时, 不愿意使用'导出'功能, 而是直接文件夹到 web 服务器上, 这就使. svn 隐藏文件夹被暴露于外网环境, 黑客可以借助其中包含的用于版本信息追踪的 entries 文件, 逐步摸清站点结构."(可以利用. SVN/entries 文件, 获取到服务器源码, SVN 服务器账号密码等信息).
邮箱信息
推荐星数:★★
常见的在线邮箱收集网站, 这些网站通过爬虫, 搜索引擎等方式, 获取互联网上暴露的邮箱地址.
- http://www.skymem.info/
- https://hunter.io/
- https://email-format.com/
网盘信息收集
推荐星数:★★
- http://magnet.chongbuluo.com/
- http://www.panduoduo.net/
- http://www.zhuzhupan.com/
- https://www.quzhuanpan.com/
- https://www.panc.cc/
漏洞库信息
推荐星数:★★
查询历史漏洞, 获取目标之前存在的安全问题, 可以利用已知漏洞直接对目标系统进行攻击.
http://www.anquan.us/
端口, 服务信息
推荐星数:★★★
服务和安全是相对应的, 每开启一个端口, 那么攻击面就大了一点, 开启的端口越多, 也就意味着服务器面临的威胁越大.
收集方法:
(1) Nmap
Nmap 是主机扫描工具, 它的图形化界面是 Zenmap, 分布式框架为 Dnamp.
Nmap 可以完成以下任务:
主机探测
端口扫描
版本检测
系统检测
支持探测脚本的编写
Nmap 安装与使用方法可参考:
https://www.cnblogs.com/weihua2616/p/6599629.html
(2)御剑高速 TCP 全端口扫描工具
(3)ScanPort
(4)Google 浏览器 Shodan 插件
(5)站长之家 http://old.tool.chinaz.com/port/
(6)http://coolaf.com/tool/port
子域名枚举
推荐星数:★★★
子域名枚举是为一个或多个域查找子域的过程, 它是信息收集阶段的重要组成部分.
为什么要进行子域名枚举?
子域名探测可以帮我们发现渗透测试中更多的服务, 它们在安全评估的范围内, 从而增加了发现漏洞的机会.
查找一些用户上较少, 被人遗忘的子域名, 其上运行的应用程序可能会使我们发现关键漏洞.
通常, 同一组织的不同域名 / 应用程序中存在相同的漏洞.
子域名枚举在线网站 + 工具:
(1)搜索引擎查询
Google,baidu,Bing 等传统搜索引擎
site:baidu.com inurl:baidu.com
搜 target.com | 公司名字
(2)子域名搜集小工具
- subDomainsBrute https://github.com/lijiejie/subDomainsBrute
- wydomain https://github.com/ring04h/wydomain
- wafw00f https://github.com/EnableSecurity/wafw00f
- WhatWeb https://github.com/urbanadventurer/whatweb
- dirsearch https://github.com/urbanadventurer/whatweb
layer 子域名挖掘机
- DNSdumpster
- Sublist3r https://github.com/aboul3la/Sublist3r
(3)在线查询工具
- http://tool.chinaz.com/subdomain/
- https://www.virustotal.com/
- https://censys.io/
- https://x.threatbook.cn/
- https://phpinfo.me/domain/
(4)网络空间资产搜索引擎
Zoomeye Shodan Fofa
(5) DNS 查询 / 枚举
DNS 查询
- host -t a domainName
- host -t mx domainName
优点: 非常直观, 通过查询 DNS 服务器的 A 记录, CNAME 等, 可以准确得到相关信息, 较全.
缺点: 有很大的局限性, 很多 DNS 是禁止查询的.
在线查询网站:
- http://tool.chinaz.com/dns/
- https://tool.lu/dns/
DNS 暴力破解: fierce
参考链接:
DNS 信息收集 https://www.cnblogs.com/xuanhun/p/3489038.html# RefHeading 22036_2040717175
渗透测试之子域名探测指南 http://www.0xby.com/1105.html
域传送漏洞 参考链接:
(6) 证书透明度公开日志枚举
证书颁发机构 (CA) 必须将他们发布的每个 SSL/TLS 证书发布到公共日志中. SSL/TLS 证书通常包含域名, 子域名和电子邮件地址. 因此 SSL/TLS 证书成为了攻击者的切入点.
SSL 证书搜索引擎:
- https://certdb.com/domain/github.com
- https://crt.sh/?Identity=%%.github.com https://crt.sh/?Identity=%%.github.com
- https://censys.io/
基于 HTTPS 证书的子域名收集小程序 GetDomainsBySSL.py
参考链接:
网站架构
推荐星数:★★★
操作系统类型
数据库类型
Web 中间件
网站开发语言
推荐 Google 插件:
Web 应用指纹信息
推荐星数:★★★
Web 前端框架
Web 应用框架
Web 开发框架
CMS 类型
指定路径下指定名称的 JS 文件或代码
指定路径下指定名称的 CSS 文件或代码
display:none 中的版权信息
页面底部版权信息, 关键字 © Powered by 等
注释掉的 HTML 代码中的内容
http 头中 X-Powered-By 中的值, 有的应用程序框架会在此值输出
cookie 中的关键字
robots.txt 文件中的关键字
404 报错页面
302 返回时的旗标
Web 应用指纹信息:
1. 潮汐指纹: http://finger.tidesec.net/
2.wappalyzer 插件
3.whatweb 工具
4.CMS 识别工具 http://whatweb.bugscaner.com/look
5. 云悉 http://www.yunsee.cn/
敏感文件, 目录信息
推荐星数:★★★
由于发布网站时, 服务器配置问题, 导致目录浏览功能打开, 从而引起信息泄露, 造成安全隐患. 在信息收集过程中, 需要收集的敏感目录 / 文件信息包括:
robots.txt
crossdomin.xml
sitemap.xml
后台目录
网站安装包
网站上传目录
MySQL 管理页面
phpinfo
网站文本编辑器
测试文件
网站备份文件(.rar,zip,.7z,.tar.gz,.bak)
DS_Store 文件
VIM 编辑器备份文件(.swp)
Web-INF/Web.xml 文件
旁站查询
推荐星数:★★★
旁站信息: 旁站是和目标网站在同一台服务器上的其它的网站, 主站无法获取权限的情况下, 旁站便可以作为攻击入口.
旁站信息收集:
- http://s.tool.chinaz.com/same
- https://phpinfo.me/bing.php
https://www.aizhan.com/ IP 反查域名
http://www.webscan.cc/
C 段信息
推荐星数:★★★
C 段信息: C 段是和目标服务器 ip 处在同一个 C 段的其它服务器.
1. 在线接口查询
- http://www.webscan.cc/
- https://phpinfo.me/bing.php
- https://www.chinabaiker.com/cduan.php
2. 扫描工具
Nmap 扫描 C 段:
nmap -sP 1.1.1.1/24
探测 C 段存活主机, 可以用 | grep up 过滤存活的主机.
3.IIS Put Scaner
搜索引擎信息收集
推荐星数:★★★
主要收集的信息包括:
搜索子域名
搜索后台管理页面
搜索泄露的敏感信息
搜索未授权访问
搜索开放端口服务
搜索过往或未修复漏洞
搜索目标相关人员信息
常见后缀名:
".vscode" ".env" ".Trash" ".bashrc" ".git" ".ftpconfig" ".ds_store" ".ssh" ".mysql_history" "WS_FTP.ini" "admin.zip" "dead.letter" "secring.skr" "secring.pgp" "secring.bak" ".bash_history" "README.md" "README.MD" "README" "phpinfo.php" "test.php" "database.propertie" "web.xml" ".gitignore" "_viminfo" ".bak_Edietplus" ".viminfo" ".swp" ".swo" ".swn" ".swm" ".swl" ".save1" ".save2" ".save3" ".svn" ".hg" ".bzr" ".xml" ".yml" ".mail" ".password" ".letter" ".bak" ".back" ".pwd" ".config" ".conf" ".cgi" ".mdb" ".db" ".json" ".ini" ".reg" ".txt" ".zip" ".rar" ".tar.gz" ".7z" ".cab" ".jar" ".lzh" ".ace" ".gzip" ".uue" ".bz2" ".arj" ".iso" ".z" "~" ".idle" ".inc" ".yaml" ".cfg" ".dump" ".sql" ".doc" ".xls" ".pptx" ".docx" ".ppt" ".ssh" ".mdb" ".cfg" ".gov" ".sh" ".desk" ".cnf" ".pl".dll"".nsf" ".cfm" ".ctl"
网络空间资产搜索引擎信息收集
推荐星数:★★★
网络空间搜索引擎的作用就是将互联网上公开的网络资产收集和整理, 以此方便人们进行查阅和利用. 网络空间可以发现了不少企业的脆弱系统, 未授权访问, SQL 注入, 弱口令等等都是存在的.
- Shodan https://www.shodan.io/
- FOFA https://fofa.so/
- Zoomeye https://www.zoomeye.org/
- oshadan https://www.oshadan.com/
内网入口点信息
推荐星数:★★★
企业邮箱登陆口
VPN 登陆口
各类 OA/crm/sso 系统的 Web 入口
各类中间件 Web 页面管理入口
各类监控系统, 防火墙, 虚拟化, 路由器入口等
Waf 信息
推荐星数:★★★★
WAF 也称 Web 应用防护系统, Web 应用防火墙是通过执行一系列针对 HTTP/HTTPS 的安全策略来专门为 Web 应用提供保护的一款产品.
1.wafw00f 工具
2.Nmap
Nmap 探测 WAF 有两种脚本, 一种是 http-waf-detect, 一种是 http-waf-fingerprint.
3.Burpsuite:X-Powered-By 字段
真实 IP 地址
推荐星数:★★★★★
CND 介绍
CDN 的全称是 Content Delivery Network(内容分发网络), 通过在网络各处的加速节点服务器来为网站抵挡恶意流量, 把正常流量进行转发. 用简单点的话来说, CDN 一般有三个作用:
1. 跨运营商加速: 我们自己的网站常常只属于一个运营商 (比如: 电信), 而加速节点遍布每家运营商, 于是和网站不同运营商(比如: 联通) 的用户访问起来就不会那么慢了.
2. 缓存加速: 很多的静态资源以及一部分页面更新都是比较慢的(比如首页), 这个时候 CDN 就会根据浏览器的 max-age 和 last-modified 值以及管理员的预设值来进行缓存, 于是很多流量 CDN 节点就不会每次都来向网站请求, CDN 节点可以直接自作主张地将命中的缓存内容返回.
3. 恶意流量过滤: 这是 CDN 非常重要的一个作用, 也是很多网站会用 CDN 的原因, 因为 CDN 能为我们抵挡攻击大流量攻击, 普通的攻击(比如注入等), 只有正常流量才会转发给网站.
参考链接: 11 种绕过 CDN 查找真实 IP 方法 https://www.cnblogs.com/qiudabai/p/9763739.html
验证是否存在 CDN
(1)使用各种多地 ping 的服务, 查看对应 IP 地址是否唯一, 如果不唯一多半是使用了 CDN, 多地 Ping 网站有:
- http://ping.chinaz.com/
- http://ping.aizhan.com/
(2)修改本地 hosts 文件, 强行将域名与 IP 解析对应, 然后访问域名查看页面是否变化.
绕过 CDN 查找网站真实 IP
(1)查看 IP 与域名绑定的历史记录, 可能会存在使用 CDN 前的记录.
https://dnsdb.io/zh-cn/ DNS 查询
https://x.threatbook.cn/ 微步在线
http://toolbar.netcraft.com/site_report?url= 在线域名信息查询
http://viewdns.info/ DNS,IP 等查询
https://tools.ipip.net/cdn.php CDN 查询 IP
(2)SecurityTrails 平台
https://securitytrails.com/
在搜索字段中输入网站域名, 然后按 Enter 键即可, 这时 "历史数据" 就可以在左侧的菜单中找到真实原始 IP .
(3)查询子域名
CDN 是不便宜的, 所以很多站长可能只会对主站或者流量大的子站点做了 CDN, 而很多小站子站点又跟主站在同一台服务器或者同一个 C 段内, 此时就可以通过查询子域名对应的 IP 来辅助查找网站的真实 IP, 收集方法同子域名收集.
Subdomainbrute 为例, 仅需打开 cmd 进入它所在的目录输入 Python subdomainbrute.py baidu.com -full 即可收集百度的子域名, 收集子域名后尝试以解析 ip 不在 cdn 上的 ip 解析主站, 直到真实 ip 成功被获取到.
(4)网络空间搜索引擎
常见的有以前的钟馗之眼, shodan,fofa 搜索. 以 fofa 为例, 只需输入: title:"网站的 title 关键字" 或者 body: "网站的 body 特征" 就可以找出 fofa 收录的有这些关键字的 ip 域名, 很多时候能获取网站的真实 ip.
(5)利用 SSL 证书寻找真实原始 IP
假如在 http://www.wangsu.com/ 上托管了一个服务, 原始服务器 IP 是 136.23.63.44, 而 wangsu 会为你提供 DDoS 保护, Web 应用程序防火墙等服务, 以保护你的服务免受攻击. 为此, 你的 Web 服务器就必须支持 SSL 并具有证书.
当在端口 443( https://136.23.63.44:443 https://136.23.63.44/ )上直接连接到 IP 时, SSL 证书就会被暴露. 如果攻击者扫描 0.0.0.0/0, 即整个互联网, 他们就可以在端口 443 上获取在 wangsu 上的有效证书, 进而获取提供给你的 Web 服务器 IP.
目前 Censys 工具就能实现对整个互联网的扫描, Censys 是一款用以搜索联网设备信息的新型搜索引擎, 能够扫描整个互联网, Censys 每天都会扫描 IPv4 地址空间, 以搜索所有联网设备并收集相关的信息, 并返回一份有关资源 (如设备, 网站和证书) 配置和部署信息的总体报告.
(6)使用国外主机解析域名
国内很多 CDN 厂商因为各种原因只做了国内的线路, 而针对国外的线路可能几乎没有, 此时我们使用国外的主机直接访问可能就能获取到真实 IP.
(7)网站漏洞查找
目标敏感文件泄露, 例如: phpinfo 之类的探针, GitHub 信息泄露等.
XSS 盲打, 命令执行反弹 shell,SSRF 等.
无论是用社工还是其他手段, 拿到目标网站管理员在 CDN 的账号, 从而在从 CDN 的配置中找到网站的真实 IP.
(8)网站邮件订阅查找
RSS 邮件订阅, 很多网站都自带 sendmail, 会发邮件给我们, 此时查看邮件源码里面就会包含服务器的真实 IP 了.
(9)nmap 扫全网
首先从 apnic 获取 IP 段, 然后使用 Zmap 的 banner-grab 扫描出来 80 端口开放的主机进行 banner 抓取, 最后在 http-req 中的 Host 写需要寻找真实 IP 的域名.
参考资料: https://www.cnblogs.com/mujj/articles/6388550.html
综合收集
推荐星数:★★★★★
Maltego 互联网情报收集( )
Recon-NG 信息侦察收集工具( )
Kali/Parrot 中的其他信息收集工具
参考链接: https://www.cnblogs.com/HacTF/p/8026499.html
总结
信息收集阶段应尽量可能多的获取目标 Web 应用的各种信息. 信息收集工作是 Web 渗透测试最基础, 也是最重要的阶段, 收集的有用信息, 可大大提高渗透测试的成功率.
来源: http://www.tuicool.com/articles/Rv6bmuN