本文转载自公众号:
红蓝对抗一直是一个不断演变和变化的领域,攻防双方都在不断地适应和进化自我。在立足于隐秘通信技术时,域前置是我们最常用的技术,但随着主要托管提供商的限制,其特征作用开始变得相对无效。而PaaS重定向则是一种新兴的技术,利用PaaS提供商的基础设施来掩盖网络流量的目的地,并且可以利用PaaS提供商的声誉来逃避检测。本文已专业翻译自:
域前置技术是一种C2隐藏(隐蔽通信)中被用到的常用方法,用于掩盖网络流量的实际目的地。这个概念最早在2015年的一篇伯克利研究论文中被提出。它主要利用DNS和HTTP/HTTPS协议之间的差异来隐藏连接的实际目的地。攻击者可以通过将HTTP请求的Host头设置为公认的良性域名,来设置针对不同的、可能被阻止或监控的域名的DNS请求,从而规避最终站点的审查。
由于使用了共享托管基础设施如CDN之类的技术,DNS请求和HTTP请求之间的差异是可能的。由于最初的连接是建立在良性域名上的,所以防火墙和其他安全设备会允许流量通过。由于这种技术的实现性简单且成功率高,并且在互联网上的教学流传甚广,许许多多角色都默认的广泛使用了这种技术。注重隐私的工具和服务(例如Tor和Signal)用它来规避互联网政策严格的国家的审查。与此同时,网络犯罪分子和高级持久性威胁APT组织利用域前置技术来隐藏他们的活动和基础C2设施。
然而当主要提供商如:谷歌/亚马逊网络服务在2018年开始限制域前置时,该技术的有效性便受到了限制,这是因为这些公司被指责服务滥用。虽然普遍认为这是由部分国家的行政压力所导致,但不管怎样,随着主要托管提供商关闭了这种技术,域前置技术变得相对无效并失去了使用价值。
随着域前置技术的消亡,一种新技术受到了关注:PaaS重定向。
PaaS重定向利用PaaS提供商的基础设施来掩盖网络流量的目的地。与传统的操作DNS和HTTP标头不同,PaaS重定向器使用PaaS提供商提供的各种服务来重新路由流量。这可以是一个简单的Web应用程序,托管在PaaS上,将流量转发到实际目的地,也可以是使用无服务器函数和其他云原生服务来处理和重定向流量的复杂过程。
PaaS重定向器的主要优点之一是可以利用PaaS提供商的声誉来逃避检测。大多数PaaS提供商有许多合法的客户,阻止PaaS提供商的所有流量也会阻止这些合法服务。这使得防御者在不阻止合法流量的情况下,更难阻止来自PaaS重定向器的流量。此外,这也解决了获取经验丰富的域名以用于基础设施的难题。此外,作为一个额外的好处,PaaS提供商还负责维护TLS证书。
总的来说,PaaS重定向器提供了一种更加灵活和难以检测的方法来隐藏网络流量的目的地。然而,这也使得防御者需要采取更为复杂的技术来检测和阻止这种攻击。因此,网络安全领域需要不断地适应和改进来对抗新兴的攻击技术。
构建一个PaaS重定向器需要在PaaS提供商上设置可以接收和重定向流量的服务。具体步骤可能因PaaS提供商和所需配置而异,但一般的过程包括以下步骤:首先选择一个PaaS提供商。选择提供商可能取决于多种因素,例如成本、易用性和提供的特定服务。一些流行的PaaS提供商包括亚马逊网络服务(AWS)、Google Cloud和微软Azure。只是要小心,不要忘记关闭AWS实例。
PaaS重定向器的核心是一个Web应用程序或无服务器函数,它接收并转发网络流量。这可以是一个简单的Web服务器,将所有传入请求转发到另一个服务器,也可以是一个更复杂的应用程序,在转发请求之前以某种方式处理传入请求。理论上,这些可以是数据转换等复杂操作,以允许PaaS重定向器同时用于多个C2。但我们倾向于只使用一个C2并将它主要用于转发流量。
在设置无服务器函数时,重要的是将其配置为将流量转发到所需的目标。这通常可以通过设置环境变量或使用配置选项来完成,将目标服务器的URL设置为其值。这种技术的一个好处是,我们可以使用VPS提供商提供的默认URL,因为目标不会看到地址,所以我们不必担心它看起来很奇怪。
以下是一个构建Cloudflare Worker的示例,它允许您编写在Cloudflare边缘网络上运行的JavaScript代码。在下面的代码中,我们设置了一个Cloudflare Worker,它监听传入的fetch事件。当有请求进来时,我们创建一个新的URL,该URL的路径和查询参数与原始请求相同,但使用我们的目标URL的主机和协议。然后,我们使用此URL和原始请求的方法、头和正文创建一个新的Request对象,并将此请求转发到目标URL。
addEventListener("fetch", event => {
event.respondWith(handleRequest(event.request));
});
const TARGET_URL = "https://example.com";
async function handleRequest(request) {
let url = new URL(request.url);
url.protocol = TARGET_URL.split(':')[0];
url.host = TARGET_URL.split('//')[1];
let newRequest = new Request(url, {
method: request.method,
headers: request.headers,
body: request.body,
});
return await fetch(newRequest);
}
这是使用Cloudflare Worker作为PaaS重定向器的非常基本的示例,缺少一些关键组件,如错误处理和复杂的路由规则。但是,可以通过扩展handleRequest函数来添加它们。
要部署此Worker,需要使用Cloudflare的Web界面或CLI工具Wrangler。这将涉及创建Cloudflare帐户、安装Wrangler,然后使用Wrangler部署Worker。一旦安装了Wrangler,您首先需要键入wrangler generate my-worker
来创建一个新项目。这将创建一个名为my-worker的新目录,其中包含一个默认的index.js
文件和一个Wrangler.toml配置文件。接下来,将使用早期的Worker代码替换index.js
,并使用您的帐户信息更新Wrangler.toml
。最后,可以使用publish命令wrangler publish –env production
发布Worker。这将部署Cloudflare Worker,我们就可以开始使用它了。
随着我们的前进,很明显隐蔽通信的猫鼠游戏将会继续。域前置和PaaS重定向器等技术将随着防御者的适应和攻击者的创新而兴起和衰落。然而,强大、灵活的防御需求仍然不变。防御者必须跟随攻击者利用现代互联网基础设施的复杂性和规模的步伐。这将需要对攻击者使用的技术有深入的了解,并能够适应新技术的出现。这可能包括使用先进的加密算法、人工智能和机器学习以及更复杂的混淆和伪装流量的方法。同时,防御者将继续开发新的工具和技术,用于检测和阻止隐蔽通信。这可能涉及使用更先进的机器学习算法、改进的网络流量分析工具以及其他方法来识别和阻止隐蔽通信。最终,隐蔽通信的未来将由攻击者和防御者之间的复杂互动所塑造,双方不断创新和适应以领先对方。因此,我们很可能会看到在未来几年中,双方都会出现新的技术和策略,隐蔽通信的猫鼠游戏将继续上演。
【应龙安全-红蓝攻防知识库】星球初创,目前星球有各个方面的师傅
嘉宾有资深红队成员,单兵APT机器大手子,甲方安全团队成员,SRC华佗,蓝队高级蓝队师傅,CTF-web手大牛子
涵盖了红队攻防知识,CTF竞赛知识,优质工具研发,免杀Bypass研究,安全文献资料,研究心得文章,破解软件研究,APT打法思路以及其他安全赛道研究。
欢迎各位师傅们加入一起学习!
知识星球只是一个为师傅心血鼓舞的分水岭,120的价格实在就我来说一个普通的大学生,热爱技术的都能拿的出,不是所有的知识都会开源共享,知识无价,但是师傅的成果有价!
一次加入,承诺永久免费!
新人设置了3天看到完整主题的原因是为了防止有人拿工具爬取资源,实属见谅,在这个本来氛围就微妙的环境下,不得以这么做,而且加入的师傅在星球发布优秀的原创文章后,在星球收入足够的前提下,一定会拿到属于自己的奖励,这也是我们鼓励师傅们积极贡献的方式之一。
我们希望每位加入的师傅都可以在星球中得到所需的知识和资源,并且与其他师傅进行交流和互动。
同时,我们也欢迎更多对安全领域有兴趣的人加入我们的星球
共同学习和分享