domain_fronting域名前置检测调研笔记

news2024/12/23 14:28:24

暗度陈仓:基于国内某云的 Domain Fronting 技术实践
https://www.anquanke.com/post/id/195011?from=timeline
1.作者提到因为 CDN 的存在,访问网站时访问的实际上只是 CDN,而不是直接和网站的真实服务器进行通信,所以利用 CDN 的同时也可以隐藏真实C2服务器的 IP
2.作者总结下来,实施 Domain Fronting 大致分为以下几步: 申请域名;申请CDN,加速上一步申请的域名;使用 curl 加上 Host 头访问CDN,测试是否成功;编辑好 C2 Profile 文件,作为 teamserver 中的一个选项运行之;使用特制的 Agent Generator 生成 Payload;在目标主机中运行 Payload

https://www.anquanke.com/post/id/243146
域前置水太深,偷学六娃来隐身——域前置攻击复现
1.作者认为当听到域前置的时候,只需要认为攻击者将 HTTP Header 中的 Host 头变换为位于 CDN 后面的高信誉网站即可

在这里插入图片描述
2.在真正的应用场景中,HTTPS 在攻击中只是多了一层 TLS 验证,所以本文主要复现 HTTP 层的域前置攻击。HTTPS 其实同理,只需要在 CS 配置中填写 443 端口,以及在 CDN 厂商中设置增加证书和 443 端口即可
3.只要请求的是 CDN 加速域名或 IP,云厂商就会根据 Host 字段的域名进行回源,并请求 Host 字段的域名返回内容。
令人欣喜的是,在云厂商请求 Host 字段域名时,如果该域名在云厂商中使用了 CDN 加速服务,会使用内部解析器解析成 IP 并请求。
也就是说,假如在云厂商内部解析器中域名解析 IP 与实际 IP 不符,那么通过这种方法就可以返回与实际页面不同的内容。
4.作者提到无论是使用 CDN IP 改 Host 头还是 CDN 域名改 Host,都可以实现域前置攻击,只不过使用 CDN 域名时,通讯 IP 变成了该域名的解析 IP

https://www.freebuf.com/articles/web/271046.html
域前置之“中外差异”
1.作者提到了中外里解中的域名前置的一些差异,维基百科中对域前置的定义说的很明白。在明文的DNS请求和TLS服务器名称指示(SNI)中使用无害的域名来初始化连接、公布给审查者,而实际要连接的被封锁域名仅在创建 加密的HTTPS连接后发出,使其不以明文暴露给网络审查者。国内的做法一般是把CNAME接入的IP ping一下,然后填写到CS(cobal strike)的IP里。再去修改profile文件,然后指定host为某host,这种行为更像是“CDN非法接入”
2.作者提到CDN非法接入的一个流量特征是,发送的https请求没有server_name 且接受的证书是CDN默认证书

https://www.anquanke.com/post/id/260888
域前置溯源方法思考
在这里插入图片描述
作者提出了域前置溯源的一种思路:
1、根据已经拿到的资产获取Web指纹(开放的服务及版本、端口等)、Banner信息,分析获取测绘特征。
2、根据测绘特征在Zoomeye、Fofa、Shodan等平台搜索,通过时间、地区等条件初步筛选,获得资产列表,这个列表可能很大。
3、通过分析样本,获取通信特征(Uri、回包大小、Header等)向资产列表发通信包,动态过滤;根据已有资产规则(IP段分布、IDC服务商、域名构造特征、证书服务商等)人工静态过滤,得到较精确的网络资产列表。
在域前置的情况下,无论是从样本还是从流量中都无法获取Host4,所以只能从反面,也就是通过扫描探测获取信息与正面访问得到的Banner信息进行匹配,具体过程如下:
4.根据样本中获取到Host1与Host2,发请求包获取C2的Banner信息。
5.根据Banner信息Zoomeye、Fofa、Shodan等平台搜索,通过时间、地区等条件初步筛选,得到一个IP列表。
6.根据样本中特有的通信特征,向IP列表发包,根据返回确定是不是要找的Host4

一文搞明白域前置(Domain Fronting)技术
https://blog.csdn.net/weixin_44604541/article/details/118413649
1.作者提到Domain Fronting流量的一个显著特点是SNI和Host不相等。企业的防守方可以部署HTTPS流量解密设备,并对比流量中的SNI和Host是否相等,如果不相等则说明是该流量是Domain Fronting流量。这也是MITRE ATT&CK中建议的检测方式。并且,随着该技术不断在真实网络攻击中被使用,云厂商也逐渐意识到了Domain Fronting的危害,目前Cloudflare、AWS CloudFront、Google Cloud CDN等厂商也都纷纷禁用了这种隐蔽通信方法
一文搞明白 Domain Borrowing
https://www.icode9.com/content-4-1055411.html
1.作者提到当CDN无法找到SNI中的域名对应的证书时,通常有两种处理逻辑
大多数CDN会返回一个默认的证书给客户端
少数CDN会直接断开与客户端的TCP连接
在这种情况下,客户端可以选择忽略HTTPS证书验证并与CDN边缘节点进行HTTPS通信,这时HTTPS流量中SNI == Host == www.blackhat.com,可以绕过对Domain Fronting的检测
2.作者提到SNI和Host可以被设置为一个不存在的域名(即该域名没有IP地址)
在防火墙检测HTTPS SNI的DNS解析结果是否与通信的目标IP地址相同

总结:关于域名前置主要有2种
Domain fronting
在这里插入图片描述
使用恶意host和合法的SNI去请求CDN
局限:
SNI和Host不相等,企业的防守方可以部署HTTPS流量解密设备,并对比流量中的SNI和Host是否相等来检测
厂商已经意识到危害开始逐渐禁用这种方法

Domain borrowing
https://www.cnblogs.com/bonelee/p/15514432.html
通信时SNI和HOST为高信誉域名,需要通过漏洞获取证书

在这里插入图片描述
局限:需要在CDN上注册高信誉域名,且需要通过漏洞等方式获取有效的HTTPS证书,否则当CDN无法找到SNI中的域名对应的证书时,CDN会返回默认的证书给客户端

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

检测逻辑:比对sni是否和host一致,同时检测返回证书里的CN字段是否包含cdn或者default等默认证书字段

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/138807.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【虹科云展厅】虹科赋能汽车智能化云展厅今日正式上线!

虹科2023年开年福利来了! 聚焦前沿技术,【虹科赋能汽车智能化云展厅】正式上线,本次云展厅围绕“汽车以太网/TSN、汽车总线、智能网联、电子测试与验证、自动驾驶”等核心话题,为您带来如临展会现场般的讲演与介绍,更…

【MySQL】MySQL基本数据类型

序号系列文章1【MySQL】MySQL介绍及安装2【MySQL】MySQL基本操作详解3【MySQL】MySQL基本数据类型文章目录1,数字类型1.1,整型类型1.2,浮点数类型1.3,定点数类型1.4,BIT类型1.5,直接常量2,时间和…

2024在职考研|MBA/MPA/MEM管理类硕士报考流程及基础问题扫盲

各位小伙伴们,2024年研究生备考工作即将启程!作为在职人群,想攻读双证硕士可以选择的专业比较有限,其中管理类硕士是很多在职考生可以考虑的。专注管理类联考辅导领域的达立易考教育为2024级考生梳理基本流程和关注的问题&#xf…

举一反三-zabbix监控nginx

监控nginx需要修改nginx配置文件,添加如下: location /nginx_status { stub_status; allow 127.0.0.1; allow 192.168.1.71; deny all; } 这里边192.168.1.71是这台服务器的IP。 保存退出,重启…

【阶段二】Python数据分析Pandas工具使用06篇:探索性数据分析:异常数据的检测与处理

本篇的思维导图: 探索性数据分析:异常数据的检测与处理 异常值也称为离群点,就是那些远离绝大多数样本点的特殊群体,通常这样的数据点在数据集中都表现出不合理的特性。如果忽视这些异常值,在某些建模场景下就会导致结论的错误(如线性回归模型、K均值聚类等),所以在数据…

《杜拉拉升职记》读后感

主要是那封拉拉写给李都的信,内容:一、关于什么样的职位算好职位1.你的找一家好公司,什么是好公司?1)产品附加值高,生意好,并且从业务线看,具备持续发展的能力和前景;2)有专业的/聪明能干的/经验丰富的/并…

ESP IDF:创建并打印vector的元素值

ESP IDF:创建并打印vector的元素值 程序&#xff1a; #include <stdio.h> #include std::vector v; std::vector::iterator pBegin v.begin(); std::vector::iterator pEnd v.end(); void test_vector() { v.push_back(10); v.push_back(20); v.push_back(30); v.…

iPhone 14微信闪退怎么办?iPhone 14微信闪退解决办法分享

大家在iPhone上使用微信的时候肯定都有遇到过微信闪退的情况&#xff0c;闪退问题一旦出现&#xff0c;就会严重影响我们的正常使用&#xff0c;特别是使用频繁的APP。 iPhone 14微信闪退是什么原因造成的&#xff1f;iPhone 14微信闪退怎么办&#xff1f; 一、缓存垃圾过多 …

Qt扫盲-QLinkedList理论总结

QLinkedList理论总结一、概述二、使用说明1. 声明链表2. 获取元素、链表信息3. 删除元素4. 添加元素5. 遍历元素一、概述 QLinkedList是Qt的泛型容器类之一。它存储一个值列表&#xff0c;并提供基于迭代器的访问以及常量时间的插入和删除。 QList、QLinkedList和QVector提供类…

JavaScript刷LeetCode模板技巧篇(一)

虽然很多人都觉得前端算法弱&#xff0c;但其实 JavaScript 也可以刷题啊&#xff01;最近两个月断断续续刷完了 leetcode 前 200 的 middle hard &#xff0c;总结了一些刷题常用的模板代码。 常用函数 包括打印函数和一些数学函数。 const _max Math.max.bind(Math); co…

【C++】stack和queue

文章目录前言&#xff08;重点&#xff09;一、stack1、 stack的介绍2、queue的使用3、stack的模拟实现二、queue1、queue的介绍2、queue的使用3、queue的模拟实现三、容器适配器1、什么是容器适配器呢&#xff1f;2、STL标准库中stack和queue的底层结构四、deque1、deque的原理…

设计模式之单例模式(懒汉, 饿汉)

文章目录一. 单例模式概述二. 单例模式的实现1. 饿汉模式2. 懒汉模式一. 单例模式概述 单例模式是一种常用的软件设计模式, 该模式的主要目的是确保某一个类在内存中只能有一个实例对象, 通过单例模式的方法创建的类在当前进程中只有一个实例对象. 常见的单例模式有两种: 饿…

制作系统安装(微软操作系统系统)

系统安装制作步骤 准备工具&#xff1a;笔记本电脑 8G以上u盘 镜像ISO文件 微软系统下载&#xff1a;https://msdn.itellyou.cn/ 复制连接到迅雷下载&#xff0c;进行系统镜像下载。 U盘制作工具下载和制作&#xff1a; 制作工具网站下载&#xff1a;http://rufus.ie/zh/ 准…

MySQL避免插入重复数据

新建一张测试表&#xff0c;有三个字段&#xff0c;自增主键id、创建了唯一索引的user_name、以及普通字段address。然后插入一条数据作为原始数据&#xff0c;如下所示 1、insert ignore into 基于索引字段数据进行判断&#xff0c;如果索引数据存在&#xff0c;那么忽略本…

CSS单行/多行文本溢出隐藏

前言 在日常开发展示页面&#xff0c;如果一段文本的数量过长&#xff0c;受制于元素宽度的因素&#xff0c;有可能不能完全显示&#xff0c;为了提高用户的使用体验&#xff0c;这个时候就需要我们把溢出的文本显示成省略号 对于文本的溢出&#xff0c;我们可以分成两种形式…

jetson nano安装远程桌面,Qt,pytorch,tensorflow,virtualenv等

文章目录基于jetPack版本4.6.1一.基础组件配置检查二.基础组件安装1.安装pip32.安装python-opencv与机器学习常用包3.安装pytorch方法1&#xff08;失败&#xff09;方法2&#xff08;成功&#xff09;4.安装tensorflow-gpu5.安装QT6.板载摄像头使用7.安装中文输入法8.安装截图…

网络爬虫入门到实战

简介 数据采集文章 开始 入门程序 环境准备 pip3 install beautifulsoup4 基本操作 from urllib.request import urlopen from bs4 import BeautifulSouphtml urlopen("http://www.baidu.com") # print(html.read()) (打印html完整内容) bsObj BeautifulSou…

服务熔断和服务降级

服务之间是可以相互调用的&#xff0c;如果底层的服务出现了问题&#xff0c;那么他的上层服务也就会出问题 为了解决分布式系统的雪崩问题&#xff0c;SpringCloud提供了Hystrix熔断器组件 服务降级 服务降级并不会直接返回错误&#xff0c;而是提供一个补救措施&#xff0c…

简洁明了的ReentrantReadWriteLock总结

&#x1f473;我亲爱的各位大佬们好 ♨️本篇文章记录的为 ReentrantReadWriteLock 相关内容&#xff0c;适合在学Java的小白,帮助新手快速上手,也适合复习中&#xff0c;面试中的大佬&#x1f649;&#x1f649;&#x1f649;。 ♨️如果文章有什么需要改进的地方还请大佬不吝…

王爽汇编(第四版)实验八

文章目录前言一、题目二、分析1.初始时指令存储情况2.运行时指令存储情况总结前言本文是学习王爽老师《汇编语言》(第四版)第九章 实验8 分析一个奇怪的程序 时的相关代码及分析。一、题目分析程序&#xff0c;思考程序是否可以正确返回&#xff1b;运行后再思考&#xff0c;为…