【溯源反制】CDN域前置云函数-流量分析|溯源

news2024/11/19 7:35:03

文章目录

  • CDN隐藏C2地址
    • 环境搭建
    • 上传至威胁感知平台直接分析
    • 使用DNSQuerySniffer和Process Monitor定位进程
    • 网络流量分析
    • 文件属性(IDAPro Ollydbg)
  • 域前置隐藏
    • 环境搭建
    • 威胁感知
    • 流量分析
  • 云服务API网关/云函数
    • 云函数使用HTTP
      • cs的流量可以简单的分为三个阶段
    • 云函数使用HTTPS
  • 总结
  • 参考

CDN隐藏C2地址

使用CDN内容分发网络的多节点分布式技术,通过“加速、代理、缓存”隐藏在后面的静态文件或服务;最终实现对外暴露的是CDN多节点的公网域名IP,很难甚至无法溯源真实后端服务器的域名或IP

环境搭建

直接搭建环境模拟环境(未免杀)
在这里插入图片描述在这里插入图片描述

先上传至奇安信与微步在线,全程CS正常开启

上传至威胁感知平台直接分析

在这里插入图片描述
微步在线
在这里插入图片描述
这里的api/x路径是我在CS配置文件profile中做的混淆(可以自定义,不算是特征)
在这里插入图片描述

使用DNSQuerySniffer和Process Monitor定位进程

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

网络流量分析

在这里插入图片描述
一个一个数据包翻找确实难受,再加上是HTTPS流量,配合HIDS等设备导入数据包分析起来可能更好一些

文件属性(IDAPro Ollydbg)

……

缺点
1、受控主机通过我们自己的域名进行回连,对外还是可以看到连接域名(下一步就是找到CDN后的真实IP),域名会暴露

子域名、IP历史记录解析查询、网站订阅邮件、网站订阅邮件、国外超级ping、https证书……

如果使用国内CDN服务,域名必须ICP备案(被溯源的可能性就会更大),关键是使用一个不备案的域名,否则这个方式毫无用处
2、受控主机还是通过我们自己的域名进行回连,对外还是能看到连接域名;且如果使用国内CDN的服务(增加了风险),域名就必须完成ICP备案(增加了风险);而且还有一些方法可能溯源到真实IP

这种技术对http与https没有强制要求,都可以使用,而域前置技术要求是https

域前置隐藏

底层技术还是CDN,但是我们使用了其他正规可靠的域名进行连接(比如:www.baidu.com),通过设置HOST=zh.wikisoft.tk修改host头的原理,让CDN将连接指向我们期望的C2服务器;最终实现受控主机通过回连!如果使用https的话,除非逆向程序获取host头信息,否则无法获取到真实连接域名

环境搭建

搭建小插曲:把433端口看成了443 emmm
在这里插入图片描述

威胁感知

在这里插入图片描述
这里简单进行执行命令,配合一下沙盒动态调试,实战情况下对木马进行反沙盒反调试(免杀)操作之后,威胁感知平台是很难分析出来的,这里只对域前置进行研究,排查其他因素干扰
奇安信:
在这里插入图片描述
直接只看到了伪造的域名,不过有经验的话可以通过w.kunlunaq.com后缀名可以知道这是阿里云cdn CNAME配置后缀
在这里插入图片描述

微步在线
在这里插入图片描述
微步NB!这里测试了几种样本,差不多都可以找到最终的CS服务器域名
在这里插入图片描述
这里做了命令交互所以很快就找到了真实CS服务器地址

流量分析

在这里插入图片描述
这里可以看到,连外联域名也发生了更改

优点:本方案使用高信誉域名进行连接,通常安全设备很难检测,也很难封堵;
缺点:配置和准备条件较多步骤比较复杂,国内好像只有阿里云支持域前置,建议还是使用国外的cdn服务,不需要备案,再加上免杀的话效果可能更好一些

云服务API网关/云函数

api网关透明转发代理后端服务!;云函数底层使用的就是api网关,只是云函数的功能更高级一点,当client调用网关接口时,通过编程进行修改输入参数;同理api网关接受到代理的后台服务返回的内容是可以再次修改返回内容,最终将信息返回给client;

云函数使用HTTP

在这里插入图片描述
使用科来工具抓包
在这里插入图片描述
为了方便分析,这里可以看到我是使用http上线的。稍后使用https协议上线

cs的流量可以简单的分为三个阶段

1、stage下载(具体看你怎么生成的后门)
在这里插入图片描述
在这里插入图片描述
对比服务端配置的profile文件,以及返回包的乱码数据
这里的返回header部分具有一些云函数特征

X-Api-RequestId: xxx
X-Api-ID: xxx
Date: Wed, 19 Apr 2023 04:16:48 GMT
X-Request-Id: xxx
X-Api-FuncName: helloworld-xxx	 #函数名 建议伪装成熟悉的业务名
X-Api-AppId: xxx
X-Api-ServiceId: service-ausqwb41
X-Api-HttpHost: xxx
X-Api-Status: 200
X-Api-UpstreamStatus: 200

2、beacon的心跳包阶段
3、执行C2服务器的命令并将结果回传阶段
……

云函数使用HTTPS

在这里插入图片描述
在这里插入图片描述
好像真没有特别好的应对措施……

批量上线消耗对方云函数调用资源
在这里插入图片描述

关于溯源如果可以的话,可以联系腾讯云客服配合调查

优点:本方案使用高信誉域名进行连接,通常安全设备很难检测,也很难封堵;

总结

1、不备案的域名+禁用不必要的域名解析记录(防止被溯源收集到更多信息)
2、使用HTTPS通讯
3、C2服务器混淆基础特征-修改profile配置文件,修改ssl证书
4、CS服务端防火墙做策略,仅允许目标主机网段连接,防止其他网段主机对其进行扫描,防溯源
5、加跳板、代理等,当然最重要的是免杀了……

参考

https://www.freebuf.com/sectool/270669.html
https://xz.aliyun.com/t/11625

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

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

相关文章

kali Linux root密码修改

kali root 密码修改有时候是经常发生的,要么忘记,要么是必须限时要改的,今天记录下,修改方法,以便后续。 Kali Linux的前身是BackTrack Linux发行版。Kali Linux是一个基于Debian的Linux发行版,它被认为是最好的渗透测试的 Linux 发行版之一,而且名副其实。 作为一名从…

Vivado使用技巧:时钟的约束方法

时钟的基础知识 数字设计中,“时钟”表示在寄存器之间可靠地传输数据所需的参考时间;Vivado的时序引擎利用时钟特征来计算时序路径需求,通过计算时间裕量(Slack)的方法报告设计的时序空余;时钟必须…

C++11 -- 入门基础知识

文章目录 C11简介列表初始化std::initializer_list 变量类型推导nullptr范围for循环STL中的一些变化 C11简介 在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1),使得C03这个名字已经取代了C98称为C11之前的最新C标准名称。不过由于C03(TC1)主要是对C98标准中…

怎么在照片上添加logo

怎么在照片上添加logo?现在是全面自媒体的时代,很多旅行博主或者摄影爱好者喜欢将自己拍摄的照片发布到各大平台上,分享自己的摄影作品,不过互联网属于一个开放平台,所以盗取照片的事情时有发生,很多不法分…

LabVIEWCompactRIO 开发指南16 有效使用网络共享变量的技巧

LabVIEWCompactRIO 开发指南16 有效使用网络共享变量的技巧 在使用网络共享变量进行编程时,可以遵循三个技巧来最大化性能并避免任何不需要的行为。图4.11显示了包含每个技巧的初始化过程。 技巧1:初始化共享变量 在应用程序开始时将共享变量初始化为已知值。如…

全文检索-Elasticsearch-整合SpringBoot

文章目录 前言一、整合检索服务1.1 创建 gulimall-search 模块1.2 配置 Maven 依赖1.3 搜索服务注册到注册中心1.4 新增 es 配置类1.5 测试 RestHighLevelClient 组件 二、存储数据到 ES2.1 测试 ES 简单插入数据2.2 测试 ES 查询复杂语句2.3 读入数据 前言 前面记录了 Elasti…

如何修复d3dcompiler_47.dll缺失?多种解决方法分享

在使用Windows操作系统的过程中,有时候会遇到d3dcompiler_47.dll缺失的情况。这个问题可能会导致某些应用程序无法正常运行,因此需要及时解决。本文将介绍如何修复d3dcompiler_47.dll缺失的问题。 一.什么是d3dcompiler_47.dll D3dcompiler_47.dll是Di…

Kali-linux查看打开的端口

对一个大范围的网络或活跃的主机进行渗透测试,必须要了解这些主机上所打开的端口号。在Kali Linux中默认提供了Nmap和Zenmap两个扫描端口工具。为了访问目标系统中打开的TCP和UDP端口,本节将介绍Nmap和Zenmap工具的使用。 4.4.1 TCP端口扫描工具Nmap 使…

revit的附着顶部/底部工具使用及CAD图纸转柱

一、revit的附着顶部/底部工具的使用 生活上,有很多建筑是斜屋顶的房子,像是一些别墅的装修,斜屋顶往往比平屋顶更有装饰感,也更有利于排水。 那么在Revit中,绘制带有斜屋顶的往往会遇到这样一个问题,屋顶之…

OpenCL编程指南-3.2OpenCL上下文

OpenCL上下文 上下文是所有OpenCL应用的核心。上下文为关联的设备、内存对象(例如,缓冲区和图像)以及命令队列(在上下文和各设备之间提供一个接口)提供了一个容器。正是上下文驱动着应用程序与特定设备以及特定设备之…

算法训练Day53:​ 1143.最长公共子序列 1035.不相交的线 53.最大子序和 动态规划

文章目录 最长公共子序列题解 不相交的线题解 最大子数组和题解 最长公共子序列 CategoryDifficultyLikesDislikesContestSlugProblemIndexScorealgorithmsMedium (64.94%)13110--0 Tags Companies 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子…

浏览csdn博客自动隐藏侧边栏并只看目录

背景 CSDN 总算做了点好事,能够隐藏大部分无关信息,只看博客内容本身。具体如图,还在测试版 以我的一篇博客为例,原始界面,花里胡哨一堆 点击隐藏侧栏后的清爽版 点击只看目录后的清爽版 前提提要 安装油猴脚本&…

使用VSCode创建Vue项目

Vue介绍 Vue.js是一个渐进式JavaScript框架,用于构建用户界面。它可以与其他库或现有项目集成,也可以作为单个组件使用。Vue.js的目标是提供一种简单、快速和灵活的方式来开发交互式Web应用程序。 Vue.js的核心特性包括: 响应式数据绑定&am…

http协议格式

HyperText Transfer Tansfer Protocol 超文本传输协议,是一种基于TCP的应用层协议,也是目前为止最为流行的应用层协议之一,可以说HTTP协议是万维网的基石。历经了0.9、HTTP/1.0、HTTP/1.1、HTTP/2几个版本(关于HTTP协议的历史,这里…

unity-物体rotation翻转180度后,OnPointerDown失效的问题

问题:今天碰到一个问题,就是把物体A进行水平翻转后,如下图,OnPointerDown 就失效了 》解决方案1(使用Scale X来替代Rotation Y): 使用Scale改为-1来翻转,这样 OnPointerDown 就正常…

双向链表刷题总结

剑指 Offer 36. 二叉搜索树与双向链表 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 为了让您更好地理解问题,以下面的二叉搜索树为例: 我们希望将这…

分布式系统中的那些一致性(CAP、BASE、2PC、3PC、Paxos、ZAB、Raft)

本文介绍 CAP、BASE理论的正确理解、Paxos 算法如何保证一致性及死循环问题、ZAB 协议中原子广播及崩溃恢复以及 Raft 算法的动态演示。 下面还有投票,一起参与进来吧👍 文章目录 前言CAP理论理解误导正确的理解CAP理论的应用 BASE理论Paxos算法如何保证…

ASEMI代理LT6230CS6-10#TRPBF原装ADI车规级LT6230CS6-10#TRPBF

编辑:ll ASEMI代理LT6230CS6-10#TRPBF原装ADI车规级LT6230CS6-10#TRPBF 型号:LT6230CS6-10#TRPBF 品牌:ADI /亚德诺 封装:SOT-6 批号:2023 安装类型:表面贴装型 引脚数量:6 工作温度:-4…

sentinel介绍

介绍 官网地址 Sentinel 和 Hystrix 的原则是一致的: 当调用链路中某个资源出现不稳定,例如,表现为 timeout,异常比例升高的时候,则对这个资源的调用进行限制,并让请求快速失败,避免影响到其它的资源&…

阿里云争食币圈

阿里云的触手正在向币圈延伸。几天前,阿里云与Avalanche区块链和MUA DAO联合推出Cloudverse,为想要在链上部署元宇宙的企业提供一站式解决方案。 Avalanche是典型的币圈项目,链上的一切价值流转都以加密货币结算。此次合作释放出阿里云在Web…