域前置技术
CDN简介:CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
CDN网络中包含的功能实体包括1、内容缓存设备、2、内容交换机、3、内容路由器、4、CDN内容管理系统等组成。
1、内容缓存为CDN网络节点,位于用户接入点,是面向最终用户的内容提供设备,可缓存静态Web内容和流媒体内容,实现内容的边缘传播和存储,以便用户的就近访问。
2、内容交换机处于用户接入集中点,可以均衡单点多个内容缓存设备的负载,并对内容进行缓存负载平衡及访问控制。
3、内容路由器负责将用户的请求调度到适当的设备上。内容路由通常通过负载均衡系统来实现,动态均衡各个内容缓存站点的载荷分配,为用户的请求选择最佳的访问站点,同时提高网站的可用性。内容路由器可根据多种因素制定路由,包括站点与用户的临近度、内容的可用性、网络负载、设备状况等。负载均衡系统是整个CDN的核心。负载均衡的准确性和效率直接决定了整个CDN的效率和性能。
CDN基本原理:CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。
假设通过CDN加速的域名为www.a.com
,接入CDN网络,开始使用加速服务后,当终端用户(北京)发起HTTP请求时,处理流程如下:
- 当终端用户(北京)向
www.a.com
下的指定资源发起请求时,首先向LDNS(本地DNS)发起域名解析请求。 - LDNS检查缓存中是否有
www.a.com
的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向授权DNS查询。 - 当授权DNS解析
www.a.com
时,返回域名CNAMEwww.a.tbcdn.com
对应IP地址。 - 域名解析请求发送至阿里云DNS调度系统,并为请求分配最佳节点IP地址。
- LDNS获取DNS返回的解析IP地址。
- 用户获取解析IP地址。
- 用户向获取的IP地址发起对该资源的访问请求。
- 如果该IP地址对应的节点已缓存该资源,则会将数据直接返回给用户,例如,图中步骤7和8,请求结束。
- 如果该IP地址对应的节点未缓存该资源,则节点向源站发起对该资源的请求。获取资源后,结合用户自定义配置的缓存策略,将资源缓存至节点,例如,图中的北京节点,并返回给用户,请求结束。
从这个例子可以了解到:
(1)CDN的加速资源是跟域名绑定的。
(2)通过域名访问资源,首先是通过DNS分查找离用户最近的CDN节点(边缘服务器)的IP
(3)通过IP访问实际资源时,如果CDN上并没有缓存资源,则会到源站请求资源,并缓存到CDN节点上,这样,用户下一次访问时,该CDN节点就会有对应资源的缓存了。
作者:阿里巴巴大淘宝技术
链接:https://www.zhihu.com/question/36514327/answer/1604554133
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
利用CDN、域前置、重定向三种技术隐藏C2的区别
前言
这个课题前段时间已经分别做过研究,但没有写三者的区别分析,以为自己可以将三种技术永远记在心里,但是事实是确实淡忘一部分知识点,导致现在对三者的理解出现偏差。
反思:以后倘若需要做技术记录,一定要详细详细再详细,有备无患。不能抱有侥幸心理,因为你永远不知道,问题与遗忘哪一个会先来
对于三种隐藏技术的理解
CDN技术隐藏C2
反溯源-cs和msf域名上线 - 先知社区 (aliyun.com)
利用CDN隐藏C2地址 - aoaoaoao - 博客园 (cnblogs.com)
使用CDN隐藏c2流量
原理:让cdn转发合法的http或者https流量来达到隐藏的目的。
这些文章写的很详细,总结一下流程:
配置了cdn
拥有一个公网域名
配置cdn的A记录解析使其能解析到C2的ip
将公网域名填写到cs listener的host处并填写可用的端口
可达到的效果:受害主机上只会有跟cdn的ip通信的流量,不会有跟真实C2通信的流量,可以保护C2的ip,但是域名还是会暴露。
技术实现重点:
一个不备案的域名,否则这个方式毫无用处
这种技术对http与https没有强制要求,都可以使用,而域前置技术要求是https
域前置技术隐藏C2
域前置技术的原理与CS上的实现_Shanfenglan7的博客-CSDN博客_域前置技术
域前置技术的原理与CS上的实现这篇我写的文章里面有具体的操作步骤,下面主要说说自己的理解。
域前置技术跟CDN技术比较类似,都是会用到CDN,但域前置技术必须要用https,因为它是基于TLS协议的,域前置还有一个特点是需要修改请求包的host头,修改方法是修改malleable profile文件,我的这篇malleable_profile文件配置概述写了修改方法,而CDN是创建好CDN后直接就可以使用的,不用做过多的配置不过效果也有不同,CDN技术只能用自己的域名,如果自己域名被放进黑名单基本就凉凉,但是域前置技术可以使用别人的高信誉域名来隐藏自己的真实域名,例如用微软的域名伪装自己,当然前提是微软的域名得跟你的域名再同一个CDN下,这种技术现在在不少的CDN厂商下都被禁止了,不一定会利用成功。
原理:同一个cdn厂商下倘若有两个域名a.com,b.com,这时候我们使用curl命令访问第一个a.com并将host名改为b.com这时候,实际访问的是b.com的内容。而一般的监测机制是不会检测host头的。
可达到的效果:通过一个高信任域名隐藏自己的真实域名与ip,且受害主机上的流量只有跟cdn通信的,不会有跟真实c2的。
技术实现重点:
需要基于https
需要知道cdn上的其他高信誉域名或者ip
需要修改malleable profile文件
重定向技术隐藏C2
利用apache mod_rewrite模块实现重定向技术来隐藏CS的teamserver的原理与实现_Shanfenglan7的博客-CSDN博客_teamserver
利用apache mod_rewrite模块实现重定向技术来隐藏CS的teamserver的原理与实现
我的这篇文章写了原理与操作,同样的这次我主要说说我对这种技术的理解。
这种技术有点像乞丐版的CDN或者域前置技术。总的来说就是得有两台vps,一台做重定向,一台是真正的C2,而受害者只与那台做重定向的机器通信,重定向机器只会转发来自beacon的特定流量到C2控制端主机,对于其他流量可以自定义设置处理方法,一般是采用重定向到一些高信誉域名上例如百度等。
可达到的效果:受害者上只会有与重定向机器之间的流量,不会有与真实c2服务器的流量,重定向服务器会将非beacon的请求重定向到一些高信誉域名上,达到迷惑的目的,不过如果受害者ban掉了重定向机器的ip,对攻击者的损失也是很大的。
技术实现重点:
两台服务器
配置apache_rewrite
配置malleable profile文件
三者的区别的总结
从成本上来说,cdn技术与域前置技术都需要配置cdn,而重定向技术需要两台服务器,总的来说成本基本差不多。
从技术上来说:
cdn技术仅仅利用了cdn对http与https流量进行转发来达到的隐匿效果,可以隐藏ip不能隐藏域名。
域前置技术高级一些,但是却基于https的,可以隐藏ip与域名,效果我认为是最好的,只是因为现在不少的cdn厂商已经禁止了域前置技术的存在,想用的话得自己去找还依旧允许域前置技术的厂商。
重定向技术对运维人员迷惑效果还是不错的,但对于很专业的运维人员可能效果就没有那么好,而且配置也是最复杂的,如果被发现ban了自己的重定向机器,对于攻击队来说损失也不小,总的来说还是没有cdn的方法好用。
————————————————
版权声明:本文为CSDN博主「Shanfenglan7」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41874930/article/details/109008708