论坛: UNIX系统 标题: 为什么运行/bin/sh不能变成root? 复制本贴地址    
作者: galer [babysgaler]    论坛用户   登录
不是把
cp /bin/sh  /tmp/aa
chown root /tmp/aa
chmod u+s /tmp/aa
然后以普通用户身份运行/tmp/aa就可以变成root了吗
为什么在我的RedHat7.3下不行呢?
望各位高手多多指教 

地主 发表时间: 11/24 00:34

回复: xmgu [xmgu]   论坛用户   登录
不懂你的意思,一般用su可换成root

B1层 发表时间: 11/24 12:38

回复: NetDemon [netdemon]   ADMIN   登录
看来你没有搞清楚程序的权限和用户的权限这个区别
虽然/tmp/aa有root权限,但你还是你
不过你可以命令aa做root可以做的事
比如说写个脚本 
#!/tmp/aa
rm -fR /etc

然后就...嘿嘿嘿......



B2层 发表时间: 11/24 17:36

回复: galer [babysgaler]   论坛用户   登录
可是我看一些书上说这样子就可以留下一个后门,以后进来就可以提升权限啊

B3层 发表时间: 11/24 23:24

回复: NetDemon [netdemon]   ADMIN   登录
没错阿,谁进来谁知道有/tmp/aa这个程序存在的话,谁都可以做root可做的事啊

B4层 发表时间: 11/25 00:17

回复: quest [quest]   版主   登录
+s位后的程序,root的权限已经存在的。但是并不是像你说的那样把sh设成root所有后,然后执行sh就可以把root的权限,一直保留下来。

#!/tmp/aa
chomd 777 /etc/shadow

然后以普通用户cat /etc/shadow看看。嘻嘻
netdemon专门教人做坏事

B5层 发表时间: 12/06 14:53

回复: group [group]   论坛用户   登录
哈哈

B6层 发表时间: 12/08 11:53

回复: group [group]   论坛用户   登录
老大在20cn上面一直保持道貌岸然的形象,很少教人做坏事啊~,呵呵

B7层 发表时间: 12/08 11:54

回复: Python [tomas]   论坛用户   登录
> 不是把
> cp /bin/sh  /tmp/aa
> chown root /tmp/aa
> chmod u+s /tmp/aa
> 然后以普通用户身份运行/tmp/aa就可以变成root了吗
> 为什么在我的RedHat7.3下不行呢?
> 望各位高手多多指教 

这个过程没有问题,对早期的 sh ,可以制造一个后门出来
但是 /bin/sh 也就是 /bin/bash ,在程序运行时会检查自
己是不是 setuid 程序,如果是就主动降低权限,所以实际
上用这个 sh 是得不到后门的,就算你加到一个脚本里,用
#!/tmp/aa 也不行,可以换一个 sh 试试,实在不行,自己
上传一个修改过的 bash ,就一定行了

做个实验
mkdir /tmp/sh
cd /tmp/sh
cp /bin/bash .
cp /bin/tcsh .
cp /bin/ls .
sudo chown root.root *
sudo chmod u+s *
运行 ./bash 和 ./tcsh 可以看到都不是 # 提示符
但是 ./ls -la ~root 却可以成功


B8层 发表时间: 01/22 12:03

论坛: UNIX系统

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号