潜伏在你身边的Linux安全漏洞

 

在本文中,我将和你们分享一些现实世界中的Linux安全漏洞。

通常最简单的漏洞旨在从Linux系统中取得没有受保护的NetBIOS共享资料。有缺陷的Samba配置文件通常很容易泄露。例如,文件共享创造为了方便起见,也可能结束了你的困扰。我曾见过基于Samba的 Linux系统分享那些给所有在网络中的人访问敏感信息的资源,这些敏感信息包括病人健康记录和有详细信息(例如:基础设施系统的密码和源代码等)的网络图。

一些攻击执行起来非常简单。所有执行这些事情的人都要以正常的Windows用户权限登录到网络(即使没有管理员权限),运行一个像GFI LANguard一样的网络安全和漏洞扫描工具,然后再运行一个类似FileLocator的信息搜索工具。这样一来,任何人想要获得一些不该被访问的机密文件就真得相当简单了,并且这永远不会被人察觉。

相关的攻击只针对不善配置FTP服务器的使用者,他们的服务器允许匿名连接或者设置安全级别弱的密码,甚至不设密码。在这里举一个例子来说明:

 
图1:在Linux系统中匿名FTP导致数据被访问

在这种情况下,提供匿名FTP访问配置文件,以此从财政管理数据库的编码中获得了密码,知道在那里可以获取所要的信息。

另一种Samba利用可能导致远程用户的枚举。当一个Linux系统的Samba配置允许访客访问的时候,像Nessus和QualysGuard一样的漏洞扫描器能够收集用户名。在大多数情况下,攻击者能够使用这个用户名,在随后的密码破解中对Linux的账户进行攻击。在许多情况下,你也能够使用类似WebInspect或Acunetix的网络漏洞扫描器通过一个安装不完善的Apache(即没有在httpd.conf中禁用UserDir指令)来收集Linux用户的账户信息。

关于密码的话题,我最近曾经看到过这样的情况,CGI应用程序运行在基于Linux的Web服务器时,没有正确的过滤输入信息,并且在HTTP查询中允许包含本地文件,如图2所示。

 
图2:网站输入验证问题可能会导致Linux文件被访问

在这种特定的情况下,通过Web应用程序返回的Linux密码文件中,就会泄露数以百计的用户账户。虽然这个密码屏蔽,但破解系统的密码仍然容易,因为所有的用户账户都是已知的。这种类型的攻击也可能会导致其它的Linux操作系统和数据文件易于暴露。

最后,如果我没有提及补丁问题的话,那么我是失职的。论证表明,它是导致最坏结果的最易利用的漏洞之一。这适用于操作系统和第三方软件。例如在这种情况下,攻击者在连接到互联网期间的短短几分钟之内,就可以通过使用Metasploit之类的免费工具来获得如图3中的操作系统的所有权限。

 
图3:使用这个Metasploit工具来利用过期版本的Samba

同样,在大多数情况下,直到为时已晚,没有人会知道这样的攻击。

有时你会发现Linux内核本身没能识别出有些漏洞,但是它们仍然会被利用,产生更多的Linux系统问题。执行Linux漏洞检查时,别忘记尽可能从每一个角度查看一下你的Linux系统。只是因为一些问题不能从外部利用并不意味着不能被所谓的“值得信赖”的人通过正常的登录方式登录后滥用。此外,因为在风险报告并不能把系统环境中的每个安全隐患都一一列出,你需要有保留地采用自动扫描工具获得一些发现。从剩下的电子干扰讯号中筛选出重要的东西只会让你投入太过,并且给你带来更多的麻烦。