文章目录
提权方法取决于系统的配置,主要分析内核版本、已安装的应用、支持的编程语言和其他用户的凭据。
提权体系
常见权限体系(安全机制):
-
UGO rwx
UGO
表示的是,对于一个文件来说,有三种身份:U
:文件所有者,属主;G
:文件的属组;O
:Others,其他人。rwx
表示的是,对于一个文件来说,有三种权限:r
:读权限;w
:写权限;x
:执行权限。
-
suid sgid
-
SUID
:让普通用户临时拥有该文件的属主的执行权限,suid权限只能应用在二进制可执行文件(命令)上,而且suid权限只能设置在属主位置上。简单来说,就是能够以属主的身份执行该二进制程序。 -
SGID
:sgid权限一般应用在目录上,当一个目录拥有sgid权限时,任何用户在该目录下创建的文件的属组都会继承该目录的属组。
-
-
Capabilities
拥有Capabilities
机制的权限检查:在执行特权操作时,如果进程的有效身份不是 root,就去检查是否具有该特权操作所对应的 capabilites,并以此决定是否可以进行该特权操作。比如要向进程发送信号(kill()
),就得具有capability CAP_KILL
;如果设置系统时间,就得具有capability CAP_SYS_TIME
。其实就是权限分配上更加细腻化,执行程序需要何种root权限,就通过capabilities分配某种权限,而不是想SUID一样将root用户的权限全给普通用户了。
-
AppArmor、Selinux
AppArmor、Selinux
基于强制访问控制 (MAC) 策略的控制访问系统,AppArmor
使用基于配置文件的安全方法,其中每个应用程序都有自己的安全配置文件。Selinux
基于安全策略的访问控制。
Linux中的AppArmor和SELinux -
ACL(访问控制)
ACL
全称为Access Control List
,一个针对文件/目录的访问控制列表,是基于UGO权限管理的权限管理机制,**就是UGO的一个补充。**与UGO不同的是,ACL可以专门为某个用户设置文件的访问权限。解析Linux权限管理:ACL 权限
其他权限体系:
- Grsecurity
- Pax
- ExecSheild
- ASLR
- TOMOYO Linux
- SMACK
- Yama
- CGroup
- Linux Namespaces
- StackGuard
- Proplice
- seccomp
- ptrace
- capsicum
- firejail
- chroot
- Mprotect
提权原理
- 低权限可以修改可执行文件或脚本,并以高权限身份去运行;
提权枚举
提权枚举:为提权进行内网横向,打内网的信息收集。
侦察:获得初始立足点之前的信息搜集。
进行提权枚举之前,需要升