Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
LACheck — Multithreaded C# .NET-Assembly zur Aufzählung lokaler administrativer Berechtigungen auf Windows-Hosts über SMB, WMI und WinRM, mit BloodHound-Integration für Active Directory-Aufklärung. | Kitploit
Tools/GitHubGitHub/mitchmoser/lacheck
Privilege EscalationAufklärungLaterale BewegungInformationsbeschaffungPenetrationstestsRed Teaming
GitHubmitchmoser/lacheck

LACheck

Multithreaded C# .NET-Assembly zur Aufzählung lokaler administrativer Berechtigungen auf Windows-Hosts über SMB, WMI und WinRM, mit BloodHound-Integration für Active Directory-Aufklärung.

Repository anzeigen
9315vor 4 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

LACheck

Multithreaded C# .NET Assembly zur Aufzählung lokaler administrativer Berechtigungen

Argumente

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]

Lokale Admin-Checks:
    smb   - Versucht auf die C$-Freigabe zuzugreifen
    rpc   - Versucht eine WMI-Abfrage des Win32_ComputerSystem-Klassenanbieters über RPC
    winrm - Versucht eine WMI-Abfrage des Win32_ComputerSystem-Klassenanbieters über eine WinRM-Sitzung

Argumente:
    /bloodhound - Erzeugt eine für BloodHound lesbare AdminTo- und Session-Sammlungsdatei
                  Ausgabedatei wird gezippt und mit zufälligem Namen und Passwort verschlüsselt
    /dc         - Gibt den abzufragenden Domänencontroller an (wenn nicht auf einem einer Domäne beigetretenen Host ausgeführt)
    /domain     - Gibt den Domänennamen an (wenn nicht auf einem einer Domäne beigetretenen Host ausgeführt)
    /edr        - Überprüft den Host auf EDR (erfordert smb, rpc oder winrm)
    /logons     - Gibt angemeldete Benutzer auf einem Host zurück (erfordert smb, rpc oder winrm)
    /registry   - Listet Sitzungen aus der Registrierungsstruktur auf (erfordert smb)
    /services   - Gibt Dienste zurück, die als Benutzer ausgeführt werden (erfordert smb, rpc oder winrm)
    /socket     - Sendet BloodHound-Ausgabe an einen TCP-Socket anstatt auf die Festplatte zu schreiben
                  ex: ""127.0.0.1:8080""
    /targets    - Kommagetrennte Liste der zu überprüfenden Hostnamen
    /threads    - Gibt die maximale Anzahl paralleler Threads an (Standard=25)
    /user       - Gibt den Benutzernamen an, unter dem die Sammlung ausgeführt wurde (nützlich bei Token-Manipulation)
    /validate   - Überprüft die Anmeldeinformationen gegen die Domäne vor dem Scannen der Ziele (nützlich bei Token-Manipulation)
    /verbose    - Gibt zusätzliche Protokollierungsinformationen aus
    /ou         - Gibt die LDAP-OU an, aus der aktive Computerobjekte abgefragt werden sollen
                  ex: "OU=Special Servers,DC=example,DC=local"
    /ldap - Fragt Hosts mit den folgenden LDAP-Filtern ab:
         :all - Alle aktiven Computer mit der primären Gruppe 'Domänencomputer'
         :dc  - Alle aktiven Domänencontroller (keine schreibgeschützten DCs)
         :exclude-dc - Alle aktiven Computer, die keine Domänencontroller oder schreibgeschützten DCs sind
         :servers - Alle aktiven Server
         :servers-exclude-dc - Alle aktiven Server ohne Domänencontroller oder schreibgeschützte DCs

Assembly ausführen

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

Ausgabe

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-Authentifizierung

Wie im obigen Beispieloutput zu sehen, führt der Versuch, WinRM auf dem Host mit der IP-Adresse 10.10.10.10 zu überprüfen, zu einem Fehler, da der WinRM-Client nicht versucht, sich über eine IP-Adresse bei einem Host zu authentifizieren.

Verwenden Sie Hostnamen, wenn Sie den WinRM-Zugriff überprüfen möchten.

Ziele angeben

Die Flags /targets, /ldap und /ou können zusammen oder getrennt verwendet werden, um eine Liste der zu enumerierenden Hosts zu erstellen.

Alle von diesen Flags zurückgegebenen Hosts werden vor Beginn der Enumeration kombiniert und dedupliziert.

Bloodhound

LACheck unterstützt das Schreiben von gesammelten AdminTo- und Session-Daten in eine JSON-Ausgabe, die in BloodHound hochgeladen werden kann.

Diese Ausgabe dient nur dazu, eine bestehende BloodHound-Sammlung mit aktualisierten Administratorrechten für einen einzelnen Benutzer und Sitzungen zu ergänzen, die von Hosts gesammelt wurden, bei denen Administratorrechte identifiziert wurden.

Der Schalter /bloodhound schreibt eine zufällig benannte verschlüsselte ZIP-Datei auf die Festplatte, die heruntergeladen, extrahiert und in BloodHound hochgeladen werden kann.

/user

BloodHound erfordert die Auflösung von Benutzern und Computern in SIDs. Aufgrund von Identitätswechseltechniken wie Cobalt Strikes make_token und kerberos_ticket_use kann LACheck möglicherweise den Benutzerkontext für eine Sammlung nicht genau bestimmen. Das Argument /user ist erforderlich, um LACheck den userprincipalname (Format = [email protected]) des Kontexts zu liefern, unter dem es ausgeführt wird, um die Sammlungsinformationen genau zu korrelieren.

/socket

Die BloodHound-Ausgabe kann an einen TCP-Socket gesendet werden, anstatt auf die Festplatte geschrieben zu werden.

Wenn die TCP-Verbindung fehlschlägt, wird die BloodHound-Ausgabe auf die Festplatte geschrieben.

In einem Cobalt-Strike-Beacon können TCP-Verbindungen mit rportfwd_local von einem Host zurück auf den lokalen Rechner des Operators weitergeleitet werden:

root@kitploit:~
rportfwd_local 8888 127.0.0.1 8888

Ein Operator kann dann die Ausgabe des TCP-Streams mit netcat in eine lokale Datei umleiten:

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

Enumerationsmethoden

Leistungsübersicht

- = nicht implementiert

SMB

/edr

Inspiriert von harleyQu1nn's EDR.cna-Skript

Die Methode Directory.GetFiles gibt eine Liste der Treiber zurück von:

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

Die Treiber werden mit einer Liste bekannter Treiber von EDR-Anbietern abgeglichen.

Beispielausgabe, ausgeführt als Benutzer svcadmin

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

/logons

NetWkstaUserEnum gibt eine Liste von Benutzern mit interaktiven, Dienst- und Batch-Anmeldungen zurück

WTSEnumerateSessionsA gibt eine Liste der RDP-Sitzungen auf einem Host zurück

WTSQuerySessionInformationA ruft detaillierte Informationen für jede RDP-Sitzung ab

Beispielausgabe, ausgeführt als Benutzer 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

Iteriert durch SIDs in der Registrierungsstruktur \\Computer\HKEY_USERS\, versucht auf Volatile Environment für jede SID zuzugreifen und ruft Werte aus den Schlüsseln USERDOMAIN und USERNAME ab.

Diese Methode erfordert, dass der Dienst Remote Registry auf einem entfernten Host ausgeführt wird. Falls nicht:

  1. Der anfängliche Starttyp des Remote Registry-Dienstes wird aufgezeichnet
  2. Der Starttyp wird auf Automatic geändert
  3. Der Remote Registry-Dienst wird gestartet
  4. Die Registrierungsstrukturen werden enumeriert
  5. Der Remote Registry-Dienst wird gestoppt
  6. Der Starttyp wird auf den ursprünglich aufgezeichneten Wert zurückgesetzt

Aufgrund des potenziell mehrstufigen Prozesses zur Enumeration jedes Hosts kann diese Methode im Vergleich zu alternativen Techniken langsamer sein. smb /logons ist schneller

Beispielausgabe, ausgeführt als Benutzer svcadmin

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

/services

Die Methode ServiceController.GetServices ruft eine Liste der Dienste auf einem Host ab

Jeder Dienst wird abgefragt, um den Benutzer zu ermitteln, unter dem er ausgeführt werden soll.

Da jeder Dienst einzeln abgefragt werden muss, kann diese Methode im Vergleich zu alternativen Techniken langsamer sein. wmi /services ist schneller

Beispielausgabe, ausgeführt als Benutzer svcadmin

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

WMI

/edr

Inspiriert von harleyQu1nn's EDR.cna-Skript

Die Klasse CIM_DataFile gibt eine Liste der Treiber zurück von:

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

Die Treiber werden mit einer Liste bekannter Treiber von EDR-Anbietern abgeglichen.

Beispielausgabe, ausgeführt als Benutzer svcadmin

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

/logons

Die Klasse Win32_LoggedOnUser gibt eine Liste der angemeldeten Sitzungen zurück Die Klasse Win32_LogonSession gibt detaillierte Informationen für jede Sitzung zurück

Beispielausgabe, ausgeführt als Benutzer 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

Fragt die Klasse Win32_UserProfile ab, um SIDs für Benutzerprofile auf einem System abzurufen.

Die EnumKey-Methode der StdRegProv-Klasse ruft die Registrierungsstruktur \\Computer\HKEY_USERS\ ab und versucht, für jede zurückgegebene SID auf Volatile Environment zuzugreifen, um Werte aus den Schlüsseln USERDOMAIN und USERNAME abzurufen.

Beispielausgabe, ausgeführt als Benutzer svcadmin

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

/services

Fragt die Klasse Win32_Service ab, um Name, Benutzer und Status von Diensten abzurufen

Beispielausgabe, ausgeführt als Benutzer svcadmin

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

WinRM

Jede WMI-Überprüfung wird auch mit WMI-Ressourcen und WMI-Enumeration über WinRM implementiert.

Dies vermeidet die Verwendung von PowerShell-Runspaces.

Tool herunterladen
SMBWMIWinRM
/edrschnellschnellschnell
/logonsschnellschnellschnell
/serviceslangsamschnellschnell
/registrylangsamschnell-