出於书本 Chapter 11. Linux
网路档案系统 (Network File System) 是用来从本地端挂载远端档案系统。由於远端存取的这项天生特性,的确也有可能就这样分享给骇客。架设 NFS 的时,若将主要的设定欓 /etc/exports
里的内容设定成 整个世界
都能读取 整座档案系统
,例如在 /etc/exports
里设定
# 汗
/ rw
对骇客来说,很容易就获得远端存取的权限,并且对系统做操作。
当然啦!除了设定欓之外,下面的条件都符合才会遭成威胁:
portmap
服务绑定 NFS 给 RPC/etc/hosts.allow
档案里远端挂载的东西很容易因为误解而被设置错误,进而让有心人士获得远端存取的能力。
/etc/exports
与 /etc/hosts.allow
都有妥善被设定在 Linux 中,透过设定档案特殊的类型,来允许程序以档案拥有者的权限执行:
SetUID ( 用於使用者 ID)
SetGID ( 用於 group ID)
查看档案是否有 setuid 及 setgid 权限可以使用 ls
[1] ,像是
其中 -rws
的小写 s
就代表有 setuid
权限,如果看到大写 S
则代表有 setgid
权限。这样描述起来很危险,但像是上图举例的 passwd
就确实需要 setuid 来解决。
一旦有恶意档案是使用 root 权限来执行,是很容易被隐藏的。骇客或恶意使用者能够编写带有 setuid
或 setgid
程序破坏系统。
# 找出有设定成 setuid 类型的档案
find / -perm -4000 -print
# 找出有设定成 setgid 类型的档案
find / -perm -2000 -print
# 找出能被任何人读取的档案
find / -perm -2 type f -print
# 找出隐藏档案
find / -name ".*"
change-detection
的稽核用程序,当这些被设定有 setuid 或 setgid 的档案被修改时要能发出告警。飞快告别这本书的第四个部分,明天将进入第五个部分 Hacking Application
,从网站与应用程序的攻击研读起~
[1] Linux 设定 setuid 及 setgid 权限
这里要先介绍 为什麽要 模组化格线系统?? 因为若因 功能性命名 区块若命名为某个功能之後 就不会运...
执行以下指令,就会在 db/migrate/ 目录下产生如 20110203070100_migra...
API 设计 前面有提到这次实作的系统共有两大资源,分别是:使用者 (user) 与 待办事项 (t...
Pipenv 是什麽呢? 想像一下,当你现在是个专业的工程师,身上背着十几个不同类型的专案(好啦,有...
前言 前两天我们学习了React性能优化 memo 组件记忆 useCallback 函式参考记忆 ...