本帖最后由 梦幻的彼岸 于 2025-1-28 19:41 编辑
翻译:梦幻的彼岸 报告下载地址:
版本 3 2024 年 11 月 7 日 备注:有缘看到此报告,感觉写的很不错,为方便阅读,根据自身理解将其翻译成简体中文并进行扩展,若发现可完善之处望指出 一、执行摘要- 使用LD_PRELOAD加载到/bin/sshd并拦截其accept函数。
- 在原始Socket上监听传入的ICMP数据包以触发回连,或者使用拦截的accept函数在SSH连接中搜索特定序列的魔法字节。
- 功能包括远程shell、数据包捕获、cron任务以及创建反向SOCKS代理服务器。
二、简介
Pygmy Goat是一个本地的x86-32 ELF共享对象,被发现在Sophos XG防火墙设备上,提供了对该设备的后门访问权限。它利用 LD_PRELOAD 环境变量将共享对象加载到 sshd(SSH 守护进程)二进制文件中。
- 样本创建了一个原始 ICMP Socket来监控传入的数据包,这些数据包包含 AES 加密的 TCP 回调 IP 和端口,用于样本连接以实现 C2(命令与控制)功能。
- 样本利用其 LD_PRELOAD 位置拦截 socket 的 accept 函数,以窥探传入流量寻找特定的 SSH 协议声明,然后重用该连接作为另一种 C2 的方式。
- 样本使用一个硬编码的嵌入式CA证书伪装成Fortinet,以与C2建立TLS连接并验证对方身份
- C2命令使攻击者能够在设备上建立远程shell,启动数据包捕获,创建cron任务,并创建反向SOCKS代理以将流量发送到防火墙后的设备。
三、恶意软件详细信息
(一)元数据文件名
| libsophos.so | 描述 | 加载到 /bin/sshd 的恶意共享对象 | 大小 | 1,759,412 bytes | MD5 | c71cd27efcdb8c44ab8c29d51f033a22 | SHA-1 | 71f70d61af00542b2e9ad64abd2dda7e437536ff | SHA-256 | 6455de74ae15071fa98f18cdbc3148c967755e69df7dee747bc31d0387751162 | | 文件名 | libsophos.so | 描述 | 较早版本的 libsophos.so 缺失了反向代理功能,并使用 VMProtect 来混淆二进制文件。 | 大小 | 3,056,741 bytes | MD5 | 3f28196675dc8cb20cf5b5f80ea29310 | SHA-1 | 7ace663c22b3e800fc17c1477d54b533f7002833 | SHA-256 | 823b079c75f4e6a5905d9eea9a60c62e1f0995bfc25764d1ba0407a5bd78c962 |
四、功能介绍
(一)持久性
Pygmy Goat预计是通过使用LD_PRELOAD环境变量加载到/bin/sshd进程中的,这从钩住的accept函数以及二进制文件加载时立即取消设置LD_PRELOAD环境变量的情况可以明显看出。这表明攻击者通过在启动时设置LD_PRELOAD环境变量,例如,通过修改启动脚本,来实现在受害设备上的持久化存在。其脚本内容类似于如下代码:
- LD_PRELOAD=”libsophos.so” /bin/sshd
复制代码
这将确保恶意的libsophos.so文件在系统启动时被加载到下一个执行的SSH守护进程中,使其能够覆盖sshd二进制文件中的现有函数。
(二)后门
Pygmy Goat的libsophos.so二进制文件在其INIT_ARRAY段中包含一个指向名为main_constructor函数的引用(此名称来源于保留在二进制文件内的调试符号)。这意味着在sshd二进制文件的主要功能启动之前,这个main_constructor函数将会被自动执行。
main_constructor函数会进行fork操作,以避免妨碍合法sshd进程的加载,然后立即为自己和所有未来的子进程取消设置LD_PRELOAD环境变量。尽管如此,值得注意的是,原始的父sshd进程在此时仍然会在其环境中保留LD_PRELOAD变量
恶意软件会检查主机系统的运行时间,确保系统已经运行超过60秒,若未达到则进入休眠。然后,它尝试在‘/var/run/sshd.pid’处获取一个单实例pid文件的互斥锁,以确保当前只有这一个恶意软件实例在执行。接着,恶意软件再次fork,通过静态编译嵌入的BusyBox 1.33.1启动一个crond守护进程,以便稍后执行攻击者可以通过恶意软件部署到设备上的cron任务。
最后,恶意软件创建了一个ICMP 原始socket,用于监听设备接收到的所有ICMP数据包,并且还创建了一个Unix socket,用于监听连接到‘/tmp/.sshd.ipc’的请求。
由于Pygmy Goat通过LD_PRELOAD加载到sshd进程中,libsophos.so共享对象中导出的函数会替代sshd(/bin/sshd)原本导入的同名函数。具体来说,当检查libsophos.so和sshd之间的函数交互时,发现只有一个函数被替换:accept函数。这意味着所有到达sshd守护进程的TCP连接都会经过这个修改过的accept函数处理。
当这个修改后的accept函数被调用时,它使用dlsym来找到并调用原始的accept函数。然后,该函数会对前0x17字节的数据进行非消耗性、非阻塞的预览,并每100毫秒重复这一过程,持续3秒钟,直到成功读取到0x17字节的数据、连接中断或时间到期。如果成功读取了0x17字节的数据,它们将与一个硬编码的字节序列进行比较:
- SSH-2.0-OpenSSH_5.3p1\r\n
复制代码
备注:尽管这是一个合法的 OpenSSH 协议版本(发布于2009年),但恶意软件开发者可能认为在2024年自然出现这种情况的可能性极低。
如果检测到这些字节,恶意软件会识别出这是一个后门SSH连接,并通过与先前在main_constructor函数中创建的/tmp/.sshd.ipc Unix socket进行通信,来转发所有来自和去往后门SSH连接的数据。
此外,拦截的accept函数在被调用时,也会立即取消设置LD_PRELOAD变量
由于accept函数是在父sshd进程中被调用的,而此时该进程仍然设置了LD_PRELOAD变量,这使得该技术在设备的常规取证检查中不易被发现。环境变量仅在sshd进程中设置,并且会在sshd首次接受TCP连接时取消设置。然而,如果攻击者在系统首次启动后没有尝试连接到Pygmy Goat的受害者,或者攻击者使用了ICMP唤醒方法,则LD_PRELOAD变量将永远不会在父sshd进程中被取消设置。
(三)指令
Pygmy Goat 是一种复杂的恶意软件,它通过与 C2 服务器通信来接收指令并执行特定的操作。这种通信是基于命令 ID 字节的,这意味着每个命令都由一个唯一的标识符表示,C2 服务器发送这个标识符给受感染设备上的 Pygmy Goat 恶意软件,后者据此执行相应的操作。
一旦与C2(命令与控制服务器)建立连接,Pygmy Goat可以根据命令ID字节执行多个命令。每个命令在C2任务分配部分中有详细说明
补充C2 命令结构示例
命令 ID 字节:这是每个命令的核心标识,通常是一个字节或几个字节,用来告诉恶意软件接下来要做什么。这可以看作是双方协议的一部分,确保只有预期的命令被识别和处理。
参数:某些命令可能还需要额外的数据作为参数传递,例如 IP 地址、端口号、文件路径等。这些参数紧跟在命令 ID 后面,用于指导具体的操作细节。
命令ID | 功能描述 | 0x01 | 返回当前日期和时间
补充功能用途:当 C2 服务器发送此命令时,恶意软件将响应并返回设备上的当前日期和时间。这可以帮助攻击者确认受感染设备的时间设置,或者用于同步操作。 | 0x02 | 返回系统详情
补充功能用途:该命令使得恶意软件返回有关受感染系统的详细信息,可能包括操作系统版本、网络配置、已安装软件等。这些信息有助于攻击者了解目标环境并规划后续行动。 | 0x03 | 启动 /bin/sh shell
补充功能用途:此命令指示恶意软件在受感染设备上启动一个交互式的 Bourne shell (/bin/sh)。攻击者可以通过这个 shell 执行任意系统命令,从而获得对系统的完全控制。 | 0x04 | 启动 /bin/csh shell
补充功能用途:类似于命令 ID 0x03,但这次是启动 C shell (/bin/csh)。不同的 shell 提供了不同的环境和特性,攻击者可能会根据需求选择合适的 shell。 | 0x05 | 创建新的计划任务
补充功能用途:通过调用 crontab,此命令允许攻击者为受感染设备添加新的定时任务。这些任务可以是定期下载更新、执行脚本或进行其他类型的恶意活动。 | 0x06 | 开始数据包捕获
补充功能用途:启用网络嗅探器来记录流经受感染设备的所有或特定类型的网络流量。这对于窃取敏感信息或监视网络活动非常有用。 | 0x07 | 连接到 EarthWorm Server 创建反向 SOCKS5 代理
补充功能用途:此命令指示恶意软件连接回一个被称为“EarthWorm”的服务器,并建立一个反向 SOCKS5 代理。这允许攻击者通过受感染设备作为中介访问内部网络资源,甚至穿透防火墙。有关 EarthWorm 的更多信息,请参阅“EarthWorm 反向 Socks 代理。 |
五、通信机制
Pygmy Goat具有两种机制,攻击者可以根据需要使用这些机制来建立与后门的C2(命令与控制服务器)连接:
- ICMP 原始Socket端口敲击
- 拦截 SSH accept 的响应
(一)ICMP 端口敲击
在接收到任何类型的ICMP数据包时,Pygmy Goat会尝试使用AES-256-CBC算法和一个硬编码的初始化向量(IV)及密钥,对ICMP数据部分的前0x10字节进行解密,使用空填充(null padding)方式:
- IV:43 4a fc 1c 5d 9d 77 06 67 c1 c3 0e c1 37 47 bb
- Key:59 4b 6e 77 51 6a 6d 41 54 62 41 6e 52 6f 5a 6d 30 66 47 37 55 5a 57 62 32 59 55 78 55 51 50 77
复制代码
一旦解密完成,前四个字节会被与一个特定的魔数序列进行比较,以确保数据实际上是一个C2控制数据包而非正常的ICMP数据包:
接下来的四个字节被视为一个大端格式的IPv4地址,随后的两个字节为大端格式的TCP端口号,数据包中的其余部分则被忽略。
备注:本报告中的所有示例数据都是使用Pygmy Goat样本在虚拟环境中生成的,因此这些数据仅用于说明目的,并非从任何受害者或攻击者的数据中获取。
一旦提取出C2的IPv4地址和TCP端口,Pygmy Goat会与服务器建立TLS连接,并使用嵌入在libsophos.so二进制文件中的根CA证书验证服务器提供的证书(参见TLS根CA证书)。这一点值得注意,因为这意味着攻击者可以从不同的设备发送ICMP数据包到C2回连服务器。
备注:Root CA 证书声称是由另一家网络设备供应商 FortiGate, Fortinet Ltd. 签发的。 (二)拦截SSH Accept 一旦拦截的 accept 函数识别出 SSH 版本魔幻字节并将连接通过 Unix Socket /tmp/.sshd.ipc 传递后,Pygmy Goat 继续使用硬编码的数据执行假的 SSH 握手,读取固定数量的响应字节,但忽略其内容。 伪造的 SSH 握手完成后,Pygmy Goat 继续通过伪造的 SSH TCP 连接建立合法的 TLS 握手,遵循与 ICMP 回连相同的路径。
备注:这 somewhat odd,因为 TLS 握手通常由 TCP 客户端发起,而在此情况下,Pygmy Goat 作为 TCP 服务器却像客户端一样建立了 TLS 握手;即,发送 Client Hello,随后由 TCP 客户端发送 Server Hello。
(三)C2 任务分配 无论使用哪种机制建立与C2服务器的TLS连接,从服务器发送到Pygmy Goat的后续数据都将遵循相同的代码路径。 通过C2 TLS通道在任一方向上传输的数据包括一个命令字节、一个标识字节、一个子命令字节,以及一个两字节的大端长度,后面可能跟着一个LZO1X压缩的数据段。对于简单的请求-响应命令,标识字节未被使用,服务器发送的值会在响应中简单地回显。然而,对于长时间运行的命令,它用于指定要与之前命令的哪个实例进行交互,例如停止之前启动的数据包捕获。在TLS握手之后,Pygmy Goat接收到的第一个命令数据包预期是另一个包含一系列预期魔数字节的握手:
备注:所有示例命令包均在去除 TLS 加密并解压缩 LZO1X 数据后展示,以使数据更易读。对于小数据包,LZO1X 算法由于添加了头部信息,可能会导致“压缩”后的长度比未压缩的字节长度更长。除非特别标注为 ‘LE’(小端序),所有数值均以大端序传输。
在握手完成后,Pygmy Goat 将开始将后续的数据包作为命令进行处理。
(1)命令 ID 0x01:日期时间请求
Pygmy Goat 使用 C 函数 ctime 格式化后返回当前的日期和时间。
(2)命令 ID 0x02:详情Pygmy Goat 使用 C 函数 uname 返回受害系统的详细信息。
Details request (C2 -> Malware)
(3)命令 ID 0x03:
系统 ShellPygmy Goat 使用来自《The Linux Programming Interface》中的代码fork一个新的 /bin/sh 进程,通过Socket将数据传递给 shell 子进程或从 shell 子进程接收数据。标识字节用于支持同时打开多个 shell。
(4)命令 ID 0x04:CLI Shell
Pygmy Goat 分叉一个新的 /bin/csh 进程,其余操作方式与 System Shell 命令相同,包括命令包和控制流,唯一的区别是命令字节为 0x04 而不是 0x03;因此,未包含示例数据包。
(5)命令 ID 0x05:CrontabPygmy Goat 使用静态编译嵌入的 BusyBox 实例分叉一个新的 crontab 执行,其余操作方式与前两个命令类似。这为攻击者提供了一个交互式的 crontab 实例,使他们能够在受害设备上创建定时任务,在攻击者未主动与系统交互时执行这些任务。 注意,当子 crontab 进程退出时,恶意软件会自动发送“Stopped”消息。在上述例子中,C2 服务器发送了“-l”参数,这导致 crontab 列出当前的 cron 任务然后退出;因此,首先接收到包含标准输出的“IO”子命令,随后是表示已停止的“Stopped”子命令。 (6)命令 ID 0x06:Packet Capture
Pygmy Goat 使用 libpcap 库根据指定的过滤字符串在指定接口上开始捕获流量,并持续进行直到收到后续命令指示其停止。
(7)命令 ID 0x07EarthWorm 反向socks代理
Pygmy Goat从压缩数据中读取一个新的主机名/IP地址和TCP端口,然后调用EarthWorm源代码的一个副本中的create_rssocks_server函数,传递地址、端口以及硬编码的10秒超时时间。
EarthWorm是一个开源的网络隧道工具,设计用于进攻性操作,特别是提供了一个反向SOCKS5代理服务器,以穿透防火墙。虽然EarthWorm本身并不是直接恶意的,但攻击者之前已经使用过它,正如Mandiant和CrowdStrike报告中所指出的那样。原始开发者已经从其GitHub页面上删除了源代码,尽管它仍然可以在镜像仓库中找到。
在 fork 出的进程中,Pygmy Goat 随后建立一个新的 TCP 连接到启动请求数据中包含的地址和端口。
尽管用于请求 Pygmy Goat 创建反向 SOCKS 代理的通道是通过 TLS 加密的,但 EarthWorm 通道本身并没有加密,因此后续的数据包示例将是原始的 TCP 数据包。
备注:使用Pool编号是为了让单个 EarthWorm 服务器能够区分多个客户端。
然后,Pygmy Goat使用刚刚被分配的Pool编号建立一个新的TCP连接到EarthWorm服务器,以请求一个远程隧道。
此时,EarthWorm服务器创建一个新的本地监听端口,SOCKS5客户端可以连接到这个端口。所有通过该本地监听端口发送的原始数据都将直接隧道传输至Pygmy Goat,后者作为SOCKS5服务器运行,使得攻击者能够从其本地端发送SOCKS流量,穿过防火墙设备并进一步传输。 值得注意的是,无论SOCKS5客户端声明支持哪种认证方法,运行在Pygmy Goat中的EarthWorm SOCKS5服务器总是选择“无认证”。此外,EarthWorm仅支持指定远程地址为IPv4格式。最后,在与SOCKS5客户端指定的IPv4地址和端口建立远程连接后,服务器将以其本地绑定地址和端口是\x41\x41\x41\x41和\x41\x41响应。
(四)网络示例图
在下面的例子中,攻击者使用ICMP唤醒方法来建立一个到加密ICMP数据包中指定IP和端口的TLS连接。Pygmy Goat建立一个到C2服务器的TCP和TLS连接,并使用嵌入的CA证书验证C2服务器的TLS证书。C2服务器执行Pygmy Goat握手过程,然后下发一个任务:建立一个反向SOCKS5 EarthWorm连接,使用任务数据中的IP和端口。一旦反向隧道建立完成,SOCKS5客户端可以通过新打开的端口连接到EarthWorm服务器,发送需要通过隧道传输的数据,这些数据最终会从受害者的网络接口输出。
六、结论
尽管 Pygmy Goat 并未引入任何新颖的技术,但其在允许攻击者按需与其交互的同时,巧妙地融入正常网络流量中,表现出相当高的复杂性。代码本身编写得非常干净,函数简短且结构良好,有助于未来的扩展性,并且在代码中全面检查了错误,表明它是由一名或多名熟练的开发者编写的。
虽然到目前为止 Pygmy Goat 仅在 Sophos XG 防火墙上被发现,但从设计选择来看,它可能是为一系列 Linux 设备设计的,而不仅仅是针对特定设备。该恶意软件具有多种通信唤醒方法,以及两个独立的远程 shell(/bin/sh 和 /bin/csh),如果专门为某一特定设备开发,这些功能可能会被认为是不必要的努力。Pygmy Goat 不依赖任何特定设备的外部库,并可以在基础的 Ubuntu 发行版上运行。
特别是嵌入的 Root CA 证书声称由 FortiGate, Fortinet Ltd. 签发,以及其中一个 IPC Unix Socket文件名为 .fgmon_cli.ipc,这些特征暗示 Pygmy Goat 最初可能旨在在 FortiGate 设备上执行。Mandiant 的最新报告展示了对 FortiGate 设备的攻击,其中 CASTLETAP 的战术、技术和程序 (TTPs) 与 Pygmy Goat 类似,例如使用加密的 ICMP 数据包包含 C2 信息来建立反向 SSL 连接。
七、探测
(一)入侵指标 | | | | | | 路径
| | | 路径
| | | 路径
| 旧版样本中的 IPC Unix 服务器socket | | 路径
| | | 路径
| | |
(二)规则和签名 | Pygmy Goat 的 AES 密钥在栈上构建或位于数据段中。 | 在过去 12 个月内通过 VirusTotal 回溯搜索没有产生误报。 | | rule pygmy_goat_aes_key { meta: author = "NCSC" description = "Pygmy Goat AES key built on the stack or in data" date = "2024-11-07" hash1 = "71f70d61af00542b2e9ad64abd2dda7e437536ff"
strings: $dword_1 = { 59 4b 6e 77 } $dword_2 = { 51 6a 6d 41 } $dword_3 = { 54 62 41 6e } $dword_4 = { 52 6f 5a 6d } $dword_5 = { 30 66 47 37 } $dword_6 = { 55 5a 57 62 } $dword_7 = { 32 59 55 78 } $dword_8 = { 55 51 50 77 }
condition: (uint32(0) == 0x464c457f) and filesize < 5MB and all of them } |
| Pygmy Goat 在 C2 通信中使用的魔幻字节序列 | 在过去 12 个月内通过 VirusTotal 回溯搜索没有产生误报。 | | rule pygmy_goat_magic_strings { meta: author = "NCSC" description = "Pygmy Goat magic byte sequences used in C2 comms" date = "2024-10-22" hash1 = "71f70d61af00542b2e9ad64abd2dda7e437536ff"
strings: $c2_magic_handshake = ",bEB3?=o" $fake_ssh_banner = "SSH-2.0-D8pjE" $fake_ed25519_key = { 29 cc f0 cc 16 c5 46 6e 52 19 82 8e 86 65 42 8c 1f 1a d4 c3 a5 b1 cb fc c0 26 6c 31 3c 5c 90 3a 24 7d e4 d3 57 6d da 8e cb f4 66 d1 cb 81 4f 63 fd 4a fa 06 e4 7e 4c a0 95 91 bd cb 97 a4 b3 0f }
condition: (uint32(0) == 0x464c457f) and any of them } |
| EarthWorm pool编号生成的 x86 汇编代码 | 签名旨在检测 x86 ELF 二进制文件中 EarthWorm 的使用情况,这可能包括良性用途。 | | rule earthworm_id_generation_x86 { meta: author = "NCSC" description = "EarthWorm pool num generation x86 assembly" date = "2024-10-22" hash1 = "71f70d61af00542b2e9ad64abd2dda7e437536ff"
strings: $chartoi = { 8b 45 ?? // MOV EAX,dword ptr [EBP + ??] c1 e0 07 // SHL EAX,0x7 89 c1 // MOV ECX,EAX 8b 55 ?? // MOV EDX,dword ptr [EBP + ??] 8b 45 ?? // MOV EAX,dword ptr [EBP + ??] 01 d0 // ADD EAX,EDX 0f b6 00 // MOVZX EAX,byte ptr [EAX] 0f be c0 // MOVSX EAX,AL 01 c8 // ADD EAX,ECX 89 45 ?? // MOV dword ptr [EBP + ??],EAX 83 6d ?? 01 // SUB dword ptr [EBP + ??],0x1 }
condition: (uint32(0) == 0x464c457f) and all of them } |
| | | |
| alert tcp any 22 -> any any (msg: "Pygmy Goat Fake SSH handshake"; content: "SSH-2.0-D8pjE"; offset: 0; depth: 13; classtype:trojanactivity;) |
| Pygmy Goat 伪造的 SSH ed25519 key | | | alert tcp any 22 -> any any (msg: "Pygmy Goat Fake SSH ed25519 key"; content: "|29ccf0cc16c5466e5219828e8665428c1f1ad4c3a5b1cbfcc0266c313c5c903a 247de4d3576dda8ecbf466d1cb814f63fd4afa06e47e4ca09591bdcb97a4b30f|" ; offset: 120; depth: 64; classtype:trojan-activity;) |
八、MITRE ATT&CK
本报告是根据 MITRE ATT&CK® 框架编制的,该框架是一个基于真实世界观察的、全球可访问的攻击者战术和技巧知识库。
战术 | ID | 技术 技术是指攻击者为实现特定战术所使用的方法或手段 | 步骤 步骤是技术的具体实施过程,描述了攻击者如何应用这些技术来达到其目的 | 持久性 (这一战术涉及攻击者如何确保其恶意软件或访问权限能够在系统重启或其他中断后仍然保持有效) | | 动态链接程序劫持 | Pygmy Goat 使用 LD_PRELOAD 环境变量注入 sshd | 执行 (这一战术涉及攻击者如何在其目标环境中运行恶意代码或命令,以便实施攻击的其他阶段) | | 命令和脚本 解释器:Unix Shell | Pygmy Goat 可创建 /bin/sh 或 /bin/csh 远程 shell | | 计划任务/作业:Cron | Pygmy Goat 可以使用crontab创建任意的cron任务 | | 进程间通信 | Pygmy Goat 使用UnixSocket进行父进程和派生的子进程之间的进程间通信 | 发现 (攻击者使用这一战术来了解更多的系统和网络信息,以便为后续的攻击步骤做准备) | | 网络嗅探 | Pygmy Goat 可以使用libpcap根据BPF过滤器嗅探网络流量,并将其渗漏到C2。 | 命令与控制 (这一战术涉及攻击者如何与其植入的恶意软件进行通信,以控制受感染系统、发送指令或接收数据) | | 流量信号:端口敲门 | Pygmy Goat 在ICMP原始socket上监听,等待包含魔法字节和要回连的C2地址的加密数据包。 | | 数据混淆:协议伪造 | Pygmy Goat 响应发送魔法字节的SSH连接,使用伪造的SSH握手 | | 加密通道:非对称加密 | Pygmy Goat 使用TLS加密C2通信 | | 协议隧道传输 | Pygmy Goat 可以创建一个反向 SOCKS5 代理服务器,通过它进行隧道流量传输 | 收集 (这一战术涉及攻击者如何识别和收集目标系统中的信息,以便后续处理或传输) | | 压缩收集的数据:通过库压缩 | Pygmy Goat 使用LZO1X压缩其C2通信 | 数据外传 (这一战术涉及攻击者如何从受害者的环境中窃取敏感数据) | | 通过C2通道进行的数据外传 | Pygmy Goat 通过其C2通道渗漏结果数据 |
九、附件TLS 根 CA 证书
十、免责声明
本报告引用了来自 NCSC 和行业来源的信息。任何由 NCSC 提出的发现和建议均无意避免所有风险,遵循这些建议也不会消除所有此类风险。信息风险的所有权始终归属于相关系统的所有者。
本信息根据《2000年信息自由法》(FOIA)享有豁免权,并可能根据其他英国信息立法享有豁免权。请将所有 FOIA 查询发送至 [email protected]。
所有材料均为UK Crown版权 ©
[1] Although this is a legitimate OpenSSH protocol version, it was released in 2009 and presumably deemed unlikely to appear naturally by the malware developers in 2024.
[2] https[:]//man7[.]org/tlpi/code/online/dist/pty/pty_fork.c.html
[3] https[:]//rootkiter[.]com/EarthWorm/en/index.html
[4] https[:]//github[.]com/anhilo/xiaogongju/blob/master/rssocks_pro.c#L3
[5] https[:[//www.mandiant[.]com/resources/blog/pst-want-shell-proxyshell-exploitingmicrosoft-exchange-servers
[6] https[:]//www.crowdstrike[.]com/blog/overwatch-insights-reviewing-a-new-intrusiontargeting-mac-systems/
[7] https[:]//github[.]com/anhilo/xiaogongju/
[8] https[:]//www.mandiant[.]com/resources/blog/fortinet-malware-ecosystem
|