﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-牧月人-文章分类-系统，硬件区</title><link>http://www.blogjava.net/zgghc/category/13005.html</link><description>天冷 冷不了我的心 
心痛 痛不断我的情 
  情深 深得像海  
   海 仰望蓝天 
   天 一轮明月 
   月 为我而牧 </description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 02:52:00 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 02:52:00 GMT</pubDate><ttl>60</ttl><item><title>使用端口映射</title><link>http://www.blogjava.net/zgghc/articles/57777.html</link><dc:creator>牧月人</dc:creator><author>牧月人</author><pubDate>Wed, 12 Jul 2006 04:03:00 GMT</pubDate><guid>http://www.blogjava.net/zgghc/articles/57777.html</guid><wfw:comment>http://www.blogjava.net/zgghc/comments/57777.html</wfw:comment><comments>http://www.blogjava.net/zgghc/articles/57777.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zgghc/comments/commentRss/57777.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zgghc/services/trackbacks/57777.html</trackback:ping><description><![CDATA[如果你的电脑在局域网内，但是该局域网内的服务器使用了公网IP，这种情况可以使用端口映射。例如某些单位的局域网服务器接入时用的都 

是专线固定IP，另外很多宽带接入也是这种情况。 
使用端口映射需要专门的映射软件。在此推荐“端口映射器”，这是一款国产免费软件，下载地址： http://www.hu.zj.cninfo.net/~stock5/soft/PortMapV1.rar


上边的软件也就是你所要的        端口映射器(PortMapper)   下边是使用方法

你自己看一下

使用方法通过下面实例说明： 
假设局域网网关（服务器）IP为192.168.0.1和202.102.231.255。可以看到，该服务器所绑定的IP中有一个为公网IP。我们的目的是使该局域 

网内一台IP地址为192.168.0.2的电脑可以建立站点并供访问。首先在服务器上解压缩之后运行断口映射器，然后点击“增加”图标，弹出如下 

对话框 


在“名称”中填入“www”，“输入IP”中显示的是服务器绑定的IP，我们选择公网IP“202.102.231.255”，输入端口为8080（如果服务器本 

身不打算运行http服务则可以填写80），“输出IP”中填写目标机“192.168.0.2”输出端口则是你设定http服务的端口，一般为80。设置之后 

别人即可以通过http://202.102.231.255:8080来访问IP地址为192.168.0.2的80端口了。也即http://202.102.231.255:8080=http://192.168 

.0.2:80 

该软件同时提供IP访问策略，你可以通过黑名单设定禁止来访的IP地址，也可以在基本设置中设定同时连接的最大数目和单个IP的最大连接数 

目。如果需要在192.168.0.2的机器上开通ftp服务，则可以再在服务器上建立ftp://202.102.231.255:2121=ftp://192.168.0.2:21的映射。当 

然，端口都是可选的。 

<img src ="http://www.blogjava.net/zgghc/aggbug/57777.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zgghc/" target="_blank">牧月人</a> 2006-07-12 12:03 <a href="http://www.blogjava.net/zgghc/articles/57777.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>忘记windows2000密码怎么办</title><link>http://www.blogjava.net/zgghc/articles/57774.html</link><dc:creator>牧月人</dc:creator><author>牧月人</author><pubDate>Wed, 12 Jul 2006 03:55:00 GMT</pubDate><guid>http://www.blogjava.net/zgghc/articles/57774.html</guid><wfw:comment>http://www.blogjava.net/zgghc/comments/57774.html</wfw:comment><comments>http://www.blogjava.net/zgghc/articles/57774.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zgghc/comments/commentRss/57774.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zgghc/services/trackbacks/57774.html</trackback:ping><description><![CDATA[如果你忘记win2k/xp的系统密码 再不重装系统的前提下 你可以尝试使用

以下方法 进入系统

一，删除SAM文件
·什么是SAM文件？
Win2000中对用户账户的安全管理使用了安全账号管理器SAM(security account manager)的机制,安全账号管理器对账号的管理是通过安全标识进行的，安全标识在账号创建时就同时创建，一旦账号被删除，安全标识也同时被删除。安全标识是唯一的，即使是相同的用户名，在每次创建时获得的安全标识都时完全不同的。因此，一旦某个账号被删除，它的安全标识就不再存在了，即使用相同的用户名重建账号，也会被赋予不同的安全标识，不会保留原来的权限。 
安全账号管理器的具体表现就是%SystemRoot%\system32\config\sam这个文件。sam文件是windows 2000的用户账户数据库,所有用户的登录名及口令等相关信息都会保存在这个文件中。SAM文件可以认为类似于unix系统中的passwd文件,不过没有unix的passwd文件那么直观
那么当我们忘记密码的时候，就可以通过删除SAM文件，快速地进入系统。
这个方法是比较容易的，具体说来又有两条路可以选择
1，在本机解决。
如果你装的是双系统，最常见的98&win2k，那么你可以进入WIN98，若是Fat格式，直接删除SAM文件。若是NTFS格式，由于无法直接从98访问，所以我们需要NTFS for DOS这个软件（具体操作就不赘述了），借助它，就可以删除SAM文件了。
如果你只装了一个Win2000的话，也不用急。
用软盘启动，来删除SAM，FAT就不说了，如果是NTFS格式，加载NTFS for DOS或其它同类软件，同样可以删除SAM文件。
（NTFS for Dos 可以到和http://www.sysinternals.com/去下载）
2，拆硬盘，挂到别的机器上去
如果你不嫌麻烦的话，可以把硬盘拆下来，挂到别的机器上，删除SAM文件。

二，重装
这个办法，恐怕谁都可以想到吧。不过，它确实是最有效的办法之一，也算是一种思路嘛。（谁？谁在鸡蛋扔我？）

三,利用各种漏洞

1，输入法
看到这个题目，恐怕有人又在找臭鸡蛋了吧，（我躲~~）。我开篇已经说了，只是提供6种不同的思路。虽然微软在SP2中已经补上了这个漏洞，但是，作为一种方法，必然有它值得学习，借鉴之处。“沧海一声笑”说的好，“漏洞只是一种表现形式,我们应该看的是更深一些的东西,比如这个漏洞为什么会有如此大的危害,为什么使用这个漏洞进去会有如此大的权限?我们能不能在这个漏洞不存在的情况下模拟一个类似的情境?”
用输入法实现也有两种途径：
a)利用快捷方式
(1)Windows2000启动之后，依屏幕提示按下ALT＋CTRL＋DEL进行登录，在登录界面将光标移至用户名输入框，按键盘上的Ctrl+Shift键进行输入法的切换，屏幕上出现输入法状态条，在出现的“全拼”输入法中将鼠标移至输入法状态条点击鼠标右键，在出现的选单中选择“帮助”，然后继续选择“输入法入门”，在窗口顶部会出现几个按钮，神奇之处就在这个“选项按钮”上。 
(2)如果系统未安装Windows2000 ServicePack2或IE5.5，那么现在就可以在“操作指南”窗口上边的标题栏单击右键，选择“跳至URL”，此时会弹出Windows 2000的系统安装路径并要求输入路径，输入c:＼WinNT＼system32(假设你的Windows 2000安装在c:＼WinNT下)，按下“确定”，我们就成功地绕过了身份验证进入系统的system32目录。 
(3)在system32目录下找到“net.exe”，用鼠标右键单击并选择“创建快捷方式”；右键单击该快捷方式，在“属性”/“快捷方式”/“目标”里输入“c:＼winnt＼system32＼net.exe user Security Art/ADD”，然后点击“确定”。 
这一步的作用就是用Net.exe创建一个Security用户，密码为Art(注意大小写)，双击该快捷方式即完成了用户的添加。 
(4)这步，我们把Security用户添加到Administrators(管理员组中)，同样把Net.exe的快捷方式目标修改为“c:＼winnt＼system32＼net.exe LOCALGROUP Administrators Security/ADD”，双击执行。 
(5)成功了！可以用Security用户登录，修改你原先用户的密码（这回不要再忘了哦:-)，最好删除掉这个security用户。

利用文件类型编辑创建管理员用户
此处同上个方法的(1)；
(1)右击"选项"按钮,选择"跳至url"；
(2)在跳至URL上添上"c:\"；
(3)帮助的右边会进入c:\；
(4)按帮助上的"选项"按钮；
(5)选"internet"选项.会启动文件类型编辑框；
(6)新建一个文件类型,如一个art文件类型,在跳出的文件后缀中添上"art"，点确定；
(7)选中文件类型框中的"art"文件类型,点击下面的"高级按钮",就会出现文件操作对话框；
(8)新建一种文件操作,操作名任意写,如"abc"； 
(9)这步操作要执行的命令如下:
C:\WINNT\system32\cmd.exe /c net user Security ART /add C:\WINNT\system32\cmd.exe /c net localgroup administrators Security /add
完成,退出；
(10)将c:\的某个文件如"abc.txt"改为"abc.txt.art",然后双击打开这个文件；


(11)通常这个文件是打不开的,系统运行一会便没有了提示,但这时我们已经将用户Security加上了,权限是administrator；
(12)返回,重新以Security用户登录,修改你原先用户的密码。建议删除掉security用户。

利用下面几种漏洞来提升权限的前提是，除了管理员账户，你还有其他的用户可以登录进入系统。然后设法提升权限

2，PipeUpAdmin: 这个程序在本机运行可以把当前用户账号加入管理员组，普通用户和Guests组用户就可以成功运行；

3，Debug漏洞：WINDOWS 2K 存在一个利用 Debug Registers 提升权限的漏洞。如果攻击者能在 WIN2K 中运行程序，利用此漏洞，他至少能取得对 %Windir%\SYSTEM32 和 注册表HKCR 的写权。因为x86 Debug Registers DR0-7对于所有进程都是全局共享的，因此在一个进程中设置硬件断点，将影响其它进程和服务程序。 
4，NETwork DDE漏洞：利用 Windows 2000 的 Network DDE DSDM 服务漏洞普通用户可以LocalSystem身份执行任意程序，可以借此更改密码、添加用户等。Guests组用户也可以成功利用该漏洞。 但是需要注意的是，这个服务缺省没有启动，需要启动这个服务
5，本地溢出：虽然Windows 2000 有很多程序有溢出漏洞，但是这些程序不是总在运行，因此被利用的可能性还是比较小的。 
例如：Windows 2000 的静态图像服务就有一个溢出漏洞，利用该漏洞，攻击者可以获得系统权限。

四，利用恢复软件
这里介绍两种软件：Offline NT Password Editor和O&O Bluecon 2000.
1，首先，我们来看Offline NT Password editor
下载：http://home.eunet.no/~pnordahl/ntpasswd

先将下载来的文件解压，解压后得到的是一个bin类型的文件。其实这个bin文件是一张软盘的映像文件。先准备好一张格式化过的软盘，接着用Winimage软件打开那个bin文件，然后选择“Disk”菜单下的“Write disk”，这样，Winimage就把软盘映像的内容恢复到软盘上了。 
接触过Linux系统的朋友会发现软盘中的文件包含有Linux系统启动盘的一些文件。其实，这个软盘可以算是一个“精简的Linux系统”。
用软盘启动电脑后，将会进入一个Linux环境下，在这个环境下，提供对NTFS磁盘格式支持，并自动开始运行那个可以更改NT/2000用户密码的程序。
具体过程：
用软盘启动后，我们可以看到很多Linux启动的输出信息，看到了吧，这个“精简的Linux系统”的名字是SysLinux。
然后就是软件的版权声明，并指出软件在NT3.51,NT4.0,Windows2000 Professional & Advanced Server RC2下测试通过，而使用了Active Directory的Windows2000系统没有测试。
　　接下来，系统提示“Do you have your NT disks on a SCSI controllers?”,问你NT系统是否安装在SCSI硬盘上，看你的具体情况，一般这里输入“n”。系统就开始检测硬盘以及硬盘分区，并把检测结果以Linux下的方式表示出来，在出
现提示字串后敲回车继续。
系统提示“Select what you want to do:1-set passwords[default] 2-Edit registry”,我们的目的是更改管理员的密码，所以，输入数字“1”，Enter。
接着提示“what is the full path to the registry directory?”,询问注册表存放路径，默认的应该是“winnt/system32/config”，如果你原来安装系统的时候改变了路径，那么请按照你的实际情况更改路径后回车继续。
接着出现“which hids(files) do you want to edit (leave default for password setting,separate multiple name with space)”,回车，然后会把所有用户的账号列出，并询问“do you really wish to disalbe syskey(y/n)”，输入“n”,回车。提示“Username to change (! to quit,. to users):”，输入“administrator”（假设你的管理员账号是 administrator），回车后“Please enter new password”按提示，你可以输入“Administrator”账号的新密码，再问一次“Do you really wish to change it?(y/n)”，输入“y”确定并回车。系统最后问你“About to write files back！ Do it?”（有点罗嗦吧，呵呵），输入“y”确认后，系统提示，按“Cltrl-Alt-del”三键重新启动系统。 
　　好了，启动系统后，已经可以用我们修改好的密码登录


2，O&O Bluecon 2000
下载地址： http://www.oosoft.com

用O&O Bluecon 2000修改本地管理员密码的步骤如下:

第1步，制作工具盘.
(1)制作四张Windows2000安装启动盘
(2)启动O&O BlueCon 2000软件的"O&O BootWizard"，修改制作好的安装软盘(只修改第1张和第4张),分四步做

。
(3)第一步Select Boot Device询问使用哪一种方式来引导系统,是Floppy，还是CD-ROM,选择Floppy(4 disk required),按“下一步”;
(4)第二步Select Options会询问我们是不是创建Windows2000安装启动盘,因为我们刚才就创建了,因此不选,按“下一步”;
(5)第三步Patch Disk 1和Patch Disk 4,会提示你依次插入第1张和第4张进行修改操作。按屏幕提示完成工具盘制作。

第2步，修改本地管理员密码

我们先来看看O&O支持的命令,总共28个,可以通过在"A:\>"提示符下用"?"或"help"命令查看.这里我只列出几个

比较重要的:
passwd:修改密码
backup:备份注册表
edlin:文本编辑工具
reboot:重新启动机器
regedit:编辑注册表
service:显示/启动/禁止服务
scopy或scp:文件复制,（可以复制文件的安全属性）
user:显示操作系统的用户
vmap:显示当前卷的信息

 

我们具体来操作一次，实践出真知嘛，:-):
首先，将第1张软盘插入软驱中,重新启动机器,以软盘引导系统,依提示依次插入这4张盘,安装界面之后，系统会提示&O Bluecon 2000 V2.0 Build 256 - English Keyboard
? 2000 O&O Software GmbH. Allright reserved.
A:\>
依上面命令的介绍，我们可以用Passwd命令对SAM数据库账号的密码进行修改,通过Passwd/?我们可以得到Passwd命令的用法，如下:
Passwd <account> [<password>]
Passwd命令中Password参数是可选的,如果你不输入该账号的密码,那么该账号的密码将被清空。
假设我们忘掉的管理员账号是Administrator,我们现在要Administrator的密码修改为Sowhat,操作如下：
A:\>Passwd Administrator Sowhat
回车之后，如果你当前系统中存在多个操作系统,系统会提示你要修改哪个操作系统的管理员密码，如下:
Please choose a system to logon
1. "Microsoft Windows 2000 Server" /fastdetect
2. "Microsoft Windows 2000 Advanced Server" /fastdetect
选择我们需要修改的系统,假如是我们选1,修改Windows2000 server的管理员密码.之后，系统提示"Password was successfully changed"，哈，恭喜，密码修改成功了！

唯一遗憾之处就是， 如果你的O&O软件不是完全版而只是未注册版的话,那系统会提示管理员的密码是只读的,不能够进行修改。（哪位仁兄有crack版的话，可以共享出来哦，谢谢）

五，巧妙利用屏幕保护程序
我们都知道，通常情况下，如果系统启动出现登录邀请框后，15分钟内不登录的话,win2k会启动屏幕保护程序logon.scr,这个程序位于c:\winnt\system32下,屏幕上出现win2000标志。
具体过程：拆下你的硬盘，挂到别的机子上，然后将logon.scr改名，随便改喽，如改成logon.art，之后，我们把c:\winnt目录下explorer.exe复制一份，放到c:\winnt\system32下，用它来代替logon.scr，就是说，把它改成logon.scr。
好了，现在把硬盘重新装到你的机子上，重新启动机器,出现登录对话框后，请不要登录,等待大约15分钟之后,系统就会去调用屏幕保护程序,但是，经过我们做手脚以后，出现的不是windows 2000的标志，而是一个资源管理器,定位在c:\下,发什么楞？现在该怎么做，不用我教你了吧，如果你认真看了刚才怎样利用输入法漏洞的话。（这大概算一个“模拟输入法漏洞情景”吧）
可能有朋友会说，既然，硬盘都挂到其它机器上了，为什么不通过删除sam的方法呢？说的对，删sam是更简单点。 但之所以不删SAM，有两个原因，[1]我开篇就说过了，只是提供一种思路，开拓思维。[2]删除SAM后带来的一大堆后遗症，在这里也可以避免。
另外，有朋友提议，用cmd.exe去调换logon.scr，而不是用explorer.exe去换，能有这个想法，很漂亮。

六，启动脚本

这里，我们假设现有win2000的系统分区为C:，拆下硬盘，然后挂接到其它Win2000机器。这时这块盘假设为H:
下面，让我们一起来看看，具体如何通过启动脚本来恢复管理员密码，
首先，写一个批处理文件recovery.bat,内容很简单，一行而已：
net user administrator security
（假设当前的管理员是administrator,将它的密码恢复为"security"）。然后，将文件recovery.bat保存到"H:\winnt\system32\GroupPolicy\Machine\Scripts\Startup"下,其实就是我们原来机子的"C:\winnt\system32\GroupPolicy\Machine\Scripts\Startup"下。
然后，再编写一个启动/关机脚本配置文件scripts.ini,（这个文件名是固定的,不能改变哦）。内容如下:
[Startup]
0CmdLine=recovery.bat
0Parameters=
将文件scripts.ini保存到"H:\winnt\system32\GroupPolicy\Machine\Scripts"下,也就是故障计算机原来的"C

:\winnt\system32\GroupPolicy\Machine\Scripts"下。

这时，我们可以将硬盘恢复为主盘,接到原来的机子上,重启,等待启动脚本运行。
启动脚本运行结束后，administrator的密码就被恢复为"security"了。
那么，如果我们想要创建一个管理员账号,该怎么办呢？
很简单，把recovery.bat文件的内容改为:
net user Sowhat security /add
net localgroup administrators Sowhat /add
搞定，这个"Sowhat",密码是"security"的账号就建立了，并且是管理员权限。

另外还附上袁哥在NSFOCUS BBS上提出的一个方法,具体我没有测试过.
1。编译下面代码：

#include <windows.h> 
#include <stdio.h>
int main(int argc, char **argv)
{ 
int i;
char buff[0x1000];
system("net.exe user 1234 1234 /add");
system("net.exe LOCALGROUP Administrators 1234 /add");
strcpy(buff,"svchost1.exe");
for(i=1;i<argc;++i){
strcat(buff," ");
strcat(buff,argv);
} 
system(buff); 
}

2。用双系统或者挂到别的系统上能读写系统目录的（可能是NTFS分区），把system32\svchost.exe改名svchost1.exe,把上面编译的软件拷贝成system32\svchost.exe。

3。启动系统，用用户1234，密码1234登陆。

4。恢复系统的svchost.exe

至此,6种思路都介绍过了,+上yuange的,7种思路。可能有些朋友会觉得有些方法太笨了，谁都想得出，（像重新安装），有些太落伍了，过时了（像输入法漏洞），有些太花哨了，不实用（像屏幕保护程序法），说的都是事实。但是，这些朋友忽略了一点， 学习任何东西，重要的，是学习它的思路，更重要的，是学习它的思想。我们应该想一想，为什么我没想到这种方法呢？为什么发现漏洞的是他，而不是我呢？

同时，本文的意义并不限于此。从以上“取回”管理员密码的手段和过程中，我们得到的启示是---保证系统物理安全性的重要是不容忽视。

欢迎大家讨论。。欢迎大家提出更好的方案。
<img src ="http://www.blogjava.net/zgghc/aggbug/57774.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zgghc/" target="_blank">牧月人</a> 2006-07-12 11:55 <a href="http://www.blogjava.net/zgghc/articles/57774.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>