PowerAL 项目使用教程
1. 项目目录结构及介绍
PowerAL 项目的目录结构如下:
PowerAL/
├── LICENSE
├── PowerAL.ps1
├── README.md
└── ...
目录结构介绍
- LICENSE: 项目的许可证文件,采用 BSD-3-Clause 许可证。
- PowerAL.ps1: 项目的主要脚本文件,包含了模块的核心功能。
- README.md: 项目的说明文件,提供了项目的概述、使用方法和更新日志等信息。
2. 项目启动文件介绍
PowerAL 项目的启动文件是 PowerAL.ps1
。该文件是 PowerShell 模块的核心脚本,包含了多个函数和命令,用于与 AppLocker 规则进行交互,帮助用户识别 AppLocker 的弱点和配置缺陷。
启动文件功能
- Expand-PALPath: 扩展路径。
- Get-PALPathStatus: 获取路径状态。
- Get-PALPoshV2Installed: 检查 PowerShell 版本 2 是否安装。
- Get-PALPublisherStatus: 获取发布者状态。
- Get-PALRules: 获取 AppLocker 规则。
- Get-PALRuleSectionStatus: 获取规则部分状态。
- Get-PALServiceStatus: 获取服务状态。
- Get-PALMissingADSRules: 获取缺失的 ADS 规则。
- Get-PALMissingAllowedPaths: 获取缺失的允许路径。
- Get-PALWriteableAllowedPaths: 获取可写入的允许路径。
- Get-PALWriteablePaths: 获取可写入的路径。
- Invoke-PALAllInfo: 调用所有信息。
- Invoke-PALBypassPwn: 调用绕过 Pwn。
- Invoke-PALCLMTempBypass: 调用 CML 临时绕过。
- Invoke-PALExploitableRules: 调用可利用的规则。
- Invoke-PALKnownBypasses: 调用已知的绕过方法(目前不可用)。
3. 项目配置文件介绍
PowerAL 项目没有显式的配置文件,但其功能和行为可以通过 PowerShell 脚本中的参数和函数调用来进行配置。例如,可以通过调用 Get-PALRules
函数来获取 AppLocker 规则,并通过参数来指定不同的行为。
配置示例
# 导入模块
Import-Module PowerAL.psd1
# 获取 AppLocker 规则
Get-PALRules -ExceptionsAsDeny
以上代码展示了如何导入 PowerAL 模块并获取 AppLocker 规则,同时指定将异常视为拒绝。
通过以上内容,您可以了解 PowerAL 项目的目录结构、启动文件功能以及如何进行配置。希望这份教程对您有所帮助!