Dark Nexus僵尸网络分析
发布时间:2022-03-22 14:46 所属栏目:53 来源:互联网
导读:Bitdefender 安全研究人员发现了一款新出现的IoT僵尸网络Dark Nexus。Dark Nexus利用被黑的智能设备来发起DDoS攻击,通过平台来提供DDoS 租赁服务。 研究人员发现Dark Nexus 通过凭证填充对路由器(Dlink、ASUS等知名品牌)、视频录像机、温感摄像机等不同种
Bitdefender 安全研究人员发现了一款新出现的IoT僵尸网络——Dark Nexus。Dark Nexus利用被黑的智能设备来发起DDoS攻击,通过平台来提供DDoS 租赁服务。 研究人员发现Dark Nexus 通过凭证填充对路由器(Dlink、ASUS等知名品牌)、视频录像机、温感摄像机等不同种类的设备发起攻击,使其加入到僵尸网络中来。截止目前,Dark Nexus 入侵了至少1372个主机充当逆向代理,涉及中国、韩国、 泰国、巴西和俄罗斯。 恶意软件二进制文件使用了一款开源的工具链Aboriginal Linux进行跨平台编译,可以使二进制文件适用于不同的IoT平台。这些二进制文件的大部分都有一个基于UPX的打包器,并且去表了符号和调试信息。但是研究人员发现arm7 二进制中含有一些调试信息。研究人员利用这些调试信息发现了该恶意软件的架构。其中包含以下源文件,分别对应僵尸主机的模块和特征: · lockdown.c · main.c · networking.c · resolve.c · socks5.c · mass_exploiter.c · reverseproxy.c · spreader.c · syn_bruter.c 可执行文件使用了UPX的定制版本进行打包,以防止研究人员进行逆向分析。 通信协议 通信数据包的第一个字节表示命令的类型: · 0x9a,退出 · 0x69 (‘i’) ,将目标加入到暴力破解目标列表中 · 0xfe,ping C2主机 (发送一个字节0x15) · 0x4b (‘K’) - kill_attacks · 0x43 (‘C’) - cmd_not_attack; 第二个字节和表示的含义如下: · 1: 在新进程中执行命令 · 3: kill运行的fork · 7: 重启 · 16: 按端口kill进程 · 17:kill逆向代理 · 18: 启动逆向代理 Killer模块 与其他僵尸网络相比,攻击是标准的DDoS攻击。其中browser_ http_req 是非常复杂和可配置的,会尝试将流量伪装成流量器生成的正常流量。Killer模块在特定进程中运行,因为是最后一个初始化的,因此指导所有其他复制的进程的PID,随后会用作白名单。 传播 僵尸主机使用了2个模块来进行一个传播,一个是同步模块,另一个是异步模块。在开启同步扫描器时,僵尸主机会生成一个执行init_syn_bruter函数的进程。在异步机制中,C2会发布一个特定的命令,指明IP和端口。这些信息保存在一个队列——dynamic_queue_head中。僵尸主机会维护一个大小为250的连接列表——bruting_conns。主僵尸主机进程会服用这些连接创建的socket。此外,还会周期性地检查所有连接的timeout,包括到C2的连接。在与C2通信时,就发送一个注册消息。 同步sync (init_syn_bruter)和异步async (fd_event) 机制中都实现了Telnet 协议,并尝试通过预定义的凭证以暴力破解的方式来进行认证。当同步暴力破解器报告受害者给报告服务器时,事实上是发送了一个感染payload,异步机制只通过C2 socket发送一个含有IP、端口和发现的凭证的消息。在一些版本中,异步报告器也会报告给报告服务器(维持蠕虫行为)。通信方法也是不同的,有些样本中是通过TCP 12000或13000端口,有些是通过UDP的12000或13000端口,有的是通过C2 socket(TCP 30047端口)。 攻击者IP: · 66.175.210.74 · 51.15.120.245 · 45.33.73.134 · 190.115.18.144 · 190.115.18.28 · 51.159.52.250 · 190.115.18.86 · 192.168.100.210 · 192.168.100.27 · 192.168.110.135 · 45.33.84.114 · 45.56.102.170 在不断进化发展过程中,dark_nexus使用了不同的驻留方法。在5.1之前版本中,该功能是在僵尸主机启动过程中执行的: 为确保驻留,这些命令会通过停止cron服务和移除用来重启设备的可执行文件的权限来防止设备重启。新版本中使用了另一种驻留函数,在/etc/init.d/rcS 文件中放置了一些命令。首先,从/proc/self/exe中读取僵尸主机代码,并将echo命令格式化并输出到/tmp/dvr_enc 文件,然后执行: echo -ne “\x7f\x45\x4c...” > /tmp/dvr_enc chmod 777 /tmp/dvr_enc /tmp/dvr_enc reboot 驻留函数中执行的另一个shell命令是iptables -F,负责清除iptables规则,确保与C2之间的通信或发送的DDoS payload不会被过滤。 代理模块 在初始化后,僵尸主机会从命令行中提取参数IP和端口,是感染当前设备的公共IP端口,其父设备以HTTP服务器的形式运行。 然后僵尸主机会随机生成一个端口,并在新进程中启动其HTTP 服务器(init_reverse_proxy)。并且从host服务器上下载僵尸二进制文件——hoho.[arch],保存到设备上。该操作是循环发生的,以确保本地保存的二进制文件与HTTP服务器上的是同步更新的。代码会使用中心服务器作为其后台。当与后台的连接发生问题时,后台就会更新到指向感染链中父节点的IP和端口。 在蠕虫组件中,代理也用于感染过程:不管用了什么方法,受害者会被重定向到从攻击者处下载一个合适的二进制文件,而非中心化的服务器。 代码模块含有2个字符串,可以用来确保僵尸主机的版本: · 服务器对GET请求/的响应内容就是这个形式:hoho_fastflux/v4.0 · 发送给后台的请求中使用的代理:User-Agent: checker/v4.0/p 基础设施 僵尸网络的基础设施由以下部分组成,分别是: · 多个C2服务器。负责发布命令给僵尸主机,使用的域名有: · switchnets[.]net:30047 · thiccnigga[.]me:30047 · 报告服务器。发现有漏洞的服务后,僵尸主机就会将IP和端口报告给报告服务器。在一些版本中,报告服务器是一个域名或硬编码的IP地址,端口是12000.域名与C2使用的相同,IP对应每次解析的地址。 · 托管服务器。样本托管在switchnets.net:80上,可以用HTTP提取。在使用二进制下载器的感染向量中,IP是硬编码的。在dark_nexus版本中有一个反向代理特征,每个受害者都作为托管服务器的代理,在随机端口上提供一般。当端口报告给C2时,僵尸主机就会注册。此外,在感染过程中,同步扫描器会给出其IP和反向代理端口号给受害者。受害者就指导了父服务器的IP和端口,并使用其作为源来周期性地更新其样本集。 (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读