TimaMeiramgaliev/AutoRunScan-
GitHub: TimaMeiramgaliev/AutoRunScan-
AutoRunScan是一个基于PowerShell的安全审计脚本,旨在通过检测自动启动程序及其目录的弱权限来帮助用户发现Windows系统中的权限提升机会。
Stars: 0 | Forks: 0
# AutoRunScan
## 描述
**AutoRunScan** 分析系统中的所有自动启动条目,并找出普通用户对可执行文件或其目录拥有完全控制(`Full Control`)权限的那些条目。如果此类文件以特权账户(`SYSTEM`、`Administrator`)身份运行,这就构成了**权限提升** 的途径。
该工具适用于:
- 处于侦察阶段和寻找权限提升 渠道的渗透测试人员;
- 在对工作站进行安全审计时的系统管理员;
- 在检查主机配置时的蓝队。
## 工作原理
```
Автозапуски системы
│
▼
Извлечение пути к .exe
│
▼
Проверка ACL файла и директории (icacls)
│
▼
Слабые права найдены?
├── НЕТ → пропустить
└── ДА → проверить контекст запуска
├── HIGH (SYSTEM / Administrator) → POTENTIAL PRIVESC
└── LOW → уязвимость меньшего уровня
```
**以下权限被视为危险:**
| 权限 | 拥有访问权限的主体 |
|---|---|
| `BUILTIN\Users:(F)` | 任何本地用户 |
| `Everyone:(F)` | 所有人(无例外) |
| `Authenticated Users:(F)` | 任何已身份验证的用户 |
`(F)` = Full Control —— 意味着可以替换文件。
## 要求
- Windows 7 / Server 2008 R2 及更高版本
- PowerShell 3.0+
- 读取 ACL 的权限(为了获得完整覆盖,建议以管理员身份运行)
## 使用方法
```
# 基本运行
.\AutoRunScan.ps1
# 以管理员权限运行(推荐以实现完整覆盖)
Start-Process powershell -Verb RunAs -ArgumentList "-File .\AutoRunScan.ps1"
# 将结果保存到文件
.\AutoRunScan.ps1 | Tee-Object -FilePath results.txt
```
## 输出示例
```
=== VULNERABLE AUTORUN ===
Name : UpdateHelper
User : SYSTEM
Path : C:\Program Files\SomeApp\updater.exe
Privilege Context: HIGH (Potential PrivEsc)
[!] Weak FILE permissions:
C:\Program Files\SomeApp\updater.exe
BUILTIN\Users:(F)
NT AUTHORITY\SYSTEM:(F)
...
--------------------------------------
```
## 结果含义
| 字段 | 描述 |
|---|---|
| `Name` | 自动启动条目的名称 |
| `User` | 运行文件所用的账户 |
| `Path` | 可执行文件的路径 |
| `Privilege Context: HIGH` | 文件由 SYSTEM/Administrator 运行 —— 可能存在权限提升 |
| `Privilege Context: LOW` | 文件由普通用户运行 |
| `Weak FILE permissions` | 可执行文件本身的权限较弱 |
| `Weak DIRECTORY permissions` | 目录的权限较弱(可以在旁边放置文件) |
## 攻击向量(用于理解风险)
如果 `updater.exe` 以 `SYSTEM` 身份运行,但 `Users` 组对其拥有 `Full Control` 权限:
1. 攻击者(普通用户)用自己的 payload 替换 `updater.exe`。
2. 在下次系统启动或用户登录时,该文件将以 `SYSTEM` 身份执行。
3. 攻击者获得具有最高权限的会话。
## 局限性
- 该工具仅检测**显式**的弱权限(`F` —— Full Control)。更为细微的错误配置(例如 `(W)` —— Write,`(M)` —— Modify)未包含在当前版本中。
- 仅分析 `Win32_StartupCommand` 条目。Windows 服务(`Win32_Service`)需单独检查。
- 如果没有管理员权限,包含环境变量(如 `%APPDATA%\...`)的路径可能无法正确解析。
## 免责声明
该工具**仅用于对您拥有书面许可的系统进行合法的安全审计**。在未经许可的情况下在他人系统上使用是非法的。
## 许可证
MIT
标签:ACL, AI合规, Autorun, Awesome, ICAcls, Libemu, reconnaissance, Web报告查看器, 协议分析, 子域名枚举, 提权, 数据展示, 权限提升, 权限检查, 系统安全, 系统管理, 红队, 自启动