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

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

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

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

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

Категории

Все категории
Loading categories
Grouper — Скрипт PowerShell, помогающий находить уязвимые настройки в групповых политиках AD. (устарел, используйте Grouper2 вместо него!) | Kitploit
Инструменты/GitHubGitHub/l0ss/grouper
Повышение привилегийАнализ уязвимостейАудит конфигурацииТестирование на Проникновение
GitHubl0ss/grouper

Grouper

Скрипт PowerShell, помогающий находить уязвимые настройки в групповых политиках AD. (устарел, используйте Grouper2 вместо него!)

Репозиторий
732116127 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

Grouper

НЕ ИСПОЛЬЗУЙТЕ GROUPER БОЛЬШЕ. ИСПОЛЬЗУЙТЕ GROUPER2! https://github.com/l0ss/Grouper2

Скрипт PowerShell для поиска уязвимых настроек в групповых политиках Active Directory.

Изображение рыбы

Фото: Jon Hanson - https://www.flickr.com/people/61952179@N00?rb=1 - https://creativecommons.org/licenses/by-sa/2.0/

Краткое описание

Grouper — это модуль PowerShell, предназначенный для пентестеров и редтимеров (хотя, вероятно, также полезен для сисадминов). Он просеивает (обычно очень шумный) XML-вывод командлета Get-GPOReport (часть модуля групповых политик Microsoft) и выявляет все настройки, определённые в объектах групповой политики (GPO), которые могут оказаться полезными для того, кто пытается сделать что-то весёлое/зловредное.

Примеры того, что он находит в GPO:

  • GPO, предоставляющие права на изменение самого GPO нестандартным пользователям.
  • Скрипты запуска и завершения работы
    • аргументы и сами скрипты часто содержат учётные данные.
    • скрипты часто хранятся с правами, позволяющими их изменить.
  • Автоматически развёртываемые MSI-установщики
    • опять же, часто хранятся в местах, где вы получите права на изменение.
  • Старые добрые пароли Group Policy Preferences.
  • Записи реестра автовхода, содержащие учётные данные.
  • Другие учётные данные, хранящиеся в реестре для забавных вещей вроде VNC.
  • Плановые задания с сохранёнными учётными данными.
    • Также часто запускают программы из плохо защищённых файловых ресурсов.
  • Права пользователей
    • Удобно замечать, где администраторы случайно предоставили «Domain Users» доступ по RDP или те забавные права, которые позволяют запускать mimikatz даже без полных прав администратора.
  • Изменения локальных прав доступа к файлам
    • Хорошо для поиска машин, где администраторы просто выдали «Полный доступ» для «Всех» на «C:\Program Files».
  • Файловые ресурсы
  • INI-файлы
  • Переменные окружения
  • ... и многое другое! (ну, не очень много, но кое-что)

Да, это довольно грубо, но это экономит мне огромное количество времени, которое я тратил на чтение тех ужасных 150-мегабайтных HTML-отчётов GPO, и если это работает для меня, может сработать и для вас.

Примечание: Хотя некоторые имена функций могут содержать слово «audit», Groper НЕ предназначен для исчерпывающего аудита на соответствие лучшим практикам и т.д. Если вам нужно это, используйте Microsoft SCT и LGPO.exe или что-то подобное.

Использование

Создайте отчёт GPO на машине Windows с установленными командлетами групповых политик. Они установлены на контроллерах домена по умолчанию, могут быть установлены на клиентах Windows через RSAT или включены через мастер «Добавление компонентов» на серверах Windows.

Get-GPOReport -All -ReportType xml -Path C:\temp\gporeport.xml

Импортируйте модуль Grouper.

Import-Module .\grouper.psm1

Запустите Grouper.

Invoke-AuditGPOReport -Path C:\temp\gporeport.xml

Параметры

Также есть несколько параметров, которые можно менять, чтобы изменить, какие настройки политик будет показывать Grouper:

-showDisabled

По умолчанию Grouper показывает только GPO, которые в данный момент включены и привязаны к подразделению в AD. Этот параметр переключает это поведение.

-Online

По умолчанию Grouper работает только с фактическим XML-выводом из Get-GPOReport и не выполняет никаких сетевых взаимодействий, что делает его довольно «безопасным с точки зрения OPSEC», хотя я ненавижу этот термин.

Если запустить его с параметром -Online, Grouper включит проверки, требующие связи (как минимум) с доменом AD, из которого был создан отчёт, но, вероятно, также потребуется связь с, например, файловыми серверами. Это позволит Grouper выполнять полезные действия, такие как отчёт о ACL для файлов, на которые ссылаются GPO, и проверка, может ли текущий пользователь записывать в этот файл.

-Level

Grouper имеет 3 уровня фильтрации, которые можно применить к его выводу.

  1. Показать все возможные настройки.
  2. (По умолчанию) Показать только настройки, которые кажутся «интересными», но могут быть не уязвимы.
  3. Показать только настройки, которые определённо являются очень плохой идеей и, скорее всего, содержат учётные данные или иным образом дадут мне права администратора на хосте.

Использование простое. -Level 3, -Level 2 и т.д.


Часто задаваемые вопросы

Я работаю на задании и не могу найти машину, входящую в домен, к которой у меня есть доступ и на которой установлены командлеты групповых политик. Я не хочу их устанавливать, потому что это шумно и грязно!

Get-GPOReport отлично работает на машинах, не входящих в домен, через runas /netonly. Вам понадобятся учётные данные с низкими привилегиями, но это ожидаемо.

Сделайте так:

runas /netonly /user:domain\user powershell.exe

на машине, не входящей в домен, но имеющей связь с контроллером домена.

Затем в полученном сеансе PowerShell сделайте так:

Get-GpoReport -Domain example.com -All -ReportType xml -Path C:\temp\gporeport.xml

Легко.

Я вам не доверяю, поэтому не хочу запускать ваш подозрительный скрипт на машине, входящей в домен, но хочу попробовать Grouper.

Для работы Grouper нужен только PowerShell 2.0 и xml-файл, выводимый из Get-GPOReport. Вы можете запустить его на виртуальной машине без сетевой карты, если беспокоитесь, и он всё равно будет работать.

Тем не менее, это довольно простой код, поэтому не составит труда убедиться, что он не делает ничего подозрительного.

Я считаю глупым, что вы полагаетесь на командлеты групповых политик MS/RSAT для Grouper. Вам следовало бы написать его так, чтобы он напрямую запрашивал домен или разбирал файлы политик прямо из SYSVOL.

Короткий ответ: Ага.

Длинный ответ: Да, сделать что-то из этого было бы лучше, но есть пара вещей, которые пока мешают мне это сделать.

В идеале я хотел бы разбирать файлы политик прямо из SYSVOL, но они хранятся в множестве разных форматов, некоторые из них проприетарные, их очень трудно читать, и у меня нет ни времени, ни желания писать с нуля наборы парсеров для них, когда Microsoft уже предоставляет командлеты, которые отлично справляются с этой задачей.

В не столь отдалённом будущем я хотел бы встроить Get-GPOReport от Microsoft в Grouper, чтобы вам вообще не понадобился RSAT, но нужно выяснить, не будет ли это нарушением авторских прав. Также нужно разобраться, как реализовать то, что я только что сказал.


Вопросы, которые я ожидаю

Grouper показывает мне все эти настройки, которые не являются уязвимыми. ЧЁРТ, ЛОЖНОЕ СРАБАТЫВАНИЕ?

Grouper — это не сканер уязвимостей. Grouper просто фильтрует огромное количество мусора и шума в отчётах групповых политик, показывая только те настройки, которые МОГУТ быть сконфигурированы эксплуатируемым образом.

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

Grouper не показал мне то, что я точно знаю, что оно уязвимо в групповых политиках. ЧЁРТ, ЛОЖНОЕ НЕСРАБАТЫВАНИЕ?

Отлично, вы только что нашли способ улучшить Grouper! Прокрутите вниз, и вы увидите небольшое руководство по добавлению новых проверок в Grouper.

У меня нет лабораторной среды и нет под рукой файла отчёта GPO! К тому же я очень нетерпелив!

Я прикрою тебя, парень. В репозитории есть файл test_report.xml, с которым можно попробовать. Он содержит кучу плохих настроек, так что вы сможете увидеть, как это выглядит.

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

Я ещё более нетерпелив, чем предыдущий парень, и требую красивых картинок немедленно!

ОК.

Скачать инструмент