| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 【渗透测试基础-3】渗透测试信息收集的内容及方法 -> 正文阅读 |
|
[网络协议]【渗透测试基础-3】渗透测试信息收集的内容及方法 |
目录1 信息收集概述testfire.net是IBM公司为了演示旗下比较有名的Web漏洞扫描器AppScan的强大功能所搭建的模拟银行网站,所以上面会有很多Web安全漏洞。可以以该网站为目标去测试。 1.1 目的进行渗透测试之前, 最重要的一步就是信息收集,在这个阶段,我们要尽可能地收集目标组织的信息。所谓“知己知彼,百战不殆”,我们越是了解测试目标,测试的工作就越容易。 1.2 收集内容在划定了测试范围之后,就需要进入信息收集阶段。在这个阶段,渗透人员需要使用各种公开资源尽可能地获取测试目标的相关信息。他们搜集信息的互联网渠道主要有:论坛/公告板/新闻组/媒体文章/博客/社交网络/github/其他商业或非商业性的网站。此外,他们也可以借助各种搜索引擎中获取相关数据,如谷歌、雅虎、MSN必应、百度等。收集的信息主要包括:
收集的信息越多,渗透测试成功的概率越高。 在信息收集中,最主要的就是收集服务器的配置信息和网站的敏感信息,其中包括域名及子域名信息、目标网站系统、CMS指纹、目标网站真实IP 、开放的端口等。换句话说,只要是与目标网站相关的信息,我们都应该去尽量搜集。 2 收集域名信息知道目标的域名之后,我们要做的第一件事就是获取域名的注册信息,注意关注该域名的注册商和注册人的联系方式(电话和邮箱)等信息。域名信息收集的常用方法有以下这几种。 2.1 Whois查询2.1.1 Whois简介Whois是一个标准的互联网协议, 可用于收集域名注册信息,注册的域名、IP地址等信息。简单来说, Whois就是一个用于查询域名是否己被注册以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。 在Whois查询中,得到注册人的姓名和邮箱信息通常对测试个人站点非常有用,因为我们可以通过搜索引擎和社交网络挖掘出域名所有人的很多信息。对中小站点而言,域名所有人往往就是管理员。 2.1.2 Whois操作(1)Kali系统:在Kali系统中, Whois 己经默认安装,只需输入要查询的域名即可,代码为 (3)阿里云查询(https://whois.aliyun.com/) 2.2 反查除了用whois查询以外,还可以进行反查 2.3 备案信息查询网站备案是根据国家法律法规规定,需要网站的所有者向国家有关部门申请的备案,这是国家信息产业部对网站的一种管理,为了防止在网上从事非法的网站经营活动的发生。主要针对国内网站,如果网站搭建在其他国家,则不需要进行备案。 (1)ICP备案查询网:https://www.beianx.cn/ (2)天眼查: http : //www.tianyancha.como 3 收集子域名信息子域名也就是二级域名, 是指顶级域名下的域名。假设我们的目标网络规模比较大,直接从主域入手显然是很不理智的, 因为对于这种规模的目标, 一般其主域都是重点防护区域,所以不如先进入目标的某个子域,然后再想办法迂回接近真正 4.1 子域名查询网站可以查询子域名的网站 4.2 域传送漏洞DNS区域传送(DNS zone transfer)指的是一台备用服务器使用来自主服务器的数据刷新系的域(zone)数据库。这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主域名服务器因意外故障变得不可用时影响到整个域名的解析。一般来说,DNS区域传送操作之在网络里真的有备用域名DNS赋予其时才有必要用到,但许多DNS服务器却被错误地配置成只要有client发出请求,就会向对方提供一个zone数据库的详细信息(没有身份认证),所以说允许不受信任的因特网用户执行DNS区域传送操作是后果最为严重的错误配置之一。一般防御域传送漏洞的措施是指定从DNS服务器。 (1)可以使用dig工具来检测域传送漏洞,命令为 4.3 子域名检测工具用于子域名检测的工具主要有Layer子域名挖掘机、K8 、wydomain , Sublist3r dnsmaper 、subDomainsBrute 、Maltego CE 、dnsrecon(kali自带)等。重点推荐Layer子域名挖掘机、Sublist3r和subDomainsBrute 。 4.3.1 Layer子域名挖掘机5.0下载及使用(1)layer子域名挖掘机5.0下载百度云链接,提取码:121l。 (3)输入要扫描的域名开启扫描,扫描进度在左下角查看。 4.3.2 subDomainsBrute下载及使用subDomainsBrute下载:工具GIthub下载地址,在如下图处下载并解压。具体使用方法可详见《【信息收集】渗透测试信息收集的种类及方法》 4.4 搜索引擎枚举可以利用Google语法搜索子域名,例如使用site:baidu.com语法搜索百度旗下的子域名。 4.5 第三方聚合应用枚举很多第三方服务汇聚了大量DNS 数据集,可通过它们检索某个给定域名的子域名。只需在其搜索栏中输入域名,就可检索到相关的域名信息。 4.6 证书透明度公开曰志枚举证书透明度(Certificate Transparency, CT)是证书授权机构(CA)的一个项目,证书授权机构会将每个SSL/TLS证书发布到公共日志中。一个SSL/TLS证书通常包含域名、子域名和邮件地址,这些也经常成为攻击者非常希望获得的有用信息。查找某个域名所属证书的最简单的方法就是使用搜索引擎搜索一些公开的CT日志。 5 DNS To IP通过DNS解析找到IP地址,主要有以下几种方法 5.1 ping
5.2 nslookup解析出来的地址属于非权威解答 5.3 dig工具kali自带dig工具,在使用dig时解析域名时,出现了如下错误。可参考文章《【常见问题解决】kali中可以使用ping但无法使用nslookup和dig命令》解决问题。
5.4 dnsenum工具dnsenum会自动检测域传送漏洞,比较推荐。(kali自带)
5.5 站长之家站长之家官网首页 5.6 CDN对查询域名对应IP地址的影响这里主要讲解在以下这几种情况下,如何绕过CDN寻找目标服务器的真实IP 。 5.6.1 CDN技术概述定义:CDN的全称是Content DeliveryNetwork,即内容分发网络。 简介:CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。 基本原理:CDN的基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。利用节点缓存技术,通过在网络各处放置节点服务器,构成了在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。 目的:是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。 参考资料: 5.6.2 对渗透测试的影响cdn会隐藏服务器真实的ip地址,无法对目标网站的操作系统进行渗透,但cdn站点又可以理解为是目标站点的镜像站点(大多数都是静态cdn加速),拥有相同的网站架构,且cdn服务器可与站点服务器进行交互,因此sql注入,xss等漏洞的挖掘并不受太大影响。 5.6.3 判断及绕过CDN的方法5.6.3.1 判断方法通过超级ping的网站可以看到CDN的解析情况,可以浏览器搜索“超级ping”打开对应网页输入域名进行搜索,或直接在浏览器输入“https://ping.chinaz.com/+目标域名”的方式进行检索。以百度WEB服务器为例,https://ping.chinaz.com/www.baidu.com。 5.6.3.2 绕过CDN寻找真实IP的方法(1)内部邮箱源。一般的邮件系统都在内部,没有经过CDN的解析,通过目标网站用户注册或者RSS订阅功能,查看邮件、寻找邮件头中的邮件服务器域名IP,ping 这个邮件服务器的域名, 就可以获得目标的真实IP (注意,必须是目标自己的邮件服务器,第三方或公共邮件服务器是没有用的)。 (2)扫描网站测试文件,如phpinfo 、test 等,从而找到目标的真实IP 。 (3)分站域名。很多网站主站的访问量会比较大,所以主站都是挂CDN 的,但是分站可能没有挂CDN,可以通过ping二级域名获取分站IP,可能会出现分站和主站不是同一个IP但在同一个C段下面的情况,从而能判断出目标的真实IP段。 (4)国外访问。国内的CDN往往只对国内用户的访问加速,而国外的CDN就不一定了。因此,通过国外在线代理网站App Synthetic Monitor (https://asm.ca.com/en/ping.php)访问,可能会得到真实的IP。 (5)查询历史域名的解析记录。也许目标很久以前并没有用过CDN,所以可以通过网站NETC RAFT(https://www.netcraft.com/)来观察域名的IP历史记录,也可以大致分析出目标的真实IP段。 (6)如果目标网站有自己的App,可以尝试利用Fiddler或BurpSuite截取App的请求,从里面找到目标的真实IP。 (7)绕过CloudFlare CDN查找真实IP 。现在很多网站都使用CloudFlare提供的CDN服务,在确定了目标网站使用CDN后,可以先尝试通过在线网站Cloud Flare Watch ( http://www.crimeflare.us/cfs.html#box)对CloudFlare客户网站进行真实IP查询。 5.6.4 验证获取的IP找到目标的真实IP以后,如何验证其真实性呢?如果是Web,最简单的验证方法是直接尝试用IP访问,看看响应的页面是不是和访问域名返回的一样;或者在目标段比较大的情况下,借助类似Masscan的工具批扫描对应IP段中所有开了80、443、8080端口的IP,然后逐个尝试IP访问,观察响应结果是否为目标站点。 6 IP查询6.1 IP 查询网站:站长之家:http://ip.chinaz.com/ 6.2 同IP网站查询同一个IP上的网站,例如A站与B站处于同一个IP上,A与B站的关系为旁站;另外A站与B站的IP均为1.1.1.*,叫C段。 6.3 IP whois查询6.4 IP To Location(1)查询 IP经纬度 7 收集敏感信息7.1 敏感信息类型此处提到的敏感信息主要包括:数据库文件、SQL注入、配置信息(server及PHP版本等)、源代码泄露、未授权访问和robots.txt等。 7.2 通过搜索引擎收集敏感信息Google是世界上最强的搜索引擎之一,对一位渗透测试者而言,它可能是一款绝佳的黑客工具。我们可以通过构造特殊的关键字语法来搜索互联网上的相关敏感信息。下面列举了一些Google 的常用语法及其说明。(掌握)
关键字尽量用“”引起来 实例:
7.3 钟馗之眼zoomeye钟馗之眼zoomeye支持公网设备指纹检索和Web指纹检索。网址指纹包括应用名、版本、前端框架、后端框架、服务端语言、服务器操作系统、网站容器、内容管理系统和数据等。钟馗之眼zoomeye网址为: (2)指定端口号、指定主机。例如, 7.4 shodanshodan可以搜索联网设备,例如摄像头。网址为:
7.5 通过BurpSuite收集敏感信息通过BurpSuite工具同样可以获取一些服务器的信息,如运行的Server类型及版本、PHP的版本信息等。针对不同的Server ,可以利用不同的漏洞进行测试。 7.6 其他除此之外,也可以尝试在GitHub 上寻找相关敏感信息,如数据库连接信息、邮箱密码、uc-key 、阿里的osskey,有时还可以找到泄露的源代码等。 8 网站信息收集—指纹信息网站信息收集只要指收集指纹信息 8.1 CMS及Web指纹识别的必要性必要性:在渗透测试中,只有识别出相应的Web容器或者CMS ,才能查找与其相关的漏洞,然后才能进行相应的渗透操作。 内容管理系统(content management system,CMS):是一种位于WEB前端(Web 服务器)和后端办公系统或流程(内容创作、编辑)之间的软件系统。内容的创作人员、编辑人员、发布人员使用内容管理系统来提交、修改、审批、发布内容。 8.2 netcraft Extension插件采用netcraft扩展工具可以收集指纹信息,netcraft扩展工具的安装和使用方法如下:
8.3 Wappalyzer插件Wappalyzer插件的安装方法与Netcraft Extension一致. 8.4 采用工具进行指纹识别Web指纹识别代表工具有WhatWeb 、御剑Web 指纹识别、WebRobo 、椰树、轻量WEB指纹识别等,可以快速识别一些主流CMS。
8.3 采用网站查询指纹
9 收集网站目录及隐藏的敏感文件9.1 目的及常见工具目的:在渗透测试中,探测Web 目录结构和隐藏的敏感文件是一个必不可少的环节,从中可以获取网站的后台管理页面、文件上传界面, 甚至可能扫描出网站的源代码。 针对网站目录的扫描主要有:DirBuster 、御剑后台扫描珍藏版、wwwscan 、Spinder.py (轻量级快速单文件目录后台扫描)、Sensitivefilescan (轻量级快速单文件目录后台扫描)、Weakfilescan (轻量级快速单文件目录后台扫描)等工具。 9.2 御剑后台扫描珍藏版(1)扫描线程自定义:用户可根据自身电脑的配置来设置调节扫描线程; 9.3 DirBuster简介:DirBuster是OWASP开发的一款基于Java编写的、专门用于探视Web服务器的目录和隐藏文件。因为是用Java编写的,所以需要在Java运行环境ORE )下安装。该工具的界面是纯图形化的,用法相对简单。 (3)并按如下步骤进行设置,适当调整窗口大小,可以看到Start按钮。
10 社会工程学(1)社会工程学在渗透测试中起着不小的作用,利用社会工程学,攻击者可以从一名员工的口中挖掘出本应该是秘密的信息。 11 归纳(1)了解信息收集阶段的目的; 参考文章[1] 《Web安全攻防:渗透测试实战指南》 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 4:23:55- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |