Symbiote先容
Symbiote是主要针对Linux系统的恶意软件,,,,,在2021年11月首次被发明,,,,,主要针对拉丁美洲的金融部分,,,,,业界普遍形貌“险些不可能被检测到”。。。。。。。该恶意软件可通过“寄生熏染”系统熏染所有正在运行的历程,,,,,并为威胁加入者提供rootkit功效、远程会见等。。。。。。。
由于Symbiote隐藏了所有文件、历程,,,,,因此在受熏染的机械上执行实时取证可能不会发明任何问题。。。。。。。除了Rootkit之外,,,,,Symbiote还为攻击者提供了一个后门,,,,,攻击者可以使用硬编码密码以机械上的任何用户身份登录,,,,,并以最高权限执行下令。。。。。。。现在,,,,,3377体育网官网入口EDR、自顺应清静防御系统、过滤网关系统、僵尸网络木马和蠕虫监测与处置惩罚系统,,,,,以及新版本的入侵检测系统、入侵防御系统等产品均可精准检测并查杀该恶意软件,,,,,避免威胁事务爆发,,,,,提高终端情形清静。。。。。。。
接下来,,,,,一起揭晓Symbiote是怎样隐藏自己的~
样天职析
静态样天职析
Symbiote是一种疑似针对拉丁美洲金融部分的Linux平台rootkit,,,,,其使用了多种hook手艺隐藏自身行为,,,,,具有较好的免杀性,,,,,主要功效是窃取登录凭证并在受熏染机械上植入后门。。。。。。。
履历长时期的开发演进,,,,,现在Symbiote较新的版本是名为search.so的64位ELF共享目的文件。。。。。。。

它通过设置LD_PRELOAD情形变量的值,,,,,在程序运行前优先加载恶意动态链接库search.so,,,,,search.so在导出函数中挟制了多个库函数。。。。。。。

Symbiote使用RC4算法加密所有字符串,,,,,密钥为HEX数值“030F1513081609061C0A1A0D120217”,,,,,硬编码在ELF的牢靠位置中。。。。。。。

所有被RC4加密的字符串的解密python3代码如下:
DEFAULT_KEY = "\x03\x0f\x15\x13\x08\x16\x09\x06\x1c\x0a\x1a\x0d\x12\x02\x17"
def rc4(data, key=DEFAULT_KEY, skip=0):
x = 0
box = list(range(256))
x = 0
for i in list(range(256)):
x = (x + box[i] + ord(key[i % len(key)])) % 256
tmp = box[i]
tmp2 = box[x]
box[i] = box[x]
box[x] = tmp
x = 0
y = 0
out = []
if skip > 0:
for i in list(range(skip)):
x = (x + 1) % 256
y = (y + box[x]) % 256
box[x], box[y] = box[y], box[x]
for char in data:
x = (x + 1) % 256
y = (y + box[x]) % 256
box[x], box[y] = box[y], box[x]
k = box[(box[x] + box[y]) % 256]
out.append(chr(ord(char) ^ k))
return ''.join(out)
if __name__ == '__main__':
data = "\x24\xa3\x8a\x5a\xe7\x58\x82\x82\xf7\x2c\x44\xf1\x20\x67"
result = rc4(data, DEFAULT_KEY, 0)
print(result)
动态调试剖析
当挪用被search.so文件hook的函数时,,,,,内存中才会动态加载恶意so文件,,,,,没有被hook的情形下会在libc-2.13.so中连忙填充系统挪用号举行syscall系统挪用,,,,,而hook之后的原ELF举行API挪用时会通过一条jmp汇编指令跳转到search.so的导出函数中执行。。。。。。。

需要阻挡的历程名称列表和文件名称列表划分存储在pth和fth变量指向的偏移,,,,,使用RC4算法在动态运行中解密并磨练。。。。。。。

如下图所示是search.so被加载时动态解密出的隐藏文件名称,,,,,木马隐藏的所有历程列表和文件列表见附录部分。。。。。。。

规避手艺剖析
当使用ldd下令显示软件的依赖项时,,,,,情形变量LD_TRACE_LOADED_OBJECTS会被设置为1,,,,,恶意软件挂钩execve函数并通过检测LD_TRACE_LOADED_OBJECTS的值是否为1,,,,,进而决议是否执行阻挡ldd下令的代码,,,,,从而在软件的依赖项中将自身去除抵达隐藏目的。。。。。。。

Symbiote在readdir和readdir64中实现了隐藏文件和隐藏历程,,,,,之后与动态加载重定向到pth的内存中存储的历程名称列表举行较量,,,,,若是保存列表中的历程名字,,,,,那么readdir和readdir64函数会直接返回。。。。。。。当治理运维职员使用ls下令时,,,,,无法审查到恶意so文件,,,,,但若是知道文件名称可以使用find下令袒露其位置。。。。。。。

在readdir和readdir64中同样实现了反跟踪。。。。。。。若是在历程中的cmdline中发明包括sh -c strace或者strace -s等与strace有关的下令参数,,,,,即启用了追踪功效,,,,,函数直接返回0。。。。。。。

通过hook一些Linux可插入身份验证?????(PAM)的函数如pam_authenticate、pam_set_item和pam_acct_mgmt实现对被熏染机械的远程会见。。。。。。。当用户实验使用PAM服务(好比SSH远程服务)举行身份验证时,,,,,恶意软件会判断提供的密码是否为硬编码的数值而选择对应的处置惩罚方法。。。。。。。

隐藏流量的第一种要领:hook fopen和fopen64函数。。。。。。。
当应用程序实验翻开/proc/net/tcp文件时,,,,,恶意软件建设一个暂时文件,,,,,读取文件内容时会按行匹配是否保存特定端口:43253、43753、63424、26424。。。。。。。若是匹配到就会跳过,,,,,不然,,,,,该行内容会被写入暂时文件。。。。。。。当文件被扫描处置惩罚完时,,,,,恶意软件就会关闭暂时文件句柄并将暂时文件的文件形貌符作为返回效果。。。。。。。从实质上讲,,,,,这样实现了通过hook fopen或fopen64的挪用历程,,,,,隐藏了恶意软件想要隐藏的所有网络端口的毗连条目。。。。。。。

隐藏流量的第二种要领:hook函数pcap_loop和pcap_stats。。。。。。。
Symbiote通过hook函数pcap_loop和pcap_stats来完成这个使命,过滤偷换枚举表中域名子字符串的UDP流量。。。。。。。该要领用于过滤掉 UDP 数据包,,,,,而以下的eBPF机制写字节码的要领用于过滤掉 TCP 数据包。。。。。。。
隐藏流量的第三种要领:eBPF机制。。。。。。。
eBPF(extended Berkeley Packet Filter)起源于BPF,,,,,它提供了内核的数据包过滤机制。。。。。。。BPF的基本头脑是对用户提供两种SOCKET选项:SO_ATTACH_FILTER和SO_ATTACH_BPF,,,,,允许用户在sokcet上添加自界说的filter,,,,,只有知足该filter指定条件的数据包才会上发到用户空间。。。。。。。SO_ATTACH_FILTER插入的是cBPF代码,,,,,SO_ATTACH_BPF插入的是eBPF代码。。。。。。。eBPF是对cBPF的增强,,,,,现在用户端的tcpdump等程序照旧用的cBPF版本,,,,,其加载到内核中后会被内核自动的转变为eBPF。。。。。。。Linux 3.15 最先引入eBPF。。。。。。。其扩充了BPF的功效,,,,,富厚了指令集。。。。。。。它在内核提供了一个虚拟机,,,,,用户态将过滤规则以虚拟机指令的形式转达到内核,,,,,由内核凭证这些指令来过滤网络数据包。。。。。。。
如下为在内核编译后的 eBPF汇编代码:

如下为以太网帧名堂数据。。。。。。。正常情形下数据帧是从DST最先算起,,,,,12个字节(0xc)后即是长度或类型,,,,,ldabsh 0xc汇编指令即是将数据帧的类型字段加载到寄存器中。。。。。。。接下来jeq r0,0x86dd即判断协议类型是否为IPv6。。。。。。。

最后团结IPv6和IPv4的数据报名堂,,,,,我们可以得知,,,,, eBPF汇编程序的最终目的是要通过校验数据帧中IP协议的源端口和目的端口是否为43253、43753、63424、26424之一,,,,,有的话则过滤效果特殊处置惩罚。。。。。。。
Symbiote通过使用所有这三种要领,,,,,恶意软件可确保隐藏所有流量。。。。。。。
综上所述,,,,,Symbiote的rootkit隐藏手艺点可以归纳如下:

追溯关联
在互联网上可以发明之前作者在开发的Symbiote旧版本文件,,,,,名称划分为kerneldev.so.bkp、mt64_.so。。。。。。。其中尚有一个名为certbotx64是开源的DNS隧道工具项目dnscat编译出的客户端,,,,,使用C语言编写。。。。。。。dnscat编译的服务器使用Ruby语言编写,,,,,运行时依赖Ruby和Gem情形。。。。。。。

样本IOCs列表

附录

防护建议
实时更新软件和系统以及打误差补。。。。。。。,,,,降低被Symbiote病毒通过误差入侵的危害。。。。。。。
增强会见控制,,,,,关闭不须要的端口,,,,,禁用不须要的毗连,,,,,降低资产危害袒露面。。。。。。。
更改系统及应用使用的默认密码,,,,,设置高强度密码认证,,,,,并按期更新密码,,,,,避免弱口令攻击。。。。。。。
可装置3377体育网官网入口清静产品增强防护,,,,,3377体育网官网入口EDR系统、自顺应清静防御系统、过滤网关系统、僵尸网络木马和蠕虫监测与处置惩罚系统,,,,,以及新版本的入侵检测系统、入侵防御系统等产品均可准确检测并查杀该恶意软件。。。。。。。
# 3377体育网官网入口EDR系统防御设置
1、开启文件实时监控功效,,,,,有用预防和查杀该恶意软件;;;;;;;;
2、通过使命周期性查杀,,,,,阻断恶意攻击行为,,,,,防护病毒攻击威胁;;;;;;;;
3、通过内置的Webshell后门库,,,,,对网站后门专项查杀,,,,,降低横向撒播危害。。。。。。。
# 3377体育网官网入口自顺应清静防御系统防御设置
1、开启病毒实时监控功效,,,,,可有用预防和查杀该恶意软件;;;;;;;;
2、支持精准定位系统误差,,,,,事前实时修补,,,,,降低横向熏染危害;;;;;;;;
3、通过危害发明功效扫描系统弱口令,,,,,降低清静危害、镌汰资产袒露。。。。。。。
# 3377体育网官网入口过滤网关防御设置
1、升级到最新病毒特征库;;;;;;;;
2、开启HTTP、POP3、SMTP、FTP、IMAP等协议的病毒扫描检测;;;;;;;;
3、设置病毒检测处置惩罚战略;
4、开启日志纪录和报警功效。。。。。。。
# 3377体育网官网入口僵尸网络木马和蠕虫监测与处置惩罚系统检测设置
1、升级威胁情报库版本;;;;;;;;
2、开启威胁情报-恶意文件检测功效,,,,,可有用检测该恶意软件。。。。。。。
# 3377体育网官网入口入侵检测系统新版本检测设置
1、购置威胁情报库功效?????椋唬;;;;;;
2、开启威胁情报-恶意文件检测功效,,,,,可有用检测该恶意软件。。。。。。。
# 3377体育网官网入口入侵防御系统新版本防护设置
1、购置威胁情报库功效?????椋唬;;;;;;
2、开启威胁情报-恶意文件检测功效,,,,,可有用防御该恶意软件。。。。。。。

产品获取方法
● 3377体育网官网入口EDR系统企业版、3377体育网官网入口自顺应清静防御系统、3377体育网官网入口过滤网关、3377体育网官网入口僵尸网络木马和蠕虫监测与处置惩罚系统、3377体育网官网入口入侵检测系统、3377体育网官网入口入侵防御系统试用:可通过3377体育网官网入口天下分支机构获。。。。。。。ㄅ涛释罚
http://www.topsec.com.cn/contact/)
● 3377体育网官网入口EDR系统单机版下载地点:http://edr.topsec.com.cn
● 3377体育网官网入口过滤网关系统病毒库下载地点:ftp://ftp.topsec.com.cn/防病毒网关(Top-Filter)/病毒库脱机升级包/
● 3377体育网官网入口威胁情报库下载地点:ftp://ftp.topsec.com.cn/3377体育网官网入口下一代入侵防御系统(NGIDP)/威胁情报库/ ti-v2022.09.05.005.tor
TOPSEC
恶意软件影响数据及程序的清静性,,,,,对各政企单位网络清静及社会秩序造成严重危害。。。。。。。作为中国网络清静、大数据与云服务提供商,,,,,3377体育网官网入口多年深耕网络清静防护领域,,,,,积淀富厚的手艺与产品能力,,,,,并一直推陈出新,,,,,一连助力国家网络清静康健生长。。。。。。。
3377体育网官网入口谛听实验室
谛听实验室是3377体育网官网入口的病毒剖析和响应团队,,,,,汇聚专业病毒剖析与研究职员,,,,,致力于终端恶意代码的逆向剖析、威胁预警、追本溯源、反病毒手艺等清静研究和威胁发明,,,,,为集团全系产品提供周全的手艺支持和误差剖析响应。。。。。。。
- 要害词标签:
- 3377体育网官网入口EDR 自顺应清静防御系统 过滤网关系统 僵木蠕系统 精准查杀Symbiote

京公网安备 11010802026257号