joshuaruppe/winprivesc

GitHub: joshuaruppe/winprivesc

一个零依赖的 Windows 批处理脚本,通过原生 cmd.exe 进行系统枚举和权限提升路径发现,适用于受限环境下的安全评估。

Stars: 18 | Forks: 8

WinPrivEsc

Batch Dependencies Platform License Use

一个简单、无依赖的 Windows 批处理脚本,用于系统枚举和发现潜在的权限提升路径。它在原生的 `cmd.exe` 上运行,无需 PowerShell、无需 `wmic`,也不需要任何外部工具,因此无论是在受限环境还是现代主机上都能正常运行。 ## 用法 在命令提示符中运行 `winprivesc.bat`,并从菜单中选择一个选项: ``` 1 - All to Report 2 - Operating System 3 - Storage 4 - Networking 5 - Processes 6 - User Info 7 - Privilege Escalation 8 - Exit ``` 选项 **2-7** 会将其对应部分的内容打印到屏幕上,以便快速查看。选项 **1** 会运行所有部分的检查,并将合并后的输出写入当前目录下的 `report.txt` 文件中。 ## 检查内容 - **操作系统**:OS 名称/版本、架构、启动时间、页面文件、已安装的补丁、hosts/networks 文件、正在运行的服务 - **存储**:本地共享和映射的网络驱动器 - **网络**:完整的 `ipconfig` 信息、MAC 地址、路由表、活动连接、ARP 缓存、防火墙配置文件、域 - **进程**:正在运行的任务和已安装的驱动程序 - **用户信息**:当前用户、所有本地用户、本地组 - **权限提升**:重点内容: - 用户权限(标志 `SeImpersonate`、`SeAssignPrimaryToken`、`SeBackup`、`SeDebug` 等) - Token 组和 SID - `AlwaysInstallElevated` 策略 (HKLM/HKCU) - 位于 Windows 目录之外的服务二进制文件 - 未加引号的服务路径候选 - 存储的凭据 (`cmdkey`)、Winlogon 自动登录凭据,以及 unattend/sysprep 凭据文件 - 非 Microsoft 的计划任务 - `PATH` 变量中的可写目录(DLL 劫持攻击面) ## 输出 当使用选项 **1** 运行时,结果会保存到 `report.txt` 中。运行过程中会创建临时文件(`systeminfo.txt`、`hotfix.txt`),并在退出时自动清理。 ## 噪音与检测 这是一个侦察工具,因此有必要了解它的痕迹。 因为它仅使用 Windows 内置命令(没有 PowerShell、没有下载、没有持久化操作,也没有修改注册表或系统),因此在面对基于特征的 AV 时非常隐蔽。但在面对基于行为的 EDR 时,它**并不**隐蔽。选项 **1** 的便利性也是它最大的暴露点:一次性触发所有检查会从单个 `cmd.exe` 中产生密集的发现命令请求,这是检测引擎会重点关联分析的经典侦察模式。 不过它确实会触及磁盘:每次运行都会写入 `systeminfo.txt` 和 `hotfix.txt`,在使用选项 **1** 时还会写入 `report.txt`。尽管没有对系统进行任何修改,但这些文件创建事件(Sysmon Event ID 11)本身就是其留下的痕迹的一部分。 在仅安装了 Microsoft Defender AV 的默认系统中,实时告警概率较低。而在部署了 EDR(Defender for Endpoint、CrowdStrike 等)或 Sysmon 加 SIEM 的主机上,这种密集的发现行为以及下述的凭据检查很可能会被记录或标记。 **最容易引起怀疑的检查**(凭据访问和已知的 privesc 特征): - Winlogon 自动登录查询(`DefaultPassword` / `AutoAdminLogon`) - 通过 `cmdkey /list` 获取存储的凭据 - 连续执行 `whoami /priv` 和 `whoami /groups` - 搜索 unattend/sysprep 文件中的 `password` - `AlwaysInstallElevated` 注册表项 - 递归枚举服务 `ImagePath` 以及对 `PATH` 执行 `icacls` 循环 - 枚举非 Microsoft 的计划任务(密集执行 `schtasks /query` 命令,每个任务一次) 在现代的安全加固主机上(例如默认开启 Credential Guard 的 Windows 11 24H2),其中几项凭据检查可能会直接返回空结果,因为注册表和凭据管理器中的明文凭据正受到越来越严格的保护。 **为了尽量减少噪音:** - 随着时间的推移分批运行各个独立部分(**2-7**),而不是一次性使用选项 **1**。 - 除非确实需要,否则请暂缓执行上述凭据检查。 - 结束后务必清理 `report.txt`。它将敏感的输出内容集中保存在了一处,并在运行结束后遗留在磁盘上。 ## 免责声明 本工具仅供**授权**使用:包括您自己的系统、实验室环境、CTF 竞赛,或您已获得明确测试许可的评估项目。它是只读的,不会对主机进行任何更改;它仅收集信息。您需要对自身使用该工具的方式负责。 ## 许可证 基于 [MIT License](LICENSE) 发布。
标签:Mr. Robot, 协议分析, 批处理脚本, 无线安全, 权限提升, 流量嗅探, 系统信息收集