Ubuntu中使用哪种文件格式来制造病毒?[关闭]


9

Ubuntu中使用哪种文件格式来制造病毒?例如,大多数Windows病毒都是以.exe格式编写的,但是我无法确定Ubuntu中的常用格式。


3
没有针对Linux的病毒。

20
@CelticWarrior当然没有针对Linux的病毒和相当多的太en.wikipedia.org/wiki/Linux_malware峨山:病毒并不局限于文件类型,在Ubuntu或Windows,没有避免或某种类型的文件诸如此类,请阅读此评论中的链接以获取某些信息
Mark Kirby

@MarkKirby是一个答案(也是一个好答案),而不是评论。
don.joey

1
我没有投票要结束这个问题,因为这是一个公平的问题:在Linux中是否有包含病毒的特定文件格式。@MarkKirby也已经回答了。
don.joey

5
我遇到的最大问题是:这些病毒应该来自哪里?官方仓库?(我真的怀疑会发生)启动板?(可能的,但是值得怀疑的,因为他们的跟踪记录在此方面是很好的。再次坚持使用官方回购协议的系统很容易。)随机脚本?我们不这样做...我们不是Windows的普通用户...当病毒无法
传播

Answers:


27

与流行的看法相反,Linux病毒也很多。尽管它们在Linux上不那么常见,并且要求您在大多数时间允许它们进入系统,但它们仍然存在。

在Ubuntu或Windows上,病毒不仅限于文件类型。没有要避免的某种文件类型或类似的东西,请小心。只要您小心,Linux就是安全的。

为了安全起见,您可以采取以下措施:

  1. 除非您信任所下载的内容,否则请不要从第三方下载。
  2. 使用apt或启动板(Ubuntu的代码托管服务)和类似服务从源头获取软件。
  3. 避免复制和粘贴您在网上找到的终端命令,尤其是如果您不理解它们的话。

您也可以使用防病毒软件,例如clamav,要扫描系统中的任何威胁。

sudo apt-get install clamav

安装clamtkGUI。

这是一些有关常见Linux病毒以及如何处理它们的内容。


5
它们根本不会像Windows那样对Linux产生影响,几乎所有(如果不是全部)都需要您自己安装它们。
Rinzwind'9

3
@Rinzwind 任何操作系统上的大多数病毒需要用户安装它们。他们只是欺骗用户以为他们在做其他事情。或者,他们利用特定软件(例如浏览器,邮件客户端)中的错误来获取提升的特权。
IMSoP '16

1
“只要您小心,Linux就是安全的” – Windows也是如此(因为Microsoft开始关注安全性)
user253751

1
@MarkKirby UAC在单用户系统上无法完成很多工作;程序仍然可以加密所有重要文件,而无需触发UAC提示。它的确防止了它挂接到系统中并使其无法移动,因此您可以将其删除,但是到那时您的文件已经被加密了。
user253751 '16

1
@Rinzwind说“ Linux更加安全,因为Linux用户受过更多的教育”并没有多大意义。如果您所受的教育可以为您提供保护,那么与您一起使用的 Windows 将是安全的。病毒利用漏洞,并且漏洞无处不在。基于宏的病毒可以完全驻留在一个应用程序的设置和文件格式中,并且可以快乐地传播到多个平台上。
IMSoP

13

扩展没有任何意义。尽管Windows关心em,但没有.exe病毒。在linux中,扩展名无关紧要。“什么样的文件”更为基本。

本质上在linux中,它可能是某种形式的ELF二进制,可能是静态的也可以是共享的

它甚至可能作为模块或作为rootkit挂接到内核中,或者只是用自己的内核工具替换核心操作系统工具或组件。

并非所有病毒都是-Java病毒,例如类文件,基于程序集的Shellcode漏洞利用,甚至可能是用bash编写恶意软件的方式(尽管从头开始它的运行方式会很有趣)。

所以本质上,如果您不确定,请不要信任它;)


1
bash中的病毒?当然。制作bash键盘记录器很容易。
Nonny Moose

@NonnyMoose容易,假设您具有root权限
random_clyde

1
社会工程学是将恶意软件引入系统的一种非常普遍的方法。
Journeyman Geek

@ Jean-LouisBonnaffe为什么?您需要root才能在家中编辑./bashrc?
Rinzwind '16

@RinzWind确实如此。您只需要root用户即可为所有用户安装它。
Nonny Moose

6

我将针对此问题针对一般恶意软件,而不仅仅是病毒。

Linux上的病毒不限于特定的文件扩展名/类型。

为了更好地了解我们在说什么,我们首先需要了解扩展名和文件类型之间的链接以及病毒的实际工作方式。

在Windows中,.exe文件包含PE(便携式可执行文件格式)文件,该文件格式包含二进制可执行数据。此可执行数据被加载到内存中,然后通过解释该数据中的指令来执行。

这意味着运行代码最简单的方法是将其打包为.exe。但是,还有其他方法。众所周知,PDF文件不安全,因为它们包含可由读者解释的部分。这意味着嵌入式脚本可能滥用阅读器安全性的弱点,例如在系统上搜索和修改其他PDF文件。

甚至会变得更糟。您可以滥用应用程序中的编程错误来将恶意代码直接注入计算机的内存中。一旦到达,这些指令就可以作为本机代码运行,并且通常具有高特权,从而导致灾难性的后果。

那么这在Linux下如何工作?

像Windows一样,Linux具有二进制可执行格式。Windows具有PE格式,Linux具有ELF格式。一般来说,Unices对文件扩展名的要求要少得多,因此ELF文件通常没有扩展名。Linux使用Magic Numbers识别那些文件,这就是为什么它不需要扩展名的原因。

但是,二进制作为Linux下的恶意软件分发方法根本不流行。这是因为最终用户很少实际手动打开他们收到的二进制文件。二进制文件是由程序包管理器而非最终用户安装和管理的。因此,该恶意软件需要其他攻击媒介才能将其代码注入受害者。

这意味着那些其他方法(代码注入,脚本编写)作为恶意代码载体更为流行。


2

此处的区别不是通过文件扩展名来完成,而是通过命令设置的文件属性来完成

chmod +x filename

这样,您可以使二进制文件和脚本文件都具有可执行性。

ls -l

您可以在执行之前以安全的方式列出文件属性。

另外,您可以运行:

file filename

显示有关文件的更多详细数据。


4
我在这里说的是,“许可对安全至关重要,而不仅仅是文件类型”,这是一个很好的观点,但也许您可以明确指出。始终假设任何人阅读该主题的知识都不多:)进行简单的编辑以弄清楚这一点,我将对此表示赞成。
Mark Kirby

1

扩展程序和可执行文件在Windows或Linux上彼此之间几乎没有关系,或者与病毒完全无关。当给定一个明确的文件要执行时,两个操作系统都将查看文件的标头来决定如何处理它。当文件名含糊不清时,两个操作系统使用略有不同的策略来标识预期目标。例如,如果您在Windows运行框,Windows终端或linux终端中键入“ echo hello”,则两者都会在PATH环境变量的每个目录中查找具有执行许可权的文件“ echo”,并尝试执行它带有参数“ hello”。Windows还将查找文件“ echo.com”,“ echo.exe”,“ echo.bat”,“ echo.cmd”,“ echo.vb”


1
Windows从不查看文件头。它仅使用扩展名。
UniversallyUniqueID

抱歉@BharadwajRaju,但您误会了。正如我所解释的,在Windows中,扩展名用于“改善”路径搜索,但是一旦找到合适的候选者,则将其传递给加载器,该加载器将检查文件的“标头”以确定如何处理它。在Windows的最新版本中,该加载程序是ntdll.dll(另一个可执行扩展名)中包含的一组功能。
保罗·史密斯

变了吗 我知道... Windows现在可以打开没有扩展名的文件吗?
UniversallyUniqueID

自从出现MS_DOS和CP / M以来,就已经进行了更改,但这已成为基本行为。
保罗·史密斯

@PaulSmith尽管Windows 可以打开不带扩展名的文件,但是Windows通常不会知道如何处理不带扩展名的文件,除非您告诉它使用此类应用程序打开
mchid
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.