渗透测试之信息收集

信息收集

在网络攻防过程中,,信息收集是非常重要的一步,通过信息收集可以了解渗透目标的网络架构,描述出相关的网络拓扑,缩小攻击范围。只有将目标的相关信息收集完整,才可以对攻击目标开启的主机及主机安装运行的应用有针对性的攻击。

一、信息收集的方式:主动信息收集和被动信息收集

主动信息收集是指通过主动发送探测数据包与被测目标系统有直接交互;
被动信息收集是指在不被察觉的情况下,通过搜索引擎、社交媒体等方式对目标的外网信息进行收集,比如通过搜索引擎收集管理人员的信息,通过“站长工具”等查询网站的whois信息、备案信息等。

二、信息收集的内容:IP资源、域名发现、服务器信息收集、人力资源信息收集、网站关键信息识别、历史漏洞等。

1.IP资源

1.1真实IP获取

为了保证网络的稳定和快速传输,网站服务商会在网络的不同位置设置节点服务器,通过CDN(Content Delivery Network,内容分发网络)技术,将网络请求发送到最优的节点服务器上面。如果网站开启了CDN加速,就无法通过网络的域名信息获取真实的IP,要对目标的IP资源进行收集,就要绕过CDN查询其真实的IP信息。

1.1.1如何判断是否是CDN
(1)使用不同主机ping域名判断是否有CDN
比较常用的工具:
(1)站长工具:http://ping.chinaz.com/
(2)爱站网:https://ping.aizhan.com/
(3)国外ping探测:https://asm.ca.com/en/ping.php
(2)使用nslookup域名解析判断是否有CDN

在这里插入图片描述

1.1.2如何绕过CDN获取真实IP
(1)查询子域名
可以通过子域名探测的方式,收集目标的子域名信息,通过查询子域名的IP信息来辅助判断主站的真实IP信息。
子域名的查询方式有:
(1)枚举发现子域名
(2)搜索引擎发现子域名
(3)第三方聚合服务发现子域名
(4)证书透明性信息发现子域名
(5)DNS域传送漏洞发现子域名
(2)查询历史DNS记录
常用的第三方服务网站:
(1)Dnsdb:https://dnsdb.io/zh-cn/
(2)微步在线:https://x.threatbook.cn/
(3)使用国外主机解析域名
探测方式:
(1)利用已有的国外主机直接进行探测;
(2)如果没有国外的主机,可以利用公开的多地ping服务(多地ping服务有国外的探测节点),可以利用国外的探测节点返回的信息来判断真实的IP信息
(4)网站漏洞
利用网站存在的漏洞和信息泄露的敏感信息、文件(如:phpinfo文件、网站源码文件、GitHub泄露的信息等)获取真实的IP。
(5)邮件信息
邮件信息中会记录邮件服务器的IP信息,有些站点有类似于RSS邮件订阅的功能,可以利用其发送的邮件,通过查看源码的方式查看真实服务器的IP信息。
1.2.旁站信息收集

旁站是与攻击目标在同一服务器上的不同网站,在攻击目标没有漏洞的情况下,可以通过查找旁站的漏洞攻击旁站,然后再通过提权拿到服务器的最高权限,拿到服务器的最高权限后攻击目标也就拿下了。

1.2.1 Nmap扫描获取旁站信息
使用命令“nmap -sV -p 1-65535 IP”,对目标IP进行全端口扫描,确保每个可能开放的端口服务都能够识别到。
1.2.2 第三方服务获取旁站信息
比较常用的有“站长工具”、“Bing搜索”、“ZoomEye”、“Shodan”等
1.3 C段主机信息收集

**C段主机是指与目标服务器在同一C段网络的服务器。**攻击目标的C段存活主机是信息收集的重要步骤,很多企业的内部服务器可能都会在一个C段网络中。在很难找到攻击目标服务器互联网漏洞的情况下,可以通过攻击C段主机,获取对C段主机的控制权,进入企业内网,在企业的内网安全隔离及安全防护不如互联网防护健全的情况下,可以通过C段的主机进行内网渗透,这样就可以绕过互联网的发顾,对目标进行攻击。

1.3.1 Nmap扫描获取C段信息
使用命令“nmap -sn IP/24”,对目标的C段主机进行存活扫描,根据扫描的结果可以判断目标IP的C段还有哪些主机存活,然后对存活的主机进行渗透,拿到最高权限后进行内网渗透。
“nmap -Pn”这个命令在实际工作中的使用中也比较多,主要用于针对防火墙开启的情况,该命令不会通过ICMP等协议进行主机存活判断,会直接对端口进行扫描。这样在开启了防火墙禁止ping的情况下,也可以利用这个命令正常扫描目标是否存活及对外开启的相关服务。
1.3.2 搜索引擎收集C段信息
通过Google搜索引擎的“site:x.x.x.*”,也可以对“x.x.x.*”的C段主机进行信息收集。

2.域名发现

2.1 子域名信息收集
	子域名是父域名的下一级。攻击者在主站域名找不到突破口时,就可以进行子域名的信息收集,然后通过子域名的漏洞进行迂回攻击。
	子域名信息收集主要包含枚举发现子域名、搜索引擎发现子域名、第三方聚合服务发现子域名、证书透明性信息发现子域名、DNS域传送发现子域名等方式。
2.2枚举发现子域名
子域名暴力破解常用的工具有“Layer子域名挖掘机”和“subDomainsBrute”
(1)使用Layer子域名挖掘机
(1)使用subDomainsBrute
	“subDomainsBrute”工具用于渗透测试的目标域名收集,能够实现高并发DNS暴力枚举,发现其他工具无法探测的域名,高频扫描每秒DNS请求数可超过1000次。
	subDomainsBrute的使用方式:“subDomainsBrute.py[options]target.com”。
	通过命令“python subDomainsBrute.py xxx.com”对“xxx.com”的子域名进行枚举,枚举发现的域名会保存在“xxx.com.txt”文件中。
2.3 搜索引擎发现子域名
使用搜索引擎Google或者百度,输入“site:xxx.com”可以获取对“xxx.com”子域名的信息。
2.4 第三方聚合服务发现子域名
常用的第三方聚合服务网站有DNSdumper、VirusTotal和Sublist3r。
2.5 证书透明性信息发现子域名
	证书透明性(Certificate Transparency,CT)是Google的公开项目,通过让域所有者、CA和域用户对SSL整数的发行和存在进行审查,来纠正这些基于证书的威胁。具体而言,证书透明性具有三个主要目标:
	(1)使CA无法(或至少非常困难)为域颁发SSL证书,而该域的所有者看不到该证书。
	(2)提供一个开放的审核和监视系统,该系统可以让任何域所有者或CA确定证书是错误的还是恶意颁发的。
	(3)尽可能防止用户被错误或恶意颁发的证书所欺骗。
	CA证书中包含了域名、子域名、邮箱等敏感信息,存在一定的安全风险。利用证书透明性进行域名信息收集,一般使用CT日志搜索引擎进行域名信息收集,常用的有“https://crt.sh”和“https://transparencyreport.google.com/https/certificates”.
(1)使用crt.sh对域名进行搜索
(2)使用Google对域名进行搜索
2.6 DNS域传送漏洞发现子域名
DNS服务器从功能上分为主DNS服务器、从DNS服务器、缓冲DNS服务器与转发DNS服务器。
主DNS服务器主要用于维护所负责解析的域的数据库,可以对数据库进行读写操作。
从DNS服务器也称为辅助DNS服务器,可以作为主DNS服务器的备份服务器于负载服务器。
缓存DNS服务器不负责域名解析,它将用户访问其他DNS的信息保存在本地,作为缓存数据,这样用户在访问时就会比较方便,缩短域名查询时间。
转发DNS服务器会将特定的域名查询进行转发,若DNS服务器无法权威的解析客户端的请求,即没有匹配的主要区域和辅助区域,并且无法通过缓存信息来解析客户端的请求,转发DNS服务器会转发到指定的DNS服务器上面,由该DNS服务器完成域名解析工作。
DNS区域传送是指主、从DNS服务器的数据同步机制,当主DNS服务器出现故障或出现负载太大而无法正常工作的情况下,从DNS服务器就会处理DNS请求。从DNS服务器的区域数据是从主DNS服务器上复制的,所以从服务器的数据是只读的,此时使用的是DNS服务TCP协议的53端口。

3.服务器信息收集

服务器需要收集的信息包含三个方面:端口信息收集、程序服务版本识别和操作系统信息识别。
端口信息收集和程序服务版本识别主要是为了收集服务器开放了哪些端口,这些端口都运行了什么类型的服务,这些服务的具体版本信息。
操作系统信息识别是为了判断目标运行了什么类型的操作系统,根据不同类型的操作系统、不同版本的操作系统漏洞进行漏洞利用。
服务器信息收集最常用的工具就是Nmap工具。
3.1 端口扫描
使用命令“nmap -p 1-65535 IP”,对目标进行全端口扫描,确保每个可能开放的端口服务都能够被识别到。
3.2 程序服务版本识别
Nmap进行指纹识别的参数是“-sV”,使用命令“nmap -sV -p 1-65535 IP”对目标IP进行全端口扫描,并进行服务版本识别。
3.3 操作系统信息识别
Nmap使用“-O”参数来启动操作系统检测,也可以使用“-A”来同时启动操作系统检测和版本检测。

4.人力资源情报收集

人力资源情报收集主要是对目标企业单位的关键员工、供应商、合作伙伴等相关信息进行收集。通过人力资源情报收集可以了解目标企业的人员组织结构,通过分析人员组织结构,能够判断关键人员对其实施社会工程学鱼叉钓鱼攻击。收集到的相关信息还可以进行字典的制作,用于相关应用系统的暴力破解。

4.1 whois信息
whois是用来查询域名的IP及所有人等信息的传输协议。whois的本质就是一个用来查询域名是否被注册,以及注册域名的详细信息的数据库,可以通过whois来实现对域名信息的查询。
比较常见的在线查询工具有“站长之家”和“https://who.is/”
4.2 社会工程学
社会工程学主要是利用网络上公开的资源信息和人性心理上的弱点对某个人进行欺骗,最终获取相关信息的过程。
4.3 利用客服进行信息收集
客服的办公电脑可能会存储大量的敏感信息,攻击者通过信息收集和信息分析进一步进行渗透测试。
4.4 招聘信息收集
招聘网站的招聘信息和求职简历含有大量的人员相关信息,招聘信息中涉及招聘公司人员的相关的电子邮箱、手机号等相关信息,求职简历中涉及求职人员的姓名、手机号、电子邮箱、工作经历等,如果招聘网站存在安全漏洞,求职人员的建立就有可能被泄露。

5.网站关键信息识别

5.1 指纹识别

常见的指纹识别内容有CMS识别、框架识别、中间件识别、WAF识别。CMS识别一般利用不同的CMS特征来识别,常见的识别方式包括特定关键字识别、特定文件及路径识别、CMS网站返回的响应头信息识别等。

5.1.1 特定关键字识别
CMS的首页文件、特定文件可能包含了CMS类型及版本信息,通过访问这些文件,将返回的网页信息(如“Powered by XXCMS”)与扫描工具数据库存储的指纹信息进行正则匹配,判断CMS的类型。
(1)Powered by XXCMCS识别CMS
(2)meta标签中的content字段
5.1.2 特定文件及路径识别
不同的CMS会有不同的网站结构及文件名称,可以通过特定文件及路径识别CMS。
5.1.3 响应头信息识别
应用程序会在响应头Server、X-Powered-By、Set-Cookie等字段中返回Banner信息或者自定义的数据字段,通过响应头返回的信息,可以对应用进行识别,有些WAF设备也可以通过响应头信息进行识别判断。
5.1.4 指纹识别工具
常见的工具有WhatWeb、Wappalyzer、御剑等。
5.2 铭感路径探测
通过敏感路径探测可以获取很多由于错误配置而泄露的文件、默认文件、测试文件、备份文件等,这些文件里面可能存在了很多数据库配置、应用程序配置等敏感信息。
常见的敏感路径探测文件有robots文件、phpinfo文件、DS文件、备份文件、上传页面、后台登录页面、sitemap.xml文件、WEB-INF/web.xml文件等。
敏感路径探测主要使用工具探测,比较常用的工具有御剑、Burpsuite、wwwscan等,扫描工具主要取决于使用的字典,当然与工具也有一定的关系。
5.3互联网信息收集

互联网信息收集包含历史漏洞信息收集、SVN&GIT信息收集、网盘信息收集等。

5.3.1 历史漏洞信息收集
很多第三方网站历史漏洞会被披露得比较详细,包含完整的漏洞利用过程、漏洞利用完成后可以获取哪些信息及获取的权限,以此判断攻击目标经常出现问题的功能有哪些,通过其描述可能获取其网站真实的物理路径信息、真实IP信息、CMS等重要信息。攻击者甚至还可以通过此历史漏洞点进行再次尝试,如果攻击目标的管理员没有获取相关信息,不知道已经被人攻击,或者收到了相关信息还没及时修复或者直接忽略了此漏洞,攻击者就可以直接利用此历史漏洞发起攻击,或者利用已经上传的后门程序进行攻击。
5.3.2 SVN&GIT信息收集
常用的版本控制工具有SVN和GIT。
(1)SVN代码泄露
测试目标网站有没有SVN代码泄露最简单的方式:直接访问“.svn”,确认其是否存在。然后可以使用Seay-SVN和SvnExploit等工具利用此漏洞。
(2)GIT代码泄露
测试目标网站是否存在GIT代码泄露可以直接访问“.git”文件看其是否存在。然后使用工具GitHack利用此漏洞。
5.3.3 网盘信息收集
一般通过第三方的网盘搜索网站进行网盘信息收集。

IT信息收集

常用的版本控制工具有SVN和GIT。
(1)SVN代码泄露
测试目标网站有没有SVN代码泄露最简单的方式:直接访问“.svn”,确认其是否存在。然后可以使用Seay-SVN和SvnExploit等工具利用此漏洞。
(2)GIT代码泄露
测试目标网站是否存在GIT代码泄露可以直接访问“.git”文件看其是否存在。然后使用工具GitHack利用此漏洞。
5.3.3 网盘信息收集
一般通过第三方的网盘搜索网站进行网盘信息收集。
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值