Searching for Passwords in Windows Configuration Files
Durante l'automazione delle installazioni di Windows, vengono spesso utilizzati file di configurazione per semplificare e velocizzare il processo. Tuttavia, questi file possono rappresentare un vettor
Searching for Passwords in Windows Configuration Files
Introduzione
Durante l'automazione delle installazioni di Windows, vengono spesso utilizzati file di configurazione per semplificare e velocizzare il processo. Tuttavia, questi file possono rappresentare un vettore d'attacco se non vengono rimossi o gestiti in modo sicuro, poiché potrebbero contenere credenziali in chiaro o codificate.
Unattended Windows Setup
L'utility Unattended Windows Setup consente l'installazione automatizzata del sistema operativo Windows su più macchine. Questa procedura è comune in ambienti enterprise o in scenari di provisioning di massa, come nei call center o nelle aule informatiche.
File di Configurazione Utilizzati
I file di configurazione principali utilizzati da questa utility sono:
C:\Windows\Panther\Unattend.xml
C:\Windows\Panther\Autounattend.xml
Questi file contengono parametri di configurazione del sistema e, in molti casi, anche credenziali di accesso (in particolare, dell'utente Administrator).
⚠️ Attenzione: questi file possono contenere password in chiaro o codificate in Base64, quindi rappresentano un rischio elevato se non rimossi dopo l'installazione.
Identificazione delle Credenziali
Le sezioni che spesso contengono credenziali sono:
<AdministratorPassword>
<Value>password_in_chiaro_o_base64</Value>
<PlainText>true</PlainText>
</AdministratorPassword>Oppure:
<UserAccounts>
<LocalAccounts>
<LocalAccount>
<Password>
<Value>encoded_or_plaintext_password</Value>
<PlainText>true</PlainText>
</Password>
</LocalAccount>
</LocalAccounts>
</UserAccounts>Se la chiave è settata a true, allora la password sarà salvata in chiaro. Se invece è false, molto probabilmente la password è codificata in Base64.
Decodifica Base64
È possibile decodificare le password codificate con strumenti semplici come:
echo "UGFzc3cwcmQ=" | base64 -dOppure tramite script Python:
import base64
encoded = "UGFzc3cwcmQ="
print(base64.b64decode(encoded).decode())Tecniche di Ricerca Rapida
Durante una fase di post-exploitation o in uno scenario CTF/red teaming, è possibile cercare rapidamente questi file tramite:
Get-ChildItem -Recurse -Path C:\ -Include unattend.xml,autounattend.xml -ErrorAction SilentlyContinueOppure da CMD:
cd / && dir /s /b unattend.xmlAltri File Interessanti per la Ricerca di Password
Oltre ai file XML per l’unattended setup, ci sono altri file di configurazione da monitorare:
sysprep.inf
sysprep.xml
- File
.inio.batcreati da amministratori per automatizzare task.
- Script
.ps1di provisioning che possono contenere stringhe hardcoded.
Esempio:
$password = "P@ssw0rd123"Best Practice Difensive
- Rimozione dei file XML dopo l’installazione.
- Crittografia delle credenziali ove possibile.
- Uso di soluzioni di gestione centralizzata delle credenziali (es. Windows Credential Manager, CyberArk, HashiCorp Vault).
- Monitoraggio file sospetti con strumenti di EDR.
Conclusione
I file di configurazione di Windows rappresentano un'area spesso trascurata ma critica dal punto di vista della sicurezza. In un contesto di penetration testing, rappresentano una delle prime cose da cercare in un sistema compromesso. L'analisi dei contenuti di questi file può portare a un'escalation rapida dei privilegi o all'accesso a ulteriori sistemi nella rete.
📌 _Pro tip: includi nei tuoi script di enumerazione automatica (come winPEAS, PowerUp o script personalizzati) una funzione che cerchi questi file e ne analizzi il contenuto._