• WMI了解


    什么是WMI

       WMI就是Windows Management Instrumentation(Windows管理规范)。它是Windows中的一个核心管理技术。
       WMI是一项核心的Windows管理技术,WMI作为一种规范和基础结构,通过它可以访问、配置、管理和监视几乎所有的Windows资源,是Microsoft基于Web的企业管理(WBEM)和 Desktop Management Task Force(DMTF)工业标准的实现。就是一种基于标准的系统管理的开发接口,这组接口用来控制管理计算机。它提供了一种简单的方法来管理和控制系统资源。
       WMI 为访问大量的 Windows 管理数据和方法的提供了一个统一的机制。WMI通过脚本、C++程序接口、.NET类(系统管理)和命令行工具(WMIC)提供了对这个信息的访问。WMI的功能还包括事件、远程、查询、查看、计划和实施用户扩展及更多内容。

    WMI对很多人都有用:
        管理员可使用 WMIC 的命令行管理能力。
        脚本程序员可使用 WMI 脚本来自动进行任务管理。
        通过编写一个 WMI 支持程序,系统开发人员可使用 WMI 发布他们的检测工具。
        通过编写一个 WMI 支持程序,应用程序开发人员可使用WMI发布他们的应用程序管理检测工具。
        使用丰富的查询和事件特性,管理应用程序(如监视器)的开发人员可使用WMI访问Windows工具。

        注:Windows 资源 — 例如磁盘、事件日志、文件、文件夹、文件系统、网络组件、操作系统设置、性能数据、打印机、进程、注册表设置、安全性、服务、共享、用户、组等等。



    WMI入侵

        从WMI本来的功能看,它是为了让计算机的管理更容易,同时方便管理员远程操作系统而产生的,那么它又怎么会为“菜鸟”级的入侵者提供方便呢?
        一般情况下,在本地计算机上执行的WMI操作也可以在远程计算机上执行,只要用户拥有该计算机的管理员权限。如果用户对远程计算机拥有权限并且远程计算机支持远程访问,那么用户就可以连接到该远程计算机并执行拥有相应权限的操作。
        WMI能够成为远程控制下的一个合法通道,有了这个通道,入侵者不需要对自己进行伪装,不必再为探测出对方账号的密码为空后,找不到连接对方系统的通道而发愁。只要进行简单几个步骤就可以轻易地入侵到别人的电脑中。下面,我们就来看看,到底该如何利用WMI通道。

    WMI被利用为虎作伥
    在网上,有很多利用WMI的小工具,这里我们就以rots.vbs工具进行简单的演示,看一个“菜鸟”黑客如何轻易地入侵。
    1.扫描135端口
       要寻找可以通过WMI入侵的远程计算机,只要对135端口进行扫描就可以了。因为WMI服务默认打开的就是135端口。我们本次实例采用的是 NTscan扫描工具,因为它不但可以对IPC$、SMB、WMI这些信息进行扫描,同时还可以对扫描到的远程账户进行弱口令猜测,功能相对来说比较强大。
       运行NTscan,在程序窗口的“配置”区域中进行设置。首先在“起始IP”和“结束”选项中输入扫描的IP地址范围,接着选择“WMI扫描”选项,并且在“扫描打开端口的主机”选项后输入“135”,最后点击“开始”按钮就开始进行扫描。

    2.开启终端服务
        找到可以入侵的远程计算机以后,就可以开始入侵操作了。首先使用的工具是一个名为rots.vbs的脚本程序,通过它可以开启远程计算机的终端服务。脚本会自动判断目标系统类型,如果不是Windows 2000 Server及以上版本的系统,脚本就会提示是否要取消操作。因为Windows 2000 Pro以下版本不能安装终端服务。
        然后是开启终端服务。开启工具的使用方法非常简单,命令格式为:cscript rots.vbs <目标IP> <用户名> <密码> [服务端口] [自动重启选项]
        其中,[服务端口]和[自动重启选项]为可选参数,默认情况下,程序开启的终端服务端口为3389,如果用户需要修改,在[服务端口]选项中填入你要的端口即可,而[自动重启选项]选项则是在开启终端服务以后重启系统用的。
        举个例子:cscript.exe rots.vbs 192.168.0.6 Administrator "" 4466 /r
        上面这段实例的意思是开启192.168.0.6这台远程计算机的终端服务,并且将端口更改为4466,服务安装完成后自动重启。

    屏闭135端口防御入侵
        从上面的介绍大家都可以看出,整个过程中使用的端口都是135。所以为了防止别人通过WMI进行入侵,我们可以使用防火墙对135端口进行屏蔽,这样就可以达到防范类似的入侵。用户加强自己的账号密码强度,也可以有效防范入侵。
        关闭135端口的方法
        我们使用到十六进制的编辑器,比如:WINHEX、UltraEdit等软件。运行UltraEdit,通过工具栏上的“打开文档”按钮找到系统 SYSTEM32文件夹下的rpcss.dll。接着点击“搜索”菜单中的“查找”命令,在弹出的窗口中查找“3100330035”这个字符串,找到后将它替换为“3000300030”,并另存为其他的文件目录中,建议保存在C盘根目录下。
        重新启动系统,用启动盘启动到DOS状态下,进入C盘后运行:copy rpcss.dll c:"windows"system32"rpcss.dll,然后重新启动计算机,就会发现135端口已经被关闭。
        使用网络防火墙也可以通过端口限制的手段进行屏蔽135端口。我们以天网网络防火墙为例。打开天网防火墙界面,依次点击“IP规则管理→增加规则 ”,然后在弹出的窗口界面中,在数据包方向中选择“接收或者发送”,在数据包类型中选择“TCP”,最后在本地端口中输入“135”,然后就是确定退出,最后保存规则即可。以后如果有数据从135端口进行传输,天网就会自动进行拦截。

  • 相关阅读:
    C# 序列化与反序列化之DataContract与xml对子类进行序列化的解决方案
    C# 序列化与反序列化之Binary与Soap无法对泛型List<T>进行序列化的解决方案
    大端小端存储方案
    C# 序列化与反序列化Serialization之Json Xml Binary Soap JavaScript序列化
    C# ctpclient networkstream 使用 BinaryReader的ReadString但是使用streamReader的Readtoend不行
    C# TcpListener TcpClient
    C# System.Net.Mail.MailMessage 发邮件
    C# System.Web.Mail.MailMessage 发邮件
    离线环境下使用二进制方式安装配置Kubernetes集群
    Kubernetes基础:查看状态、管理服务
  • 原文地址:https://www.cnblogs.com/scottckt/p/1265238.html
Copyright © 2020-2023  润新知