您当前的位置:首页 > 电脑百科 > 安全防护 > 木马

使用DNS Tunnel技术的后门木马正在通过Log4j漏洞传播

时间:2023-02-04 14:34:56  来源:今日头条  作者:码农世界

背景

自从Log4J漏洞被曝光后,正所谓"忽如一夜漏洞来,大黑小灰笑开怀”。无数黑产团伙摩拳擦掌加入了这个“狂欢派对”,其中既有许多业界非常熟悉的恶意软件家族,同时也有一些新兴势力想趁着这股东风在黑灰产上分一杯羹。36.NETlab作为专注于蜜罐和Botnet检测跟踪的团队,我们自该漏洞被公开后就一直关注它会被哪些僵尸网络利用,期间我们看到了Elknot,Gafgyt,MirAI等老朋友的从不缺席,也见证了一些新朋友的粉墨登场。

2022年2月9日,360Netlab的蜜罐系统捕获了一个未知的ELF文件通过Log4J漏洞传播,此文件在运行时产生的网络流量引发了疑似DNS Tunnel的告警,这引起了我们的兴趣。经过分析,我们确定是一个全新的僵尸网络家族,基于其传播时使用的文件名"b1t",XOR加密算法,以及RC4算法秘钥长度为20字节,它被我们命名为B1txor20

简单来说,B1txor20是一个针对linux平台的后门木马, 它利用DNS Tunnel技术构建C2通信信道,除了传统的后门功能,B1txor20还有开启socket5代理,远程下载安装Rootkit,反弹SHELL等功能,这些功能可以很方便的将被侵入的设备变成跳板,供后续渗透时使用。

另外一个有意思的点是我们发现许多开发好了的功能并没有投入使用(在IDA中表现为,没有交叉引用);有些功能存在BUG。我们推测B1txor20的作者会持续完善,并根据的不同场景,定制式地开启不同的功能,或许以后我们将遇到B1txor20的兄弟姐妹。

鉴于B1txor20所使用漏洞的高危性,以及其C2信道的隐蔽性,我们决定撰写本文向社区分享我们的发现,共同维护网络安全。

B1txor20概览

我们一共捕获了4个不同MD5的B1txor20样本文件,它们的功能几乎一样,一共支持15个功能号,根据这些功能,可以将B1txor20定性为:一个使用DNS Tunnel技术构建隐蔽的C2信道,支持直连和中继2种方式,同时使用ZLIB压缩,RC4加密,BASE64编码的方式保护流量的后门木马,目前通过Log4j漏洞传播,主要针对ARM,X64 CPU架构的Linux平台。

目前支持的主要功能如下所示:

 

  1. SHELL
  2. Proxy
  3. 执行任意命令
  4. 安装Rootkit
  5. 上传敏感信息

 

它的基本流程图如下所示:


 


逆向分析

本文选择2022年2月09日的样本为主要分析对象,它的基本信息如下所示:

MD5:0a0c43726fd256ad827f4108bdf5e772ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, strippedPacker:None

B1txor20的样本是动态链接的,因此在逆向上比较容易,简单来说,当B1txor20在被侵入设备动行后,首先会将自身伪装成[netns]进程,通过/var/run/.netns.PID这个PID文件实现单一实例,然后使用/etc/machine-id,/tmp/.138171241或/dev/urandom3者中任意一个,生成BotID,接着解密用于DNS Tunnel的域名,以及用于加密流量的RC4秘钥并测试DNS服务器的连通性,最后使用DNS Tunnel技术向C2发送上线信息,等待执行C2下发的指令。其中进程伪装,单一实例这些功能比较简单,就再不细述,下文将围绕DNS Tunnel剖析B1txor20的实现。

生成Bot ID

B1txor20通过以下代码片段从etc/machine-id,或/tmp/.138171241,读取32字节用于生成BotId,如果失败,则通过/dev/urandom生成16字节数据,并将它写入到前面2个文件。


 

下面的代码片段是BotId的计算过程:


 

以我们虚拟机的machine-id值ab3b49d10ec42c38b1093b8ce9ad12af为例,通过下面等效的Python/ target=_blank class=infotextkey>Python代码,可以算出BotId的值为0x125d

import structid='ab3b49d10ec42c38b1093b8ce9ad12af'values=struct.unpack("<16H",id)sum=0for i in values:sum ^= iprint hex(sum)if sum&0xff <0xf:sum+=0x10if sum>>8 < 0xf:sum+=0x1000print hex(sum) # sum=0x125d解密

B1txor20通过以下代码片段解密存储在样本中的域名和RC4秘钥,


它的原理非常简单,就是单字节xor操作,其中xor_key为49 D3 4F A7 A2 BC 4D FA 40 CF A6 32 31 E9 59 A1


 

通过下图的CyberChef实现等效的解密过程,可知域名为.dns.webserv.systems,RC4秘钥为EnLgLKHhy20f8A1dX85l。


 

测出DNS服务器的连通性

B1txor20通过以下代码片段测试3个DNS (8.8.8.8:53,8.8.8.4:53,194.165.16.24:443)服务器的连通性。


 


它的原理是使用res_mkqueryAPI构建“google.com”的DNS请求报文,然后通过res_send发送请求,只要能够发送成功,就认为和相应DNS服务器的网络是连通,把它们保存起来供后续使用。


 

实际中Bot与194.165.16.24产生的流量如下所示:


 

C&C通信

当上述的准备工作完成后,B1txor20进入最终阶段,使用DNS Tunnel技术和C2建立通信,等待执行C2下发的指令。


 

一般来说恶意软件使用DNS Tunnel的场景是这样的:Bot把窃取的敏感信息,命令的执行结果等等任何需要传递的信息,在使用特定的编码技术隐藏之后,以DNS请求的方式,将它发送到C2;C2到接收到请求之后,把payload做为DNS请求的响应,将它发送到Bot端。这样一来,Bot与C2就在DNS协议的帮助之下实现了通信。在这样的网络结构中,有3个关键的点值得注意

 

  1. C2必须支持DNS协议
  2. 特定的编码技术
  3. DNS请求的发送方式

 

下文将围绕这些点,结合B1txor20在实际中产生的流量,分析B1txor20的通信技术细节。


 

0x01:定位C2

通过上图的流量,可以看出B1txor20使用的SLD是webserv.systems,使用DIG命令可知此SLD绑定的IP为194.165.16.24;而194这个IP上又开启了DNS解析服务,因此我们可以确定B1txor20的C2正是194.165.16.24。


 

0x02:生成Tunnel域名

B1txor20的Tunnel域名格式为Base64-Like String+.dns.websrv.systems 很明显前面
类似Base64的字串就是Bot发往C2的信息,它是如何生成的呢?
首先,B1txor20数据包的有一个前置构造过程,可以看出其格式为0xFF + BotId + 0xFF + Stage + 0xFF + Other Info,0xFF用于分隔不同的项,当成完构造后,再根据不同的Stage值,进入不同的任务,填充Other Info部分。


 

以上线这个任务为例,Stage值为1,通过gather_info函数,将"sysinfo_uptime,uid,hostname"这些信息填充到Other Info中,它们使用0x0a分隔。


 

当所需的信息都已准备好之后,B1txor20接着使用process_query函数对上面的信息进一步处理,它包括ZLIB压缩,RC4加密,Base64编码3个过程。


 

其中RC4加密所使用的秘钥就是前文解密章节所说的字串“EnLgLKHhy20f8A1dX85l”,Base64使用的Alphabet String为ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789^_。

最后B1txor20在上面生成的Base64字串前加入1字节表示status,4字节随机字串,再和domain进行拼接,就么得了最终要查询的域名。其中status的取值为['0', '1', '2'],0表示当前的查询被截断了,后续的查询和当前应该拼成同一个;1表示当成查询是完整的。


 


以实际产生的一个查询1HQoOKPvBKs8yqO1tTUQkCqGWN9anB4RAGWhnJy8A.dns.webserv.systems为例,去除前5字节,以及.dns.webserv.systems部分,得到KPvBKs8yqO1tTUQkCqGWN9anB4RAGWhnJy8A,然后使用Base64解码,RC4解密,ZLIB解压,就能得到了以下原始数据。


 

从数据内容和格式来看,它和我们前文的描述能一一对应,说明我们前面的分析是正确的。

Botid =0x125dStage=1sysinfo.uptime = 34uid=30hostname=debian0x3:发送DNS请求

当上述域名构造完成后,B1txor20使用RES系列API生成并发送DNS请求。


 

根据前文测试DNS连通情况的不同,发送DNS请求的方式有3种。

 

  1. 向public dns(8.8.8.8,8.8.4.4)发送
  2. 直接向C2(194.165.16.24)发送
  3. 向local dns(nameserver in /etc/resolv.conf)发送

 

其中2这种方式,它的速度较快,但蔽性弱,很容易被探测追踪;1,3这种俩种方式隐蔽性强,但速度稍慢。

0x4:处理C2指令

当Bot通过上述方式发送DNS请求后,就等待执行C2下发的指令。C2的指令存放在DNS请求的响应报文中,它的格式为Status(1 byte):Body,其中Body部分也使用了“ZLIB压缩,RC4加密,BASE64编码”这种保护方法。


 

以下图实际收到的指令“1VSE6NZwczNMm2zgaXeLkZro= ”为例,


 

Body部分为"VSE6NZwczNMm2zgaXeLkZro=",它经过Base64解码,RC4解密后,就能得到了以下格式的数据,再将红色部分解压,就得到了最终的指令FF 02 FF 0A FF,可以看出它的格式和上文查询产生的格式是一致的,此时可知Bot将去执行0x02号功能,至此Bot与C2的一轮交互就完成了。


 

C&C指令

B1txor20一共支持15条指令,指令号与功能的对应关系如下表所示:

CMD ID

FUNCTION

0x1

Beacon/Heartbeat

0x2

Upload system info

0x3

Create "/dev/pamd" (unix domain socket) which can get a shell

0x4

Exec arbitrary system cmd via popen

0x5

Traffic forwarding

0x6

Write File

0x7

Read File

0x8

Deliver info via "/var/tmp/.unetns"(unix domain socket),Not used

0x9

Upload specific info,Not used

0x10

Stop proxy service

0x11

Start proxy service

0x1a

Create proxy service

0x21

Reverse shell

0x50

Upload "/boot/conf- XXX" info,Not used

0x51

install M3T4M0RPH1N3.ko rootkit

表中"Not used"表示这个功能,在样本中有应的处理代码,但没有被调用,我们不确定这些代码是用于调试的,或是在别的样本中使用。
另外有意思的一点是,我们发现有些功能在实现上是有Bug的,如0x3,它在bind 域套接字后,使用remove函数删除了套接字文件,这会让此套接字无法被connect,进而整个功能失效。


 

花絮

域名一买就是6年,这是想要大干一票?

webserv.systems createddate 2021-02-08 15:13:22webserv.systems updateddate 2021-02-24 22:27:23webserv.systems expiresdate 2027-02-08 15:13:22



Tags:木马   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
苹果“安全”神话破灭?!iOS首次出现木马病毒
一直以来,iOS系统都以“安全性极高”闻名手机圈。在封闭软硬件生态加持下,iOS确实要比安卓系统更安全点。但是,小雷要说但是了嚯,最近iOS却首次出现了木马病毒。图源:苹果近日,在...【详细内容】
2024-02-19  Search: 木马  点击:(70)  评论:(0)  加入收藏
木马病毒蔓延至iOS:苹果用户如何防范?
近期,网络安全公司Group-IB发布了一份引人注目的报告,揭示了黑客已经开始针对iPhone用户发起银行木马攻击。这一事件标志着iOS系统首次遭受此类安全威胁,为全球的苹果用户敲响...【详细内容】
2024-02-18  Search: 木马  点击:(43)  评论:(0)  加入收藏
微信提醒这些文件不要点!当心木马病毒程序 远程控制电脑
日前,“微信安全中心”公众号表示,近期收到用户投诉,有不法分子利用钓鱼网页、即时通讯工具等方式进行“投毒”。大范围传播带有木马病毒程序的文件压缩包,利用文件名称和话术引...【详细内容】
2024-01-17  Search: 木马  点击:(94)  评论:(0)  加入收藏
手机中了木马病毒什么样?
手机中了木马病毒是一种比较常见的网络安全问题。木马病毒是一种能够在用户不知情的情况下,在其电脑上安装后门、收集用户信息的病毒。一旦手机中了木马病毒,可能会对用户的隐...【详细内容】
2024-01-11  Search: 木马  点击:(126)  评论:(0)  加入收藏
Chameleon 恶意木马曝光,伪装成谷歌 Chrome 浏览器等应用
IT之家 12 月 26 日消息,安全公司 Threat Fabric 日前曝光了一款名为“Chameleon”的恶意木马,该木马通常伪装成谷歌 Chrome 浏览器及部分银行应用,安装后便会在后台持续录制受...【详细内容】
2023-12-26  Search: 木马  点击:(93)  评论:(0)  加入收藏
手机中了木马病毒怎么办?
网络安全问题也日益突出。其中,手机中了木马病毒是一种常见的安全威胁。木马病毒是一种恶意软件,通常通过下载不明应用、点击恶意链接等方式传播,对手机和个人信息安全造成严重...【详细内容】
2023-12-22  Search: 木马  点击:(136)  评论:(0)  加入收藏
手机中了木马病毒,别慌!这里有解决方案
网络安全问题也日益突出。其中,手机中了木马病毒是一种常见的安全威胁。木马病毒是一种恶意软件,通常通过下载不明应用、点击恶意链接等方式传播,对手机和个人信息安全造成严重...【详细内容】
2023-12-22  Search: 木马  点击:(136)  评论:(0)  加入收藏
macOS窃密木马分析,你还敢轻易下载mac破解软件吗?
0x01 事件简介近期,在进行macOS终端威胁狩猎时,发现了一例macOS终端窃密木马,经过深入分析发现该木马专门针对macOS,会从受害者的机器上窃取大量敏感信息,包括浏览器自动填充...【详细内容】
2023-09-27  Search: 木马  点击:(276)  评论:(0)  加入收藏
手机充电会被植入“木马”?有可能
手机插入充电桩充电,短短几秒被植入“木马”;街边扫描二维码,支付密码就被套取;点了点邮件,就卷入了诈骗陷阱&hellip;&hellip;这些传闻是真的吗?在近日举行的2023年国家网络安全宣...【详细内容】
2023-09-18  Search: 木马  点击:(180)  评论:(0)  加入收藏
话费越扣越多?超1400万部手机被植入木马!
老年机原本只有接打电话等基础功能但四川攀枝花的张先生却发现家中的老年机无缘无故产生了不少小额增值收费业务警方调查后竟查出一起超千万部老年机被植入木马病毒通过“短...【详细内容】
2023-09-17  Search: 木马  点击:(233)  评论:(0)  加入收藏
▌简易百科推荐
苹果“安全”神话破灭?!iOS首次出现木马病毒
一直以来,iOS系统都以“安全性极高”闻名手机圈。在封闭软硬件生态加持下,iOS确实要比安卓系统更安全点。但是,小雷要说但是了嚯,最近iOS却首次出现了木马病毒。图源:苹果近日,在...【详细内容】
2024-02-19    雷科技  Tags:木马   点击:(70)  评论:(0)  加入收藏
新型恶意软件曝光:可绕过微软SmartScreen,窃取用户敏感信息
IT之家 1 月 17 日消息,趋势科技近日发布安全公告,发现了名为 Phemedrone Stealer 的高危恶意软件,可以绕过微软 Windows 10 和 Windows 11 系统中的 Defender SmartScreen,窃取...【详细内容】
2024-01-17  IT之家    Tags:恶意软件   点击:(92)  评论:(0)  加入收藏
Chameleon 恶意木马曝光,伪装成谷歌 Chrome 浏览器等应用
IT之家 12 月 26 日消息,安全公司 Threat Fabric 日前曝光了一款名为“Chameleon”的恶意木马,该木马通常伪装成谷歌 Chrome 浏览器及部分银行应用,安装后便会在后台持续录制受...【详细内容】
2023-12-26    IT之家  Tags:恶意木马   点击:(93)  评论:(0)  加入收藏
手机中了木马病毒怎么办?
网络安全问题也日益突出。其中,手机中了木马病毒是一种常见的安全威胁。木马病毒是一种恶意软件,通常通过下载不明应用、点击恶意链接等方式传播,对手机和个人信息安全造成严重...【详细内容】
2023-12-22  小笣子的二两生活    Tags:木马病毒   点击:(136)  评论:(0)  加入收藏
揭开勒索软件LostTrust的神秘面纱
勒索软件LostTrust一直被安全社区认为是MetaEncryptor勒索软件的“换壳”产品,因为它们几乎使用了相同的数据泄露网站和加密程序。LostTrust勒索软件于2023年3月开始积极活动...【详细内容】
2023-11-02  FreddyLu666  微信公众号  Tags:勒索软件   点击:(189)  评论:(0)  加入收藏
12种常见的恶意软件类型与防范建议
自从计算机技术被广泛使用以来,恶意软件就一直以某种形式存在,但其存在的类型在不断发展演变。如今,随着人类社会数字化程度的不断提升,恶意软件已经成为现代企业组织面临的最...【详细内容】
2023-10-26  安全牛  微信公众号  Tags:恶意软件   点击:(177)  评论:(0)  加入收藏
防不胜防!黑客使用转码域名在谷歌上投放钓鱼网站 看不出任何差别
谷歌搜索上的各种恶意软件和钓鱼网站广告屡见不鲜,这种操作手法已经相当成熟,都是先做一个看似合规的网站去投放广告,等谷歌审核通过了再把落地页修改为恶意内容。之前蓝点网已...【详细内容】
2023-10-23  区块软件开发    Tags:钓鱼网站   点击:(67)  评论:(0)  加入收藏
macOS窃密木马分析,你还敢轻易下载mac破解软件吗?
0x01 事件简介近期,在进行macOS终端威胁狩猎时,发现了一例macOS终端窃密木马,经过深入分析发现该木马专门针对macOS,会从受害者的机器上窃取大量敏感信息,包括浏览器自动填充...【详细内容】
2023-09-27  M_Altman  FreeBuf.COM  Tags:木马   点击:(276)  评论:(0)  加入收藏
什么是Spyware?加密货币中的Spyware有多危险?
作者:BTC_Chopsticks什么是 spyware?Spyware 是一种在后台运行的恶意软件,经过编程后可以跟踪和记录受感染设备上的活动并收集有关用户的个人信息。 然后,这些信息会被发送给攻...【详细内容】
2023-08-07    新浪网  Tags:Spyware   点击:(281)  评论:(0)  加入收藏
勒索软件伪装成Windows更新,可加密文件、删除备份
IT之家 7 月 10 日消息,近日一种名为“Big Head”的勒索软件正在伪装成 Windows 更新来感染用户的电脑,不仅能加密文件,还能删除备份,这种恶意软件的两个变种已经被安全研究机构...【详细内容】
2023-07-11    IT之家  Tags:勒索软件   点击:(287)  评论:(0)  加入收藏
站内最新
站内热门
站内头条