前言 WinRM 作为 Windows 操作系统的一部分,是一项允许管理员在系统上远程执行管理任务的服务。这样的服务当然不会被攻击者错过,本篇文章我们就来讲讲 WinRM 在横向渗透中的使用。...这样的管理服务当然不会被攻击者错过,在内网渗透中,我们可以使用 WinRM 服务进行横向移动,并且使用这种远程连接进行横向移动不容易被察觉到,也不会占用远程连接数。...calc 进程: image-20210804214037070 使用 Invoke-Command 命令 Invoke-Command 是 PowerShell 上的一个命令,用来在本地或远程计算机上执行命令...•-Credential:指定有权连接到远程计算机的用户的帐户。•-Command:指定需要执行的命令。 image-20210804215420172 如上图所示,成功在远程主机上执行命令。...在会话期间,您键入的命令在远程计算机上运行,就像您直接在远程计算机上键入一样。
命令来卸载远程主机的 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 进程将保持不受干扰。
作为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方法来生成(远程)进程
通过这个模型,我们可以方便地从远程计算机获取管理数据,也就是说,你可以在自己的电脑上查看和管理其他电脑的信息。...计算机的用户并且创建一个进程运行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的管理工具,所以大多数基于
一.前言 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
该工具的目的是简化网络渗透测试的任务操作,并提供一个多功能的渗透测试平台,该工具目前仅支持在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 \\
该工具可以基于下列信息来实现其功能: 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
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
•要求所有脚本和配置文件都由受信任的发布者签名,包括在本地计算机上编写的脚本。...•需要可信发布者对从 Internet 下载的脚本和配置文件(包括电子邮件和即时消息程序)进行数字签名。•不要求在本地计算机上编写的脚本(不是从 Internet 下载的)具有数字签名。...•UserPolicy:由组策略为当前用户设置的执行策略。•Process:为当前 Windows PowerShell 进程设置的执行策略。•CurrentUser:为当前用户设置的执行策略。...此外,这个命令还有一个比较夸张的功能:可以抓取远程主机的策略并应用到当前主机。 这里测试了一下工作组。...它也不会导致任何配置更改。
我们首先要理解什么是远程管理,远程管理方式有很多比如最常用的Windows远程桌面管理,linux的SSH等。...那么今天说起的是Windows一种最新的远程管理方式winrm(windows远程管理),当然在windowsServer2003R2的时候就已经有这个功能了。...(1)一对一管理远程计算机,登陆一台域控制器服务器,需要使用Enter-PSSession: ? 可以看到我已经成功登陆到了bjdc01这台服务器上并用ls命令查看了一下它D盘的内容。...(2)但是我不想登陆到计算机上再去执行命令,能不能直接通过命令查看当然是可以的。这个需要invoke-command命令。 ? 通过这个命令我们可以看到服务器上最新的关于system的三个日志 ?...我通过远程的方式在bjdc01上设置了一个变量,但当我在此运行的时候发现它居然失效了。 这是什么原因呢?好吧请继续关注关于接下来的session的介绍吧。
配置中还有一些有意思的地方,例如: RootSDDL 指定控制远程访问 listener 的默认安全描述符, AllowRemoteShellAccess 远程shell的访问,如果false,则服务器拒绝...-Session $Session {Command} #这个命令也经常用 Invoke-Command -ComputerName OWA2010SP3 -Credential $Credential...Observations 在OWA2010SP3上可以看到父进程是wsmprovhost: ? Kibana中搜索calc*: ? 该日志来源于事件查看器中的sysmon: ?...注意有3次Logon 4648事件 可以注意到4648事件(使用显示凭据登录产生该事件),显示了启动的进程、连接的主机名和使用的账户。...Invoke-Command -Credential $cred -ScriptBlock {Hostname} #在远程主机上执行命令 Enter-PSSession -
图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的父进程就是我们刚刚所指定的 ?
在企业的主机和服务器上有大量的数据集来发掘未知的恶意行为,包括运行的进程,活动的网络连接,监听端口,文件系统遗留,用户日志,自动运行等等。 而这些数据,难点只在于决定关注哪些点来开始你的追踪进程。...这些技术首先会帮你发现主机上恶意行为的一些线索——不管你有没有签名或者IOC。你可以自由的使用这些,同时感受追踪的强大功能。 搜索指标 一个通用的起始点是在你的主机上搜索IOC。...利用Powershell运行Yara可以通过下面这几个简单的步骤,假设你已经有登录凭证并且 Powershell已经远程开放了。...我们推荐结合Powershell 和autoruns的命令行来使用,这样可以远程从你的系统抓取数据。...一个好的追踪器需要覆盖日志,进程,网络信息,以及其他。 总结 通过这个系列的三篇文章,我们提供了使用免费软件在主机上和网络上进程进行追踪的几种方法。
,它允许应用程序实例化和访问远程计算机上COM对象的属性和方法,就像使用基于DCERPC的DCOM协议在本地计算机上的对象一样,有关每个COM(和DCOM)对象的标识,实现和配置的信息存储在注册表中,并与一些重要的标识符相关联...没有关联的AppID的COM对象不能从远程计算机直接访问。...在powershell中我们可以使用 get-CimInstance来列出本地COM程序列表 远程DCOM对象的实例表现如下: 客户端计算机从远程计算机请求实例化由CLSID表示的对象。...远程计算机检查是否存在与所讨论的CLSID关联的AppID,并验证客户端的权限。...这使攻击者可以与远程计算机上的COM对象进行交互,这些对象通常不会由DCOM公开。
: 用户和用户组的信息 本地计算机上的特权列表 限制(删除用户和用户组的权限) 参考凭证(支持单点登录) 一直保存在内存中,直到系统重启 以下是令牌窃取的过程: 使用 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
sV --open -p5985 10.10.10.10-12 图片 如果此时端口5985打开但端口5986已经被关闭,此时WinRM服务配置为仅接受HTTP连接,并加密 图片 利用Poershell Invoke-Command...同时我们还可利用 WinRM 远程执行Mimikatz来导出内存中的票据,无需将Mimikatz放入目标机器中执行。...如果启用了WinRM,此实用程序可用于远程执行主机上的命令。在CMD参数上可建立一个新的远程cmd会话。...3389端口 2.端口复用做后门 将WInRM监听端口由5985改为80或443等常用端口,及时端口被Web服务占用也不会影响,并且不会影响web服务的执行: (1)配置目标...,并不会再开启新端口,较为隐蔽。
目录 Tasklist 查看进程 查看本机所有进程 根据 pid 查询指定进程 查看远程所有进程 Taskkill 终止进程 根据进程 PID 结束 根据进程名结束进程 /f 强制结束进程 /t 结束进程树...---- Tasklist 查看进程 1、”Tasklist” 命令是一个用来显示运行在本地或远程计算机上的所有进程的命令行工具,带有多个执行参数。...2、注意:使用 Tasklist 命令查看远程系统的进程时,需要远程机器的RPC服务的支持,否则,该命令不能正常使用。...Taskkill 终止进程 1、Taskill 命令顾名思义是用来关掉进程的。.../f 强制结束进程 1、使用”/f”参数即可,注意参数位置,/im之后紧邻着的只能跟进程名,同理 /pid 之后紧邻着的只能跟进程 pid 值 2、通常结束一个进程后,如果下次打开时不会报错,又必须要强制杀死进程的
: 改变远端主机的文件权限 close: 终止远端的FTP进程,返回到FTP命令状态,所有的宏定义都被删除 delete: 删除远端主机中的文件 dir [remote-directory]...终止主机FTP进程,并退出。 语法:bye 7 cd Change remote working directory. 更改远程计算机上的工作目录。...删除远程计算机上的文件。...删除远程计算机上的多个文件。...使用当前多个文件传送类型将本地文件复制到远程计算机上。
参数说明: /F 强制终止 /IM 进程映像名 frontpg.exe 进程名 参考: Taskkill命令详解 “Tasklist”命令是一个用来显示运行在本地或远程计算机上的所有进程的命令行工具,带有多个执行参数...password]]]] { [/FI filter] [/PID processid | /IM imagename] } [/F] [/T] 参数 /s Computer 指定远程计算机名称或...默认值是当前登录发布命令的计算机的用户具有的权限。 /p Password 指定在 /u 参数中指定的用户帐户的密码。 /fi Filter 指定将要终止或不终止的进程的类型。.../f 指定将强制终止的进程。对于远程进程可忽略此参数,所有远程进程都将被强制终止。 /t 终止指定的进程与该进程启动的任何子进程。 /? 在命令提示符下显示帮助。...• 无论是否指定 /f 参数,都会始终强制执行对远程进程的终止操作。 • 向 HOSTNAME 筛选器提供计算机名将导致关机和中止所有进程。
条件: 启动Task Scheduler服务 2、psexec PsTools工具之一,在指定的一台或多台计算机上运行应用程序 条件: 需要开放ADMIN$共享 3、WMIC 功能强大,可做系统管理、远程主机信息获取...条件: 启动WMI服务,开放135端口 本地安全策略的“网络访问: 本地账户的共享和安全模式”应设为“经典-本地用户以自己的身份验证” 5、powershell remoting 实现在目标主机远程执行程序后...AsPlainText –Force $cred = New-Object System.Management.Automation.PSCredential($UserName,$Password) invoke-command...猜测管理员应该是对常用的远程执行程序的方法做了限制,就在一筹莫展的时候突然想到了smbexec,它是基于psexec,如果目标主机开放了其他默认共享,倒是可以尝试smbexec 于是搜索smbexec,...终于在GitHub上面找到了一个smbexec的c++参考资料,作为工具改进模版 模版下载地址: https://github.com/sunorr/smbexec 总结 这篇文章共列举了六种远程执行程序的方法
领取专属 10元无门槛券
手把手带您无忧上云