如果用户正在使用磁盘组,如何防御权限提升?

如果用户正在使用磁盘组,如何防御权限提升?

基本 Centos7 安装:

[root@teszt ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0  100G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   99G  0 part 
  ├─cl-root 253:0    0   50G  0 lvm  /
  ├─cl-swap 253:1    0    2G  0 lvm  [SWAP]
  └─cl-home 253:2    0   47G  0 lvm  /home
sr0          11:0    1 56.6M  0 rom  
[root@teszt ~]# ls -lah /dev/sda1
brw-rw----. 1 root disk 8, 1 Mar 12 09:25 /dev/sda1
[root@teszt ~]# useradd -m tesztuser
[root@teszt ~]# id tesztuser
uid=1000(tesztuser) gid=1000(tesztuser) groups=1000(tesztuser)
[root@teszt ~]# usermod -a -G disk tesztuser
[root@teszt ~]# id tesztuser
uid=1000(tesztuser) gid=1000(tesztuser) groups=1000(tesztuser),6(disk)
[root@teszt ~]# su - tesztuser
[tesztuser@teszt ~]$ id
uid=1000(tesztuser) gid=1000(tesztuser) groups=1000(tesztuser),6(disk) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[tesztuser@teszt ~]$ dd if=/dev/sda1 of=copy-of-boot-fs
2097152+0 records in
2097152+0 records out
1073741824 bytes (1.1 GB) copied, 5.33951 s, 201 MB/s
[tesztuser@teszt ~]$ ls -lah copy-of-boot-fs 
-rw-rw-r--. 1 tesztuser tesztuser 1.0G Mar 12 09:28 copy-of-boot-fs
[tesztuser@teszt ~]$ 

问题:如果我们需要将“普通”用户分配给“disk”组,我们如何防御提权等攻击?用户可以读/写RAW磁盘,从而做任何想做的事,例如:在下次重新启动时木马内核或将其uid/gid修改为god 0/0。

需要将普通用户添加到磁盘组,例如:普通用户正在使用 VirtualBox,并且由于性能原因希望为来宾使用 RAW LV,而不是 FS 之上的文件。

答案1

如果我们需要将“普通”用户分配给“disk”组,我们如何防御提权等攻击?

你不能。解决方案是不要将用户放入disk组中。它不是为了这个。

要授予用户访问原始卷的权限,请输入不同组中的卷,并且仅该卷。做到这一点的方法是添加一个乌德夫规则。看向特定设备授予组权限,Udev 规则未设置组,允许非root用户读/写/dev文件, …

相关内容