浅谈僵尸网络利器:Fast-flux技术——只是一些特定的apt组织才使用,倒是很少在恶意软件的培植流量中看到
Dynamic Resolution: Fast Flux DNS
Other sub-techniques of Dynamic Resolution (3)
Adversaries may use Fast Flux DNS to hide a command and control channel behind an array of rapidly changing IP addresses linked to a single domain resolution. This technique uses a fully qualified domain name, with multiple IP addresses assigned to it which are swapped with high frequency, using a combination of round robin IP addressing and short Time-To-Live (TTL) for a DNS resource record.[1][2][3]
The simplest, "single-flux" method, involves registering and de-registering an addresses as part of the DNS A (address) record list for a single DNS name. These registrations have a five-minute average lifespan, resulting in a constant shuffle of IP address resolution.[3]
In contrast, the "double-flux" method registers and de-registers an address as part of the DNS Name Server record list for the DNS zone, providing additional resilience for the connection. With double-flux additional hosts can act as a proxy to the C2 host, further insulating the true source of the C2 channel.
Procedure Examples
ID | Name | Description |
---|---|---|
S0032 | gh0st RAT |
gh0st RAT operators have used dynamic DNS to mask the true location of their C2 behind rapidly changing IP addresses.[4] |
G0045 | menuPass |
menuPass has used dynamic DNS service providers to host malicious domains.[5] |
S0385 | njRAT | |
G0092 | TA505 |
TA505 has used fast flux to mask botnets by distributing payloads across multiple IPs.[7] |
Mitigations
This type of attack technique cannot be easily mitigated with preventive controls since it is based on the abuse of system features.
Detection
ID | Data Source | Data Component |
---|---|---|
DS0029 | Network Traffic | Network Connection Creation |
Network Traffic Flow |
In general, detecting usage of fast flux DNS is difficult due to web traffic load balancing that services client requests quickly. In single flux cases only IP addresses change for static domain names. In double flux cases, nothing is static. Defenders such as domain registrars and service providers are likely in the best position for detection.
References
- Mehta, L. (2014, December 17). Fast Flux Networks Working and Detection, Part 1. Retrieved March 6, 2017.
- Mehta, L. (2014, December 23). Fast Flux Networks Working and Detection, Part 2. Retrieved March 6, 2017.
- Albors, Josep. (2017, January 12). Fast Flux networks: What are they and how do they work?. Retrieved March 11, 2020.
- Quinn, J. (2019, March 25). The odd case of a Gh0stRAT variant. Retrieved July 15, 2020.
- US District Court Southern District of New York. (2018, December 17). United States v. Zhu Hua Indictment. Retrieved December 17, 2020.
- Pascual, C. (2018, November 27). AutoIt-Compiled Worm Affecting Removable Media Delivers Fileless Version of BLADABINDI/njRAT Backdoor. Retrieved June 4, 2019.
- Hiroaki, H. and Lu, L. (2019, June 12). Shifting Tactics: Breaking Down TA505 Group’s Use of HTML, RATs and Other Techniques in Latest Campaigns. Retrieved May 29, 2020.
从参考文献看,这个技术在最近几年还是较为活跃的。这种技术,只是一些特定的apt组织才使用,倒是很少在恶意软件的培植流量中看到。
思科17年的白皮书里,还专门提到过:https://www.linkedin.com/pulse/digging-deeper-in-depth-analysis-fast-flux-network-or-katz/
浅谈僵尸网络利器:Fast-flux技术
一、背景
在早期的僵尸网络中,控制者通常会把C&C服务器的域名或者IP地址硬编码到恶意程序中,僵尸主机通过这些信息定时访问C&C主机获取命令。但同时安全人员也能够通过逆向恶意程序,得到C&C服务器的域名或者IP,利用这些信息定位C&C主机,安全人员就可以隔断C&C主机从而破坏僵尸网络。不少控制者为了保护C&C主机,使用Fast-flux技术来提高C&C服务器的健壮性。
二、基本概念
在正常的DNS服务器中,用户对同一个域名做DNS查询,在较长的一段时间内,无论查询多少次返回的结果基本上是不会改变的。Fast-flux技术是指不断改变域名和IP地址映射关系的一种技术,也就是说在短时间内查询使用Fast-flux技术部署的域名,会得到不同的结果。图2-1为Fast-flux技术工作方式。
图2-1 客户端访问Fast-flux网络流程
客户端两次访问www.example.com的过程如下:
1) 为了得到网站www.example.com的IP地址,客户端发起DNS查询。
2) 随后DNS服务器返回了一个IP地址1.2.3.4,同时TTL为一个很小的数值。
3) 客户端访问IP为1.2.3.4的服务器获取内容。
4) IP为1.2.3.4的服务器响应请求,返回相应内容。
5) 客户端再次访问www.example.com,由于TTL过小,本地缓存的DNS记录失效,客户端需要再次向DNS服务器获取新的IP地址。
6) 此次DNS服务器返回了IP 4.3.2.1,这次的TTL仍然很小。
7) 客户端访问IP为4.3.2.1的服务器获取内容。
8) IP为4.3.2.1的服务器响应请求,返回相应内容。
客户端在短时间内多次访问www.example.com网站时,虽然域名相同,但是实际访问的服务器主机是不同的,这就是Fast-flux网络的工作过程。
三、Fast-flux技术在僵尸网络中的具体使用方式
在僵尸网络中,Fast-flux从技术上可分为两类:Single-Flux 和Double-Flux
Single-Flux:
Single-Flux模式是指只有一层的变化的Fast-flux。在Single-Flux中,一个域名拥有一个不断变化的IP地址列表,这个列表可能会有几百到上千条。为了实现频繁的变化IP地址,控制者提供最底层域名服务器,这个服务器会返回频繁变化的C&C服务器IP地址。如果在别人提供的域名服务器中频繁更改域名的IP地址列表,容易被管理者检测出来,导致僵尸网络暴露。Single-Flux的工作步骤流程如图3-1所示:
图 3-1 Single-Flux流程图
Double-Flux:
Double-Flux网络跟名字中的意思一样,比Single-Flux多一层变化。在Double-Flux中,控制者会部署多个解析C&C服务器域名的底层域名服务器,并不断修改顶级域名服务器中,对应的底层域名服务器的IP地址,这样每次解析C&C服务器域名的底层域名服务器也会变化。由于顶级域名服务器不是控制者所有,为了避免僵尸网络暴露,域名服务器IP地址修改的频率比C&C服务器IP的修改频率低很多。图3-2为Double-Flux流程
图 3-2 Double-Flux流程图
Fast-flux僵尸网络有着大量的C&C主机,且大部分C&C主机不是控制者所有的,而是控制者控制的僵尸主机,控制者如果想要发布命令给所有C&C主机会非常困难。所以在真正的Fast-flux僵尸网络中,真正保存有控制命令的C&C主机很少(通常称为Mothership),其他的C&C主机都是假的C&C主机,只提供命令转发和跳板的功能。一个完整的Fast-flux网络如图3-3所示。
图 3-3 Fast-flux僵尸网络
1-2)被控主机向顶级DNS服务器发送请求,询问僵尸网络的DNS服务器地址。
3-4)被控主机向僵尸网络的DNS服务器发送请求,询问C&C跳板域名的当前IP地址。
5-6)被控主机访问IP为1.2.3.4的主机获取控制命令,但这个主机不会提供任何实质性的控制命令,它是充当一个代理或者跳板的角色。它将被控主机的请求转交给母体(Mothership)(真正的C&C主机)去处理。
7-8)母体取出控制者最新发布的命令,返回给1.2.3.4主机,1.2.3.4主机再将结果返回转交给被控主机。
四、Fast-flux僵尸网络的优点
Fast-flux技术在僵尸网络中存在三个明显的优势:
第一,Fast-flux技术在合法的和非法的犯罪运营中都存在,检测困难。Fast-flux技术在合法的运营中扮演调节服务器压力的角色,是每个网站都必备的功能。
第二,对于犯罪运营中,仅仅需要少量的高性能母体(mothership)主机,用于提供C&C服务。而僵尸主机的数据请求连接的是Fast-flux网络,隐藏了实际的犯罪证据。在安全人员追踪僵尸网络时,通常只能最终到Fast-flux中的部分节点,在这些节点中没有真正的控制命令,这使得对网络犯罪的调查变得更加困难。
第三,Fast-flux延长了母体C&C服务器的生命期,由于多层的跳板,使得安全人员需要更长的时间用于识别和关闭C&C服务器。
五、Fast-flux僵尸网络的检测
安全人员对Fast-flux僵尸网络检测取决于对DNS查询结果的多次分析,需要通过算法评分机制来评估DNS记录,分析每个DNS查询返回的IP情况,A地址,NS资源数等相关信息来检测,这些分析方法工作量巨大,且准确率不高。
六、总结
Fast-flux已经成为一种隐藏C&C服务器以及延长僵尸网络生命周期的必备技术,借助该技术,僵尸网络的控制者们向互联网安全发起了新一轮的挑战。
七、参考文献
[1] https://en.wikipedia.org/wiki/Fast_flux
[2] http://www.honeynet.org/node/144
[3] http://safe.zol.com.cn/411/4112749_all.html
[4] 靳冲. Fast-Flux网络检测与分析技术研究[D]. 中国科学院研究生院 中国科学院大学, 2011.
[5] 李晓茹.速变网络的自动化智能检测方法[J].内江师范学院学报,2013,(12):12-14.
[6] 汪洋.Fast-flux服务网络检测方法研究[D].导师:李芝棠.华中科技大学,2009.