首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在WSL上访问Ubuntu中的根是否太容易了?

在WSL上访问Ubuntu中的根是否太容易了?
EN

Ask Ubuntu用户
提问于 2022-10-18 22:24:16
回答 1查看 2.6K关注 0票数 3

我在WSL中忘记了Ubuntu用户的密码,但是我能够通过以下方式重置它:

  • 打开CMD外壳
  • wsl -u root,然后(在Ubuntu内部),passwd my_username

我可以在不提供旧密码的情况下更改我的密码。它起了作用,但这难道不是安全方面的漏洞吗?我是Linux/Unix的新手,所以我想到了这个问题.

EN

回答 1

Ask Ubuntu用户

发布于 2022-10-19 01:27:07

这是一个很好的问题--不管你是多么的新鲜或有经验,评估你的系统的安全性是一个很有价值的练习,IMHO。

我本人也曾多次考虑过这个问题(以及这种问题的一些不同的形式),但我还没有找到一个可以利用这种能力的明确攻击矢量。

这里有几件事要记住:

  • 您的WSL实例使用Windows用户的权限运行。即使您在Ubuntu中以root的身份运行,也不能对您的普通Windows用户无法更改的任何文件进行更改。例如:
    • 您可以通过WSL删除或修改/mnt/c/<your_Windows_user>/Documents中的文件( root或普通用户)。
    • 您不能修改系统文件或可执行文件(如/mnt/c/Windows/gdi32.dll ),因为除非在管理会话中运行(不要这样做!),否则即使通过文件资源管理器( files )也无法修改。

同样,这与您的正常Windows用户可以(也不能)已经做的没有什么不同。

  • 您的Windows用户完全控制WSL中的Ubuntu (和任何其他发行版)。这类似于VM或任何容器技术的工作方式。因为您是运行WSL的Windows用户,所以您已经能够:
    • 在WSL中安装一个新的Ubuntu实例,设置用户名等。
    • 通过wsl --unregister命令删除Ubuntu实例(不要这样做!)
    • 可以完全访问虚拟驱动器(.vhdx),可以将其复制到另一台计算机,检查它,修改它等等。
    • 并且,正如您已经发现的,通过以root的形式运行(不需要密码)来更改用户的密码。

因为您是运行WSL的Windows用户,所以您已经可以使用它做任何您想做的事情。WSL根本没有理由要求您使用密码登录到Ubuntu。甚至在“纯Ubuntu”中也存在其他类似的场景--运行Docker或Podman (或其他)容器可以让您完全控制该容器。您可以在该容器中创建用户、创建或删除文件等。当您将Ubuntu容器启动为root inside (et )时,您不需要密码。,就像在WSL上将Ubuntu作为root启动时不需要密码一样。

事实是,如果攻击者获得足够的访问权限,可以以Windows用户的身份运行任意代码,那么他们已经“获胜”了,不管他们是否能够访问运行在其中的Ubuntu。强迫您使用密码在WSL中“登录”Ubuntu (无论是作为root还是其他用户)在这个场景中不会添加任何额外的防御措施。

票数 6
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1436089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档