Hacking Tools

goLAPS : The Ultimate Guide To Managing LAPS Passwords with Golang

goLAPS is a tool designed to interact with the Local Administrator Password Solution (LAPS) in a domain environment.

It allows users to retrieve and set LAPS passwords for domain-joined computers using simple binding over LDAP and LDAPS protocols. This project was inspired by pyLAPS and serves as a learning exercise in Golang.

Capabilities Of goLAPS

  • Retrieve LAPS Passwords: goLAPS can fetch all LAPS passwords from a domain controller using the “get” command. It supports filtering based on the samAccountName of computers, allowing users to target specific machines.
  • Set LAPS Passwords: The tool also enables setting the LAPS password for a target computer using the “set” command.
  • LDAP and LDAPS Support: goLAPS currently supports simple binding on both LDAP and LDAPS protocols for secure communication with the domain controller.

Usage

Retrieve LAPS Passwords

To retrieve LAPS passwords, users can run the following command:

bash./golaps get -D <DomainControllerIP> -u <Username> -p <Password> -d <Domain> [-f <Filter>]
  • -D: Specifies the IP or FQDN of the Domain Controller.
  • -u: Username for authentication.
  • -p: Password for authentication.
  • -d: Domain of the authenticating user.
  • -f: Optional filter for computer names.
  • -o: Optional output file name for CSV results.

Set LAPS Password

To set a LAPS password for a target computer, use:

bash./golaps set -D <DomainControllerIP> -u <Username> -p <Password> -d <Domain> -t <TargetComputerFQDN> -P <NewLAPSPassword>
  • -t: FQDN of the target computer.
  • -P: New LAPS password to set.

goLAPS is currently in its “SenseCon 2024 Edition” version, developed by Felipe Molina de la Torre (@felmoltor) with contributions from François Reinaud on argument parsing and Deon Wilemse on testing infrastructure.

goLAPS provides a useful tool for managing LAPS passwords in a domain environment, leveraging Golang for its implementation.

It offers flexibility in retrieving and setting passwords securely, making it a valuable asset for system administrators managing domain-joined computers.

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

file Command in Linux: Identify File Types Without Extensions

The file command inspects the actual contents of a file and reports its type — regardless of…

4 hours ago

chattr Command in Linux: Set File Attributes with lsattr

chattr sets and removes special file attributes that operate at the filesystem level, separate from standard…

4 hours ago

env Command in Linux: Show and Set Environment Variables

env prints the current environment, sets or removes variables for a single command, and can start…

4 hours ago

nmap Command in Linux: Port Scanning and Host Discovery Guide

nmap (Network Mapper) discovers live hosts, identifies open ports, and detects which service is running…

4 hours ago

id Command in Linux: Display User and Group Information

The id command prints user and group identity for any account on the system. It shows the…

1 day ago

sed Delete Lines: Remove Lines by Number, Pattern, or Range

sed processes input line by line, applies your commands, and writes the result to standard output.…

1 day ago