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

1.PS编程入门基础语法

基础实例 # 0.键入以下内容看到可读形式完整列表,通过管道符号传递给其他cmdlet并进行使用 Get-Command -Noun Variable | Format-Table -Property...在对管道中每个对象或所选对象执行操作命令中,可以使用此变量。 $Args : 包含由未声明参数和/或传递给函数、脚本脚本参数值组成数组。...在通过 PSConsoleFile 参数启动 Windows PowerShell使用 Export-Console cmdlet 管理单元名称导出到控制台文件 时,填充此变量。...$Input : 一个枚举数,它包含传递给函数输入。$Input 变量区分大小写,只能用于函数和脚本块。(脚本块本质上是未命名函数。)...只有在声明参数作用域(如脚本或函数)中, 此变量才有值。可以使用此变量显示或更改参数的当前值,也可以参数值传递给 其他脚本或函数。

20.5K20

无招胜有招: 看我如何通过劫持COM服务器绕过AMSI

在本文中,我们实验是一个通过PowerShell进行AMSI测试示例,测试过程是当AMSI模块接受外部进来脚本块并将其传递给Defender进行分析时候进行劫持操作,具体可见下图所示: 正如你所看到...在左侧,我们有旧AMSI DLL,在右边,我们有更新AMSI DLL。...CoCreateInstance()可以定义为高级函数,该函数用于实例使用CoGetClassObject()生成COM例程 。...在进行研究之前,我们需要明白是:基本上,脚本解释器(如PowerShell)从工作目录加载amsi.dll,而不是从安全路径(如System32)加载它。...由于这个原因,我们可以PowerShell.exe复制到我们可以写入目录,并 易受攻击amsi.dll版本放到这个目录中。

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

PS编程基础入门1

基础实例: #0.键入以下内容看到可读形式完整列表,通过管道符号传递给其他cmdlet并进行使用 Get-Command -Noun Variable | Format-Table -Property...,可以国家代码和国家名称标志字符串转换成一个CultureInfo对象。...在对管道中每个对象或所选对象执行操作命令中,可以使用此变量。 $Args : 包含由未声明参数和/或传递给函数、脚本脚本参数值组成数组。...在通过 PSConsoleFile 参数启动 Windows PowerShell使用 Export-Console cmdlet 管理单元名称导出到控制台文件 时,填充此变量。...只有在声明参数作用域(如脚本或函数)中, 此变量才有值。可以使用此变量显示或更改参数的当前值,也可以参数值传递给 其他脚本或函数。

14.6K40

Nanocore等多个远控木马滥用公有云服务传播

脚本执行后,会通过下载服务器下载下一阶段攻击载荷,攻击者下载服务器部署在基于 Azure Windows 服务器或基于 AWS EC2 实例上。...Netwire Netwire 通常会窃取受害者密码、登录凭据和信用卡数据等隐私信息,同时兼具命令执行和窃取文件功能。...△ 解密函数 紧接着继续解密: △ 解密函数 第二层 其余加密内容在第二层进行解密, ejv()解密结果传递给解密函数。 去混淆结果包含另一个解密函数 Ox$(),这是第三层解密函数。...△ 解密函数 第三层 第三层去混淆结果是另一个混淆函数,包含多个函数调用来进行解密: △ 部分混淆恶意代码 在分析另一个发现 JavaScript 脚本时,与首次发现不相同。...△ VBScript Downloader 示例 PowerShell Dropper 在 Azure 服务器上发现了一个使用 HCrypt 构建 PowerShell 脚本

1.1K20

WMI持久性后门(powershell)(水文)

于此同时,事件过滤器还给出了WMI传递事件条件。 需要在系统上以管理员身份运行才能创建事件实例。...1.2.1.ActiveScriptEventConsumer 当事件传递给它时,以任意脚本语言执行预定义脚本。此可在 Windows 2000 及更高版本上使用。...Stop-Service wuauserv -Verbose 4.0.使用 Set-WMIInstance创建 WMI 事件订阅 此方法使用 –Arguments 参数,该参数接受将用于定义每个实例及其属性哈希表...首先,创建将与我 splatting 一起使用哈希表,这些也是不会随每个 WMI 实例更改通用参数。...$WY79ad')) | iex 最后,脚本加密有效负载存储在 Windows 注册表中,在样本中,攻击者似乎对每个目标使用不同注册表位置。

1.2K10

在 Snoop 中使用 PowerShell 脚本进行更高级 UI 调试

使用 Snoop,能轻松地查看 WPF 中控件可视化树以及每一个 Visual 节点各种属性,或者查看数据上下文,或者监听查看事件引发。 不过,更强大是支持使用 PowerShell 脚本。...---- Snoop PowerShell 入口 常规 Snoop 使用方法,狮子瞄准镜拖出来对准要调试 UI WPF 窗口松开。...这里我拿 Visual Studio 2019 窗口做试验。 在打开 Snoop 窗口中我们打开 PowerShell 标签。 本文内容将从这里开始。...包含这两个,还有其他可以使用: $root 拿到当前 Snoop 窗口顶层元素类型实例 $selected 拿到当前 Snoop 用鼠标或键盘选中元素实例 $parent 拿到当前 Snoop.../post/powershell-of-snoop.html ,以避免陈旧错误知识误导,同时有更好阅读体验。

25660

Quantum 构建工具使用 TTP 投递 Agent Tesla

在内存中执行 PowerShell 脚本以进行逃避检测 打开诱饵分散受害者注意力 后文对感染链进行了深入分析,并对 Quantum Builder 生成 Payload 进行了比较。...【感染链】 HTA 文件解密 PowerShell 脚本,在执行 AES 解密和 GZIP 解压缩后解密并加载另一个 PowerShell 脚本。...【PowerShell 代码执行】 解密代码以隐藏窗口形式执行,解密后会获取另一个 PowerShell 代码。...>\AppData\Roaming\MuUQDuaFNoGmHQE.exe: 【写入指定位置】 Agent Tesla 二进制文件路径作为参数递给 PowerShell 脚本 CMSTP UAC...该脚本 [ENTER] 按键发送到活动窗口应用程序,以便使用 SendKeys.SendWait() 函数自动执行。

1.5K20

无需Native CodeRCE——IE8中写入原语利用

当get_className_direct执行时,它实例化一个BSTR持有GET操作结果,在由指定地址写入指针这个字符串BSTR *value参数。...此外,脚本无法访问损坏字符串数据以进行信息泄漏,因为BSTR传递给get_className_direct它是暂时BSTR。它是不一样BSTR分配该脚本可以稍后访问。因此案例1是不可利用。...知道CElement::put_scrollLeft需要一个整数参数,调度机制会将我们MyClass实例强制转换为整数。...我通过打开PowerShell评论解决了这个问题: 之后,我们可以关闭PowerShell命令并编写所需PowerShell脚本,而不受任何进一步限制。...结论 我感觉我们只是通过使用对地址空间读/写访问来解决可能实现问题。这种访问级别使得可以任意破坏数据结构,甚至可以预先手动创建内存中不存在对象实例

1.2K40

如何高效使用PowerShell备份数据库

Out-GridView 如何使用 下面这个例子使用了Out-GridView 命令,这个场景下,我选择三个数据库,然后会只备份我选择三个。 另一个很有用功能就是过滤。...有趣脚本参数和实践 这里先要介绍一下-Script ,在备份语句最后添加这个参数将会允许输出指令,不必等到实际执行时候。这就让我们可以不用等到备份完成就可以看到脚本。...如下图所示,其实我们PS脚本就是封装了T-SQL脚本而已。 更多备份参数 让我们看看这个指令其他可选参数。如果我想能够了解更多信息可以使用Get-Help指令。...或者使用下面的代码样例来备份这个实例所有数据库。...提供给大家一个比起T-sql更便捷方式。同时可以用它来输出T-sql语句。

1.8K20

如何高效使用PowerShell备份数据库

Out-GridView 如何使用 下面这个例子使用了Out-GridView 命令,这个场景下,我选择三个数据库,然后会只备份我选择三个。 ? 另一个很有用功能就是过滤。...有趣脚本参数和实践 这里先要介绍一下-Script ,在备份语句最后添加这个参数将会允许输出指令,不必等到实际执行时候。这就让我们可以不用等到备份完成就可以看到脚本。...如下图所示,其实我们PS脚本就是封装了T-SQL脚本而已。 ? 更多备份参数 让我们看看这个指令其他可选参数。如果我想能够了解更多信息可以使用Get-Help指令。...或者使用下面的代码样例来备份这个实例所有数据库。 ?...提供给大家一个比起T-sql更便捷方式。同时可以用它来输出T-sql语句。

2.4K60

WMI 攻击手法研究 – 探索命名空间、类和方法 (第二部分)

3 个组件,在整篇文章中,我们交替使用 WMI 和 CIM cmdlet,以便熟悉这两种 cmdlet 类型。...可以将相关命令输出通过管道传输到 cmdlet。为了快速演示,运行计算器应用程序并列出过程。 如果我们通过管道命令传递给 Remove-CimInstance 会发生什么? 进程被杀死!...现在让我们看看如何使用方法。 要使用一个方法,我们需要知道调用该方法时需要提供哪些参数。...要列出所有可用参数,我们可以结合使用 Powershell,或者更好地阅读 https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management...但是,重要是要记住实例应该是可写。通过编写一些脚本,我们可以编写一个获取类所有可写属性方法。

1.5K21

如何利用日志来监控和限制PowerShell攻击活动

下面给出是真实场景中攻击实例: 在这个样例中,攻击者使用了.downloadfile()方法来下载恶意文件,并使用环境变量将其存储在了用户Appdata目录中,然后使用“Start-Process...这些文件一般来说都是一些恶意脚本,并且能够使用Powershell –Command参数在内存中直接执行。...命令行为王 很多PowerShell攻击可以通过监控传递给PowerShell进程命令行参数来进行检测。...Process_Command_Line中包含了传递给新创建进程(例如PowerShell命令行参数信息,我们可以基于一些常见参数(例如 –e, -Encod, -windowstyle , Bypass...而此时,我们就需要记录事件ID 4688,然后过滤并记录下任何关于PowerShell进程创建活动以及传递给PowerShell命令行参数,并以此来检测可疑PowerShell攻击活动。

2.2K50

没有本机代码RCE:利用INTERNET EXPLORER中写入内容

当get_className_direct执行时,它会实例化一个BSTR来保存get操作结果,并在BSTR * value参数指定地址处写入一个指向这个新字符串指针。...每当通过调度机制调用一个函数时,第一个参数将是一个指向调用该方法COM对象指针(“this”参数)。这对我们来说是个坏消息,因为我们通常需要完全控制传递给目标API第一个堆栈参数。...我们如何防止pld指针出现会破坏PowerShell脚本内容呢?...我是借助PowerShell注释来解决这个问题: 之后,我们可以关闭PowerShell注释,并编写所需PowerShell脚本,此外没有任何其他限制。...如果使用干净进程的话,它运行起来还是非常可靠得。增强保护模式可以处于关闭或打开状态(只要不处于64位渲染器进程增强保护模式下)。

1.2K20

UnmanagedPowerShell工具分析

通过一些修改,可以在这些相同技术注入到不同进程时使用(例如,如果需要,可以让任何进程执行PowerShell) 下面借用网上一张图来说明这个流程,上面说了可以让任何进程执行powershell...如果所有的PowerShell脚本使用Write-Output而不是Write-Host,那么这就不是问题,但是如果使用了足够多Write-Host,那么实现一个定制PSHost是值得 在C#中调用...运行空间在使用之前必须打开。...托管应用程序创建其派生类实例,然后将其传递给RunspaceFactory CreateRunspace方法。...vtEmpty, 对其调用指定成员对象 psaStaticMethodArgs, 包含传递给要调用成员参数数组 &vtPSInvokeReturnVal); 表示要使用全局化区域设置对象

2.4K10

SQL Server 代理进阶 - Level 2 :作业步骤和子系统

创建一个工作,我叫我“备份主”,如图1所示。 ? 图1 - 创建一个工作 现在点击Steps选项卡查看作业步骤,然后点击New ...打开New Job Step对话框(图2)。 ?...ActiveX脚本 ActiveX子系统允许您运行VBScript,Jscript或其他自定义脚本语言(理论上)。脚本默认在SQL Server代理服务帐户安全上下文中运行。...如果你精通VBScript,这可能是一个方便子系统,但是从SQL Server 2008开始,这个子系统已经被弃用,你应该使用PowerShell子系统。...电源外壳 PowerShell子系统允许您运行兼容Windows PowerShell 1.0或2.0脚本。与其他脚本子系统一样,该脚本默认在SQL Server代理服务帐户安全上下文中运行。...PowerShell允许您连接到远程系统,所以这是解决Transact-SQL子系统连接到SQL Server远程实例一个方法。

1.3K40

15.Powershell恶意代码检测论文总结及抽象语法树(AST)提取

该部分以学术界论文为主,介绍Powershell恶意代码检测相关现状。 当你打开DBLP或谷歌,会发现Powershell相关文章很少,主要以那篇CCS解混淆为主。...我们对 2342 个良性样本和 4141 个恶意样本集合进行了评估,发现我们去混淆方法平均耗时不到 0.5 秒,同时混淆后脚本与原始脚本之间相似度从仅 0.5% 提高到 80% 左右,这因此既有效又轻便...在实验中,恶意脚本插入到良性脚本中,以削弱恶意样本在抽象语法树节点和令牌层面的特征,使脚本更加复杂。...另一个是反混淆脚本,包括编码、字符串操作和代码逻辑混淆。同时,我们设计了一种基于PSDEMWord文档中恶意PowerShell脚本自动反混淆分析工具。...留了代码上下文特征并剔除无关参数干扰,是分析功能类似的PowerShell代码有效方法 。

1.6K30

无文件Powershell恶意程序使用DNS作为隐蔽信道

打开后,该文档便诱使用户启用内容。 ? 文档用Document_Open()调用另一个VBA函数。这个VBA函数就会设置一个长字符串,其中包含一个Powershell命令和执行代码。...除了两个switch外,“pre_logic”函数还支持四个参数,这四个参数随后递给下一阶段“logic”函数。这些参数决定,下一个感染阶段发送DNS TXT记录查询时,要使用哪些子域。...有点必须要注意是,第三、四阶段Powershell脚本,都包含两组域,只有在样本使用第二组域名出现问题时才会使用第一组域名。 ?...恶意程序会在另一个DNS TXT记录查询中使用这个域,来尝试获取与当前阶段相关第四阶段payload。...这一步完成后,调用扩展环境中一个函数,来执行第四阶段代码,并设置特定参数。这些参数包含后续将用到第四阶段C2域名和执行程序,即Windows命令行处理器(cmd.exe)。

2.2K90

驱动人生安全事件分析

攻击特征 1.病毒会创建计划任务持续使用PowerShell.exe下载其他恶意程序。 2.病毒运行挖矿程序占用计算机资源,影响正常使用。 3.病毒运行木马程序用于自身持久化驻留和操控计算机。...运行程序,此程序会调用Mimikatz脚本,进行本机用户和密码抓取, 同时创建计划任务,每天固定时间点自动向XX.beahh.com发送http请求下载域名解析后服务器上程序,并以HTA(内含微软某...病毒拥有远控功能,运行后本机CUP型号,操作系统版本,MAC地址,ip地址,域用户名,显卡信息,挖矿线程,以及计算机参数递给终端: 该脚本新增一个计划任务,计划每天7:00运行 C:\windows...释放powershell脚本文件并执行mimikatz模块,运行mimi操作后,释放了另一个配置文件 ? mkatz.ini文件中为抓取到用户密码hash值 ?...释放PowerShell脚本并执行,命令行参数为 ? 判断自身所在路径,如果不是则拷贝自身到当前用户缓存目录中再次启动: ?

2.8K20
领券