一键删除windows默认共享和禁止空连接的bat代码

所属分类: 脚本专栏 / DOS/BAT 阅读数: 1977
收藏 0 赞 0 分享
怎样防止别人用ipc$空连接和默认共享入侵

空连接和ipc$(internet process connection)是不同的概念。空连接是在没有信任的情况下与服务器建立的会话,换句话说,它是一个到服务器的匿名访问。ipc$是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限。有许多的工具必须用到ipc$。默认共享是为了方便远程管理而开放的共享,包含了所有的逻辑盘(c$,d$,e$......)和系统目录winnt或windows(admin$)。
A、一种办法是把ipc$和默认共享都删除了。但重起后还会有。这就需要改注册表。

1,先把已有的删除
net share ipc$ /del
net share admin$ /del
net share c$ /del
............(有几个删几个)

2,禁止建立空连接
首先运行regedit,找到如下主键[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/LSA]把RestrictAnonymous(DWORD)的键值改为:00000001。

3,禁止自动打开默认共享
对于server版,找到如下主键[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/LanmanServer/Parameters]把AutoShareServer(DWORD)的键值改为:00000000。
对于pro版,则是[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/LanmanServer/Parameters]把AutoShareWks(DWORD)的键值改为:00000000。
如果上面所说的主键不存在,就新建一个再改键值。

B、另一种是关闭ipc$和默认共享依赖的服务(不推荐)
net stop lanmanserver
可能会有提示说,XXX服务也会关闭是否继续。因为还有些次要的服务依赖于lanmanserver。一般情况按y继续就可以了。

C、最简单的办法是设置复杂密码,防止通过ipc$穷举密码。但如果你有其他漏洞,ipc$将为进一步入侵提供方便。

D、还有一个办法就是装防火墙,或者端口过滤。

下面是批处理一般情况下 win2003 xp都可以

复制代码 代码如下:

@echo off
title XP/win2003默认共享一键关闭程序 www.jb51.net
Color 0A
echo.
echo 友情提示:本程序仅支持XP系统。
echo 请按任意键开始执行…
pause >nul
echo.
net stop Server
cls
echo 正在关闭系统共享盘符及文件夹……
echo.
for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%a:\nul net share %%a$ /delete 1>nul 2>nul
net share admin$ /delete 1>nul 2>nul
net share ipc$ /delete 1>nul 2>nul
net start Server
echo ###关闭关闭系统共享盘符及文件夹成功###
cls
echo 正在禁止系统默认共享属性自动启动……
echo Windows Registry Editor Version 5.00> c:\delshare.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]>> c:\delshare.reg
echo "AutoShareWks"=dword:00000000>> c:\delshare.reg
echo "AutoShareServer"=dword:00000000>> c:\delshare.reg
regedit /s c:\delshare.reg
del c:\delshare.reg
echo #####关闭系统默认共享属性成功#####
cls
echo.
echo.
echo 正在禁止ipc$空连接……
echo Windows Registry Editor Version 5.00> c:\delshare.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]>> c:\delshare.reg
echo "RestrictAnonymous"=dword:00000001>> c:\delshare.reg
regedit /s c:\delshare.reg
del c:\delshare.reg
echo.
cls
echo 任务完成,感谢使用!欢迎光临www.jb51.net。
echo.
echo 请按任意键退出本程序…
pause >nul
exit
更多精彩内容其他人还在看

for 语句从入门到精通

在批处理中,for是最为强大的命令语句,它的出现,使得解析文本内容、遍历文件路径、数值递增/递减等操作成为可能
收藏 0 赞 0 分享

dos 目录跳转 cd

当我们需要处理不同路径下的文件的时候,很可能需要切换目录,这个时候,可以考虑使用目录跳转命令cd。
收藏 0 赞 0 分享

tree 以树形格式罗列文件

tree ,在英语中的基本含义是“树”,在cmd中,tree命令的功能是以树形格式罗列文件。
收藏 0 赞 0 分享

dos 内容重定向

当我们在cmd窗口中查询某条命令的帮助信息的时候,帮助信息是显示在命令行窗口中的,命令行窗口关闭后,这些帮助信息就看不到了,如果下次还想看,又得在命令行窗口中输入查询命令,比较繁琐。
收藏 0 赞 0 分享

执行批处理bat程序中的条件处理

一直用bat实现部分功能,对于我们仍需要控制是否满意我们的要求,下面是if帮助文档,方便查询
收藏 0 赞 0 分享

不错的批处理脚本 第一部分

非常不错的批处理脚本代码,功能比较多,用到了,很多的批处理机器
收藏 0 赞 0 分享

不错的批处理脚本实例代码 第二部分

不错的批处脚本实例代码,用到了批处理中的很多技巧与知识点,不懂得可以逐一查找相关资料
收藏 0 赞 0 分享

开机更新桌面主题的批处理代码

更新桌面主题的批处理代码
收藏 0 赞 0 分享

非常好的for 教程, 当时我就是看这个学习for 的第1/2页

批处理for命令详解 FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能! 看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号)
收藏 0 赞 0 分享

批处理的"循环"效果脚本

曾经在回答一个问题时 无意中想到的方法 今天又看到类似的问题 个人认为是非常实用的 于是 想把这种方法推荐给大家
收藏 0 赞 0 分享
查看更多