PowerShell网络安全脚本集锦
在日常系统运维工作中,安全审计往往是最令人头疼的环节——不是不想做,而是手头工具零散、脚本不够顺手。今天介绍的这款开源项目,正好能解决这一痛点:一套以PowerShell为核心的网络安全脚本合集,专为系统管理员设计,将重复性的安全检查任务打包成现成脚本,开箱即用。
项目基础介绍
简单来说,这是一个面向Windows环境的PowerShell脚本集合,主要服务于网络安全日常管理与审计。整套脚本在Windows 10 + PowerShell 5.1平台上运行最为流畅——当然,新版本PowerShell也兼容,但官方推荐的基准版本就是5.1。对于经常需要与AD域控、Exchange、打印机、BitLocker打交道的管理员而言,这套脚本就像工具箱里的专用扳手:特定场景、特定用途、一拧即开。
核心功能
这套脚本覆盖了多种最常见的检查场景,每个脚本都拥有明确的目标:
delete-remote-deployment-files: 专门查找并清理可能暗藏密码的历史遗留部署文件。很多团队在项目上线后,部署脚本中明文写着管理员密码,事后却忘记清理——这个脚本就是来扫雷的。
password-expiration-report: 审计那些“永不过期”的账户密码。公司里总有一些服务账户、共享账户密码被设为永不过期,该脚本能生成详细报告,包含账户名、密码最后设置日期,方便你跟进整改。
printer-auth-report: 找出那些无需认证即可访问Web管理界面的网络打印机——这往往是内网渗透的经典突破口。脚本会扫描网络打印机,揪出管理页面直接暴露在外的设备。
printer-telnet-ftp-report: 识别启用了Telnet或FTP服务的打印机。这两个协议均为明文传输,安全性极差,若打印机仍运行这些服务,无异于敞开后门。
remote-bitlocker-encryption-report: 针对BitLocker硬件加密漏洞(CVE-2018-12038)的缓解报告。该漏洞影响预启动认证,脚本能检查设备是否易受攻击,并给出缓解建议。
最近更新的功能
这个项目一直在持续迭代,最近一次更新中主要进行了以下优化:
- delete-remote-deployment-files:优化了文件搜索逻辑,在查找删除的同时增加了操作安全性校验,避免误删重要文件。
- password-expiration-report:新增了账户锁定策略检查——光看密码有效期还不够,若锁定策略不配合,暴力破解依然有机可乘。
- printer-auth-report:改进了报告输出格式,现在更直观易读,一眼就能看出哪些打印机需要优先整改。
- remote-bitlocker-encryption-report:更新了BitLocker加密状态检查逻辑,适配了最新的安全标准及Windows更新后的行为变化。
值得一提的是,这个项目是开源的,社区非常活跃。如果你手头有新的安全脚本或功能想法,直接贡献上去就能让更多人受益。毕竟在安全领域,工具越完善,日常防守就越从容。
