原文链接:WEB非实用之host碰撞挖掘 · 语雀
WEB非实用之host碰撞挖掘
0x01 前言
在实战中,我们总会对一个企业进行资产收集,在这个过程中会收集到许多资产,有域名有ip
但有的时候打开的域名指向的是一个内网ip 非常无奈 :(
而打开的ip状态码更是直接显示400,403,404禁止我们访问
还有一种状态码显示200但是输入啥都没啥变化的
同时对它们进行目录扫描,也是常常没有结果
那么这种情况下, HOST碰撞技术就可以尝试使用了
0x02 host碰撞原理
当数据包的host头替换为某个域名时在访问该反代服务器的ip, 如果nginx/Apache的反向代理的host配置没删除,就会把请求转发到内网对应的host业务服务器上, 接着返回该业务的信息, 实现本该隐藏的业务访问
简单点就是: 当数据包的host头替换为某个域名时在访问时该反代服务器的ip, 如果页面发生了变化,返回了对应的资源, 即可判断为存在host碰撞
0x03 host碰撞什么时候存在?
1业务通过DNS解析到外网,后面删除了A记录(但是nginx/Apache的反向代理还没删除)
2测试业务(不对外开放的业务,只流传于开发或是测试使用)
0x04 什么样的ip能进行host碰撞?
这里我看网上很多人写文章都是写 ip状态码为40X的时候,在进行host碰撞
但是我想说,这不一定正确!!!
实际上,我认为应该改为任何一个ip都有host碰撞的价值!!!
这个点的问题在于,现在很多较大的公司比较流行,资产统一把控,也就是自己所有的资产全部收缩进内网
然后整个nginx或是Apache服务器,想对外网开放某个资产的时候就通过这个反代服务器新添加个配置映射出去
这就导致了一个问题, 那就是如果配置不当了, 忘记删除这台nginx或是Apache服务器的域名指向了
那么我们通过修改host就可以重新访问这些以前在外网后面被收缩进内网的资产了
这种情况, 我对大公司进行测试时, 已经发现不下于三次
因此我认为只要是个ip能够访问,那么它就有进行host碰撞的价值
当然这个是我自己个人实战经验,读者们看个乐乎就好了 :)
0x05 host碰撞检测方法-思路
网上大佬是遇到40X,或是收集到了内网域名在进行host碰撞
这里我的检测方法对比网上那些大佬的比较泛~~
0x06 host碰撞检测方法-实际
测试方法的话,我这里提供两种比较高效的测试方法
0x06.1 测试数据
0x06.2 方法一 - 使用工具 HostCollision
PmAOWUPMIAOMMCBOKPOHTCONEHostco
日日年口日年年年年年非非日日年-开始碰撞
协议:https://,ip:42.
管理系统,匹配成功的数据包大小:1233匹配成功
title
host:Vms
协议:http://,ip:42
匹配失败
host:a.
匹配失败
host:b
协议:http://,ip:42
匹配失败
host:c.
协议:http://,ip:42.
匹配失败
协议:http://,ip:42.
host:d.
error:站点https://42
访问失败,不进行host碰撞
二一碰撞成功列表
协议:http://,ip:42.
管理系统,匹配成功的数据包大小:1233匹配成功
title:
host:Vms
?
发送
目标:http://42.
取消
响应
请求
HTML
头
Render
Raw
Hex
Raw
H窄TP71.120DOK
ETETTP/1.1
BAjont:Mo/
pbunt/10.10(maverick)Firefox/3.6.10
ACCOPT:*/*
LONtEnT-LengTh1357
ipst:vns.
nnectipn:c1oso
host碰撞演示
管理系统/title
<title
中童
uuxumu工
没有比赛
郑入赛索字词
并入搜索字词
没有比赛
0x06.3 方法二 - 使用burp
但是这个方法,只能一个ip一个ip的测试,无法批量host爆破
第一步: 找一个你认为有漏洞ip 我拿的测试数据的 42.xxx.xxx.xxx
第二步: 将找到的host 保存成一个 hostList.txt 分别填写进对应的数据(一行一个)
第三步: 构造数据包如下图
捕件扩展
错误日志
项目选项
用户选现
测试器
定序器
扫描热
车发糕
编玛器
对比器
劲栈
标
10
...
目标:http://42.
发送
取消
响应
请求
头
Raw
Raw
GETHTTP/1.1
HTTP/1.12000K
HOBt:42.D
Date:Sun17Dct202108:37:12GT
CONtENt-Typeapplcaton/onc
Ueer-ngenti
NOIISnt
Content-Langth:62
1kcecko)chrom/780390
Connoctioncloo
tethhtmt.Pc/m
Serveringinx
cation/igned-exchange:y-b3
Accept-mncodllng:qalpdeplat
Accopt-Languageroh-cnhq-o.9
Connoation:c1ose
有了这个包以后,发送到测试器里面进行host爆破
代理
目标
项目选项
拄陈
用户选项
汉试器
扫描器
定序器
扬件扩展
主发群
错误日志
对比器
编骨器
2
选项
位百
目标
有效钱荷
有效负载位置
开始攻击
设在基本屿求中重入有效重的位.攻击英型指定如持有效载分有教位增.一有关细息,,
狙击手(Sniper)
攻击类型:
CETIHTTP/1.1
添加$
OST:S42+XXXxXxxs
oo
地地
6活除
ACCePt-EnGODINGgzIPdeAtE
ACCEPT-LANGUaGEzHCK9
自动S
ConnecTionclose
修改为这样
刷新
项目运项
错误日志
用户选项
插件扩展
目标
重发群
扫捐器
测试器
外株
代理
对比悉
定序器
缩码胀
3
目标
洪项
位置
有效数荷
有效载荷集
开始攻击
决于址雷速项十中庄义约攻市英,每个有效负董练可以使用备种有效负鼓,并且可以以方式利汉鞋.
您可以定义一个晚多个有效负载,有效负载朱的数量取决于"
有效载荷数量:6
有效负鼓柴:
有效载荷类型:
简单洁单
6
请求效量:
有效荷选项[简单列表
设用于有效内容的简单字付书列表.
vms.xxx.com
粘贴
b.xxx.com
载入中.....
c.xxx.com
d.xxx.com
刑除
5cm.xxx.com
活屏
颖加
输入新项目
从列表中添加...
润试器王发器盗口帮助
Burp
用户选项
定序
项目选项
重发器
芙码器
代理
对比器
扬件扩展
目标
错误日志
测试器
扫描器
姚珠
选项
有效载荷
位普
目标
粘贴
axxx.com
b.xxx.com
载入中
c.xxx.com
d.xxx.com
出除
scm.xxx.com
洁尿
验入新项目
添加
从列表中添加....
有效负载处理
您可以定义在使用有效负钱之前对每个有效负载执行各种处理任务的规则.
效用
规则
添加
编组
胡险
至顶
下
有效载荷编码
最终有效载荷的指定字符的URL编码是设置.
为了安全地发送HTTP请求,
URL销码这兰字符:
1<77+&*01A
取消打勾
http请求转发插件
CMDFUZZTeSt
代理
插件扩展
Shiroscan
定序器
目标
错误日志
测试器
生发群
用户选项
项目选项
Fast/sonScan
AutoRepeater
塑妹
编玛器
对比器
xssScan
扫描器
FIOW
jsonpHunter
SqliMiao
2
目标
位
有效载蒋
选项
有效负数位置
开始攻击
设二在零本请来中面入有效负址的位.攻古突型定如何有效出分记效位.一洋细,助.
狙击手(Sniper)
玫击类型:
GET/HTTP/1.1
添加5
日O日T:542.Xxxxxxxxxs
全部设置完毕以后点击这个
et:oh:teoct
s活除
ACCOPTBnCODingzIP
Accept-LaNGuage:zh-cnh9
自动S
COnnecTionCloBe
刷新
错诺日志
用户选项
招件扩展
定序器
测试器
项目选项
代到
中发器
扫指装
对比貅
目标
编码帮
如味
目标
拉古
有效药有
选项
有效负载位置
开始攻击
设在琴本请来中量人有效载的拉.玫市突型定如何将有女分全编有效卖位二.一关痒组息,请参.
攻击类型:
狙击手(Sniper)
GET/HTTE71.
添加5
入侵者攻击设置
ELZ.MIBYNLO;teNESx1
ACCCPt:text/htmm
6活除
Warnings
A.P日Q
自动5
CONNECTion:ClOBE
TheHostheaderintherequestdoesnotmatchtspcifedtargethost.
刷新
点击忽略即可正常运行
忽格
回报
lntruderattack4
攻击保存列
有效载荷
结果
选项
位置
目标
过滤器:
显示所有项目
长
错误
状态
评论
请求
超时
有效载荷
0
200
264
OOOOoO
1
200
1111
vms.
N
200
264
a..
m
200
264
host爆破成功的结果
200
264
LOLo
264
200
200
1222
scm.LJ
请求
响应
头0
Hex
Raw
HTTP/1.1
GET
HOST:
Leethgent:Mg:/5.M
Chrome/780.3904108safari/537.36
Accept:
text/html,
..tpdcdimm...o
V-b3
gzip,deflate
Accept-encoding:
zh-cN,zh;g-o.9eng-0.
Accept-Language:
Connection:
1ose
输入搜索字词
没有比赛
完成了
lntruderattack4
攻击保存列
有效载荷
结果
选项
位置
目标
过滤器:显示所有项目
评论
错误
请求
有效载荷
超时
状态
264
0
ooooooo
200
200
vms
264
2
200
a.
OOOO
264
200
3
b
200
264
4
264
200
d.
200
1222
scm.
请求
响应
头
Render
Hex
HTML
Raw
管理系统</title>
<titie>
输入搜索字词
没有比赛
完成了
lntruderattack4
攻击保存列
有效载荷
结果
选项
位置
目标
过滤器:
显示所有项目
长
评论
错误
超时
状态
请求
有效载荷
200
264
OOOOOO
OOOOOO
1111
200
vms
264
200
a.
200
264
b.
200
264
264
200
d.
200
1222
scm.
请求
响应
头
Render
Hex
HTML
Raw
Content-Length;
管理系统</tit1e>
<titie>
输入搜索字词
没有比赛
完成了
0x06.4 浏览器访问的方法
0x06.4.1 方法一 - 系统hosts文件修改
这里就教如何利用windows访问对应的站点
打开文件: C:\Windows\System32\Drivers\etc\hosts
记事本
hosts
文件(F)编辑(E)格式(O)查看()帮助(H)
Additionally,oment(uhthi
linesorfollowingthemachinenamedenotedbya#symol
Forexample:
rhino.acme.com
102.54.94.97
#
server
source
#xclient
38.25.63.10
host
x.acme.com
localhostnameresolutionishandledwithinDNSitself.
127.0.0.1
1ocalhost
Localhost
::1
0.0.0.0
di.pstmn.io
添加一行数据
42.xxx.xXx.xXXVMS.testmiao.com
管理系统
http://vms.testmiao.com/login
百度一下,你就知道
管理系统
账号
请输入账号
密码
请输入密码
登录
0x06.4.1 方法二 - 使用burp
BURP SUITE PROFESSIONAL V1.7.37-TEMPORARY PROJECT-LICENSED TO SURFERXYZ
BURP INTRUDER REPEATER AUTOREPEATER WINDOW HELP
WILDCARD
REPEATER
FLOW
PROXY
USER OPTIONS
INTRUDER
DECODER
SPIDER
PROJECT OPTIONS
EXTENDER
SCANNER
TARGET
ALERTS
SEQUENCER
COMPARER
MISC
CONNECTIONS
SSL
HTTP
SESSIONS
TIMEOUTS
THESE SETTINGS SPECILY THE TIMEOUTS TO BE USED FOR VARIOUS NETVORK TASKS.VALUES ARE IN SET AN OPTION
EAVE IT BLANK TO NEVER TIMEOUT THAT TASK.
120
NORMAL:
10
OPEN-ENDED RES PONSES:
300
DOMAIN NAME RESOLUTION:
60
FAILED DOMAIN NAME RESOLUTION:
HOSTNAME RESOLUTION
ADD ENTRIES HERE TO OVERRIDE YOUR COMPUTER'S DNS RESOLUTION.
ENABLED
IP ADDRESS
HOSTNAME
ADD
EDIT
REMOVE
OUT-OF-SCOPE REQUESTS
. THIS FEATURE CAN BE USED TO PREVENT BURP FROM ISSUING ANY OUT-OF-SCOPE REQUESTS,INCING MADE VLA PR
DROP ALL OUT-OF-SCOPE REQUESTS
USE SUITE SCOPE[DEFINED IN TARGET TAB]
USE CUSTOM SCOPE
BURP SUITE PROFESSIONAL V1.7.37- TEMPORARY PROJECT-LICENSED TO SURFERXYZ
BURP INTRUDER REPEATER AUTOREPEATER WINDOW HELP
WILDCARD
USER OPTIONS
DECODER
PROXY
SPIDER
ALERTS
TARGET
SCANNER
FLOW
PROJECT OPTIONS
SEQUENCER
REPEATER
EXTENDER
INTRUDER
COMPARER
CONNECTIONS
SSL
HTTP
SESSIONS
MISC
TIMEOUTS
120
NORMAL:
OPEN-ENDED RESPONSES:
10
DOMAIN NAME RESOLUTION:
300
60
FAILED DOMAIN NAME RESOLUTION:
ADD HOSTNAME RESOLUTION RULE
HOSTNAME RESOLUTION
ENTER THE HOSTNAME AND IP ADDRESS.BURP WILL USE THIS SETTING INSTEAD OF THE DNS
ADD ENTRIES HERE TO OVERRIDE YO
RESOLUTION PROVIDED BY YOUR COMPUTER.
填写HOST碰撞出来的域名
ENABLED
ADD
HOSTNAME:
HO
EDIT
IP ADDRESS:
填写HOST碰撞出来的IP
REMOVE
OK
CANCEL
OUT-OF-SCOPE REQUESTS
THIS FEATURECAN BE USED TO PREVENT BURP FROM ISSUING ANY OUT-OF-SCOPE REQUESTS,INCLUDING THE VIA HE P
DROP ALL OUT-OF-SCOPE REQUESTS
USE SUITE SCOPE [DEFINED IN TARGET TAB]
USE CUSTOM SCOPE
如果还看不明白,这里也有中文版的可以看一眼
BURP SUITE PROFESSIONAL V1.7.37 - TEMPORARY PROJECT - LICENSED TO SURFERXYZ BY:LIANZHANZHANZHANG
测试器重发器 AUTOREPEATER窗口帮助
BURP
代理
目标
测试器
扫描器
重发器
定序器
错误日志
编码器
用户选项
对比器
WILDCARD
蜘蛛
插件扩展
项目选项
FLOW
会议
HTTP
连接
否则
SSL
120
标准
10
从响应的开始到结束:
域名解析:
300
60
在名称解析失败时重试:
主机名解析
在此处添加以覆盖计算机的DNS名称解析.
主机名
效用
IP地址
添加
编辑
添加主机名解析规则
删除
请输入主机名和IP地址.使用此设置而不是计算机的DNS名称解析.
主机名:
IP地址:
超出范围的请求
取消
OK
它可以防止由范围外.
0x07 总结
Plain Text复制代码
1
2
3
4
5
6
7
8
9
10
11
1. 收集一些内网常见的重要域名
例如:
oa.testmiao.com
user.testmiao.com
mail.testmiao.com
sso.testmiao.com
portal.testmiao.com
2. 尽量多可能的收集目标所有可对外访问的ip
3. 尽量多可能的收集目标的域名
4. 下载 HostCollision
5. 等待老天爷的宠幸~~~~
要是前面的文章还看不是很懂的话,可以看看这张网站访问流程的图会更加清晰