首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Powershell

以下是一些关键概念和方法: 错误类型 终止错误:会停止脚本的执行。 非终止错误:不会停止脚本,允许继续执行。 错误处理方法 Try-Catch-Finally Try:包含可能引发错误的代码块。...在更改执行策略时,应考虑到脚本来源的安全性。 8.远程管理 PowerShell远程管理是通过网络执行命令和脚本的功能,通常用于管理远程计算机。...以下是一些关键概念和步骤: 启用PowerShell远程 启用WinRM(Windows远程管理): 在目标计算机上运行: Enable-PSRemoting -Force 配置信任主机(如果不在域中...在远程计算机上执行命令: Invoke-Command -Session $session -ScriptBlock { Get-Process } 退出和关闭会话: 使用Exit-PSSession...示例 # 建立远程会话 $session = New-PSSession -ComputerName Server01 # 在远程计算机上运行命令 Invoke-Command -Session $session

11310

内网渗透|利用 WinRM 进行横向渗透

前言 WinRM 作为 Windows 操作系统的一部分,是一项允许管理员在系统上远程执行管理任务的服务。这样的服务当然不会被攻击者错过,本篇文章我们就来讲讲 WinRM 在横向渗透中的使用。...这样的管理服务当然不会被攻击者错过,在内网渗透中,我们可以使用 WinRM 服务进行横向移动,并且使用这种远程连接进行横向移动不容易被察觉到,也不会占用远程连接数。...calc 进程: image-20210804214037070 使用 Invoke-Command 命令 Invoke-Command 是 PowerShell 上的一个命令,用来在本地或远程计算机上执行命令...•-Credential:指定有权连接到远程计算机的用户的帐户。•-Command:指定需要执行的命令。 image-20210804215420172 如上图所示,成功在远程主机上执行命令。...在会话期间,您键入的命令在远程计算机上运行,就像您直接在远程计算机上键入一样。

5.3K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PowerShell 降级攻击的检测与防御

    命令来卸载远程主机的 powershell V2: Invoke-Command -Computer WKS1 -ScriptBlock { Disable-WindowsOptionalFeature...注意:由于 400 事件无法与活动进程相关联(400 事件不包含 PID),因此我们无法做到选择性的终止 powershell 进程,只会将所有 powershell 进程都终止,但是,我觉得这不是一个问题...,因为 powershell 的执行好都是很短的时间,在使用 powershell V2 出发终止时,正常的 powershell 进程很大可能不会同时存在。...PowerShell 事件日志,则无法杀死确切有问题的 PowerShell 进程,并且所有正在运行的 PowerShell.exe 进程都必须终止。...但是,如果我们可以识别来自 4688 事件的恶意命令,那么我们就可以终止仅有问题的 powershell.exe 进程 - 其他潜在的(可能是良性的)powershell.exe 进程将保持不受干扰。

    2.3K00

    横向移动之WinRM横向移动

    作为DCOM和WMI远程管理的替代方法,WinRM用于通过WSMan与远程计算机建立会话,WAMan利用HTTP/S作为传输机制来传递XML格式的消息。...-a[llow]d[elegate] - 指定可以将用户凭据用于访问远程共享,例如,不是目标终结点所在的计算机上创建的远程共享。...远程计算机上的旧安装可能不支持压缩,因此默认情况下处于禁用状态。 -[use]ssl - 在使用远程终结点时使用 SSL 连接。...- 帮助 若要终止远程命令,用户可以键入 Ctrl-C 或 Ctrl-Break,该键入将被发送到远程外壳程序。第二次 Ctrl-C 将强制终止 winrs.exe。...WinRM(.vbs)允许WMI对象通过WinRM传输进行远程交互,可以利用几个WMI类来执行远程命令执行,一个非常著名的WMI类Win32_Process可以通过利用Create方法来生成(远程)进程

    4.7K10

    黑客(红队)攻防中内网环境下WMI的利用

    通过这个模型,我们可以方便地从远程计算机获取管理数据,也就是说,你可以在自己的电脑上查看和管理其他电脑的信息。...计算机的用户并且创建一个进程运行cmd.exe程序.而下一步就是将shell下载到目标计算机,这一步中我们需要在新的进程中下载certutil.exe...wmic /node:目标IP地址 /user:用户名 密码 process get ProcessId,ProcessName,CommandLine > 输出文件路径 //获取远程计算机的进程信息...start > nul || wmic /node:目标IP地址 /user:用户名 密码 service where "Name='服务名称'" call stop > nul //启动或停止远程计算机上的服务总结实际上...wmicexec进行横向渗透时,Windows操作系统默认不会将WMI的操作记录在日志中同时无需将wmicexec.py移动到目标机上,所以隐蔽性较高,因为WMI是Windows的管理工具,所以大多数基于

    25500

    ATT&CK视角下的红蓝对抗:十八.横向移动之利用WinRM进行横向渗透

    一.前言 WinRM的远程管理服务是微软的WS-Management协议的实现。WS-Management协议是基于简单对象访问协议(SOAP)的防火墙友好的协议。...WinRM的远程管理服务是微软的WS-Management协议的实现。...2.Invoke-Command Invoke-Command是一个 PowerShell命令,该命令可用于在远程机器上运行脚本或其他命令,并且可以同时在多台机器上运行命令。...Invoke-Command使用WinRM服务在远程计算机上执行命令。要使用 Invoke-Command则必须在远程机器上具有适当的权限,并且WinRM服务必须在远程计算机上运行。...接下来在跳板机中使用Powershell运行Invoke-Command命令,输入Invoke-Command -ComputerName 192.168.1.3 -Credential administrator

    51460

    SharpMapExec:针对网络渗透测试高级瑞士Knife

    该工具的目的是简化网络渗透测试的任务操作,并提供一个多功能的渗透测试平台,该工具目前仅支持在Windows操作系统上运行,这也符合内部威胁模拟攻防的常见要求。...数据过滤模块的核心实现思想是在远程计算机上执行最少的必要代码,为了完成这个任务,该工具将把所有的敏感数据下载到loot目录并在本地解析它们。...computername:TARGET Available WinRm modules /m:exec /a:whoami (Invoke-Command...) /m:exec /a:C:\beacon.exe /system (Invoke-Command as System) /m:comsvcs...: 使用一个NT哈希扫描本地管理员密码复用: 大批量转储Lsass进程,并将其保存到loot文件夹: 在某些使用Kerberos的场景下,可能会要求用户同步DC时钟并设置DNS: net time \\

    90620

    Windows: 使用PowerShell管理Hyper-V虚拟机

    Hyper-V是Windows操作系统中强大的虚拟化平台,通过Hyper-V,用户可以创建和管理虚拟机(VM)。作为计算机专业人士,我们可能更倾向于使用命令行工具来高效地管理系统。...在虚拟机上运行命令。 你应该会看到作为 PowerShell 提示符前缀的 VMName 显示如下: [VMName]: PS C:> 所有运行的命令将会在虚拟机上进行。...使用 Invoke-Command 运行脚本或命令 配合使用 PowerShell Direct 和 Invoke-Command 非常适合需要在虚拟机上运行一个命令或一个脚本但在这一点之外无需继续与虚拟机进行交互的情况...该命令将在虚拟机上执行,如果存在到控制台的输出,会把此输出打印到控制台。命令一运行将会自动关闭连接。...使用 New-PSSession 和 Copy-Item 复制文件 注意: PowerShell Direct 仅支持 Windows 版本 14280 及更高版本中的持久性会话 在编写用于跨一个或多个远程计算机协调操作的脚本时

    42510

    如何使用Ketshash检测可疑的特权NTLM连接

    该工具可以基于下列信息来实现其功能: 1、受监控计算机上的安全事件日志(登录事件); 2、活动目录中的身份验证事件;  工具要求  该工具的使用要求用户账号拥有下列权限: 1、访问远程计算机的安全事件日志...; 2、活动目录的读取权限(标准域账户); 3、计算机在同一时间同步,否则会影响结果; 4、至少安装并配置好PowerShell 2.0;  工具下载  该工具是一个PowerShell脚本,因此我们只能在支持...; 2、双击KetshashRunner.exe,根据需要修改设置,并点击运行;  Invoke-DetectPTH使用  参数解释 Targetcomputers:要检测NTLM连接的目标计算机数组...; TargetComputersFile:包含要检测NTLM连接的目标计算机列表的文件路径; StartTime:检测开始的时间,默认值为当前时间; UseKerberosCheck:检查组织...但是我们可以在Detect-PTHMultithreaded之前使用Invoke-Command调试: Invoke-Command -ScriptBlock $detectPTHScriptBlock

    85150

    Cobalt Strike 4.0 Updates You Should Know

    domain 图26 net domain command (b).net domain_controllers 图27 net domain_controllers command 可以看到,计算机名为...command to import module 其实可以使用系统自带的Invoke-Command模块进行远程命令执行(当然,也需要调用凭据) powerpick Invoke-Command -ComputerName...,当用户名为别的管理员,cs并不会自动提权,例如以下情况: 图40 Show current user groups 可以看到,xiaoli这个用户是本地管理员,可是cs没有帮我们提权 抓密码提示权限不足...(c).One-liner 配合runu在指定进程执行命令 在这里的话,是看目标进程的arch生成oneliner,我的目标进程是64位,所以生成x64和x86的payload都可以,x86进程则只能生成...注入进程 在psinject这里,x64进程可以注入x86/x64的payload,x86进程只能注入x86 图55 Choose a process for target psinject 2784

    66610

    渗透技巧 | Bypass Powershell执行策略的N种方式

    •要求所有脚本和配置文件都由受信任的发布者签名,包括在本地计算机上编写的脚本。...•需要可信发布者对从 Internet 下载的脚本和配置文件(包括电子邮件和即时消息程序)进行数字签名。•不要求在本地计算机上编写的脚本(不是从 Internet 下载的)具有数字签名。...•UserPolicy:由组策略为当前用户设置的执行策略。•Process:为当前 Windows PowerShell 进程设置的执行策略。•CurrentUser:为当前用户设置的执行策略。...此外,这个命令还有一个比较夸张的功能:可以抓取远程主机的策略并应用到当前主机。 这里测试了一下工作组。...它也不会导致任何配置更改。

    4.2K20

    Powershell进阶学习(3) Po

    我们首先要理解什么是远程管理,远程管理方式有很多比如最常用的Windows远程桌面管理,linux的SSH等。...那么今天说起的是Windows一种最新的远程管理方式winrm(windows远程管理),当然在windowsServer2003R2的时候就已经有这个功能了。...(1)一对一管理远程计算机,登陆一台域控制器服务器,需要使用Enter-PSSession: ? 可以看到我已经成功登陆到了bjdc01这台服务器上并用ls命令查看了一下它D盘的内容。...(2)但是我不想登陆到计算机上再去执行命令,能不能直接通过命令查看当然是可以的。这个需要invoke-command命令。 ? 通过这个命令我们可以看到服务器上最新的关于system的三个日志 ?...我通过远程的方式在bjdc01上设置了一个变量,但当我在此运行的时候发现它居然失效了。 这是什么原因呢?好吧请继续关注关于接下来的session的介绍吧。

    52420

    Cobalt Strike 4.0 Updates You Should Know

    图27 net domain_controllers command 可以看到,计算机名为DC的就是域控,接下来可以鞭挞它了 b.横向移动改进 exp提权,然后抓密码(此处密码为刚刚UAC钓到的域管理员明文密码...图38 You can use powershell-import command to import module 其实可以使用系统自带的Invoke-Command模块进行远程命令执行(当然,也需要调用凭据...在cs中,只有当前用户名为administrator的管理员用户,cs才会自动提权,当用户名为别的管理员,cs并不会自动提权,例如以下情况: ?...(c).One-liner 配合runu在指定进程执行命令 在这里的话,是看目标进程的arch生成oneliner,我的目标进程是64位,所以生成x64和x86的payload都可以,x86进程则只能生成...同时看到该beacon的父进程就是我们刚刚所指定的 ?

    1.9K10

    如何在网络中追踪入侵者(三):主机追踪

    在企业的主机和服务器上有大量的数据集来发掘未知的恶意行为,包括运行的进程,活动的网络连接,监听端口,文件系统遗留,用户日志,自动运行等等。 而这些数据,难点只在于决定关注哪些点来开始你的追踪进程。...这些技术首先会帮你发现主机上恶意行为的一些线索——不管你有没有签名或者IOC。你可以自由的使用这些,同时感受追踪的强大功能。 搜索指标 一个通用的起始点是在你的主机上搜索IOC。...利用Powershell运行Yara可以通过下面这几个简单的步骤,假设你已经有登录凭证并且 Powershell已经远程开放了。...我们推荐结合Powershell 和autoruns的命令行来使用,这样可以远程从你的系统抓取数据。...一个好的追踪器需要覆盖日志,进程,网络信息,以及其他。 总结 通过这个系列的三篇文章,我们提供了使用免费软件在主机上和网络上进程进行追踪的几种方法。

    1.2K90

    红队技巧-常规横向手法

    ,它允许应用程序实例化和访问远程计算机上COM对象的属性和方法,就像使用基于DCERPC的DCOM协议在本地计算机上的对象一样,有关每个COM(和DCOM)对象的标识,实现和配置的信息存储在注册表中,并与一些重要的标识符相关联...没有关联的AppID的COM对象不能从远程计算机直接访问。...在powershell中我们可以使用 get-CimInstance来列出本地COM程序列表 远程DCOM对象的实例表现如下: 客户端计算机从远程计算机请求实例化由CLSID表示的对象。...远程计算机检查是否存在与所讨论的CLSID关联的AppID,并验证客户端的权限。...这使攻击者可以与远程计算机上的COM对象进行交互,这些对象通常不会由DCOM公开。

    2.1K20

    【CS学习笔记】17、登录验证的难点

    : 用户和用户组的信息 本地计算机上的特权列表 限制(删除用户和用户组的权限) 参考凭证(支持单点登录) 一直保存在内存中,直到系统重启 以下是令牌窃取的过程: 使用 ps 列出进程 使用 steal_token...此时,先用 ps 查看一下当前系统进程信息。...TEAMSSIX 域下的管理员账户此时在当前 SYSTEM 会话的主机上是登录着的,使用 steal_token [pid] 命令窃取 TEAMSSIX\Administrator 账户的令牌 beacon...home, sent: 8 bytes 再次查看 uid 发现变成了原来的 SYSTEM 权限,此时 WIN-P2AASSD1AF1 主机上的文件也拒绝访问了。...1、mimikatz 使用登录令牌开启了一个进程,在单点登录信息那里填入我们提供的用户名称、域、密码哈希值 2、cobalt strike 自动的从那个进程中窃取令牌并关闭 原文链接:https://www.teamssix.com

    1K10

    Windows 进程 Tasklist查看 与 Taskkill结束

    目录 Tasklist 查看进程 查看本机所有进程 根据 pid 查询指定进程 查看远程所有进程 Taskkill 终止进程 根据进程 PID 结束 根据进程名结束进程 /f 强制结束进程 /t 结束进程树...---- Tasklist 查看进程 1、”Tasklist” 命令是一个用来显示运行在本地或远程计算机上的所有进程的命令行工具,带有多个执行参数。...2、注意:使用 Tasklist 命令查看远程系统的进程时,需要远程机器的RPC服务的支持,否则,该命令不能正常使用。...Taskkill 终止进程 1、Taskill 命令顾名思义是用来关掉进程的。.../f 强制结束进程 1、使用”/f”参数即可,注意参数位置,/im之后紧邻着的只能跟进程名,同理 /pid 之后紧邻着的只能跟进程 pid 值 2、通常结束一个进程后,如果下次打开时不会报错,又必须要强制杀死进程的

    5.5K40
    领券