Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
LACheck — Assembly .NET em C# multithread para enumerar privilégios administrativos locais em hosts Windows via SMB, WMI e WinRM, com integração com BloodHound para reconhecimento do Active Directory. | Kitploit
Ferramentas/GitHubGitHub/mitchmoser/lacheck
Escalada de PrivilégiosReconhecimentoMovimento LateralColeta de InformaçõesTestes de PenetraçãoRed Teaming
GitHubmitchmoser/lacheck

LACheck

Assembly .NET em C# multithread para enumerar privilégios administrativos locais em hosts Windows via SMB, WMI e WinRM, com integração com BloodHound para reconhecimento do Active Directory.

Ver Repositório
9315há 4 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

LACheck

Enumeração de Privilégios Administrativos Locais com Assembly .NET C# Multithreaded

Argumentos

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

Usage:
    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]

Local Admin Checks:
    smb   - Attempts to access C$ share
    rpc   - Attempts WMI query of Win32_ComputerSystem Class provider over RPC
    winrm - Attempts WMI query of Win32_ComputerSystem Class Provider over WinRM Session

Arguments:
    /bloodhound - generate bloodhound-digestible AdminTo and Session collection file
                  output file is zipped and enypted with randomized name and password
    /dc         - specify domain controller to query (if not ran on a domain-joined host)
    /domain     - specify domain name (if not ran on a domain-joined host)
    /edr        - check host for EDR (requires smb, rpc, or winrm)
    /logons     - return logged on users on a host (requires smb, rpc, or winrm)
    /registry   - enumerate sessions from registry hive (requires smb)
    /services   - return services running as users (requires smb, rpc, or winrm)
    /socket     - send bloodhound output to TCP socket instead of writing to disk
                  ex: ""127.0.0.1:8080""
    /targets    - comma-separated list of hostnames to check
    /threads    - specify maximum number of parallel threads (default=25)
    /user       - specify username that collection was run under (useful during token manipulation)
    /validate   - check credentials against Domain prior to scanning targets (useful during token manipulation)
    /verbose    - print additional logging information
    /ou         - specify LDAP OU to query enabled computer objects from
                  ex: "OU=Special Servers,DC=example,DC=local"
    /ldap - query hosts from the following LDAP filters:
         :all - All enabled computers with 'primary' group 'Domain Computers'
         :dc  - All enabled Domain Controllers (not read-only DCs)
         :exclude-dc - All enabled computers that are not Domain Controllers or read-only DCs
         :servers - All enabled servers
         :servers-exclude-dc - All enabled servers excluding Domain Controllers or read-only DCs

Executar Assembly

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

Saída

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.

Autenticação WinRM

Como visto no exemplo de saída acima, tentar verificar o WinRM no host com endereço IP 10.10.10.10 resultará em erro devido ao cliente WinRM não tentar autenticar em um host via endereço IP.

Use nomes de host ao tentar verificar o acesso WinRM.

Especificando Alvos

As flags /targets, /ldap e /ou podem ser usadas juntas ou separadamente para gerar uma lista de hosts a serem enumerados.

Todos os hosts retornados por essas flags são combinados e deduplicados antes do início da enumeração.

Bloodhound

O LACheck suporta a escrita de dados coletados de AdminTo e Sessão em saída json que pode ser carregada no BloodHound

Esta saída destina-se apenas a complementar uma coleta existente do BloodHound com privilégios administrativos atualizados para um único usuário e Sessões coletadas de hosts onde privilégios administrativos foram identificados

A opção /bloodhound gravará um arquivo zip criptografado com nome aleatório no disco, que pode ser baixado, extraído e carregado no BloodHound

/user

O BloodHound requer a resolução de usuários e computadores para SIDs. Devido a técnicas de impersonação como make_token e kerberos_ticket_use do Cobalt Strike, o LACheck pode não ser capaz de determinar com precisão o contexto de usuário para uma coleta. O argumento /user é necessário para fornecer ao LACheck o userprincipalname (formato = [email protected]) do contexto sob o qual ele é executado, a fim de correlacionar com precisão as informações da coleta.

/socket

A saída do BloodHound pode ser enviada para um socket TCP em vez de ser gravada em disco.

Se a conexão TCP falhar, a saída do BloodHound será gravada em disco.

Em um beacon do Cobalt Strike, as conexões TCP podem ser encaminhadas de um host de volta para a máquina local do operador usando rportfwd_local:

root@kitploit:~
rportfwd_local 8888 127.0.0.1 8888

Um operador pode então redirecionar a saída do fluxo TCP para um arquivo local usando netcat:

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

Métodos de Enumeração

Resumo de Desempenho

- = não implementado

SMB

/edr

Inspirado pelo script EDR.cna do harleyQu1nn

O método Directory.GetFiles retorna uma lista de drivers de:

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

Os drivers são comparados com uma lista de drivers conhecidos usados por fornecedores de EDR.

Exemplo de saída executado como usuário svcadmin

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

/logons

NetWkstaUserEnum retorna uma lista de usuários com logons interativos, de serviço e em lote

WTSEnumerateSessionsA retorna uma lista de sessões RDP em um host

WTSQuerySessionInformationA recupera informações detalhadas para cada sessão RDP

Exemplo de saída executado como usuário 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

Itera sobre SIDs na hive \\Computer\HKEY_USERS\, tenta acessar Volatile Environment para cada SID e recupera valores das chaves USERDOMAIN e USERNAME.

Este método requer que o serviço Remote Registry esteja em execução no host remoto. Se não estiver:

  1. o tipo de inicialização inicial do serviço Remote Registry é registrado
  2. o tipo de inicialização é alterado para Automatic
  3. o serviço Remote Registry é iniciado
  4. as hives do registro são enumeradas
  5. o serviço Remote Registry é parado
  6. o tipo de inicialização é revertido ao valor inicialmente registrado

Devido ao processo potencialmente de várias etapas para enumerar cada host, este método pode ser mais lento em comparação com técnicas alternativas. smb /logons é mais rápido

Exemplo de saída executado como usuário svcadmin

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

/services

O método ServiceController.GetServices recupera uma lista de serviços em um host

Cada serviço é consultado para determinar o usuário sob o qual está configurado para ser executado.

Devido à necessidade de consultar cada serviço individualmente, este método pode ser mais lento em comparação com técnicas alternativas. wmi /services é mais rápido

Exemplo de saída executado como usuário svcadmin

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

WMI

/edr

Inspirado pelo script EDR.cna do harleyQu1nn

A classe CIM_DataFile retorna uma lista de drivers de:

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

Os drivers são comparados com uma lista de drivers conhecidos usados por fornecedores de EDR.

Exemplo de saída executado como usuário svcadmin

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

/logons

A classe Win32_LoggedOnUser retorna uma lista de sessões logadas A classe Win32_LogonSession retorna informações detalhadas para cada sessão

Exemplo de saída executado como usuário 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

Consulta a classe Win32_UserProfile para recuperar SIDs de perfis de usuário em um sistema.

O método EnumKey da classe StdRegProv recupera a hive \\Computer\HKEY_USERS\ e tenta acessar Volatile Environment para cada SID retornado, a fim de recuperar valores das chaves USERDOMAIN e USERNAME.

Exemplo de saída executado como usuário svcadmin

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

/services

Consulta a classe Win32_Service para recuperar o nome, usuário e estado dos serviços

Exemplo de saída executado como usuário svcadmin

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

WinRM

Cada verificação WMI também é implementada usando Recursos WMI e Enumeração WMI sobre WinRM.

Isso evita o uso de runspaces do PowerShell.

Baixar ferramenta
SMBWMIWinRM
/edrfastfastfast
/logonsfastfastfast
/servicesslowfastfast
/registryslowfast-