免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2169 | 回复: 2
打印 上一主题 下一主题

[SCO UNIX] (转贴)SCO Openserver 5.0.5系统丢失root密码的简便处理办法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-05-14 14:42 |只看该作者 |倒序浏览
SCO UNIX openserver5.0.5多用户操作系统以其完善的用户登录密码控制手段受到用户的信赖,但是由于用户登录有/etc/passwd、/etc/shadow双重控制,原来在SCO SVR4下的一些root密码丢失处理办法难以使用。笔者在工作实践中摸索到一个简便易行的办法,可以将丢失root密码的机器用应急盘启动,然后通过一个小程序得到超级用户权限,重新给root用户赋予新密码。具体操作步骤如下。
      1.制作UNIX应急盘,以IDE接口为例
      在其他超级用户密码未丢失的机器上以root用户注册,创建应急启动盘。
      (1)#mkdev fd
      系统提示:
   Choices for contents of the floppy filesystem.
   1. Filesystem
   2. Emergency boot and root floppy filesystems
  Enter an option or q to quit:
      (2)选择2(应急引导和根文件软盘文件系统)
      系统提示:
      Choices for type of floppy filesystem.
      1. 96tpi, double sided, 15 sectors per track (1.2Mb 5.25 inch)
      2. 135tpi, double sided, 18 sectors per track (1.44Mb 3.5 inch)
      3. 135tpi, double sided, 36 sectors per track (2.88Mb 3.5 inch)
    Enter an option or q to quit:
      (3)选择2(1.44Mb、3.5英寸软盘)
  系统提示:
   1. Root filesystem
   2. Boot filesystem
   3. Single floppy boot and root filesystem (2.88Mb only)
      (4)选择2(根文件系统)
      系统提示:
   1. System specific boot
   2. Generic boot (builds a special kernel)
      (5)选择2(普通引导盘)
      系统提示:
      Insert a 135ds18 floppy into drive 0
      Press <RETURN>; to continue or q to quit:
      (6)插入一张3.5英寸软盘
      系统提示:
      Would you like to format the floppy first? (y/n)
       在此提示下,最好选择“是”,由于应急盘需要压缩存放大量计算机引导信息,需要比较可靠的软盘,通过UNIX的逐磁道格式化和校验,以确保软盘磁介质的可靠性。
      系统提示:
      formatting /dev/rfd0135ds18 ...
      (7)待格式化结束后,系统会自动创建应急引导盘
  Copying files to /dev/fd0135ds18 ...
      135ds18 floppy created and checked successfully.
      Press <RETURN>; to continue
      (创建root盘,步骤和制作boot盘类似
  系统提示:
      1.Root filesystem
      2.Boot filesystem
      3.Single floppy boot and root filesystem (2.88Mb only)
  选择1,根据系统提示进行相应选择,直到屏幕出现:
  Root filesystem floppy creation complete.
  135ds18 floppy created and checked successfully.
  至此,UNIX应急引导盘制作完毕。
  2.使用应急盘启动root密码丢失的计算机
  首先将boot盘插入计算机,打开电源,待系统出现boot,击确认键,按照系统缺省启动配置启动机器,UNIX操作系统依次检测内存、装入内核和ramdisk,然后提示:
  insert root filesystem floppy and press <Return>;
  插入root盘,回车,经过一个比较长的系统启动过程,计算机出现“#”,进入应急盘启动的UNIX操作系统,并且自动进入超级用户。这时根目录下的/etc、/bin、/dev等都不是硬盘的内容,而是ramdisk的内容,如果要访问硬盘,则需要将/dev/hd0root通过mount命令将硬盘架设到当前操作系统上,执行命令:
  #mount /dev/hd0root /mnt
  如果mount过程中提示“可能会伤害文件系统,mount命令失败”,则mount失败的原因可能是在不知道root密码的情况下没有通过正常的关机命令,如shutdown、haltsys、init 0等,关闭计算机,文件系统需要检查一下,执行命令:
  fsck -y /dev/hd0root
  对硬盘文件系统做一下检查和修复,然后再架设硬盘文件系统。如果按照SVR4的办法,将/mnt/etc/passwd文件用vi命令编辑一下,就可以将root用户的密码删除,但是经过测试,由于UNIX openserver 5.0.5有SHADOW控制,修改passwd文件后重新启动机器,root用户仍然有密码。我们经过研究UNIX系统对用户的识别措施和权限控制,编写了一个后门(backdoor)程序getroot,程序源代码如下:
  #include <stdio.h>;
  #include <unistd.h>;
  main()
  {
  int i=0;//
  int j=3;
  setuid(i);
  setgid(j);
  execl(“/bin/sh",NULL);
  }
  普通用户可以通过执行这个程序,改变自己的用户身份标识为0和属组标识为3,这样UNIX系统就识别到普通用户的身份标识和属组就是超级用户,具有超级用户的权限。具体操作步骤如下。
  (1)在装有开发系统的计算机上录入上述源代码,执行:
  cc getroot.c -o getroot,
  得到后门程序getroot,拷到软盘上:
  tar cvf /dev/rfd0135ds18 ./getroot
  (2)在用应急盘启开的计算机上,将此后门程序拷入硬盘,更改getroot的用户主和组,更改权限,特别是S权限,执行:
  cd /mnt/usr/bin
  tar xvf /dev/rfd0135ds18
  chown root:sys getroot
  chmod 777 getroot
  chmod +s getroot
  3.重新启动计算机
  将软盘取出,敲reboot命令,用硬盘引导计算机到多用户状态,以任何一个普通用户注册,在$提示符下输入/usr/bin/getroot命令,则系统提示符会自动改为#,这时此普通用户即具有超级用户的一切权限,执行命令:passwd root,重新给root用户赋予一个新密码。如果不知道任何一个普通用户的密码,则在将计算机用应急盘启开并架设上硬盘后,需要手工为原系统增加一个新的无密码用户,执行命令:
  at >;>;/mnt/etc/passwd,回车
  输入:test::400:50::/:/bin/sh 按ctrl+d退出
  这样就在/etc/passwd文件的最后一行之后定义了test用户,其用户ID为400,组ID为50,属group组,注册目录为根目录,无密码,注册shell为born shell。重启计算机后用test用户注册即可。最后不要忘记将getroot文件删除,rm /usr/bin/getroot,不然任何一个普通用户在不知道超级用户口令的情况下,可以轻松得到超级用户权限,给计算机系统带来安全隐患。

《中国金融电脑》2001年第10期

论坛徽章:
0
2 [报告]
发表于 2003-05-14 17:00 |只看该作者

(转贴)SCO Openserver 5.0.5系统丢失root密码的简便处理办法

好罗嗦,一大堆不着边的文字。
做一张带vi编辑的boot盘和root盘,然后用这两张盘启动,
# mount   /dev/hd0root  /mnt
# TEMP=ansi;export TEMP
#  cd  /mnt/etc
# vi   passwd
复制root一行,粘贴在passwd文件最后一行,将root名称随便改一个系统中没有的用户名,如shandong,存盘。
# cd  /
#  umount /mnt
# reboot     重启计算机
  
机器启动出现login时,以shangdong注册,你就是超级用户,然后修改root密码,为了防止其他人进入,将/etc/passwd 中的shangdong删除。
ok啦,不信大家试一试。
多年来,本人就是这样破解遗忘密码的机器。

论坛徽章:
0
3 [报告]
发表于 2003-05-14 17:01 |只看该作者

(转贴)SCO Openserver 5.0.5系统丢失root密码的简便处理办法

好罗嗦,一大堆不着边的文字。
做一张带vi编辑的boot盘和root盘,然后用这两张盘启动,
# mount   /dev/hd0root  /mnt
# TEMP=ansi;export TEMP
#  cd  /mnt/etc
# vi   passwd
复制root一行,粘贴在passwd文件最后一行,将root名称随便改一个系统中没有的用户名,如shandong,存盘。
# cd  /
#  umount /mnt
# reboot     重启计算机
  
机器启动出现login时,以shangdong注册,你就是超级用户,然后修改root密码,为了防止其他人进入,将/etc/passwd 中的shangdong删除。
ok啦,不信大家试一试。
多年来,本人就是这样破解遗忘密码的机器。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP