信息收集知识总结
信息收集
在信息收集中,需要收集的信息:目标主机的DNS信息、目标IP地址、子域名、旁站和C段、CMS类型、敏感目录、端口信息、操作系统版本、网站架构、漏洞信息、服务器与中间件信息、邮箱、人员、地址等。
域名信息收集
拿到公司名或者一个域名,通过工具收集域名信息,包括注册人、电话、邮箱、有时可以通过反查找到其更多的域名资产
whois查询
whois是用来查询域名的IP以及所有者等信息的传输协议。简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商、联系邮箱、联系电话、更新时间、创建时间、过期时间、域名服务器、DNS等等),不同域名后缀的Whois信息需要到不同的Whois数据库查询。
查询方法:
kali自带whois工具
站长之家(可进行域名反查)
域名Whois查询 - 站长工具
爱站
站长工具-百度权重排名查询-站长seo查询 - 爱站网
域名备案信息查询
网络域名备案的目的:为了防止在网上从事非法的网站经营活动,打击不良互联网信息传播
用备案号查询可能会查询到whois查询不到的其他资产,尽量都用,尽可能收集更多资产
查询方法:
天眼查
ICP备案查询备案号查询网站备案查询 - 天眼查
icp备案查询
ICP/IP地址/域名信息备案管理系统
收集子域名
泛解析
子域名收集要注意的事项:可能会存在泛解析问题
泛解析产生的原因:每个子域名都会解析为一个特定的ip地址,只有解析,用户才能正常的进行访问,一旦输入错误的子域名,就会导致无法访问,为避免因为错误的输入导致无法访问而产生的用户流失,就会使用泛解析
泛解析:通配符形式,所有没有进行明确配置的子域名,一律解析到一个指定的ip地址上
泛解析的优点:
1、支持无限子域名,无需为每一个子域名单独配置dns记录
2、防止用户输入错误导致无法访问
3、访问比较方便
泛解析的缺点:
1、恶意的泛解析会导致搜索引擎对网站的评价降低,会影响网站的权重和流量,导致排名下降
2、恶意收录:造成网站可能会出现大量的垃圾信息和违规信息
在线子域名查询
在线子域名二级域名查询工具 - 在线工具 二级域名查询工具,可以查询出顶级域名下的所有子域名,是一款非常棒的站长工具! 在线子域名二级域名查询工具 - 在线工具
ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名 ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名
子域名查询工具
Layer子域名挖掘机
subdomain 解决泛解析问题
oneforall 解决部分泛解析问题
github上都有
FOFA搜索子域名(网络空间搜索引擎)
网络空间测绘,网络空间安全搜索引擎,网络空间搜索引擎,安全态势感知 - FOFA网络空间测绘系统 网络空间测绘,网络空间安全搜索引擎,网络空间搜索引擎,安全态势感知 - FOFA网络空间测绘系统
FOFA语法
title="beijing" 从标题中搜索“北京”
header="elastic" 从http头中搜索“elastic”
body="网络空间测绘" 从html正文中搜索“网络空间测绘”
fid="sSXXGNUO2FefBTcCLIT/2Q==" 查找相同的网站指纹
domain="qq.com" 搜索根域名带有qq.com的网站。
icp="京ICP证030173号" 查找备案号为“京ICP证030173号”的网站
谷歌(搜索引擎)
intext: 寻找正文中含有关键字的网页,例如:intext:后台登陆 将只返回正文中包含后台登陆的wang网页。
intitle: 寻找标题中含有关键字的网页,例如:intitle:后台登陆 密码 将返回标题中包含黑客而正文中包含中国的网页。
allintitle: 用法和intitle类似,只不过可以指定多个词,例如:alltitle:后台登陆 管理员 将返回标题中包含后台登陆和管理员的网页。
cache: 网页快照,谷歌将返回给你他存储下来的历史页面,如果你同时制定了其他查询词,将在搜索结果里以高亮显示,例如:cache:www.hackingspirits.com guest ,将返回指定网站的缓存,并且正文中含有guest
inurl: 将返回url中含有关键词的网页,例如:inurl:Login 将返回url中含有Login的网页。
inininurl://admin/login.php 查找管理员登陆页面
nurl:/phpmyadmin/index.php 查找后台数据库管理页面
allinurl 用法和inurl类似,只不过可以指定多个词,例如:inrul:Login admin 将返回url中含有Login和admin的网页。
site 指定访问的站点,例如:site:baidu.com inurl:Login 将只在baidu.com中查找url中含有Login的网页。
filetype 指定访问的文件类型,例如:site:baidu.com filetype:pdf 将只fan返回baidu.com站点上文件类型为pdf的网页。
link 指定链接的网页,例如:link:www.baidu.com 将返回所有包含指向www.baidu.com的网页。
info 返回站点的指定信息,例如:info:www.baidu.com 将返回百度的一些信息。
related: 相似类型的网页,例如:related:www.xjtu.edu.cn 将返回与 www.xjtu.edu.cn 相似的页面,相似指的是网页的布局相似
查找网站后台:
site:xxx.com intext:管理
site:xxx.com inurl:login
site:xxx.com intitle:后台
查看服务器使用的程序:
site:xxx.com filetype:asp
site:xxx.com filetype:php
site:xxx.com filetype:jsp
site:xxx.com filetype:aspx
查看上传漏洞:
site:xxx.com inurl:file
site:xxx.com inurl:load
拿到真实ip
一般在子域名收集是同时也会收集到ip地址,但是哟与cdn的存在,我们还需要进一步判断其是否为网站服务器的真实ip
CDN(Content Delivery Network)即内容分发网络,是一种通过分布在全球各地的节点服务器集群,将内容(如网页、图片、视频、音频等)快速、高效地传递给用户的技术体系。其核心目标是降低网络延迟、提高内容加载速度、减轻源服务器压力,从而优化用户体验
单个cdn地址解析100个甚至几k的网站
优势:隐藏原主机ip,降低延迟,提高服务器响应速度,增加网络冗余,减少主机服务器的压力
判断是否存在cdn:
ping检测(站长之家、爱站):从多地访问主站,看ip地址是否唯一,不唯一则说明使用了cdn
绕过cdn拿到真实ip的方法:
1、域名历史解析记录(查询网、What's that site running? | Netcraft)
2、分站ip地址、查询子域名信息
3、邮箱发送,密码找回,数据交互的地方,可以返回真实ip
4、探针文件:phpinfo等
5、国外访问(对国外一般没有cdn)全球速度测试 PING!
收集端口
在网络技术概念中,端口(Port)大致有两种意思:
一是物理意义上的端口,比如,ADSLModem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。
二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。
收集端口的作用
端口信息收集可以帮助我们找到更多目标网站的功能点,更全面地对目标网站进行测试。
端口扫描工具:
nmap nmap -A -T4 -V -p 1-6535 ip
masscan masscan -p 1-65535 ip
在线端口扫描工具: 在线端口检测,端口扫描,端口开放检查-在线工具-postjson
常见的端口和利用点
远程管理端口
22 端口(SSH)
利用点:弱口令、暴力猜解、用户名枚举
23 端口(Telnet)
利用点:弱口令、明文传输
3389 端口(RDP)
利用点:暴力破解
Web中间件/服务端口
1090/1099 端口(RMI)
利用点:JAVA RMI 反序列化远程命令执行漏洞
7001 7002 端口(Weblogic)
利用点:弱口令、SSRF、反序列化漏洞、远程代码执行
8080 端口(Tomcat)
利用点:弱口令、示例目录
21 端口(ftp)
利用点:匿名访问下载上传、弱口令爆破
25 端口(smtp)
利用点:伪造邮件
110 端口(pop3)
利用点:爆破、嗅探
53 端口(dns)
445 端口(smb)
利用点:ms_08067、ms_17010
2375端口(docker)
利用点:未授权访问
9000端口 (phpfpm)
利用点:未授权访问
关系型数据库 mysql 3306 sqlserver 1433 oracle 1521 psotgresql 5432 非关系型数据库 MongoDB 27017 python Redis 6379 memcached 11211
常见搭配类型:
组合类型asp + access/mssql 组合类型php + mysql 组合类型aspx+mssql 组合类型jsp +mysql/oracle 组合类型Python + MongoDB
c段,旁站
1.C段: C段是和目标服务器ip处在同一个C段的其它服务器
2.旁站: 旁站是和目标网站在同一台服务器但开放在其他端口的网站。同服务器说明同ip,所以只要找ip相同的网站就好了。它们不一定是同一家公司这样的。 旁站和子域名的区别:旁站不一定是同一家公司的网站,子域名是同一家公司下的网站
旁站与c段收集方式
1.站长之家
2.同IP网站查询,C段查询,IP反查域名,在线C段,旁站工具 - WebScan 该网址工具能查询ip、ip地址、C段、同服务器上运行的其他网站,以及服务器IP上有多少个二级域名或旁站点。 https://www.webscan.cc/
利用方式
如果一台服务器通过其上的一个网站拿不下,可以从旁站入手,即同一服务器上的其他网站,最终也可拿下这台服务器。 很多系统并没有绑定域名,通过子域名能够获得的资产是有限的,这时候若想找到更多资产,可从C段入手。
指纹识别(CMS)
1.什么是指纹(CMS) CMS:快速搭建网站的内容管理系统,系统模板
Web应用框架:快速二次开发的Web应用框架,例如网站,小程序
2.指纹识别的方式
在线:
潮汐指纹: TideFinger 潮汐指纹 TideFinger 潮汐指纹
本地:
tiderfinger
plfinger64
源码泄露
以下总结的是最常见的3中源码泄露
git 源码泄露
Git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个.git目录,用来记录代码的变更记录等。发布代码的时候,如果没有把.git这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码。
利用工具:GitHack
使用:
python3 GitHack.py url
SVN 源码泄露
SVN是一个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。
利用工具:svnExploit-master
python3 svnExploit.py -u url
在用--dump下载下来
DS_Store 文件泄露
.DS_Store是Mac下Finder用来保存如何展示 文件/文件夹 的数据文件,每个文件夹下对应一个。如果将.DS_Store上传部署到服务器,可能造成文件目录结构泄漏,特别是备份文件、源代码文件。
利用工具:ds_store_exp-master
用法示例:
python3 ds_store_exp.py url
目录扫描
目录扫描的作用
1、扫描站点的目录,站点结构,权限控制不严格,弱口令,万能密码,爆破
2、找寻敏感文件(如目录名、后台、robots.txt、备份文件、源码泄露等)
3、找探针文件,服务器配置信息;(phpinfo.php、readme.txt、config.txt)
利用工具:
御剑(内置字典,自己可以补充或者替换)
js代码
现如今越来越多的网站使用webpack技术,开发人员通常会把api路由打包进js文件,js文件中往往会暴露出许多信息,比如一些注释中的敏感信息,内网ip地址泄露,还有一些绝对路径的url,可能就存在未授权访问