Lightning Framework 是一种新的未被检测到的 Linux 恶意软件

admin 2022年7月24日10:10:21评论54 views字数 5138阅读17分7秒阅读模式

Lightning Framework 是一种新的未被检测到的 Linux 恶意软件

Lightning Framework 是一种新的未被检测到的类似瑞士军刀的 Linux 恶意软件,它具有模块化插件和安装 rootkit 的能力。

由于威胁行为者对该领域的持续兴趣,Linux 环境年复一年地成为恶意软件的目标。针对 Linux 环境的恶意软件在 2021 年激增,大量创新产生了新的恶意代码,尤其是在勒索软件、木马和僵尸网络中。随着云使用的增加,难怪恶意软件创新在这个领域仍然以惊人的速度加速。

这是对以前未记录和未检测到的 Linux 威胁的技术分析,称为Lightning 框架. 很少看到针对 Linux 系统开发的如此复杂的框架。Lightning 是我们发现的一个模块化框架,它具有多种功能,能够安装多种类型的 rootkit,以及运行插件的能力。该框架具有与威胁参与者通信的被动和主动功能,包括在受感染的机器上打开 SSH,以及多态可延展的命令和控制配置。我们发布此博客仅供参考。我们没有框架中引用的所有文件,但希望此版本能够帮助其他人,如果他们拥有拼图的其他部分。我们没有观察到这种恶意软件被用于野外攻击。

Lightning框架技术分析

该框架由下载器和核心模块组成,并带有许多插件。该恶意软件使用的一些插件是开源工具。下图是框架布局图:

Lightning Framework 是一种新的未被检测到的 Linux 恶意软件

模块概述

姓名

磁盘名称

描述

闪电下载器

kbioset

下载核心模块及其插件的持久模块

闪电核心

kkdmflush

Lightning框架的主要模块

Linux.Plugin.Lightning.SsHijacker

soss

有对这个模块的引用,但还没有在野外找到样本。

Linux.Plugin.Lightning.Sshd

sshod

带有硬编码私钥和主机密钥的 OpenSSH

Linux.Plugin.Lightning.Nethogs

nethoogs

有对这个模块的引用,但还没有在野外找到样本。大概是软件Nethogs

Linux.Plugin.Lightning.iftop

iftoop

有对这个模块的引用,但还没有在野外找到样本。大概是软件iftop

Linux.Plugin.Lightning.iptraf

iptraof

有对这个模块的引用,但还没有在野外找到样本。大概是软件IPTraf

Linux.Plugin.RootkieHide

libsystemd.so.2

有对这个模块的引用,但还没有在野外找到样本。LD_PRELOAD Rootkit

Linux.Plugin.Kernel

elastisearch.ko

有对这个模块的引用,但还没有在野外找到样本。LKM Rootkit

闪电下载器

下载器模块的主要功能是获取其他组件并执行核心模块。

Lightning Framework 是一种新的未被检测到的 Linux 恶意软件Lightning DownloaderIntezer Analyze 中的结果

下载器模块首先检查它是否位于/usr/lib64/seahorses/名称下的工作目录中kbioset。该框架大量使用仿冒和伪装,以保持不被发现。对seahorses的引用伪装了密码和密钥管理器软件seahorse。如果不是,它将自己重新定位到该工作目录并执行该副本。下载程序将对主机名和网络适配器进行指纹识别以生成 GUID,该 GUID 将被发送到命令和控制 (C2) 服务器。 

Lightning Framework 是一种新的未被检测到的 Linux 恶意软件构建 GUID

然后下载器将联系 C2 以获取以下模块和插件:

Linux.Plugin.Lightning.SsHijacker

Linux.Plugin.Lightning.Sshd

Linux.Plugin.Lightning.Nethogs

Linux.Plugin.Lightning.iftop

Linux.Plugin.Lightning.iptraf

闪电核心

Lightning Framework 是一种新的未被检测到的 Linux 恶意软件从 C2 获取的资源

联系C2的方法将在下面的可锻C2部分中描述(点击这里跳转到该部分)。然后下载器将执行核心模块 (kkdmflush)。 

Lightning Framework 是一种新的未被检测到的 Linux 恶意软件核心模块的执行

闪电核心

核心模块是该框架中的主要模块,它能够接收来自 C2 的命令并执行插件模块。该模块具有许多功能,并使用多种技术来隐藏工件以保持在雷达下运行。 

核心模块将模块调用线程的名称修改为kdmflush,使其看起来是内核线程。 

Lightning Framework 是一种新的未被检测到的 Linux 恶意软件使用prctl修改调用线程名

接下来,核心模块通过创建在系统启动时执行的脚本来设置持久性。这是通过首先创建一个位于/etc/rc.d/init.d/elastisearch. 该名称似乎是误码elasticsearch。将以下内容写入文件:

#!/bin/bash

# chkconfig:2345 90 20

/usr/lib64/seahorses/kbioset &

此脚本将在启动时执行下载器模块。然后使用该chkconfig实用程序添加服务。 

Lightning Framework 是一种新的未被检测到的 Linux 恶意软件创建 init.d 脚本和服务

文件的时间戳被修改以隐藏工件,一种称为“ timestamping ”的技术。对文件的最后修改时间进行了编辑,以匹配whoamifindsu。它将分别查找每个文件,直到找到一个。该技术用于框架创建的大多数文件。

Lightning Framework 是一种新的未被检测到的 Linux 恶意软件文件时间戳修改功能

该恶意软件将尝试隐藏其进程 ID (PID) 和任何相关的网络端口。这是通过将运行 PID 的框架写入两个文件来实现的:hpihpo. 解析这些文件,然后proc/y.y 检查文件是否存在。如果该文件存在,则表示已安装 rootkit。PID 被写入以proc/y.y 供 rootkit 使用,它可以从命令(例如ps netstat.

Lightning Framework 是一种新的未被检测到的 Linux 恶意软件如果存在,则将PID 写入proc/yy(指示 rootkit 存在)

核心模块会以与下载器相同的方式生成一个 GUID 并联系 C2。解析响应并执行命令。核心模块有以下命令:

命令

描述

系统信息

指纹机器

PureShell 命令

运行 Shell 命令

RunShellPure

启动Linux.Plugin.Lightning.Sshd(SSH 守护程序)插件

CloseShellPure

终止Linux.Plugin.Lightning.Sshd插件

Disconnect

退出核心模块

获取远程路径信息

收集给定路径的摘要

keepAlive

无操作,连接仍然有效

上传文件头

检查文件的访问

文件编辑

获取文件内容和时间元数据

TryPassSSH

将公钥添加到root/.ssh/authorized_keys文件

删除 Vec 文件

删除指定的文件或路径

预下载文件

计算文件的校验和

下载文件

向 C2 发送文件

删除Guid

移除框架

更新版本

调用 Downloader 模块更新框架

更新远程版本

更新框架,包括下载器

Socks 5

设置 Socks5 代理

RestorePlug

与更新版本相同

获取域设置

获取可延展 C2 配置文件 (cpc) 的内容

设置域设置

更新可延展 C2 配置文件 (cpc) 的内容

安装内核隐藏

获取操作系统版本

移除内核隐藏

移除内核模块

更新内核版本

删除内核模块并运行uname -r

覆盖文件

覆盖指定文件

上传文件内容

将从服务器发送的数据写入文件

本地插件请求

编写 LD_PRELOAD rootkit 或 LKM rootkit

网络通讯

Core 和 Downloader 模块中的网络通信是通过 TCP 套接字执行的。数据采用 JSON 结构。C2 存储在一个多态编码的配置文件中,该文件对于每个创建都是唯一的。这意味着将无法通过哈希等技术检测到配置文件。密钥内置在编码文件的开头。

Lightning Framework 是一种新的未被检测到的 Linux 恶意软件编码的可延展 C2 配置文件Lightning Framework 是一种新的未被检测到的 Linux 恶意软件动态 XOR 解码例程 

解码后的配置采用 JSON 结构。分析示例中的默认配置使用本地 IP 地址10.2.22[.]67和端口33229。 

Lightning Framework 是一种新的未被检测到的 Linux 恶意软件解码默认配置

如果参与者执行RunShellPure命令,则可以使用被动通信模式。这将使用Linux.Plugin.Lightning.Sshd插件在受感染机器上启动 SSH 服务。该插件是一个具有硬编码私钥和主机密钥的 OpenSSH 守护程序,允许攻击者使用自己的 SSH 密钥 SSH 进入机器,从而创建辅助后门。 

Lightning Framework 是一种新的未被检测到的 Linux 恶意软件修改后的 OpenSSH 守护程序中的硬编码密钥

概括

Lightning 框架是一个有趣的恶意软件,因为针对 Linux 开发的这么大的框架并不常见。虽然我们没有所有文件,但我们可以根据我们拥有的模块的字符串和代码推断出一些缺失的功能。很快我们将发布另一个关于使用 osquery 检测闪电框架的机会的博客。

IBM 和 SentinelOne 的朋友和合作伙伴在调查此威胁期间提供的帮助。

闪电框架的 IOC

哈希

文件

SHA256

闪电下载器

48f9471c20316b295704e6f8feb2196dd619799edec5835734fc24051f45c5b7

闪电核心

fd285c2fb4d42dde23590118dba016bf5b846625da3abdbe48773530a07bcd1e

Linux.Plugin.Lightning.Sshd

ad16989a3ebf0b416681f8db31af098e02eabd25452f8d781383547ead395237

西格玛检测规则

title: Lightning Framework File Path

status: experimental

description: Detects creation of files related to Lightning Framework.

author: Intezer

references:

   - https://www.intezer.com

logsource:

   product: linux

   category: file_create

detection:

   selection1:

      TargetFilename|startswith:

         - '/usr/lib64/seahorses/'

   selection2:  

      TargetFilename|contains:

         - 'kbioset'

         - 'cpc'

         - 'kkdmflush'

         - 'soss'

         - 'sshod'

         - 'nethoogs'

         - 'iftoop'

         - 'iptraof'

   condition: selection1 and selection2

falsepositives:

   - Unknown.

title: Lightning Default C2 Communication

status: experimental

description: Detects communication to default local ip for Lightning Framework

author: Intezer

references:

  - https://intezer.com

logsource:

  category: firewall

detection:

  select_outgoing:

    dst_ip: 10.2.22.67

    dst_port: 33229

  condition: select_outgoing

falsepositives:

  - Unknown.

MITRE ATT&CK

战术

技术

ID

描述

持久性

引导或登录初始化脚本

T1037

init.d 脚本用于下载器模块的持久性

持久性

SSH 授权密钥

T1098.004

SSH 密钥可以添加到authorized_keys文件中

防御规避

混淆文件或信息

T1027

C2 配置文件在磁盘上编码

防御规避

去混淆/解码文件或信息

T1140

C2 配置文件使用动态 XOR 算法解码

防御规避

隐藏工件

T1564

隐藏了许多工件,包括端口、PID 和文件时间戳

防御规避

伪装

T1036

许多文件被伪装成其他文件或任务

防御规避

Rootkit

T1014

使用 LKM 和 LD_PRELOAD rootkit

防御规避

时间戳

T1070.006

修改由 Lightning 创建的文件以匹配其他实用程序的文件

防御规避

文件删除

T1070.004

框架有能力自行移除

发现

文件和目录发现

T1083

该框架可以列出受感染系统上的文件和目录

发现

网络服务发现

T1046

可以使用多个插件来执行网络服务发现

发现

网络嗅探

T1040

可以使用多个插件来执行网络嗅探

发现

系统信息发现

T1082

闪电可以执行详细的系统指纹识别

命令与控制

数据编码

T1132

来自 C2 的数据被编码

命令与控制

非应用层协议

T1095

通过 TCP 执行与 C2 的通信

命令与控制

代理人

T1090

该框架具有启动 Socks5 代理的能力

命令与控制

通过 C2 通道渗出

T1041

数据可以被泄露

原文来源:https://www.intezer.com/blog/research/lightning-framework-new-linux-threat/

原文始发于微信公众号(祺印说信安):Lightning Framework 是一种新的未被检测到的 Linux 恶意软件

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月24日10:10:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Lightning Framework 是一种新的未被检测到的 Linux 恶意软件http://cn-sec.com/archives/1194284.html

发表评论

匿名网友 填写信息