Powershell入门指南

图片[1]-Powershell入门指南-山海云端论坛

1.1. 简介

攻击者为了确保木马样本的传播效果,通常选择体积较小的方式进行传播。其中一种常见的方法是通过宏、WMI和PowerShell来下载恶意代码。近期,我们也经常看到利用PowerShell绕过UAC(用户帐户控制)下载文件的手法。

1.2. 环境介绍

1.2.1. 注意事项

默认情况下,PowerShell不允许执行PS1脚本,需要使用Set-ExecutionPolicy修改默认策略。可通过Get-ExecutionPolicy获取当前策略。

1.2.2. 开发工具

Windows自带的PowerShell ISE是常用的开发工具,脚本的运行后缀为.ps1。

1.2.3. 代码调试

使用内置编译器进行调试,常用快捷键有F9(设置断点)、F5(执行)、F10(单步执行)。

1.3. PowerShell启动命令参数

在执行PowerShell命令时,常用的参数有EncodedCommand、WindowStyle Hidden、NonInteractive等,这些参数可以帮助隐藏执行痕迹、绕过权限限制等。

1.4. 交互式SHELL

PowerShell提供了许多内置的交互式Shell命令,如获取帮助命令、查找特定任务的命令、将管道输出结果保存到文件中等。

1.5. 变量

在PowerShell中,变量名以美元符号$开头,大小写不敏感。变量可以存储命令输出,也可以包含方法和属性。

1.6. 逻辑表达式

PowerShell支持各种逻辑、比较和计算运算符,可以进行加减乘除、比较大小、匹配字符串等操作。

1.7. 条件语句

条件语句包括if、elseif和else语句,以及选择分支语句switch,用于根据不同条件执行不同的代码块。

1.8. 循环结构

PowerShell支持while、do…while、do…until、for和foreach等循环结构,用于重复执行特定代码块。

1.9. 数组

PowerShell允许一个变量保存多个独立的值,数组可以存储数值、字符串等类型的数据,并支持访问数组、数组分割等操作。

1.10. 字符串操作

PowerShell提供了丰富的字符串操作功能,包括字符串分割、替换、查找等操作,可以通过正则表达式或通配符进行匹配。

1.11. 文件操作

PowerShell可以轻松地进行文件的读取、写入和判断文件是否存在等操作,使用.NET的System.IO命名空间提供的类来实现。

1.12. 命令行参数

$args变量用于返回所有的命令行参数,可以通过传递参数给函数或脚本来获取$args变量中保存的参数。

1.13. 函数

PowerShell允许定义和调用函数,函数可以接受参数并返回值,可以在脚本中重复使用。

1.14. 下载案例

以下是一些利用PowerShell下载恶意文件的示例代码,通过设置参数和执行命令来实现文件的下载和执行。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容