## https://sploitus.com/exploit?id=0F782044-7C17-5528-8C74-0CAE7D8BB106
# AutoRunScan
> PowerShell-инструмент для аудита автозагрузок Windows на предмет уязвимых прав доступа (Weak ACL / PrivEsc).
---
## Описание
**AutoRunScan** анализирует все записи автозапуска в системе и выявляет те, где обычные пользователи имеют полный контроль (`Full Control`) над исполняемым файлом или его директорией. Если такой файл запускается от имени привилегированного аккаунта (`SYSTEM`, `Administrator`), это создаёт вектор для **повышения привилегий (Privilege Escalation)**.
Инструмент предназначен для:
- пентестеров на этапе разведки и поиска векторов PrivEsc;
- системных администраторов при аудите безопасности рабочих станций;
- blue team при проверке конфигурации хостов.
---
## Как работает
```
Автозапуски системы
│
▼
Извлечение пути к .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 (для полного охвата — запуск от администратора)
---
## Использование
```powershell
# Базовый запуск
.\AutoRunScan.ps1
# Запуск с правами администратора (рекомендуется для полного охвата)
Start-Process powershell -Verb RunAs -ArgumentList "-File .\AutoRunScan.ps1"
# Сохранение результатов в файл
.\AutoRunScan.ps1 | Tee-Object -FilePath results.txt
```
> **Примечание:** если политика выполнения скриптов блокирует запуск, выполните:
> ```powershell
> Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass
> ```
---
## Пример вывода
```
=== 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 — возможен PrivEsc |
| `Privilege Context: LOW` | Файл запускается от обычного пользователя |
| `Weak FILE permissions` | Слабые права на сам исполняемый файл |
| `Weak DIRECTORY permissions` | Слабые права на директорию (можно подложить файл рядом) |
---
## Вектор атаки (для понимания риска)
Если `updater.exe` запускается от `SYSTEM`, но группа `Users` имеет на него `Full Control`:
1. Атакующий (обычный пользователь) подменяет `updater.exe` своим payload.
2. При следующей загрузке системы или входе пользователя файл выполняется от `SYSTEM`.
3. Атакующий получает сессию с максимальными привилегиями.
---
## Ограничения
- Инструмент обнаруживает только **явные** слабые права (`F` — Full Control). Более тонкие мисконфигурации (например, `(W)` — Write, `(M)` — Modify) не включены в текущую версию.
- Анализируются только записи `Win32_StartupCommand`. Службы Windows (`Win32_Service`) проверяются отдельно.
- Пути с переменными окружения (`%APPDATA%\...`) могут не разрешиться корректно без прав администратора.
---
## Отказ от ответственности
Инструмент предназначен **исключительно для легального аудита безопасности** на системах, к которым у вас есть письменное разрешение. Использование на чужих системах без разрешения незаконно.
---
## Лицензия
MIT