如何使用PESecurity快速检测EXE/DLL安全属性?5分钟上手教程
【免费下载链接】PESecurityPowerShell module to check if a Windows binary (EXE/DLL) has been compiled with ASLR, DEP, SafeSEH, StrongNaming, and Authenticode.项目地址: https://gitcode.com/gh_mirrors/pe/PESecurity
PESecurity是一款强大的PowerShell模块,专门用于检测Windows二进制文件(EXE/DLL)是否启用了ASLR、DEP、SafeSEH、强命名、Authenticode等关键安全属性。对于开发者、安全测试人员和系统管理员来说,它是快速评估二进制文件安全配置的必备工具。
📋 核心功能一览
PESecurity能够检测的安全属性包括:
- ASLR(地址空间布局随机化):防止内存地址预测攻击
- DEP(数据执行保护):阻止恶意代码在数据区域执行
- SafeSEH:结构化异常处理保护(32位系统)
- Control Flow Guard:控制流防护机制
- Authenticode签名:验证文件数字签名状态
- 强命名:.NET程序集的强名称验证
🚀 快速安装步骤
克隆仓库
git clone https://gitcode.com/gh_mirrors/pe/PESecurity导入模块
打开PowerShell,导航到模块目录并导入:Import-Module .\Get-PESecurity.psm1
💻 基础使用指南
🔍 检测单个文件
检查系统关键文件(如kernel32.dll)的安全属性:
Get-PESecurity -file C:\Windows\System32\kernel32.dll📂 扫描目录中的所有二进制文件
批量检测System32目录下的EXE和DLL:
Get-PESecurity -directory C:\Windows\System32\🔄 递归扫描子目录
深入扫描所有子目录中的二进制文件:
Get-PESecurity -directory C:\Windows\System32\ -recursive📊 高级结果处理
📈 表格化展示结果
以清晰的表格形式查看安全属性:
Get-PESecurity -directory C:\Windows\System32\ | Format-Table📉 按安全属性排序
按ASLR状态对结果排序,快速定位风险文件:
Get-PESecurity -directory C:\Windows\System32\ | Format-Table | sort ASLR💾 导出为CSV报告
将检测结果保存为CSV文件,便于后续分析:
Get-PESecurity -directory C:\Windows\System32\ -recursive | Export-CSV SecurityReport.csv📝 输出字段说明
执行命令后,你将看到包含以下列的结果:
- FileName:文件路径
- ARCH:架构类型(如AMD64、I386)
- ASLR/DEP/SafeSEH:安全机制启用状态
- Authenticode:数字签名验证结果
- ControlFlowGuard:控制流防护状态
⚠️ 注意事项
- 权限要求:需要管理员权限才能完整读取系统文件的安全属性
- .NET文件:对于.NET程序集,部分原生安全属性(如ControlFlowGuard)将显示为
N/A - 64位系统:SafeSEH在64位环境下不适用,会显示为
N/A
通过PESecurity,你可以在5分钟内完成对系统关键二进制文件的安全配置审计,及时发现潜在的安全风险。无论是日常安全检查还是应急响应,这款工具都能为你提供高效准确的检测能力。
【免费下载链接】PESecurityPowerShell module to check if a Windows binary (EXE/DLL) has been compiled with ASLR, DEP, SafeSEH, StrongNaming, and Authenticode.项目地址: https://gitcode.com/gh_mirrors/pe/PESecurity
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考