学习伦理黑客:Windows批处理、CMD命令、网络知识基础

本来准备接着继续讲Nmap,但是考虑到Windows批处理这个基础知识点没讲,还是先讲这个好了;反正该来的总是要来,不妨把基础打牢了再看工具


目录


轻松搭建工作环境

不要怕,Windows批处理脚本的环境搭建非常简单

脚本编辑器

最简单的,可以用notepad来写批处理文件

我比较推荐用notepad++,看个人喜好

执行环境

前面讲过,在Windows上用cmd.exe执行批处理文件

你可以切换到它的全路径C:\Windows\System 32\cmd.exe

也可以在运行窗口中输入名字查找

如果要运行写好的命令,首先打开cmd.exe窗口,接着敲脚本文件的绝对路径,或者如之前已经把该脚本加到了环境变量就直接输入这个环境变量

比较而言,我们推荐后者:先C:到C盘,接着md Application\bin创建一个新文件夹,用来存放我们的脚本源码,最后(对于Win7、Win8)实用setx命令添加一个环境变量

setx path "%path%;C:\Application\bin\"

CMD和批处理帮助文档

在DOS模拟模式下,使用help命令打印命令列表,help COMMAND打印该命令的帮助文档,COMMAND /?打印该命令的所有开关列表

当然,官方文档跑不掉:Microsoft Windows Command


批处理符号

在批处理脚本源文件中,一些符号有着特殊的意义

艾特号(@)

被修饰的行不显示命令本身

@命令

这里写图片描述

百分号(%)

用来表示变量的引用(在批处理中,不区分大小写)

echo %path%

这里写图片描述

冒号(:)

1. 单冒号:冒号后紧跟的是标签名,之后可以用该标签名调用这个标签行

2. 双冒号:相当于注释符号,这一行将被解释器丢弃

其它一些符号有的和Linux重复了,另有的用到时再讲

:label echo Hello world
:: This line will be discarded...
goto label

这里写图片描述

解释下,1. pause>nulpause是不同的,它不输出提示信息,2. 在批处理脚本用于赋值的=号两边没有空格(和bash一样)

惊叹号(!)

惊叹号和百分号类似,用来括住变量

先介绍一个背景知识:批处理的延迟扩展

这里写图片描述

猜猜会打印多少:是你输入的值,还是1000?(答案:你输入的值)

解释:批处理文件被解释器逐行读取,到 set a=1000 & echo %a%这一行时,先解释引用的变量,于是echo出来的a就是你输入的值了

要想让命令在在解释时感知到当前行的其他命令,使用setlocal enabledelayedexpansion指令配合!符号来消除误会

这里写图片描述

这里写图片描述

记忆技巧:set(设置)、local(局部的)、enable(启用)、delayed(延迟的)、expansion(扩展)


批处理控制流

循环

【 FOR %A IN (list) DO command [ parameters ] 】

A               is a loop variable, which can be replaced by any character or word
list            is a list of any elements, separated by either spaces, comma's or semicolons.
command         can be any internal or external command, batch file or even - in OS/2 and NT - a list of commands
parameters      contains the command line parameters for command.

In this example, command will be executed once for every element in list, using parameters if specified.
A special type of parameter (or even command) is %A, which will be substituted by each element from list consecutively.

在命令提示符和批处理文件下的循环体写法是不同的:命令提示符下循环变量写一个百分号,而批处理文件中的循环变量写写两个百分号

这里写图片描述

这里写图片描述

注意下,批处理的循环变量只能是单个字符的字母,如果是多个字符会报错!

判断

【 IF [NOT] ERRORLEVEL number command
【 IF [NOT] string1==string2 command
【 IF [NOT] EXIST filename command

NOT         Specifies that Windows NT should carry out the command only if the condition is false.
ERRORLEVEL number           Specifies a true condition if the last program run returned an exit code equal to or greater than the number specified.
command         Specifies the command to carry out if the condition is met.
string1==string2            Specifies a true condition if the specified text strings match.
EXIST filename          Specifies a true condition if the specified filename exists.

补充知识:%errorlevel%表示上一个命令的返回值,在0~255之间,成功返回0,失败返回1

下面就以errorlevel为例

这里写图片描述

这里写图片描述


DOS命令小栗子

批处理文件和DOS窗口有着千丝万缕的联系,要学好批处理就得同时学好DOS命令

net命令

英文参考资料

net命令是微软提供的最重要的网络命令,包含了管理网络环境、服务、用户、登陆等Windows 98/NT/2000中大部分重要的管理功能;使用它可以轻松的管理本地或者远程计算机的网络环境,以及各种服务程序的运行和配置。或者进行用户管理和登陆管理等

win7、win8、win10的net命令语法是一样的

这里写图片描述

net user:查看用户列表
这里写图片描述

net user 用户名 密码 /add:添加新用户
这里写图片描述
这里写图片描述

net user 用户名 /delete:删除用户
这里写图片描述

net user 用户名 /active:no:禁用该用户
这里写图片描述

net share:查看计算机IPC$共享资源
这里写图片描述

net time \\IP地址:查看主机的时间
这里写图片描述

net use:查看IPC$连接情况
这里写图片描述

net use [..]命令是后面要讲的IPC$攻击的基础,务必牢牢掌握(具体用法见后文IPC$攻击部分)

ping命令

英文参考资料

这个命令估计没有人不知道吧,它是用来检查网络是否通畅或者网络连接速度的命令

Window Vista、Win7、Win8的语法是一样的

这里写图片描述

ping自己,用来检查是否可以把数据包发送出去,是否可以接受来自外面的数据包
这里写图片描述

ping别人,用来检查和远程服务器的联通情况
这里写图片描述

还记得吗,Nmap有个选项就是利用了ping命令来侦测对方主机是否在线,如果ping不通可能是因为对方装有防火墙并且阻止了ICMP响应

nbtstat命令

英文参考资料

不要和下面讲的netstat弄混了,nbtstat(和netstat差一个字母),该命令使用TCP/IP上的NetBIOS显示协议统计和当前TCP/IP连接,使用这个命令你可以得到远程主机的NETBIOS信息,比如用户名、所属的工作组、网卡的MAC地址等

这里写图片描述

nbtstat -A参数:
这里写图片描述

netstat命令

英文参考资料

下面讲解的是在Windows vista及其之后版本的语法,使用netstat命令查看开放主机的开放端口和连接信息情况

这里写图片描述

就拿最常用的-an参数进行演示:
这里写图片描述

说明:在状态列,LISTENING为监听状态,表示侦听来自远方的TCP端口的连接请求,TIME_WAIT为等状态,ESTABLISHED的意思是建立连接。表示两台机器正在通信,CLOSE_WAIT意味着对方主动关闭连接或者网络异常导致连接中断闭

tracert命令

英文参考资料

实际上就是Windows版本的traceroute命令

这里写图片描述

这里写图片描述

上面的输出结果和通信的两台主机的具体地理位置有关(今天可能网络有点不好,总之看上面111.38.2.68是中国移动的那个IP——知道了IP地址如果是Linux又可以用dig命令进一步发掘隐藏信息,这个自己玩玩!)

telnet命令

英文参考资料

telnet的英文意思就是“远程登录”,正如其名,telnet命令是用来远程登录的(废话!)

这里写图片描述


批处理小栗子

在讲解前,补充一个小知识点:@符号的应用,你一定见过@echo off(在批处理文件的文件开头),echo off表示在此语句后所有运行的命令都不显示命令行本身,而echo off本身作为命令还是会被显示出来,所以要在该命令前再加一个@来隐藏这条命令,总的来讲,@echo off就是不让显示命令本身

下面就让我们结合具体实例进行讲解

恢复误删文件

问题背景:系统蓝屏;开机按F8进入安全模式,选择Step by step confirmation后,给出提示“The folowing file is missing or corrupted:c:\windows\ifshlp.sys”

问题解决:

1. 重启,按F8进入安全模式,选择Command Prompt Only(DOS实模式)

2. cd \windows

3. undelete

补充:在命令行下切换到和打开回收站的方法

切换到回收站:cd \$Recycle.Bin,列出文件:dir /A /S

打开回收站:start shell: RecycleBinFolder

合并小视频

问题背景:你在某网站下载了最新的盗版电影准备看却发现,电影被分割成了好几部分,看起来好不方便

问题解决:使用copy /b命令

copy /b show1.mpg+show2.mpg+show3.mpg show.mpg

上面的命令把show1.mpg、show2.mpg和show3.mpg合并成show.mpg文件

清除BIOS/CMOS密码

首先明确,电脑的密码分为BIOS密码和系统用户登陆密码两种,其中BIOS密码虽然可以用第三方软件清除,但是我们从本质上掌握更好

这里,我们在DOS下使用debug.exe这个内置程序

再次说明:这个方法可能对于最新的笔记本无效——始终记住,技术不断更新!但是多掌握一门技能总是没错的

防止非法来客

最讨厌旁人没事乱动自己的电脑又不想明讲,就用批处理吧!

系统假死伪装法

@echo off
echo non-system disk or disk error
choice /c:#/n

效果:系统蓝屏,输入指定字符后恢复正常

说明:choice命令可以提示用户输入一个选择项,根据用户输入的选择项再决定执行具体的过程

常用的选项是/c,用来确定选择集(默认是Y/N),/n则让选择集不可见

花屏假死伪装法

@echo off
:loop for %%i in 80 do echo _
goto loop

效果:雪花屏,在按下ctrl+break后退出

说明:一个简单的for循环而已


网络基础知识杂烩

互联网永远是黑客们的天堂,不为啥就因为它的互联性和匿名性,一台计算机(广义理解,单片机也是计算机,也可以联网那个网络也叫互联网)在联网后你就不是一人在玩耍,而是全球的在线用户陪你一起玩耍!

写得『非常』杂,大家将就下好么XD,关键是思想!

主要围绕着几个关键字展开:网络协议(network protocols)、数据包(network packet)、地址(address),其中地址包括IP地址、MAC地址等,它的功能是定位

这里写图片描述

(图片来自“网络”)

网络层次划分

维基百科英文资料

OSI Standards documents

在介绍之前,先介绍个组织ISO(International System Organization),它发明了一个模型,叫OSI(Open System Interconnection,也有叫ISO参考模型即OSI/RM)——先把这两个名字搞清楚了再讲呗~

OSI模型把计算机通信协议划分为7层(如图)

这里写图片描述

自上而下前三层面向用户,第四层完成数据传输,最下面三层是媒体层;按照上面图片的标号,它们的中文名字分别是:1. 物理层、2, 数据链路层、3. 网络层、4. 传输层、5. 会话层、6. 表示层、7. 应用层

这些层这样工作:下面层向上面层传递服务,上面层接受来自下面层的服务

基于此,有五层TCP/IP协议——合并了面向用户的三层,即把应用层、表示层和会话层合并为一个应用层,四层TCP/IP协议还把数据链路层和物理层合并为一个网络接口层

这里写图片描述

(再次感谢图片来自网络)

物理层(Physical layer)

物理层在比特等级(bit-level)上处理传输任务(传输比特流),并支持连接到物理介质的电气或机械接口进行同步通信,通俗的讲就是传输的数据是通过何种方式,以什么形态传输的

它处理几乎所有的物理连接,如无线传输,布线,布线标准和类型,连接器和类型,网络接口卡等;注意,物理层并不涉及实际的物理介质(如铜线、光纤)

数据链路层和物理层合作提供节点到节点的数据传送(node-to-node data transfer,即将数据从网络上的一个节点传送到下一个节点)

物理层的比特流必然会存在误差,而设置数据链路层目的就是为了在存在差错的物理层的基础上采用差错检测、差错控制和流量控制等方法,将有差错的物理线路改进为无差错的数据链路,向网络层提供高质量的数据传输服务

网络层(Network layer)

背景知识1:在信息技术中,分组(packet)是目前分组交换网络中传输的格式化数据块,是基本的信息传输单位;它和报文(message)不同

背景知识2:路由和路由器:把数据包从一个主机传送到另一个主机的过程称为“路由”,它通常由称为路由器的专用设备执行,数据包是所有现代计算机网络中信息传输的基本单元,并且越来越多地在其他通信网络中

背景知识3:路由表(Routing Information Base)是指路由器或者其他互联网网络设备上存储的一张路由信息表,该表中存有到达特定网络终端的路径,在某些情况下,还有一些与这些路径相关的度量

背景知识4:路由控制(Routing Control)机制由硬件和软件共同组成,它通过与互联网服务提供商(ISP)的连接来监控所有输出流量,并帮助选择有效传输数据的最佳路径

背景知识5:主机是具有IP地址但不能进行路由控制的设备 ,路由器是既有IP地址又能进行路由控制的设备,在互联网中主机和路由器统称为节点(node)

网络层提供将变长数据序列(分组)从一个节点传送到另一个“不同网络”中连接的另一个节点的功能和程序手段

网络层要讨论的问题是分组怎样从一个网络通过路由器转发到另一个网络

网络层中涉及众多的协议,其中包括最重要的协议,也是TCP/IP的核心协议——IP协议

传输层(Transport layer)

传输层提供从源到目标主机传输可变长度数据序列的功能和程序手段,同时保持服务质量功能

传输层和网络层的区别:看这里,感谢形象的解释!

会话层(Session layer)

会话层控制计算机之间的对话(连接),建立在传输层之上,利用传输层提供的服务,使应用建立和维持会话,并能使会话获得同步;会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信;这种能力对于传送大的文件极为重要

会话层的作用总结起来就是负责主机之间的通信、会话的建立,建立和维护会话,并区分不同服务

表示层(Presentation layer)

表示层为在应用过程之间传送的信息提供表示方法的服务,它只关心信息发出的语法和语义

表示层负责数据的表示和加密

应用层(Application layer)

引用层也叫应用实体,它定义了应用数据的抽象语法,相当于层次程序设计语言定义的抽象数据类型

应用层协议定义了运行在不同端系统上的应用程序进程如何相互传递报文

跑在应用的协议列出来确实不少:著名的有DNS、FTP、SMTP、HTTP协议等

这里写图片描述

IP和IP地址

背景知识1:互联网协议蔟(Internet Protocol Suite)和TCP/IP协议蔟(TCP/IP Protocol Suite):这两个概念通常混为一谈,事实上前者包含后者,而因为后者太著名所有我们讲的IP协议蔟通常就是指TCP/IP协议蔟

背景知识2:数据报(datagrams)是通过网络传输的数据的基本单元,包含一个报头(header)和数据本身,其中报头描述了数据的目的地以及和其它数据之间的关系。数据报是完备的、独立的数据实体,该实体携带要从源计算机传递到目的计算机的信息,该信息不依赖以前在源计算机和目的计算机以及传输网络间交换;数据报和报文(message)是不同的,数据报跑在网络层,而报文跑在应用层

背景知识:IP分片(IP fragmentation)原理,指把数据报切分为更小的碎片;所产生的片段可以通过具有比原始分组大小更小的最大传输单元(MTU)的链路;片段由接收主机重新组装(如图)

这里写图片描述

IP(协议)

IP的全称是Internet Protocol(互联网协议),是互联网协议簇中用于跨网络边界中继数据报的主要通信协议;其路由功能可以实现互联,并基本建立互联网

IP的任务是仅根据数据包标头中的IP地址将数据包从源主机传送到目标主机;IP定义封装要传递的数据的数据包结构,它还定义了用于标记具有源和目标信息的数据报的寻址方法

互联网协议负责寻址主机,将数据封装到数据报中(包括分段和重组),并通过一个或多个IP网络将数据报从源主机路由到目标主机;互联网协议定义数据包的格式并提供寻址系统

IP寻址需要为主机接口分配IP地址和相关参数,这些地址空间被划分为不同的子网(subnetworks):关于子网划分,详见下文!

最早的IP叫IPv4,截止2018年4月IPv6已经占到了所有IP地址的20%

IP地址的类型

背景知识1:专用网络(private network,也叫local network)——专用网络是使用专用IP地址空间的网络,IPv4和IPv6规范都定义了专用寻址范围,这些地址通常用于住宅,办公室和企业环境中的局域网(LAN),最初定义专用IP地址空间是为了延迟IPv4地址耗尽,私有网络地址不会分配给任何特定组织,任何人都可以在未经区域互联网注册管理机构批准下使用,但是从它们(专用网络)寻址的IP数据包不能通过公共互联网路由,最常用的专用IP如192.168.1.1,记住一点:专用IP是写给路由器看的;

背景知识2:点分十进制(dotted-decimal notation)用于表示现行IP地址(IPv4),如图

这里写图片描述

背景知识3:路由器、NAT和公共网络地址——路由器是特殊的,因为它们有两个IP地址——为每个路由器的两个“接口”分配一个IP地址,第一个路由器接口称为WAN(广域网)接口;NAT全称是“Network Address Translation”,中文名为“网络地址转换(网路地址解读?)”(不是那个远控程序哈),指网络设备(通常是防火墙)将专用地址分配给专用网络内的计算机(或一组计算机)的过程,可说NAT是让LAN里面的小网络融入到大互联网的的过程,出于经济和安全目的,NAT的主要用途是限制组织或公司必须使用的公共IP地址的数量

一不注意,该写的都写在背景知识里面了……IP地址分为专用IP地址和公共IP地址

新趋势:从IPv4到IPv6

在我写这篇文章时,现在最流行的仍然是IPv4,但是IPv6是趋势

IPv4使用32位bit定义地址,而IPv6使用128位定义地址,一劳永逸

IPv4使用点分十进制表示,如172.16.254.1,而IPv6使用八段四位冒号分割十六进制表示,如2001:db8:0:1234:0:567:8:1

子网掩码和网络划分(针对IPv4)

子网掩码

在线子网掩码计算器:Subnet Calculator(IPv4 Only)

IP地址实际上分为两部分:网络地址(network address)和主机地址(host address),子网掩码的作用就是将它们区分开来,如果需要额外的子网,子网划分还会将IP地址的主机部分划分为子网和主机地址

子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码;子网掩码不能单独存在,它必须结合IP地址一起使用;子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分

它被称为子网掩码,因为它用于通过在网络掩码上执行按位AND操作来识别IP地址的网络地址;子网掩码是通过将网络位设置为全“1”并将主机位设置为全“0”来完成的;子网掩码是一个32位数字,用于屏蔽IP地址,并将IP地址分为网络地址和主机地址;在给定的网络中,两个主机地址被保留用于特殊目的,“0”地址被分配一个网络地址,“255”被分配给一个广播地址,并且它们不能被分配给主机

举个例子:IP地址84.42.58.11,它的二进制01010100 00101010 0011101000001011(A类IP地址),它的网络地址是84.0.0.0,它的主机地址是0.42.58.11(该例子参考Quora

子网掩码的算法

最通俗的算法:先把IP地址换算为二进制,然后数前面有多少个1,那前面这些都是网络位,剩下的就是主机位

TCP/IP协议

TCP/IP协议(Transmission Control Protocol/Internet Protocol),中文名为『传输控制协议/因特网互联协议』,又名『网络通讯协议』,是互联网协议家族中最重要、最基础的协议,由网络层的IP协议和传输层的TCP协议组成,TCP协议补充了最最基础的IP协议,所以人们一般将它们合并起来称为TCP/IP协议

通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址

IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层—TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层

下面主要介绍TCP协议

TCP概述

TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯;TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性;TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度

TCP在通过IP网络进行通信的主机上运行的应用程序之间提供可靠(reliable)、有序(ordered)和错误检查(error-checked)的八位字节流(字节)传送;诸如万维网(World Wide Web)、电子邮件(email)、远程管理(remote administration)和文件传输(file transfer)等主要互联网应用都依赖于TCP

这里写图片描述

TCP的三次握手和四次挥手

参考链接1

参考链接2

TCP的建立连接需要三次握手,TCP的结束连接需要四次挥手

在讲解之前,让我们先看几个名词:1. seq:sequence(序列)、2. ack:acknowledge(确认)、3. syn:synchronize(同步)、4. fin:finally(结束)

这里写图片描述

这里写图片描述

TCP建立:三次握手(3-way handshake);首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了

TCP断开:四次挥手(4-way handshake);可以看成是两阶段的2-way handshake,第一阶段Client端发送FIN给Server端,Client端变成FIN_WAIT2状态,第二阶段Server端向Client端发送FIN,在Client端接收到后发送ACK给Server端并断开连接

理解数据包

背景知识1:分组交换原理(参考英文维基百科),分组交换是一种将通过数字网络传输的数据分组为由报头和有效载荷构成的分组的方法;网络硬件使用报头中的数据将数据包定向到应用软件提取并使用有效负载的目的地;分组交换是全球计算机网络中数据通信的主要基础

背景知识2:带宽(bandwidth)是给定路径上数据传输的最大速率;带宽可以表征为网络带宽(network bandwidth)、数据带宽(data bandwidth)、或数字带宽(digital bandwidth)

网络数据包(network packet)是由分组交换网络携带的格式化数据单元

一个数据包由控制信息(control information)和用户数据(user data)组成用户数据也称为有效载荷(payload,理解为“part of the load that pays for transportation”)

这里写图片描述

控制信息提供用于传递有效载荷的数据,如源和目标网络地址、错误检测代码和排序信息;通常控制信息在数据包头部(headers)和尾部(trailers)中找到

这里写图片描述


IPC$入侵:国人广泛使用的黑客手段

你去Google搜“what is IPC$ attack”,第一条就是

这里写图片描述

呵呵,既然这么流行,作为中国人不会IPC$攻击就说不过去了……

什么是IPC$入侵

参考百度文库

参考英文文献

背景知识:1. IPC$、2. 空会话(null session)

“用过Windows 2000的人都知道,Windows 2000的默认安装允许任何用户通过空用户连接(IPC$)得到系统所有账号和共享列表,这本来是为了方便局域网用户共享资源和文件的,但是任何一个远程用户都可以利用这个空的连接得到你的用户列表”——摘自「百度百科」

IPC$(Inter-Process Communication Share)是共享命名管道资源,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用

当用户没有使用用户名或者密码来与windows系统建立连接时就会出现空会话,这种类型的连接不能进行任何典型的windows共享,但是可以进行进程间通信(IPC)管理共享

IPC$和空会话行为存在于Windows 7、Windows Server 2008 R2、Windows Vista、Windows Server 2008、Windows XP和Windows Server 2003

IPC$共享链接本身不是漏洞,说漏洞的是$IPC服务引发的“空会话漏洞”,为了方便统一称为“IPC$漏洞”

这个网上教程有很多,如果看不懂多找几篇看看然后就懂了

IPC$入侵实战

net use […]命令及其相关命令

1. 建立空连接
net use \\IP\ipc$ “” /user:”“

2. 建立非空连接
net use \\IP\ipc$ “密码” /user:”用户名”

3. 映射默认共享
net use z: \\IP\c$ “密码” /user:”用户名”:将对方的C盘映射为自己的Z盘

4. 删除一个IPC$连接
net use \\IP\IPC$ /del

5. 删除共享映射
net use c: /del:删除映射的C盘
net use * /del:删除全部映射,会有提示按y确认

6. 映射远程共享
net use z: \\IP\name:将共享名为name的共享资源映射到Z盘

7. 删除一个已经建立的IPC$连接
net use \\IP\IPC$ /del

IPC$入侵模式

模式是什么?模式就是套路!套路就表明它有章法可循!

这里网上有现成的教程,我直接给出链接好了:CMD下的IPC$入侵

另外这篇文章也会帮到你:连上IPC$后我能做什么

然后说几点我自己的心得:1. 首先建立$IPC连接不一定成功,前提是对方必须开启了否则免谈,2. 开启IPC$共享的CMD命令:net share IPC$,3. 查看本机开启的所有共享项目(看看是否包含了IPC$共享,如果没有就先开了再讲):net share,4. 在入侵前先检测对方是否开启了IPC$连接:net use \\IP\IPC$”” /user:”“(建立一个空连接,如果连接成功则说明对方电脑开放了远程IPC$

最后,如何防范这个漏洞呢?我们可以修改注册表:CMD输入regedit找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa,将RestrictAnonymous的值改为1即可

或者在控制面板 -> 管理工具 -> 服务找到Server,选择停止Server服务即可(这样的副作用是也禁用了LAN内的文件共享等服务)

猜你喜欢

转载自blog.csdn.net/abc_12366/article/details/80844992