api0cradle/PowerAL
GitHub: api0cradle/PowerAL
一个专为识别 Windows AppLocker 配置弱点而设计的 PowerShell 模块,支持在受约束语言模式下运行。
Stars: 172 | Forks: 26
# PowerAL
当前版本:0.95
在达到 1.0 版本之前,版本控制无法做到 100% 完善。
我将此区域作为我的工作区来提交代码。在 1.0 版本之后,我将使用 DEV 分支来进行滚动更新。
PowerAL 是一个用于与 AppLocker 规则进行交互的 Powershell 模块。
该模块设计为可在受约束语言模式 下运行。
该模块的目标是能够轻松识别 AppLocker 的弱点/配置缺陷。
此模块仍在开发中。首个版本 (0.63) 是在 DerbyCon 上发布的。
1. 运行 Powershell -ep unrestricted
2. Import-module PowerAL.psd1
当前函数列表:
- Expand-PALPath
- Get-PALPathStatus
- Get-PALPoshV2Installed
- Get-PALPublisherStatus
- Get-PALRules
- Get-PALRuleSectionStatus
- Get-PALServiceStatus
- Get-PALMissingADSRules
- Get-PALMissingAllowedPaths
- Get-PALWriteableAllowedPaths
- Get-PALWriteablePaths
- Invoke-PALAllInfo
- Invoke-PALBypassPwn
- Invoke-PALCLMTempBypass
- Invoke-PALExploitableRules
- Invoke-PALKnownBypasses <- 无法工作
# 更新日志
版本 0.95:
- 向 Get-PALRules 添加了 ExceptionsAsDeny
- 创建了 Get-PALMissingADSRules
- 调整函数以使用 ExceptionsAsDeny 来处理异常
- 重构了 Get-PALPathStatus
版本 0.90:
- 允许管道传输至 expand-palpath
- 创建了 Get-PALRulesNative - 仍必须用于 OfflineXML 检查
- 向 Get-PALWriteableAllowedPaths 添加了重新运行功能
- 更改了 Get-PALWriteAblePaths 以将先前的扫描保留在全局变量(内存)中。同时也进行了优化,以避免重复扫描同一区域。
- 移除了 Invoke-PALRemoveCachedPath,因为所有操作均在内存中完成
- Expand-PALPath 支持 ADS
- 将名称从 Get-PALRulesStatus 更改为 Get-PALRuleSectionStatus
- 编写了 Get-PALRules,通过从注册表获取 AppLocker 规则,而不是使用利用 Get-AppLockerPolicy 的原生方式
- 添加了对 Expand-palpath 多路径的支持
- 创建了 Get-PALMissingAllowedPaths
- 重写了 Get-PALEXploitablerules,添加了对 ADS 的检查以及其他一些内容
- + 还有许多我忘记写下来的改动
标签:ADS, AI合规, AppLocker, CLM, Conpot, Defensive Evasion, IPv6, Libemu, Libemu, Libemu, OpenCanary, PowerShell, SOC工具, Windows安全, 受约束语言模式, 备份数据流, 提权, 数据展示, 无线安全, 权力提升, 流量嗅探, 漏洞发现, 白名单绕过, 红队, 绕过检测, 网络安全审计, 脚本安全, 规则枚举