当前位置: 首页 > news >正文

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

文章目录

  • 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.lryc.cn/news/67634.html

相关文章:

  • 【Vue】学习笔记-全局事件总线
  • MATLAB数值运算(六)
  • 某医院Pad网络故障分析
  • git 撤销中间某次提交,保留其他提交的方法
  • 空中下载技术(OTA)电控信息安全
  • 数据库sql语句(count(*)和count(字段))
  • 短视频矩阵源码系统
  • 检测数据类型
  • 【2023春招】4399 web后台-Java后端开发
  • 干货分享:PCB防静电设计的必要性
  • 电脑压缩包文件不见了怎么办?2种办法轻松找回电脑丢失文件!
  • 如何申请gpt4.0-如何接入ChatGPT4
  • 设计模式-备忘录模式
  • 阿里、京东等大厂年薪50w的测试都是什么水平?
  • Java PECS(Producer Extends Consumer Super)原则
  • Learn RabbitMQ with SpringBoot
  • 定时器 POSIX Timer定时器和setitimer定时器
  • DeSD:用于3D医学图像分割的深度自蒸馏自监督学习
  • MySQL数据库——MySQL创建触发器(CREATE TRIGGER)
  • Java实现网上人才招聘系统【附源码】
  • jmeter接口测试项目实战详解,零基础也能学,源码框架都给你
  • MySQL中去重 distinct 和 group by 是如何去重的
  • 在职读研是理想还是情怀?你想要的都将在社科大能源管理硕士项目实现
  • 携手共建数字钢铁,Hightopo亮相第三届钢铁展洽会
  • Leetcode2383. 赢得比赛需要的最少训练时长
  • js代码执行过程、调用栈、执行上下文
  • 互联网摸鱼日报(2023-05-12)
  • 【Python从入门到实践3.1】扑克发牌知识点(range函数,def函数,else语句配合使用,random库,列表推导式)
  • Spring Cloud第二季--Spring Cloud Bus
  • Unittest自动化测试之unittestunittest_生成测试报告