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

Bash Scripting Best Practices Every Beginner Should Know

Introduction Bash scripting is a powerful way to automate Linux tasks, but writing a script…

18 hours ago

How To Create A Self-Signed SSL Certificate Using Bash And OpenSSL

Introduction A self-signed SSL certificate is a certificate that is created and signed by the…

19 hours ago

How To Debug Bash Scripts Using bash -x And set Commands

Introduction Debugging is an important part of Bash scripting. When a script does not work…

24 hours ago

How To Use Cron Jobs With Bash Scripts For Automation

Introduction Cron jobs are used in Linux to run commands or Bash scripts automatically at…

1 day ago

How To Use Pipes In Bash Scripts For Command Chaining

Introduction Pipes are an important feature in Linux and Bash scripting. A pipe allows you…

1 day ago

How To Use grep, awk, And sed In Bash Scripts

Introduction The grep, awk, and sed commands are powerful text-processing tools in Linux. They are…

1 day ago