CentOS Exploit的常见利用方式及原理
CentOS系统中,exploit(漏洞利用代码)的利用通常基于系统或应用程序的已知漏洞,通过构造恶意输入触发漏洞,实现权限提升或远程控制。以下是几种典型的利用方式及具体步骤:
Dirty Cow是Linux内核处理**写时拷贝(Copy-on-Write)**机制时的条件竞争漏洞,允许低权限用户修改只读内存映射,进而提升至root权限。
利用步骤:
dirty.c);gcc -pthread dirty.c -o dirty -lcrypt编译EXP;./dirty并设置新密码(如testtest),EXP会自动备份/etc/passwd并修改其中的用户权限(将普通用户添加至root组);su firefart切换至高权限用户,完成提权。CentOS系统中,**SUID(Set User ID)**程序以文件所有者权限运行,若计划任务(cron)配置不当(如使用通配符*),攻击者可通过构造特殊文件名劫持命令执行。
利用步骤:
crontab -l查看系统级任务);/opt/cron_test)创建恶意文件(如--checkpoint-action=exec=/tmp/malicious.sh),文件名包含特殊参数;/tmp/malicious.sh中的恶意代码(如/bin/bash),实现提权。Polkit(原PolicyKit)是Linux系统权限管理框架,CVE-2021-3560漏洞允许本地用户通过构造恶意请求绕过权限验证,执行任意命令。
利用步骤:
CVE-2021-3560.py);python3 CVE-2021-3560.py执行EXP,自动触发漏洞并提升至root权限;id命令验证权限(显示uid=0(root))。PwnKit是Polkit的本地权限提升漏洞,影响CentOS 6/7/8等多个版本,允许普通用户通过构造恶意输入执行任意命令。
利用步骤:
cve-2021-4034-poc.c);gcc cve-2021-4034-poc.c -o cve-2021-4034-poc编译;./cve-2021-4034-poc,自动获取root权限;passwd root修改root密码或上传木马。Dirty Pipe是Linux内核管道子系统的漏洞,允许低权限用户修改管道中的数据,进而篡改SUID程序的执行流程。
利用步骤:
dirtypipez.c);gcc dirtypipez.c -o dirtypipez编译;/bin/su,通过find / -perm -u=s -type f 2>/dev/null查找);./dirtypipez /bin/su,自动修改/bin/su的执行流程,获取root权限。Apache Shiro是Java安全框架,若配置不当(如使用默认的rememberMe加密密钥),攻击者可通过构造恶意Cookie获取服务器控制权限。
利用步骤:
X-Powered-By: Apache Shiro);shiro-exploit.py)生成恶意Cookie;sudo -l查找可提权命令)。yum update)、限制SUID程序权限(chmod u-s /path/to/program)、避免使用通配符的cron任务。