Host碰撞实验

目录

Host碰撞原理

Host碰撞判断技巧

Host碰撞检测方法

Host碰撞实验步骤


从攻击者的视角来进行资产的梳理,采用全端口扫描+子域名收集的方式,识别所有的企业资产暴露面。但即使是这样,往往会因为配置错误或是未及时回收等原因,依然存在着一些隐形资产

Host碰撞原理

当数据包的host头替换为某个域名时在访问该反代服务器的ip,如果nginx/Apache的反向代理的host配置没删除,就会把请求转发到内网对应的host业务服务器上,接着返回该业务的信息,实现本该隐藏的业务访问
简单点就是:当数据包的host头替换为某个域名时在访问时该反代服务器的ip,如果页面发生了变化,返回了对应的资源,即可判断为存在host碰撞。

 

Host碰撞判断技巧

Host碰撞什么时候存在

业务通过DNS解析到外网,后面删除了A记录(但是nginx/Apache的反向代理还没删除)
测试业务(不对外开放的业务,只流传于开发或是测试使用)

什么样的IP能进行Host碰撞

观点:只要是个ip能够访问,那么它就有进行host碰撞的价值
例如说:
现在外网有个ip: 47.10.10.1(虚构的)
它的域名为: testmiao.com
现在它对映射规则配置不当了
然后打开状态码显示200,出现的是一个站点,返回的数据为一段json

对外映射的: a.testmiao.com
对外映射的: b.testmiao.com
内部nginx/Apache还映射的: oa.testmiao.com

那么这种情况下如果我们进行爆破式host碰撞
撞了一个oa.testmiao.com进去
那么nginx或是Apache服务器接收到这个 host: oa.testmiao.com
直接去请求了这个所谓的被收缩进内网的资源,然后返回

Host碰撞检测方法

我的检测方法是:
第一步:
  收集目标域名
  PS: 内外网的域名都要
第二步:
  收集目标ip段
第三步:
  将外网域名保存为一个hostList.txt备用
第四步:
  将外网域名全部ping一下获取一下ip,并将收集到的目标ip段加外网域名ip段保存为一个ipList.txt备用
  PS: 只要外网可访问的ip哦
第五步:
  将收集到的ipList.txt 与 hostList.txt进行host碰撞检测
第六步:
  将可以互相解析的ip提取出来
  例如:
  域名: aa.testmiao.com 解析的ip: 42.169.88.55
  域名: bb.testmiao.com 解析的ip: 42.142.165.49
  ip:42.169.88.55 修改host为:bb.testmiao.com
  然后打开: bb.testmiao.com 显示的还是 bb.testmiao.com 的内容,这就说明有价值了 :)
第七步:
  重点测试提取的ip进行host碰撞爆破
  例如:
  域名: aa.testmiao.com 解析的ip: 42.169.88.55
  自己构造常见的内网重要的域名
  如:
  oa.testmiao.com
  user.testmiao.com
  mail.testmiao.com
  sso.testmiao.com
  portal.testmiao.com

Host碰撞实验步骤

1、在Kali或者centos7上安装Docker并进行环境部署

service docker start	//开启docker
docker pull vultarget/host_collision	//拉取镜像
docker run -it -p 3333:8080 --rm vultarget/host_collision 	//启动后会进入卡顿说明正常

2、访问容器地址并回显状态码400的页面

http://127.0.0.1:3333/

3、在互联网上收集该目标的域名资产并使用以下Host碰撞脚本进行测试

下载压缩包

https://github.com/fofapro/Hosts_scan.git

4、然后拖进虚拟机解压

unzip Hosts_scan-master.zip 

5、在火狐浏览器插件商店搜索modify,下载第一个

(谷歌浏览器的插件是Modheader)

添加Host~test.com

6、访问机器ip(要加端口)

7、修改Hosts_scan-master文件夹的ip.txt和host.txt文件,在ip.txt添加刚才拉取镜像开启镜像的那台机器的ip,在host.txt添加test.com

8、在Hosts_scan-master目录下打开终端

python3 IP_hosts_scan_multithreading.py 

相关推荐

  1. Css实现小球边界碰撞回弹

    2024-07-17 06:14:02       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 06:14:02       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 06:14:02       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 06:14:02       57 阅读
  4. Python语言-面向对象

    2024-07-17 06:14:02       68 阅读

热门阅读

  1. MySQL零散拾遗(二)

    2024-07-17 06:14:02       24 阅读
  2. chrome扩展清除指定站点缓存chrome.browsingData.remove

    2024-07-17 06:14:02       28 阅读
  3. linux中导出sql脚本

    2024-07-17 06:14:02       21 阅读
  4. git 提交远程仓库 方式

    2024-07-17 06:14:02       27 阅读
  5. 热修复的原理

    2024-07-17 06:14:02       22 阅读
  6. Springboot 3.x - Reactive programming (2)

    2024-07-17 06:14:02       25 阅读
  7. C++基础语法:STL之容器(1)--容器概述和序列概述

    2024-07-17 06:14:02       31 阅读
  8. 【前端】原生实现图片的放大与缩放

    2024-07-17 06:14:02       22 阅读
  9. Meta Llama - Model Cards & Prompt formats

    2024-07-17 06:14:02       22 阅读
  10. 后端开发面试题

    2024-07-17 06:14:02       22 阅读
  11. 自动化回滚的艺术:Conda包依赖的智能管理策略

    2024-07-17 06:14:02       26 阅读