Linux 提权

文章目录

  • 前言
  • [1. 内核漏洞提权](#1. 内核漏洞提权)
  • [2. 不安全的系统配置项](#2. 不安全的系统配置项)
    • [2.1 SUID/SGID提权](#2.1 SUID/SGID提权)
    • [2.2 sudo提权](#2.2 sudo提权)
    • [2.3 定时任务提权](#2.3 定时任务提权)
    • [2.4 capabilities提权](#2.4 capabilities提权)
  • [3. 第三方软件提权](#3. 第三方软件提权)
  • [4. 参考](#4. 参考)

前言

Linux提权总结


1. 内核漏洞提权

内核管理着组件(如系统上的内存)和应用程序之间的通信。这个关键作用要求内核具有特定的权限。因此,成功的攻击可能会导致root权限。

内核利用方法很简单;

  1. 识别内核版本
  2. 搜索并找到目标系统内核版本的漏洞利用代码
  3. 运行exp

尽管看起来很简单,但请记住,失败的内核利用可能导致系统崩溃。在尝试利用内核漏洞之前,请确保在您的渗透测试范围内可以接受这种潜在的结果。

辅助项目:
traitor
BeRoot
LinEnum
linux-exploit-suggester
linuxprivchecker
linux-exploit-suggester-2

脏牛(CVE-2016-5195)

2. 不安全的系统配置项

2.1 SUID/SGID提权

详细介绍:Linux提权-01 SUID提权

SUID(Set User ID)意味着如果某个用户对属于自己的文件设置了这种权限,那么其他用户在执行这一脚本时也会具有其属主的相应权限。那么如果root用户的某一个脚本/可执行程序设置了这样的权限,其他普通用户在执行它的期间也同样具有root用户的权限。同样的原则也适用于SGID,执行相应脚本的用户将具有该文件所属用户组中用户的权限。

SUID特殊权限只适用于可执行文件。当用户执行此类型文件时,操作系统会暂时将当前用户的UID切换为文件所有者的UID。当文件执行结束后,身份的切换随之结束。

举个例子,用户想修改自己的密码,可以使用passwd 用户名,passwd可执行文件位于/usr/bin/下。我们知道,用户的密码信息保存在/etc/shadow文件中,那么可以推测passwd的作用其实就是修改shadow文件。

可以看到,shadow文件为root用户所有,并设置了仅root用户有w(写)权限。那么,其他普通用户按理说是修改不了该文件,为什么普通用户可以使用passwd命令直接修改shadow文件?我们再看下面的passwd命令,执行权限x变成了s,这是因为设置了SUID权限,其他用户执行passwd时,操作系统会使用该文件所有者的的身份(root)去执行,故而可以修改shadow文件。如果取消passwd的SUID权限,你可尝试一下,普通用户修改密码会失败。

shell 复制代码
chmod u+s filename	#设置SUID权限
chmod u+s filename	#取消SUID权限

2.2 sudo提权

Linux提权-02 sudo提权

2.3 定时任务提权

Linux提权-03 定时任务crontab提权

2.4 capabilities提权

Linux提权-04 capabilities

3. 第三方软件提权

Tomcat manager

Nginx本地提权(CVE-2016-1247)

Redis未授权

4. 参考

1\] 《Linux与Unix Shell 编程指南》 \[2\] 《权限提升技术-攻防实战与技巧-》 \[3\] [【小迪安全】红蓝对抗 \| 网络攻防 \| V2022全栈培训](https://www.bilibili.com/video/BV1pQ4y1s7kH/?p=104&share_source=copy_web&vd_source=1ad2de4ab6813fea893ee5a020dd8303) \[4\] [tryhackme-jr peneration tester-privilege escalation-linuxprivesc](https://tryhackme.com/room/linprivesc)

相关推荐
Dovis(誓平步青云)几秒前
《Linux 信号入门:搞懂 “进程通信的紧急电话” 到底怎么用(初篇)》
linux·运维·服务器
左手厨刀右手茼蒿几秒前
Linux 内核中的模块机制:从加载到卸载
linux·嵌入式·系统内核
0vvv011 分钟前
删除wsl环境下的Ubuntu系统
linux·运维·ubuntu
@土豆14 分钟前
Ubuntu 22.04 运行 Filebeat 7.11.2 崩溃问题分析及解决文档
linux·数据库·ubuntu
C++ 老炮儿的技术栈29 分钟前
GCC编译时无法向/tmp 目录写入临时汇编文件,因为设备空间不足,解决
linux·运维·开发语言·汇编·c++·git·qt
Agent产品评测局40 分钟前
企业数据处理自动化落地,抓取分析全流程实现方案 —— 2026企业级智能体选型与技术路径深度解析
运维·人工智能·ai·自动化
爱莉希雅&&&1 小时前
linux中MySQL数据库备份恢复的四种方法(更新中)
linux·数据库·mysql·数据库备份·mysqldumper
我科绝伦(Huanhuan Zhou)1 小时前
分享一个网络智能运维系统
运维·网络
鬼先生_sir1 小时前
Spring Cloud 微服务监控实战:SkyWalking + Prometheus+Grafana 全栈解决方案
运维·spring cloud·grafana·prometheus·skywalking
信创DevOps先锋1 小时前
DevOps工具链选型新趋势:本土化适配与安全可控成企业核心诉求
运维·安全·devops