记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

Powershell入门必备(四)

2018-10-08 12:20

介绍

随着我们这个系列文章的逐步深入,我们就越能发现powershell的强大之处,而这种强大只会越来越明显。

在本篇文章中,我们会探索如何使用powershell来操作模块。这对我们来说是学习PowerShell的一个非常有趣和重要的部分,因为它在许多任务和操作的自动化方面将会为我们提供许多帮助。

使用powershell模块

正如我们在前面的文章中看到的,模块是PowerShell里一个非常强大的概念。现在我们会来学习在渗透测试中如何创建和利用它们,特别是用于自动化日常任务。

首先,让我们记住模块的定义。Microsoft对模块的描述定义是这样的:

· “模块是包含PowerShell命令的包,例如cmdlets,提供程序,函数,工作流,变量和别名。”

· “编写命令的人可以使用模块来组织命令并与他人共享命令。接收模块的人可以将模块中的命令添加到他们的PowerShell会话中,并像内置命令一样使用它们。“ (微软官方文档定义)。

我们可以使用Get-Module 命令获取可用模块的列表:

1.png

该Get-Module命令可以帮助我们获取已导入到当前会话中的模块。在我们的示例中,我们使用此命令和-ListAvailable 选项来检索计算机上安装的模块,并可以在我们的会话中导入。添加选项 -All 使我们能够获取当前会话中所有可用模块的所有导出文件。

我们还可以使用Import-Module 命令非常简单地导入模块:

2.png

同时,我们也可以使用Remove-Module 命令将其删除,如下所示:

3.png

使用powershell编写模块

现在让我们谈谈如何使用PowerShell创建模块。

PowerShell上的模块的扩展名为“.psm1”。

我们首先创建一个示例模块。首先,我们将在psm1文件中写一个函数来创建我们的模块。

除了文件扩展名外,这个模块文件没有什么特别的,所以我们可以使用包含函数的普通PowerShell脚本并重命名它来创建psm1文件。是不是很简单?

下面我们将使用一个简单的函数。

这个函数是用来检查文件是否存在:

4.png

还有一个重要的注意事项:我们必须添加一个模块清单,将其称为模块。

清单只是添加有关模块的元数据。它包括以下信息:

· 作者信息

· 版本

· 自动加载模块

模块清单只是一个保存为psd1文件的哈希表,当我们导入数据时将加载它。

New-ModuleManifest cmdlet将通过为我们创建清单来帮助我们。

现在我们来生成第一个清单:

5.png

6.png

清单生成之后是这样的:

7.png

清单中最有趣的属性之一是FunctionsToExport 属性。它的默认值为*,导出所有函数,但我们也可以使用以下语法选择特定函数:

FunctionsToExport =“GetFunction” 。

最后,我们来谈谈RootModule。根模块参数会指示应运行哪个PowerShell模块文件。

不要忘了将所有文件放在同一个文件夹中,如下所示:

8.png

现在我们来进行导入:

9.png

在这个示例中,Import-Module命令会自动查找psm1文件。

好了,本篇文章差不多就是这样。

现在你已经知道如何使用powershell来操作模块了。你会发现这真的非常有用。

总结

powershell中模块的概念十分重要,而且对我们非常有帮助。

在下一篇文章中,我们将开始使用powershell进行实战利用,并且开始讨论使用PowerShell进行远程处理。

更多精彩内容,敬请期待。

本文翻译自:https://resources.infosecinstitute.com/powershell-for-pentesters-part-4-modules-with-powershell/如若转载,请注明原文地址: http://www.hackdig.com/10/hack-53112.htm
知识来源: www.4hou.com/penetration/13681.html

阅读:110983 | 评论:0 | 标签:内网渗透 安全工具 Powershell

想收藏或者和大家分享这篇好文章→复制链接地址

“Powershell入门必备(四)”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

九层之台,起于垒土;黑客之术,始于阅读

推广

工具

标签云