Share
## 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