频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

用DOS命令来破除UNIX系统管理员口令(2)

作者: 出处:中国安全信息网  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2007-01-12 09:05
关 键 词:unix
阅读提示:长期以来,许多人就超级用户口令被忘记的问题发表了各种看法。一部分人认为,一旦忘记了超级用户口令,只能重装操作系统,此外别无它法。另一部分人则坚决反对这种“重装论”,他们提出了一些经过成功实践的解决方案,使得“重装论”者败下阵来。现在我们可以肯定地说,忘记超级用户口令是有办法解决的。本文用DOS命令加以解决。

将DA0500H代入上述公式,并根据H=64,S=32,C0=2,可算出C1=3,H1=29,S1=21。因此根目录在硬盘上的物理地址为: 3柱面 29头 21扇。

下面就把它读出来。

-a

2039:0100 MOV AX,0201

2039:0103 MOV BX,1000

2039:0106 MOV CX,0315

2039:0109 MOV DX,1D80

2039:010C INT 13

2039:010E INT 20

2039:0110

-g

Program terminated normally

-d 1000

2039:1000 02 00 2E 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

2039:1010 02 00 2E 2E 00 00 00 00-00 00 00 00 00 00 00 00 ................

2039:1020 03 00 64 65 76 00 00 00-00 00 00 00 00 00 00 00 ..dev...........

2039:1030 0C 00 62 69 6E 00 00 00-00 00 00 00 00 00 00 00 ..bin...........

2039:1040 1F 00 75 73 72 00 00 00-00 00 00 00 00 00 00 00 ..usr...........

2039:1050 22 00 65 74 63 00 00 00-00 00 00 00 00 00 00 00 ".etc...........

2039:1060 4B 00 73 68 6C 69 62 00-00 00 00 00 00 00 00 00 K.shlib.........

2039:1070 4E 01 2E 6C 61 73 74 6C-6F 67 69 6E 00 00 00 00 N..lastlogin....

上面列出的就是根目录的前八项,从中可以看出 /etc 目录的 i-node 号为 22H,即34D。

因为每个扇区有8个 i-node,所以34号 i-node 必定在2柱面0头9扇。

-a

2039:0100 MOV AX,0201

2039:0103 MOV BX,1000

2039:0106 MOV CX,0209

2039:0109 MOV DX,0080

2039:010C INT 13

2039:010E INT 20

2039:0110

-g

Program terminated normally

-d 1000

2039:1000 C9 81 01 00 02 00 02 00-36 9F 00 00 04 07 00 05 ........6.......

2039:1010 07 00 06 07 00 07 07 00-08 07 00 09 07 00 0A 07 ................

2039:1020 00 0B 07 00 0C 07 00 0D-07 00 0E 07 00 00 00 00 ................

2039:1030 00 00 00 00 DA 83 C5 35-7C 22 A5 2B 37 4B 32 33 .......5|".+7K23

2039:1040 FD 41 16 00 02 00 15 00-00 12 00 00 2D 07 00 B8 .A..........-...

2039:1050 17 00 78 1A 00 68 83 00-28 9E 00 00 00 00 00 00 ..x..h..(.......

2039:1060 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

2039:1070 00 00 00 00 2A 31 C1 35-C7 83 C5 35 C7 83 C5 35 ....*1.5...5...5

偏移1040H至107FH正是 /etc 目录的 i-node 。我们把它的数据块也读出来。先读第一个数据块。将2D0700H代入公式,算出 /etc第一个数据块物理地址是3柱面50头27扇。

-a

2039:0100 MOV AX,0201

2039:0103 MOV BX,1000

2039:0106 MOV CX,031B

2039:0109 MOV DX,3280

2039:010C INT 13

2039:010E INT 20

2039:0110

-g

Program terminated normally

-d 1000

2039:1000 22 00 2E 00 00 00 00 00-00 00 00 00 00 00 00 00 "...............

2039:1010 02 00 2E 2E 00 00 00 00-00 00 00 00 00 00 00 00 ................

2039:1020 23 00 54 49 4D 45 5A 4F-4E 45 00 00 00 00 00 00 #.TIMEZONE......

2039:1030 24 00 62 61 64 74 72 6B-00 00 00 00 00 00 00 00 $.badtrk........

2039:1040 25 00 62 63 68 65 63 6B-72 63 00 00 00 00 00 00 %.bcheckrc......

2039:1050 26 00 64 65 66 61 75 6C-74 00 00 00 00 00 00 00 &.default.......

2039:1060 2B 00 64 69 76 76 79 00-00 00 00 00 00 00 00 00 +.divvy.........

2039:1070 2C 00 64 6B 69 6E 69 74-00 00 00 00 00 00 00 00 ,.dkinit........

-d

2039:1080 2D 00 65 6D 75 6C 61 74-6F 72 00 00 00 00 00 00 -.emulator......

2039:1090 2D 00 65 6D 75 6C 61 74-6F 72 2E 6D 73 00 00 00 -.emulator.ms...

2039:10A0 2E 00 66 64 69 73 6B 00-00 00 00 00 00 00 00 00 ..fdisk.........

2039:10B0 2F 00 66 73 63 6B 00 00-00 00 00 00 00 00 00 00 /.fsck..........

2039:10C0 30 00 66 73 63 6D 64 2E-64 00 00 00 00 00 00 00 0.fscmd.d.......

2039:10D0 37 00 66 73 73 74 61 74-00 00 00 00 00 00 00 00 7.fsstat........

2039:10E0 38 00 67 72 6F 75 70 00-00 00 00 00 00 00 00 00 8.group.........

2039:10F0 39 00 68 61 6C 74 73 79-73 00 00 00 00 00 00 00 9.haltsys.......

-d

2039:1100 39 00 72 65 62 6F 6F 74-00 00 00 00 00 00 00 00 9.reboot........

2039:1110 3A 00 68 64 62 6F 6F 74-30 00 00 00 00 00 00 00 :.hdboot0.......

2039:1120 3B 00 68 64 62 6F 6F 74-31 00 00 00 00 00 00 00 ;.hdboot1.......

2039:1130 3C 00 69 6E 69 74 00 00-00 00 00 00 00 00 00 00 <.init..........

2039:1140 AD 13 69 6E 69 74 74 61-62 00 00 00 00 00 00 00 ..inittab.......

2039:1150 3E 00 69 6F 63 74 6C 2E-73 79 73 63 6F 6E 00 00 >.ioctl.syscon..

2039:1160 3F 00 6D 61 73 74 65 72-62 6F 6F 74 00 00 00 00 ?.masterboot....

2039:1170 40 00 6D 6B 66 73 00 00-00 00 00 00 00 00 00 00 @.mkfs..........

-d

2039:1180 41 00 6D 6B 6E 6F 64 00-00 00 00 00 00 00 00 00 A.mknod.........

2039:1190 42 00 6D 6F 75 6E 74 61-6C 6C 00 00 00 00 00 00 B.mountall......

2039:11A0 0C 02 70 61 73 73 77 64-00 00 00 00 00 00 00 00 ..passwd........

2039:11B0 44 00 70 69 70 65 00 00-00 00 00 00 00 00 00 00 D.pipe..........

2039:11C0 45 00 73 63 73 69 62 61-64 62 6C 6B 00 00 00 00 E.scsibadblk....

2039:11D0 46 00 73 65 74 6D 6E 74-00 00 00 00 00 00 00 00 F.setmnt........

2039:11E0 47 00 73 77 61 70 00 00-00 00 00 00 00 00 00 00 G.swap..........

2039:11F0 48 00 74 74 79 74 79 70-65 00 00 00 00 00 00 00 H.ttytype.......

偏移11A0H至11AFH是 /etc 目录下的passwd文件名。我们把它改成zls。

-e 11a2

2039:11A2 70.7a 61.6c 73.73 73.00 77.00 64.00

-a 100

2039:0100 MOV AX,0301

2039:0103

-g

Program terminated normally

现在退出DEBUG命令。

取出软盘,重启机器,引导UNIX操作系统。

按照引导顺序,UNIX显示出硬件配置信息后就该提问超级用户口令了,但就在此时它却突然发现 /etc/passwd 文件失踪了!(其实只是被改名为zls,但UNIX对此一无所知。)

没有了这个文件,UNIX无法提问超级用户口令,于是它只好在屏幕上显示如下信息并允许用户以系统管理员身份直接进入系统维护态:

su: Unknown id: root

/etc/tcbck: file /etc/passwd is missing or zero length

/etc/tcbck: either slash (/) is missing

from /etc/auth/system/files or there

are malformed entries in /etc/passwd or /etc/group

/etc/smmck: restore missing files from backup or distribution.

INIT: SINGLE USER MODE

**** PASSWORD FILE MISSING! ****

Entering System Maintenance Mode

#

现在既然已经进入维护态,当然就可以“为所欲为”了。但最好先设置一个新的超级用户口令。

首先,我们必须恢复passwd文件名。

#mv/etc/zls /etc/passwd

然后,就可以用passwd命令设置新的超级用户口令了。

# passwd

Setting password for user: root

Choose password

You can choose whether you pick a password,

or have the system create one for you.

1. Pick a password

2. Pronounceable password will be generated for you

Enter choice (default is 1): 1

Please enter new password:

New password:

Re-enter password:

# reboot

以后就可以用新口令登录系统了。

结束语

在本文行将结束时,我们再来作一个小小的总结。

传统方案有操作平台、操作工具和操作对象局限性。新方案则突破了这三大局限性。

一、新方案突破了操作平台局限性。传统方案的操作平台必须是UNIX,而新方案则是DOS。DOS比UNIX普及得多,中国的绝大部分计算机用户对UNIX陌生,但对DOS却相当熟悉,使用起来也有亲切感。

二、新方案突破了操作工具局限性。传统方案的操作工具必须是两张紧急启动软盘,而新方案仅使用一张DOS系统盘,其上只需拷贝一个DEBUG.EXE文件。紧急启动软盘只能专盘专用,DOS系统盘却不存在这个问题用任何一台机器上的DOS制作出的系统盘,可以用来解决任何一台机器上的UNIX超级用户口令被忘记的问题。至于用来访问物理硬盘的软件,当然更不是非 DEBUG不可,任何软件??只要支持访问物理盘均可。作者推荐使用Norton 8.0 软件包里的diskedit程序,对不懂汇编语言编程的人来说该程序无疑是一个最好的选择。

三、新方案突破了操作对象局限性。传统方案的操作对象是文件系统管理下的文件,而新方案撇开了文件系统,直接在底层修改数据。

最后需要强调的是,本文的要旨所在绝非仅仅体现在解决超级用户口令被遗忘的问题上。事实上,利用这种直接读取硬盘物理扇区的方法,还可以恢复那些在UNIX上被误删除的文件。

(责任编辑:城尘 68476636-8003)



共2页: 上一页 [1] 2
【内容导航】
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Windows XP远程桌面连接图解(.. (查看31098次)
·Windows Vista 初步 (查看20952次)
·Solaris基础知识入门 (查看19745次)
·Linux的安装 (查看17105次)
·Windows操作系统安装 (查看16053次)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有