前言
前天发了一篇分析木马的文章:https://blog.csdn.net/weixin_52444045/article/details/126124857
当天下午收到了一个评论,是询问关于涉及文中提到域前置技术,是否达到了完美的隐藏了ip,是否真的无法溯源。
对于这个问题,我没有考虑好,接连回了三条,后来又被我删了。因为也是第一次接触域前置这个东西,打算写一篇关于域前置的文章来解释我的理解,同时下午和晚上也翻看了一些文章,也有了一些新的理解。
域前置通信过程
还是再看一下这个图。
域前置的通信流程为:
- 1. client端向DNS服务器请求allow.com网址的ip地址(因为做了CDN,所以返回的是CDN的地址)
- 2. 数据包解析到CDN上面,请求到forbidden.com的回源地址(真正的server端)
- 3. server端将数据返回CDN服务器
- 4. CDN将数据返回client端
疑问解答
- • 安全监测设备看到的请求包的host是什么?
allow.com
- • 为什么请求包只能看到
allow.com
? https协议是将http协议的数据包进行公钥加密后的,client端只用公钥,只能加密,无法做解密操作 - • 为什么CDN知道解析
forbidden.com
的回源地址? 公钥加密的私钥在CDN端,CDN服务器可以对https协议的包进行解密,看到里面写的是请求的forbidden.com
- •
allow.com
和forbidden.com
有什么关系?这两个网站要挂在同一个CDN下,目前主流的云厂商,提供CDN服务均要认证域名归属和备案。如果是在腾讯云、阿里云等厂商的CDN服务器,这两个网站的归属即为同一单位/人。也有一些小CDN提供商不做认证,这两个网址可能不是同一归属了
域前置溯源思路
所以说,域前置就真的没有办法溯源了吗? 肯定不是的。
目前我了解到的,有以下两个途径:
- • 利用空间资产测绘的思想
- • 逆向解木马样本
空间资产测绘进行域前置溯源
来源参考:https://www.anquanke.com/post/id/260888
因为forbidden.com是用的CDN服务回源恶意ip,forbidden.com必定暴露在公网上。
既然在公网上存在,就必定会被空间资产测绘所检测到,通过对比测绘的界面和从CDN端返回的数据包进行对比,从而缩小范围,直至定位到具体地址。
逆向木马样本
forbidden.com
一定会写在木马样本的代码里面,需要通过逆向工程,将木马样本进行逆向,读出其执行的代码,不过木马一般都会做免杀操作,可能是编码、加密过后的,需要一步一步逆向解码
总结
域前置可以躲避安全设备和一般的人为发现
从流量角度来说,是无法找出forbidden.com
的(公钥加密目前还不太好破解),但是可以从其他角度入手
也感谢这位同行前辈提出的问题,让我也对这个技术有了深一步的了解,欢迎各位大佬一起讨论,学习快乐,共同进步!