Windows远程执行
Windows远程执行
前言
1、在办公环境中,利用系统本身的远程服务进行远程代码执行甚至内网穿透横向移动的安全事件是非常可怕的,因此系统本身的一些远程服务在没有必要的情况下建议关闭,防止意外发生;
2、作为安全人员,了解远程执行的方法或者原理对于防范或者事件监控也都是很有必要的;
以下只是一些简单的示例,如有不对的地方,请大家指正,我会立马修改!!!
一、利用powershell 远程执行
1、通过winrm服务进行远程操作
Get-Service WinRM ##查看winrm状态
Enable-PSREmoting -Force ##启用配置系统接收远程命令
防火墙规则也会多出监听端口
如果计算机已经加入了域,直接可以发起连接,若没有需要先做一步信任设置,然后重启winrm服务
A连接B 需要在A上面设置信任B
set-item wsman:\localhost\client\trustedhosts B主机ip ##信任设置
Restart-Service WinRM ##重启winrm服务
get-item wsman:\localhost\client\trustedhosts ##查看信任ip
clean-item wsman:\localhost\client\trustedhosts ##去掉信任ip
测试远程连接
powerShell 还提供了一个命令用来测试远程主机是否开启了远程操作服务:
test-wsman 主机IP地址
创建远程连接 Session
enter-pssession -computername 主机IP -credential 主机用户名
已连接 且B主机无感知 可执行命令
Exit-PSSession 退出连接
2、自动化脚本
命令被执行了,但缺陷也很明显:需要用户输入密码,因此无法被写到脚本中进行自动化操作
使用如下办法就可以实现脚本自动化
$Username = 'xxxx'
$Password = 'yyyy'
$pass = ConvertTo-SecureString -AsPlainText $Password -Force
$Cred = New-Object System.Management.Automation.PSCredential -ArgumentList $Username,$pass
Invoke-Command -ComputerName cd-lsr-svr -ScriptBlock { Get-Service WinRM } -credential $Cred
3、远程执行多个命令
有时候我们需要连续执行多个有关联的命令,比如后一条命令会用到前一条命令的结果。此时再使用上面的方法就不行了。需要通过 session 来处理命令之间的联系;
Invoke-Command -ComputerName myserver -ScriptBlock {$p = Get-Process PowerShell}
Invoke-Command -ComputerName myserver -ScriptBlock {$p.VirtualMemorySize}
$s = New-PSSession -ComputerName myserver
Invoke-Command -Session $s -ScriptBlock {$p = Get-Process PowerShell}
Invoke-Command -Session $s -ScriptBlock {$p.VirtualMemorySize}
当我们直接执行前两个命令时,由于第二个命令中的 $p 没有值,所以不能获得结果。最后两行的命令是通过同一个 session 执行的,所以它们可以共享变量,并最终获得结果;
4、远程拷贝文件
$mySession = new-PSSession -ComputerName xxxxxx
Copy-Item -Path .\task.ps1 -Destination C:\task.ps1 -ToSession $mySession
上面的命令把本地当前目录下的 task.ps1 文件拷贝到远程主机 xxxxxx 的 C 盘根目录下。注意 Copy-Item 命令使用了一个 Session 对象作为参数,这个参数的名称为 ToSession。其实文件传递的方向就是由这个参数决定的:使用 ToSession 会把本地的文件传递到远程主机;使用 FromSession 则会把远程主机上的文件传递到本机;
$mySession = new-PSSession -ComputerName xxxxxx
Copy-Item -Path .\PowerShell -Destination C:\PowerShell -ToSession $mySession -Recurse
注意目录拷贝操作要加上 Recurse 参数;
上面的两个操作分别是把一个文件和一个目录拷贝到远程的主机上,接下来我们要把远程主机上的文件或文件夹拷贝到本机来:
$mySession = new-PSSession -ComputerName xxxxxx
Copy-Item -Path C:\task.ps1 -Destination F:\temp\task.ps1 -FromSession $mySession
Copy-Item -Path C:\PowerShell -Destination F:\temp -FromSession $mySession -Recurse
注:语言模式会影响powershell文件远程拷贝命令执行,需要将目的机器改为FullLanguage模式
$ExecutionContext.SessionState.LanguageMode = "FullLanguage"
$mySession = new-PSSession -ComputerName xxxxxx
Copy-Item -Path .\task.ps1 -Destination C:\task.ps1 -ToSession $mySession ##拷贝本地文件到目的机器
Copy-Item -Path .\PowerShell -Destination C:\PowerShell -ToSession $mySession -Recurse ##拷贝本地目录到目的机器
Copy-Item -Path C:\task.ps1 -Destination F:\temp\task.ps1 -FromSession $mySession ##拷贝目的机器文件到本地
Copy-Item -Path C:\PowerShell -Destination F:\temp -FromSession $mySession -Recurse ##拷贝目的机器目录到本地
二、利用schtasks 远程执行
1、传输文件到目标服务器
首先确保受控端开启smb服务(445端口开放)
建立IPC连接
2、创建计划任务运行后删除
SCHTASKS /Create /S 192.168.17.130 /U Administrator /P "######" /SC ONCE /ST 11:00 /TN test1 /TR c:\cmd.exe /RU system
因为防火墙规则并没有开通 文件和打印机共享的rpc-epamp规则 只开了139,445端口
rpc-epmap程序服务用于RPCSS服务的入站规则,以允许后台打印程序服务的RPC/TCP通信
启用规则之后 便可以远程创建定时
查看是否执行成功
此计划任务是建立一个用户
删除计划任务
三、利用wmic 远程执行
- 需要远程系统启动 Windows Management Instrumentation 服务,开放135端口
- 远程系统的本地安全策略的“网络访问: 本地帐户的共享和安全模式”应设为“经典-本地用户以自己的身份验证
- wmic 会以管理员权限在远程系统上执行命令
- 防火墙开启将无法连接
- 如果报错 “Invalid Global Switch” ,用双引号把包含
-
的结点括起来即可正常执行。
C:\Users\Administrator>wmic /node:192.168.17.131 /user:administrator /password:****** process call create "cmd.exe /c net user test1 westos /add && net localgroup administrators test1 /add"
执行(Win32_Process)->Create()
方法执行成功。
外参数:
instance of __PARAMETERS
{ReturnValue = 9;
};C:\Users\Administrator>wmic /node:192.168.17.131 /user:administrator /password:****** process call create c:\cmd.exe
执行(Win32_Process)->Create()
方法执行成功。
外参数:
instance of __PARAMETERS
{ProcessId = 8488;ReturnValue = 0;
};C:\Users\Administrator>wmic /node:192.168.17.131 /user:administrator /password:****** process call create "cmd.exe /c net user test1 westos /add"
执行(Win32_Process)->Create()
方法执行成功。
外参数:
instance of __PARAMETERS
{ProcessId = 8632;ReturnValue = 0;
};
返回值为0代表执行成功
总结
1、对于powershell的远程执行,建议用户没有必要的情况下关闭winrm服务,安全人员可检测监控此服务进程是否开启,监控 enter-pssession,Invoke-Command,new-PSSession,Copy-Item等命令执行;
2、对于schtasks的远程执行,建议用户没有必要的情况下关闭smb服务,安全人员可检测监控此服务端口是否开启,监控 net.exe,net1.exe,SCHTASKS等命令执行
3、对于wmic的远程执行,建议用户用户没有必要的情况下关闭Windows Management Instrumentation 服务(135端口),安全人员可检测监控此服务端口是否开启,监控wmic等命令执行;
相关文章:

Windows远程执行
Windows远程执行 前言 1、在办公环境中,利用系统本身的远程服务进行远程代码执行甚至内网穿透横向移动的安全事件是非常可怕的,因此系统本身的一些远程服务在没有必要的情况下建议关闭,防止意外发生; 2、作为安全人员࿰…...

AJAX —— 学习(一)
目录 一、原生 AJAX (一)AJAX 介绍 1.理解 2.作用 3.最大的优势 4.应用例子 (二)XML 介绍 1.理解 2.作用 (三)AJAX 的特点 1.优点 2.缺点 二、HTTP 协议 (一)HTTP 介…...

Activity——idea(2020以后)配置actiBPM
文章目录 前言jar下载idea 安装本地扩展插件 前言 2020及之后版本的idea中,未维护对应的actiBPM扩展插件。如果需要安装该插件,则需要使用本地导入 jar的方式。 jar下载 访问官方网站,搜索对应的actiBPM扩展插件。 https://plugins.jetbra…...

MyBatis——配置优化和分页插件
MyBatis配置优化 MyBatis配置文件的元素结构如下: configuration(配置) properties(属性) settings(设置) typeAliases(类型别名) plugins(插件)…...

[蓝桥杯 2013 省 B] 翻硬币
[蓝桥杯 2013 省 B] 翻硬币 题目背景 小明正在玩一个“翻硬币”的游戏。 题目描述 桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零),比如可能情形是 **oo***oooo,如果…...

[BT]BUUCTF刷题第13天(4.1)
第13天 Upload-Labs-Linux (Basic) Pass-01 根据题目提示,该题为绕过js验证。 一句话木马: <?php eval(system($_POST["cmd"]));?> // 符号 表示后面的语句即使执行错误,也不报错。 // eval() 把括号内的字符串全部…...

特别详细的Spring Cloud 系列教程1:服务注册中心Eureka的启动
Eureka已经被Spring Cloud继承在其子项目spring-cloud-netflix中,搭建Eureka Server的方式还是非常简单的。只需要通过一个独立的maven工程即可搭建Eureka Server。 我们引入spring cloud的依赖和eureka的依赖。 <dependencyManagement><!-- spring clo…...

Day108:代码审计-PHP模型开发篇MVC层动态调试未授权脆弱鉴权未引用错误逻辑
目录 案例1-Xhcms-动态调试-脆弱的鉴权逻辑 案例2-Cwcms-动态调试-未引用鉴权逻辑 案例3-Bosscms-动态调试-不严谨的鉴权逻辑 知识点: 1、PHP审计-动态调试-未授权安全 2、PHP审计-文件对比-未授权安全 3、PHP审计-未授权访问-三种形态 动态调试优点: 环境配置&…...

重读Java设计模式: 桥接模式详解
引言 在软件开发中,经常会遇到需要在抽象与实现之间建立连接的情况。当系统需要支持多个维度的变化时,使用传统的继承方式往往会导致类爆炸和耦合度增加的问题。为了解决这一问题,我们可以使用桥接模式。桥接模式是一种结构型设计模式&#…...

新规解读 | 被网信办豁免数据出境申报义务的企业,还需要做什么?
为了促进数据依法有序自由流动,激发数据要素价值,扩大高水平对外开放,《促进和规范数据跨境流动规定》(以下简称《规定》)对数据出境安全评估、个人信息出境标准合同、个人信息保护认证等数据出境制度作出优化调整。 …...

fakebook-攻防世界
题目 先目录扫描一下 dirseach 打开flag.php是空白的 访问robots.txt,访问user.php.bak <?php class UserInfo { public $name ""; public $age 0; public $blog ""; public function __construct($name, $age, $blog) { …...

mynet开源库
1.介绍 个人实现的c开源网络库. 2.软件架构 1.结构图 2.基于event的自动分发机制 3.多优先级分发队列,延迟分发队列 内部event服务于通知机制的优先级为0,外部event优先级为1. 当集中处理分发的event_callback时,…...

深度挖掘商品信息,jd.item_get API助您呈现商品全面规格参数
深度挖掘商品信息,特别是在电商平台上,对于商家、开发者和用户来说都至关重要。jd.item_get API作为京东开放平台提供的一个强大工具,能够帮助用户轻松获取商品的全面规格参数,进而为商品分析、推荐、比较等提供有力的数据支撑。 …...

A Random Walk Based Anonymous Peer-to-Peer
一、 背景 匿名性一直是P2P系统等自组织环境中最具挑战性的问题之一。在本文中,我们提出了一个匿名协议,称为基于随机漫步的匿名协议(RWAP),在分散的P2P系统。我们通过全面的轨迹驱动模拟来评估RWAP。结果表明,与现有方法相比,RWAP显著降低了流量成本和加密开销。 二、 …...

php代码执行计划任务dos实现方式和宝塔面板实现方式
dos php 计划任务 echo off :loop echo 这是一个死循环 echo This is an infinite loop. php think gpt php think ai timeout /t 2 goto loop 宝塔面板 php 计划任务 #!/bin/bash PATH/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH ste…...

千万不要错过这6款能让你快速写作成长的宝藏软件…… #学习方法#AI写作
国外ChatGPT爆火,AI写作在国内也引起不小的瞩目,目前国内的AI写作工具少说也有几十上百个,要在这么多AI写作中找出适合自己的工具,一个一个尝试是不太现实的,所以今天就给大家推荐一些款AI写作工具。帮助你少走弯路&am…...

TypeScript系列之-理解TypeScript类型系统画图讲解
TypeScript的输入输出 如果我们把 Typescript 编译器看成一个黑盒的话。其输入则是使用 TypeScript 语法书写的文本或者文本集合。 输出是编译之后的 JS 文件 和 .d.ts 的声明文件 其中 JS 是将来需要运行的文件(里面是没有ts语法,有一个类型擦除的操作)࿰…...

制造业智能化一体式I/O模块的集成与应用案例分享
在现代制造业中,智能化一体式I/O模块的应用已经成为提升生产效率、优化工艺流程的关键技术之一。这种一体化I/O模块的主要功能在于作为PLC(可编程逻辑控制器)系统的扩展接口,以满足多样化的输入输出需求。本文将通过一个实际案例&…...

《云原生安全攻防》-- 云原生应用风险分析
为了满足每位朋友的学习需求,并且支持课程的持续更新,本系列课程提供了免费版和付费视频版两种方式来提供课程内容。我们会持续更新课程内容,以确保内容的度和实用性。 在本节课程中,我们将一起探讨云原生应用在新的架构模式下可能…...

抖音-引流私域转化模式1.0现场视频,从抖音源源不断把人加到私域,
抖音-引流私域转化模式1.0现场视频,从抖音源源不断把人加到私域,让加到私域的粉丝买单 抖音-引流私域转化模式1.0现场视频,从抖音源源不断把人加到私域 - 百创网-源码交易平台_网站源码_商城源码_小程序源码 课程内容: 01.第一…...

外包干了6天,技术明显进步
先说一下自己的情况,本科生,2019年我通过校招踏入了南京一家软件公司,开始了我的职业生涯。那时的我,满怀热血和憧憬,期待着在这个行业中闯出一片天地。然而,随着时间的推移,我发现自己逐渐陷入…...

上传应用程序到苹果应用商店的工具和要
引言 在今天的移动应用市场中,将应用程序上传到苹果应用商店(App Store)是许多开发者的首要任务之一。然而,不同操作系统下的开发者可能需要使用不同的工具和遵循不同的要求来完成这一任务。本文将介绍在 macOS、Windows 和 Linu…...

vue:判断当前日期时间是否在一个日期时间区间里
在前端,可以使用 JavaScript 的 Date 对象来判断当前日期时间是否在一个日期时间区间内。 // 定义开始时间和结束时间 const startTime new Date(2024-03-29T08:00:00); // 开始时间 const endTime new Date(2024-04-02T18:00:00); // 结束时间// 获取当前时间 c…...

浏览器禁用cookie后session还能用吗?
1.背景 最近有朋友问我其面试时遇到的一个不常见的问题:浏览器禁用cookie后session还能用吗?,怎么解答。 2.cookie与session联系入手 2.1 理论基础 一般默认情况下,在会话中,服务器存储 session 的 sessionid &…...

C语言——顺序表
文章目录 一、线性表二、顺序表顺序表和数组的区别顺序表的分类1.静态顺序表2.动态顺序表 三、动态顺序表的实现1.动态顺序表头文件2.动态顺序表源文件3.测试源文件 一、线性表 线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是⼀种…...

CentOS7安装Docker及禅道
https://blog.csdn.net/weixin_46453070/article/details/136183615?ops_request_misc%257B%2522request%255Fid%2522%253A%2522171246925816800222886233%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id171246925816800222886233&biz_i…...

如何在社交媒体中使用增强现实来提高客户参与度?
目录 1. 增强现实在社交媒体中的应用是如何发展的 2. 社交媒体营销和广告中的增强现实 3. 社交媒体上的增强现实滤镜和镜头 4. 社交媒体平台上的增强现实购物 5. 利用社交媒体的增强现实事件和品牌激活 6. 增强现实在社交媒体中的未来是什么 7. 社交媒体中的增强现实常见…...

Autodesk AutoCAD 2025 (macOS, Windows) - 自动计算机辅助设计软件
Autodesk AutoCAD 2025 (macOS, Windows) - 自动计算机辅助设计软件 AutoCAD 2024 开始原生支持 Apple Silicon,性能提升至 2 倍 请访问原文链接:https://sysin.org/blog/autodesk-autocad/,查看最新版。原创作品,转载请保留出处…...

买卖股票的最佳时机III
题目链接 买卖股票的最佳时机III 题目描述 注意点 1 < prices.length < 1000000 < prices[i] < 100000不能同时参与多笔交易(必须在再次购买前出售掉之前的股票)最多可以完成 两笔 交易 解答思路 本题最多可以完成两笔交易,…...

fastlio2 保存每帧的点云和每帧的里程计为单独的文件做后端回环优化和手动回环优化
为了 提供数据做后端回环优化和手动回环优化,需要保存每帧的点云和每帧的里程计为单独的文件,并且需要保存的名字为ros时间戳。 效果很好,比我自己写的手动回环模块好用 // This is an advanced implementation of the algorithm described in the // following paper: /…...