为了使用可以dcom意外终止系统重启解决办法并重启集群中的所有守护进程的控制脚本,应使用下列选项中的

  电脑开机10分钟左右就会出現DCOM Server Process Launcher服务意外dcom意外终止系统重启解决办法,Windows必须重新启动的消息,还有一分钟倒计时提示然后电脑自动关机。启动电脑后桌面出现大量自巳没有安装过的软件图标。

  电脑出现这种情况可以肯定应该是中招了个人感觉是一种类似于震荡波或冲击波的,恶意推广木马病毒下面的解决办法,希望对您有所帮助!

  1、最彻底的解决办法就是格式化C盘重装系统。

  2、可以尝试使用的手动删除方法

第一步、先让电脑不再自动关机设置方法为:

  打开系统服务,找到DCOM Server Process Launcher服务双击打开该服务属性,在服务属性界面转到“恢复”选项卡,将苐一次失败第二次失败,后续失败设置成“不操作”后确定

第二步、中恶意推广类木马病毒关键是找到静默安装的引导程序,不想重裝系统那就要用您的杀毒软件查杀电脑病毒,之后清除

}

近日FireEye 安全公司的高级逆向工程團队(FLARE)发布了一份标题为《 WMI 攻击,防御与取证分析技术 》的 PDF 文档该文档页数多达 90 页,文档内容主要从攻击防御和取证分析这三个角喥分篇对 WMI 技术做了详细的描述。其中不乏有很多值得学习思考的地方于是,我利用业余时间翻译整理了此文档拿出来与大家共分享 :),如有纰漏望各位不吝赐教。

为了对原文档内容进行全面的翻译和解读我按照文章的分析角度对原文档进行了分段式的翻译,本篇文嶂是分段式里面的第一篇其余两篇译文的标题分别为:

  • 《 WMI 的攻击,防御与取证分析技术之防御篇 》
  • 《 WMI 的攻击防御与取证分析技术之取證分析篇 》

远程传输 WMI 数据

部分 WMI 对象包括可执行的方法。例如攻击者进行横向运动时执行的一个常用方法是在 Win32_Process 类中的静态 Create 方法,此方法可鉯快速创建一个新的进程另外, WMI 提供了一个事件系统使用户可以使用注册事件处理函数进行创建,修改或删除任何 WMI 对象实例

图 1 提供叻微软实现 WMI 的一个高级别概述以及微软实现的组件和实现的标准之间的关系。

图 1: WMI 体系结构的高级别概述


WMI 代表着大多数与操作系统信息以及鉯对象的形式操作有关的数据一个 WMI 对象是高度结构化定义的信息被如何表示的类的实例。在 MSDN 上有很多常用的 WMI 类的详细介绍。例如常見的、有据可查的 WMI 类是 Win32_Process。还有很多未文档化的 WMI 类幸运的是,所有的 WMI 类都可以使用 WMI 查询语言 (WQL) 进行查询

WMI 类的命名空间的层次结构非常类似於传统的,面向对象的编程语言的命名空间所有的命名空间都派生自根命名空间,在用脚本语言查询对象并未显式指定命名空间时微軟使用 ROOT\CIMV2 作为默认的命名空间。在下面的注册表项中包含所有 WMI 设置也包括已定义的默认命名空间:

可以使用下面的 PowerShell 代码递归查询所有的 WMI 类和咜们各自的命名空间。

我们在 Windows 7 系统上测试后发现已经有 7950 个 WMI 类这意味着有大量的操作系统数据可被检索。

下面是由上述脚本执行后返回的唍整 WMI 类路径的一部分结果:


WMI 提供了一种简单的语法用于查询 WMI 对象实例、 类和命名空间 — —

有三种类别的 WQL 查询:

类库在 和 F# 语言编写与 WMI 交互的程序。在后续的示例中这些类将用于在 PowerShell 代码中补充现有的 WMI/CIM cmdlet。

wmic 是一个简单的 Linux 命令行实用工具用于执行 WMI 查询。wmis 是 Win32_Process 类的 Create 方法的远程调用命令荇包装程序并且支持使用 NTLM 哈希进行连接远程计算机,因此 wmis 已经被渗透测试人员大量使用。


虽然可以与本地的 WMI 进行交互但是通过网络財能显示出 WMI 的真实能量。目前由于 DCOM 和 WinRM 这两个协议的存在,将使得远程对象的查询事件注册, WMI 类方法的执行以及类的创建都能够被支歭。

这些协议看起来非常有利于攻击者因为大多数组织机构和安全供应商一般不审查这些恶意活动所传输的内容。攻击者需要有效的利鼡远程 WMI 则需要有特权用户的凭据在 Linux 平台中的 wmis-pth 实用工具,则需要的是受害者的用户的哈希

分布式组件对象模型 (DCOM)

从 DCOM 出现以来它一直是 WMI 所使鼡的默认协议,通过 TCP 的 135 端口建立初始连接后续的数据交换则使用随机选定的 TCP 端口。可以通过 dcomcnfg.exe 并最终修改下面的注册表项来配置此端口的范围:

默认情况下WinRM 服务监听的 TCP 端口是 5985 (HTTP),并且在默认情况下是加密的还可以配置证书使其支持 HTTPS ,此时监听的 TCP 端口为 5986


从攻击者或防禦者的角度来看, WMI 最强大的功能之一就是对 WMI 事件的异步响应的能力除了少数例外,WMI 事件几乎可以用于对操作系统的任何事件作出响应唎如,WMI 事件可能用于触发一个进程创建的事件这种机制可随后被用作在任何 Windows 操作系统上执行命令行审计。

有两类 WMI 事件 —— 它们都运行在夲地的单个进程和 WMI 永久事件订阅的上下文中本地事件可以维持宿主进程的生存期,尽管 WMI 永久事件订阅存储在 WMI 存储库中但是作为 SYSTEM 权限运荇后依旧可以在重新启动之后继续持续运行。

要安装一个永久事件订阅下面三件事情是必须要做的:

1.事件筛选器 —— 筛选出感兴趣的事件
2.事件消费者 —— 要在事件被触发时执行的操作
3.消费者绑定筛选器 — — 将筛选器绑定到消费者的注册机制

事件筛选器描述了感兴趣的事件並且执行了 WQL 事件查询。一旦系统管理员配置了筛选器他们就可以使用它在创建新的事件时接收到通知。举一个例子事件筛选器可能用於描述以下一些事件:

  • 创建一个具有特定名称的进程
  • 将 DLL 加载到进程中
  • 创建具有特定 ID 的事件日志
  • 创建、修改、删除任何文件或目录

内部事件表礻的是创建、修改和删除任何 WMI 类,对象或命名空间的事件它们也可被用于计时器或 WMI 方法执行的警报。以下内部事件采用了系统类 (以两个丅划线开头的那些) 的形式并存在于每一个 WMI 命名空间:

这些事件的作用非常强大,因为它们可以被用于在操作系统中几乎任何可以想见的事件的触发器例如,如果触发了一个基于交互式登录的事件则可以形成下面的内部事件查询:

此查询被转换为创建一个登录类型为 2 (交互式)的 Win32_LogonSession 类的一个实例

由于触发的内部事件有一定的频率,所以必须在 WQL 查询语句的 WITHIN 子句中指定事件轮询间隔这就是说,它有时可能错过事件例如,如果事件查询的形式目的是创建 WMI 类的实例如果该实例的创建和销毁 (如常见的一些进程 —— Win32_Process 实例) 在轮询间隔内,那么则会错过這一事件创建内部 WMI 查询时,必须考虑这种可能出现的情况

外部事件解决了和内部事件有关的潜在的轮询问题,因为它们在事件发生时竝刻被触发然而美中不足的是在 WMI 中并没有太多的外部事件,不过所有已经存在的外部事件的作用很强大,性能也很高下面的外部事件对于攻击者和防御者来说可能是有用的:

以下外部事件查询形式可以用来捕获每一个进程已加载的所有可执行模块(用户模式和内核模式):

事件消费是一个派生自 __EventConsumer 系统类的类,它表示了在事件触发时的动作系统提供了以下有用的标准事件消费类:

攻击者在响应他们的倳件时,大量使用 ActiveScriptEventConsumer 和 CommandLineEventConsumer 类这两个事件消费者为攻击者提供了极大的灵活性去执行他们想要执行的任何 payload 并且无需写入一个恶意的可执行文件戓脚本到磁盘。

恶意的 WMI 持久化示例

图 5 中的 PowerShell 代码是修改过的存在于 恶意软件家族中的 WMI 持久性代码实例该事件筛选器取自 PowerSploit 的持久性模块,目嘚是在系统启动后不久触发事件消费者只需执行一个具有系统权限的可执行文件。图 5 中的事件筛选器在系统启动后的 200 和 320 秒之间被当作一個触发器在事件被触发时事件消费者会执行已指定好的可执行文件。通过指定筛选器和一个


在攻击者的各个阶段的攻击生命周期中WMI 都昰极其强大的工具。系统提供了丰富的 WMI 对象、方法和事件它们的功能极其强大,可以执行很多东西从系统侦察、反病毒、虚拟机检测、代码执行、横向运动、隐蔽存储数据到持久性。它甚至可以打造一个纯粹的 WMI 后门且无需写入文件到磁盘
攻击者使用 WMI 有很多优势:

  • 对于執行代码,它可以隐蔽的运行 PSEXEC
  • WMI 永久事件订阅是作为系统权限运行的。
  • 防御者通常没有意识到 WMI 可以作为一个多用途的攻击向量
  • 几乎每一個系统操作都能够触发一个 WMI 事件。
  • 除了在 WMI 存储库中存储之外不会对磁盘进行任何操作

以下列表显示了几个如何使用 WMI 在攻击的各个阶段执荇操作的例子。

许多恶意软件操纵者和渗透测试人员所做的第一件事情就是系统侦察 WMI 包含有大量的类可以帮助攻击者去感知他们的目标嘚环境。
下面的 WMI 类是在攻击的侦察阶段可以收集数据的子集:

一个 WMI 客户端可以通过执行下面的 WQL 查询示例来获取已安装的 AV 产品:

通用的虚拟机/沙盒检测

恶意软件可以使用 WMI 对通用的虚拟机和沙盒环境进行检测例如,如果物理内存小于 2 GB 或者是单核 CPU 那么很可能操作系统是在虚拟机中運行的。

WQL 查询示例如下:

图 6 显示了使用 WMI 和 PowerShell 对通用的虚拟机进行检测的操作:

下面的查询示例试图查找 VMware 字符串是否出现在某些 WMI 对象中并且检查 VMware tools 的守护进程是否正在运行:

Win32_Process 类包含一个名为 Create 的静态方法它可以在本地或远程创建进程。这种情况下 WMI 就等同于运行 psexec.exe 一样只是没有了不必要的取证操作,如创建服务下面的示例演示了在远程机器上执行进程:

一个更切实可行的的恶意使用案例是调用 Create 方法并且使用 powershell.exe 调用包含嵌入的恶意脚本。

实现代码执行的另外一个方法是创建一个 WMI 永久事件订阅通常情况下, WMI 永久事件订阅被设计为对某些事件持续的做出響应然而,如果攻击者想要执行一个 payload 他们可能只需要配置事件消费者去删除其相应的事件筛选器、消费者和绑定到消费者的筛选器。這种技术的优点是 payload 是作为系统进程运行的并且避免了以明文方式在命令行审计中显示 payload例如,如果采用了一个

作为攻击者为了使用这个類作为攻击向量,将会遇到的挑战是去选择一个智能的事件筛选器如果他们只是想要在几秒钟后触发运行 payload,那么可以使用 __IntervalTimerInstruction 类攻击者可能会选择在用户的屏幕锁定后执行 payload,在这种情况下可以使用外部的 Win32_ProcessStartTrace 事件作为创建 LogonUI.exe 的触发器。攻击者可以在他们选择的一个适当的事件筛選器中获得创意

攻击者巧妙的利用了 WMI 存储库本身作为一种来存储数据的手段。其中一种方法是可以通过动态创建 WMI 类并可以将任意数据存儲作为该类的静态属性的值图 8 演示了将一个字符串存储为静态的 WMI 类属性的值:

前面的示例演示了创建本地的 WMI 类。然而也有可能可以创建远程的 WMI 类,这个将会在下一节进行说明远程的创建和修改类的能力将使攻击者能够存储和检索任意数据,并将 WMI 变成 C2 的有效通道

这取決于攻击者决定他们想用 WMI 存储库中存储的数据来做什么。接下来的几个例子阐述了攻击者如何利用此攻击机制的几个切实可行的例子

使鼡 WMI 作为一种来存储和检索数据的机制,同样也可以使得 WMI 能作为一个纯粹的 C2 通道这种使用 WMI 的聪明想法是由 Andrei Dumitrescu 在他 工具中被首次公开——利用創建和修改 WMI 的命名空间作为 C2 的通道。

实际上还有很多 C2 暂存机制可以采用 如刚才讨论过的 WMI 类的创建。同样也有可能使用注册表进行数据转儲作为 WMI C2 的通道下面的示例演示了一些利用 WMI 作为 C2 通道的 POC 代码。

图 9 演示了如何远程创建 WMI 类来存储文件数据之后可以远程使用 powershell.exe 将该文件数据寫入到远程文件系统。

图 10 演示了如何使用注册表来收取 PowerShell 命令的结果此外,许多恶意工具试图捕捉只是将输出转换为文本的 PowerShell 命令的输出夲示例利用了 PowerShell 对象序列化和反序列化方法来保持目前在 PowerShell 对象中丰富的类型信息。


提供程序是 WMI 的主干部分几乎所有 WMI 类以及他们各自的方法嘟是在提供程序中实现的。提供程序是一个用户模式的 COM DLL 或者是一个内核驱动程序每个提供程序都具有各自的 CLSID 用于在注册表中区别相关联嘚 COM 。此 CLSID 用于查找实现该提供程序的真正的 DLL 此外,所有已注册的提供程序都有各自的 __Win32Provider WMI 类实例例如,请思考以下已注册的处理注册表操作嘚 WMI 提供程序:

恶意的 WMI 提供程序

WMI 提供程序仅用来向用户提供合法的 WMI 功能因此,恶意的 WMI 提供程序就可以被攻击者用于扩展 WMI 的功能

提供程序作為一种有效的持久性机制,它允许攻击者远程执行代码只要攻击者拥有有效的用户凭据。

}

会先找本机的host文件,再找本地設置的DNS服务器如果也没有的话,就去网络中找根服务器根服务器反馈结果,说只能提供一级域名服务器.cn就去找一级域名服务器,一級域名服务器说只能提供二级域名服务器..cn就去找三级域名服务器,三级域名服务器正好有这个网站然后发给请求的服务器,保存一份の后再发给客户端

  1. web优化,比如可以把用户请求合并(js、css合并)使用cdn加速静态页访问速度,把图片文档压缩减少带宽传输

  1. 使用简单并苴稳定的架构方案

95.在不umount的情况下,如何重新设置mount的参数

  1. 说一下公司多少台服务器,是什么架构

97.提高性能和并发数需要优化哪些内核参數

net.ipv4.tcp_max_orphans = 262144 //系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上。如果超过这个数字孤儿连接将即刻被复位并打印出警告信息。这个限制仅仅是为了防止简单的DoS攻击不能过分依靠它或者人为地减小这个值,更应该增加这个值(如果增加了内存之后)

net.ipv4.tcp_synack_retries = 1 //为了打开对端的连接,内核需要发送一个SYN 并附带一个回应前面一个SYN的ACK也就是所谓三次握手中的第二次握手。这个设置决定了内核放弃连接之前发送SYN+ACK 包的数量

98.如何查看当前linux系统的状态如cpu使用,内存使用负载情况,看到swap使用量大时是不是意味着物理内存已不够用?

答案:top命令就可以看cpu使用、内存使用以及负载情况当swap使用率大时,不一定是内存不够如果swap容量固定不变,那内存就不是瓶颈用vmstat 1命令看,si so两列的数值在不断变囮时内存就不够了。

  1. 如何修改ip主机名DNS?
}

我要回帖

更多关于 怎么让电脑停止重启 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信