Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
PrivescCheck — Скрипт для перечисления путей повышения привилегий в Windows | Kitploit
Инструменты/GitHubGitHub/itm4n/privesccheck
Повышение привилегийАнализ уязвимостейАудит конфигурацииСбор информацииПост-эксплуатацияТестирование на ПроникновениеТоп в Пост-эксплуатация №16Топ в Повышение привилегий №2
GitHub
3.9k5072891 день назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
itm4n/privesccheck

PrivescCheck

Скрипт для перечисления путей повышения привилегий в Windows

Репозиторий
# PrivescCheck

Быстро выявляйте распространённые **уязвимости** Windows и **проблемы конфигурации**, которые не обязательно охвачены публичными стандартами безопасности, а также собирайте полезную информацию для задач эксплуатации и постэксплуатации.

> [!IMPORTANT]
> Важный аспект, который следует учитывать при использовании этого инструмента, заключается в том, что все проверки контроля доступа выполняются в контексте текущего пользователя. Поэтому, если он запущен с правами администратора, многие проверки уязвимостей пропускаются во избежание генерации некорректных результатов.

## Быстрый старт

Скачайте скрипт здесь: [PrivescCheck.ps1](https://github.com/itm4n/PrivescCheck/releases/latest/download/PrivescCheck.ps1)

> [!TIP]
> Приведённую выше ссылку также можно использовать напрямую в терминале PowerShell с помощью `(New-Object Net.WebClient).DownloadString(...)`.

### Сценарий 1: Быстрая оценка

```bat
powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck -Report TXT,HTML"
```

### Сценарий 2: Расширенная оценка

```bat
powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck -Extended -Report TXT,HTML"
```

### Сценарий 3: Комплексная оценка

```bat
powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck -Extended -Audit -Report ALL"
```

## Подробное использование

```txt
Invoke-PrivescCheck [-Extended] [-Audit] [-Risky] [-Report <FORMAT>[,...]]
    [-FilePath <PREFIX>]  [-Silent] [-Force]

    -Extended
        Include all "extended" checks in the scan.

    -Audit
        Include all "audit" checks in the scan.

    -Risky
        Include all "risky" checks in the scan. Those are checks that are
        likely to trigger active EDR counter measures due to their behavior.

    -Report <FORMAT>[,...]
        Specify output report file formats (TXT, HTML, CSV, XML). Use alias
        'ALL' to generate all report files. By default, the output filename
        is automatically generated. Use option '-FilePath' to specify one
        explicitly.

    -FilePath <PREFIX>
        Specify the output report file name or directory. The file extension
        is automatically appended. If a directory path is supplied, the
        filename is automatically generated at runtime.

    -Silent
        Suppress terminal output. This can be useful if you want to run the
        script as part of a batch file, in a scheduled task for instance.

    -Force
        Force execution and ignore warnings. Typically, the script stops if
        it is executed with administrator privileges. Use this option to
        execute it anyway.
```

## Форматы файлов отчётов

### Формат файла отчёта > TXT

Используйте опцию `-Report TXT` для генерации **отчёта в виде необработанного текста**. Вывод аналогичен выводу в терминале, за исключением того, что он содержит только ASCII-символы для лучшей совместимости с текстовыми редакторами.

![Скриншот отчёта в виде необработанного текста, сгенерированного PrivescCheck](https://assets.kitploit.com/production/public/readmes/411/39eb4cd266494c6b5915b90198f886309702269a1140a9b5f6e9f20d5359bdea.png)

### Формат файла отчёта > HTML

Используйте опцию `-Report HTML` для генерации **HTML-отчёта**. Выходной файл можно открыть в веб-браузере. Подключение к Интернету не требуется, так как он не имеет внешних зависимостей. Он более удобен для визуализации данных, чем отчёт в виде необработанного текста. Кроме того, он предоставляет возможности **сортировки** и **фильтрации**!

![Скриншот HTML-отчёта, сгенерированного PrivescCheck](https://assets.kitploit.com/production/public/readmes/411/cd685587f4b72a5bd0e5d2cee66a30781da90d21f57d5f72e3c47642f9357eb5.png)

### Формат файла отчёта > CSV или XML

Используйте опцию `-Report CSV` или `-Report XML` для генерации **отчёта в формате CSV или XML**. Выходной файл предназначен для облегчения разбора результатов автоматизированными инструментами отчётности.

> [!NOTE]
> Хотя выходной формат (пока) не документирован, вы можете легко разобраться в нём, проанализировав структуру уже сгенерированного файла. Вы можете использовать значение `Id` каждой проверки в качестве уникального идентификатора.

## Типы проверок

### Тип проверки > Base

Проверки типа `Base` всегда выполняются, если только скрипт не запущен с правами администратора. Они в основном предназначены для выявления уязвимостей повышения привилегий или других важных проблем.

### Тип проверки > Extended

Проверки типа `Extended` могут выполняться только в том случае, если в командной строке указана опция `-Extended`. Они в основном предназначены для предоставления дополнительной информации, которая может быть полезна для разработки эксплойтов или постэксплуатации.

### Тип проверки > Audit

Проверки типа `Audit` могут выполняться только в том случае, если в командной строке указана опция `-Audit`. Они в основном предназначены для предоставления информации, актуальной в контексте аудита конфигурации.

## Советы и приёмы

### Политика выполнения PowerShell

По умолчанию [политика выполнения](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies) PowerShell установлена в значение `Restricted` на клиентах и `RemoteSigned` на серверах при запуске нового процесса `powershell.exe`. Эти политики блокируют выполнение (неподписанных) скриптов, но их можно переопределить в текущей области следующим образом.

```powershell
Set-ExecutionPolicy Bypass -Scope Process -Force
. .\PrivescCheck.ps1
```

Однако этот приём не работает, когда политика выполнения принудительно задана через GPO. В этом случае после запуска нового сеанса PowerShell вы можете загрузить скрипт следующим образом.

```powershell
Get-Content .\PrivescCheck.ps1 | Out-String | Invoke-Expression
```

### PowerShell версии 2

Распространённый способ обхода [Constrained Language Mode](https://devblogs.microsoft.com/powershell/powershell-constrained-language-mode/) заключается в использовании PSv2, поскольку он не реализует эту защиту. Поэтому значительная часть усилий по разработке направлена на поддержание этой обратной совместимости.

> [!NOTE]
> Хотя PowerShell версии 2 ~~по-прежнему включён по умолчанию в последних версиях Windows~~ ([Удаление PowerShell 2.0 из Windows](https://support.microsoft.com/en-us/topic/powershell-2-0-removal-from-windows-fe6d1edc-2ed2-4c33-b297-afe82a64200a)), он не может работать без .Net framework версии 2.0, что требует ручной установки.

### Тайм-аут Metasploit

Если вы запускаете этот скрипт в сеансе Meterpreter, вы, скорее всего, получите ошибку "timeout". Это связано с тем, что Metasploit использует значение тайм-аута по умолчанию 15 секунд, которого недостаточно для завершения типичного выполнения скрипта.

```console
meterpreter > load powershell
Loading extension powershell...Success.
meterpreter > powershell_import /local/path/to/PrivescCheck.ps1
[+] File successfully imported. No result was returned.
meterpreter > powershell_execute "Invoke-PrivescCheck"
[-] Error running command powershell_execute: Rex::TimeoutError Operation timed out.
```

Можно задать другой тайм-аут с помощью опции `-t` команды `sessions` ([документация](https://www.offensive-security.com/metasploit-unleashed/msfconsole-commands/)). В следующем примере для сеанса с ID `1` устанавливается тайм-аут 2 минуты, но вы можете задать и более высокое значение.

```console
msf6 exploit(multi/handler) > sessions -t 120 -i 1
[*] Starting interaction with 1...
meterpreter > powershell_execute "Invoke-PrivescCheck"
```

## Сборка

### Обновление данных

Некоторые проверки полагаются на онлайн-данные (*например*, база данных драйверов LOL), но скрипт предназначен для работы в автономном режиме. Чтобы решить эту проблему, данные встраиваются в скрипт и поэтому нуждаются в регулярном обновлении. Этот процесс полностью автоматизирован в официальном релизе, но если вы хотите собрать скрипт локально, вы можете при желании сделать это вручную.

```bat
powershell -ep bypass ". .\build\Build.ps1; Update-LolDriverFile"
```

### Сборка скрипта

Сборка скрипта так же проста, как выполнение приведённой ниже команды. Выходной файл будет сохранён в папке `.\dist\`.

```bat
powershell -ep bypass ". .\build\Build.ps1; Invoke-Build -Name PrivescCheck"
```

Скрипт сборки использует генератор псевдослучайных чисел со случайно сгенерированным **seed** для выбора имени переменной для каждого модуля. Если вы хотите получать воспроизводимые результаты между сборками, вы можете повторно использовать ранее сгенерированный **seed**, указав опцию `-NoNewSeed`.

```bat
powershell -ep bypass ". .\build\Build.ps1; Invoke-Build -Name PrivescCheck -NoNewSeed"
```

## Благодарности

- Список слов - [CBHue/PyFuscation](https://github.com/CBHue/PyFuscation)
- Список известных уязвимых драйверов - [https://www.loldrivers.io/](https://www.loldrivers.io/)
Скачать инструмент