Visualizzazione post con etichetta password. Mostra tutti i post
Visualizzazione post con etichetta password. Mostra tutti i post

martedì 27 settembre 2022

PowerShell: Modificare la data di scadenza di una password in Active Directory

Un metodo per prolungare  il periodo di tempo in cui un utente può mantenere la propria password consiste nell'impostare l'attributo pwdLastSet sulla data corrente. 
Di seguito i comandi che permettono di prolungare la scadenza della password su un account specificato: 

 $Username = (Read-Host -Prompt "Username")   
 Set-ADUser -Identity $Username -Replace @{pwdLastSet=-1}  


Attributo pwdLastSet in Active Directory
FIG 1 - Attributo pwdLastSet in Active Directory





giovedì 22 settembre 2022

PowerShell: Forzare un utente in AD a cambiare password al logon successivo

Per fare in modo che un utente in Active Directory, al successivo logon, modifichi la password si può utilizzare il cmdlet Set-ADUser.

Il comando è molto semplice, basta indicare l'account su cui intervenire e passare al parametro ChangePasswordAtLogon il valore $true (oppure 1). Il comando sarà simile a:
Set-ADUser -Identity Giovanni.Lubrano -ChangePasswordAtLogon $true
Set-ADUser, ChangePasswordAtLogon
FIG 1 - Set-ADUser, ChangePasswordAtLogon

Andando a verificare in Utenti e computer di Active Directory, dopo aver eseguito il comando, vedremo che per l'account specificato è stata attivata la voce Cambiamento obbligatorio password.
Proprietà account in AD
FIG 2 - Proprietà account in AD


Volendo possiamo creare un semplice script che ci richiede l'account su cui forzare il cambio password al logon successivo.
 $User = (Read-Host -Prompt "Username")  
 Set-ADUser -Identity $User -ChangePasswordAtLogon $true  






domenica 11 settembre 2022

PowerShell: Modificare la password di un account di Active Directory

Il cmdlet Set-ADAccountPassword consente di impostare la password di un account utente in Active Directory, di un computer o di un account di servizio.

Sintassi

Set-ADAccountPassword
   [-WhatIf]
   [-Confirm]
   [-AuthType <ADAuthType>]
   [-Credential <PSCredential>]
   [-Identity] <ADAccount>
   [-NewPassword <SecureString>]
   [-OldPassword <SecureString>]
   [-Partition <String>]
   [-PassThru]
   [-Reset]
   [-Server <String>]
   [<CommonParameters>]
   
   

Parametri

-AuthType
Specifica il metodo di autenticazione. I valori accettati dal parametro sono:
  • Negotiate oppure 0 (default)
  • Basic oppure 1
Per il metodo di autenticazione Basic è necessaria una connessione Secure Sockets Layer (SSL).  

-Confirm
Chiede conferma prima di eseguire il cmdlet.

-Credential
Specifica le credenziali dell'account utente da utilizzare per eseguire questa attività. Le credenziali predefinite sono quelle dell'utente attualmente connesso, a meno che il cmdlet non venga eseguito da un'unità provider di Active Directory module for Windows PowerShell. Se il cmdlet viene eseguito da tale unità provider, l'account associato all'unità è quello predefinito.

Per specificare questo parametro, è possibile digitare un nome utente, ad esempio User1 o Domain01\User01, oppure specificare un oggetto PSCredential. Se si specifica un nome utente per questo parametro, il cmdlet richiederà una password.

È anche possibile creare un oggetto PSCredential utilizzando uno script o il cmdlet Get-Credential. È quindi possibile impostare il parametro Credential sull'oggetto PSCredential.

Se le credenziali che agiscono non hanno l'autorizzazione a livello di directory per eseguire l'attività, il modulo Active Directory per Windows PowerShell restituirà un errore di terminazione.

-Identity
Specifica un oggetto di dominio Active Directory fornendo uno dei seguenti valori 
  • Distinguished name
  • GUID (objectGUID)
  • Security identifier (objectSid)
  • Security Account Manager account name (SAMAccountName

-NewPassword
Specifica il valore di una nuova password. Questo valore viene memorizzato come stringa crittografata.

-OldPassword
Specifica il valore della vecchia password. Questo valore viene elaborato come stringa crittografata.

-Partition
Specifica il distinguished name di una partizione di Active Directory. Il distinguished name deve essere uno dei contesti di denominazione del server di directory corrente. Il cmdlet cerca in questa partizione l'oggetto definito dal parametro Identity.

In molti casi, se non viene specificato alcun valore, viene utilizzato un valore predefinito per il parametro Partition. Le regole per determinare il valore predefinito sono riportate di seguito. Si noti che le regole elencate per prime vengono valutate per prime e che, una volta determinato un valore predefinito, non vengono valutate altre regole.

Negli ambienti Active Directory Domain Services, un valore predefinito per Partition viene impostato nei seguenti casi:
  • Se il parametro Identity è impostato su un distinguished name, il valore predefinito di Partition viene generato automaticamente da questo distinguished name.
  • Se si eseguono i cmdlet da un'unità del provider di Active Directory, il valore predefinito di Partition viene generato automaticamente dal percorso corrente dell'unità.
  • Se non si applica nessuno dei casi precedenti, il valore predefinito di Partition viene impostato sulla partizione o sul contesto di denominazione predefinito del dominio di destinazione.

Negli ambienti AD LDS, il valore predefinito di Partition viene impostato nei seguenti casi:
  • Se il parametro Identity è impostato su un distinguished name, il valore predefinito di viene generato automaticamente da questo distinguished name.
  • Se si eseguono i cmdlet da un'unità del provider di Active Directory, il valore predefinito di Partition viene generato automaticamente dal percorso corrente dell'unità.
  • Se l'istanza AD LDS di destinazione ha un contesto di denominazione predefinito, il valore predefinito di Partition è impostato sul contesto di denominazione predefinito. Per specificare un contesto di denominazione predefinito per un ambiente AD LDS, impostare la proprietà msDS-defaultNamingContext dell'oggetto agente del servizio di directory di Active Directory (nTDSDSA) per l'istanza AD LDS.
  • Se non si applica nessuno dei casi precedenti, il parametro Partition assumerà alcun valore predefinito.
-PassThru
Restituisce un oggetto che rappresenta l'elemento con cui si sta lavorando. Per impostazione predefinita, non viene generato alcun output.

-Reset
Specifica la reimpostazione della password di un account. Quando si utilizza questo parametro, è necessario impostare il parametro NewPassword. Non è necessario specificare il parametro OldPassword.

-Server
Specifica l'istanza di Active Directory Domain Services a cui connettersi:
  • Fully qualified domain name
  • NetBIOS name
  • Fully qualified directory server name
  • NetBIOS name
  • Fully qualified directory server name e la porta
-WhatIf
Mostra cosa accadrebbe se il cmdlet venisse eseguito. Il cmdlet non viene eseguito.

Esempi

Esempio 1
Set-ADAccountPassword -Identity Giovanni.Lubrano
Viene richiesta la vecchia password e la nuova password da impostare per l'account specificato.
Set-ADAccountPassword
FIG 1 - Set-ADAccountPassword

Esempio 2
Set-ADAccountPassword -Identity "CN=Giovanni Lubrano Lavadera,OU=Utenti,OU=Direzione,DC=mycompany,DC=local" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "p@assw0rd1234" -Force)
Questo comando imposta la password dell'account utente con DistinguishedName "CN=Giovanni Lubrano Lavadera,OU=Utenti,OU=Direzione,DC=mycompany,DC=local"

Esempio 3
Set-ADAccountPassword -Identity Giovanni.Lubrano -OldPassword (ConvertTo-SecureString -AsPlainText "p@assw0rd1234" -Force) -NewPassword (ConvertTo-SecureString -AsPlainText "qwerty@01234" -Force)
Questo comando imposta la password dell'account utente con SamAccountName GLubrano su qwerty@01234. L'uso di -NewPassword con un valore, senza fornire il valore del parametro -OldPassword, reimposta ugualmente la password.

Esempio 4
Set-ADAccountPassword -Identity Giovanni.Lubrano -NewPassword (ConvertTo-SecureString -AsPlainText "qwerty@01234" -Force) -Reset
Analogo all'esempio 3 con la differenza che in questo caso viene specificata solo la nuova password e viene utilizzato il parametro -Reset.
Set-ADAccountPassword -NewPassword
FIG 2 - Set-ADAccountPassword -NewPassword

Esempio 5
$User = (Read-Host -Prompt "Username")
$NewPassword = (Read-Host -Prompt "Nuova password" -AsSecureString
Set-ADAccountPassword -Identity $User -NewPassword $NewPassword -Reset
Viene richiesto di specificare l'account utente su cui agire e la nuova password da assegnare all'account.




mercoledì 31 agosto 2022

PowerShell: Cambiare la password di un account locale

Per modificare la password di un utente locale, è necessario utilizzare i comandi Get-LocalUser e Set-LocalUser. Il codice seguente richiede di specificare un nome utente e una password. Il nome utente viene ricercato tra gli account locali del sistema e, se presente, gli viene attribuita la password specificata.
  $User = (Read-Host -Prompt "Username")   
  $Password = (Read-Host -Prompt "Nuova password" -AsSecureString)   
  $UserAccount = Get-LocalUser -Name $User   
  $UserAccount | Set-LocalUser -Password $Password  

PowerShell, Modifica password account locale
FIG 1 - PowerShell, Modifica password account locale

martedì 21 giugno 2022

PowerShell: Verificare le impostazioni del criterio password di Active Directory

Per visualizzare le impostazioni password policy di Active Directory (come la durata massima, la lunghezza minima, la cronologia, ecc) è possibile utilizzare il cmdlet Get-ADDefaultDomainPasswordPolicy.


Sintassi

Get-ADDefaultDomainPasswordPolicy
   [-AuthType <ADAuthType>]
   [-Credential <PSCredential>]
   [[-Current] <ADCurrentDomainType>]
   [-Server <String>]
   [<CommonParameters>]

Get-ADDefaultDomainPasswordPolicy
   [-AuthType <ADAuthType>]
   [-Credential <PSCredential>]
   [-Identity] <ADDefaultDomainPasswordPolicy>
   [-Server <String>]
   [<CommonParameters>]
   

Parametri

-AuthType 
Specifica il metodo di autenticazione. I valori accettati dal parametro sono:
  • Negotiate oppure 0 (default)
  • Basic oppure 1
-Credential
Specifica le credenziali dell'account utente con cui eseguire il comando. Se omesso viene considerato l'utente corrente che sta eseguendo il comando. Al parametro può essere passato il nome dell'account, come ad es. "utente01" o "Dominio\utente01" oppure può essere passato un'oggetto PSCredential generato dal cmdlet Get-Credential. Se viene specificato un'account utente verrà richiesto di inserire la password all'esecuzione del comando.

-Current
Specifica se restituire il dominio del computer locale o dell'utente correntemente connesso. I valori accettati per questo parametro sono:
  • LocalComputer oppure 0
  • LoggedOnUser oppure 1

-Identity
Specifica un oggetto di dominio Active Directory fornendo uno dei seguenti valori 
  • Distinguished name
  • GUID (objectGUID)
  • Security identifier (objectSid)
  • Security Account Manager account name (SAMAccountName

-Server
Specifica l'istanza di Active Directory Domain Services a cui connettersi:
  • Fully qualified domain name
  • NetBIOS name
  • Fully qualified directory server name
  • NetBIOS name
  • Fully qualified directory server name e la porta

Esempi

Esempio 1
Get-ADDefaultDomainPasswordPolicy
Questo comando ottiene il criterio della password di dominio predefinita dal dominio dell'utente attualmente connesso.
Get-ADDefaultDomainPasswordPolicy
FIG 1 - Get-ADDefaultDomainPasswordPolicy


Esempio 2
Get-ADDefaultDomainPasswordPolicy -Current LocalComputer
Visualizza il criterio della password di dominio predefinita dal computer locale corrente.

Esempio 3
Get-ADDefaultDomainPasswordPolicy -Current LoggedOnUser
Questo comando ottiene il criterio della password di dominio predefinita dal dominio dell'utente attualmente connesso. 

Esempio 4
Get-ADDefaultDomainPasswordPolicy -Identity contoso.com
Questo comando ottiene il criterio di password del dominio predefinito dal dominio specificato.

Esempio 5
(Get-ADForest -Current LoggedOnUser).Domains | %{ Get-ADDefaultDomainPasswordPolicy -Identity $_ }
Visualizza gli oggetti dei criteri delle password di dominio predefinite di tutti i domini della foresta.


In alternativa e possibile usare il seguente comando dal prompt dei comandi
net accounts
Net accounts
FIG 2 - Net accounts






mercoledì 23 giugno 2021

Windows Server 2019: Resettare la scadenza della password per un utente

Quando la password di un account utente presente in Active Directory è scaduta, l'utente è costretto a cambiarla. Potremmo trovarci nella situazione di dover far in modo che l'utente continui ad utilizzare la stessa password. In questo caso possiamo intervenire in Active Directory agendo sull'attributo pwdLastSet dell'account utente che rappresenta la data dell'ultima modifica della password. Impostando tale attributo alla data odierna, faremo in modo che l'utente possa continuare ad usare la sua password fino alla prossima scadenza.

Resettare la scadenza della password per un utente

  • Da Utenti e computer di Active Directory (dsa.msc) verificare che, dal menu Visualizza, sia selezionata la voce Funzionalità avanzate.
  • Aprire le proprietà dell'account utente e posizionarsi sulla scheda Editor attributi.
  • Modificare l’attributo pwdLastSet impostandolo a 0 (che corrisponde al valore Mai), quindi confermare cliccando sul pulsante OK e successivamente nuovamente su OK per chiudere la finestra delle proprietà dell'account
  • Ripetere l'operazione riaprendo le proprietà dell'account ma questa volta impostando l'attributo pwdLastSet a -1 (che corrisponde alla data odierna), quindi confermare cliccando sempre su OK.
Attributi account Active Directory
FIG 1 - Attributi account Active Directory

L'operazione può essere eseguita in maniera analoga utilizzando lo strumento Centro di amministrazione di Active Directory.

Resettare la scadenza della password per un utente da PowerShell

Per resettare la scadenza della password tramite PowerShell baste eseguire il comando
Set-ADUser -Identity <account> -Replace @{pwdLastSet=-1}
ovviamente passando al parametro Identity il Distinguished Name (DN), il GUID (objectGUID), il security identifier (objectSid) o il SAM account name (sAMAccountName)
Ad esempio:
Set-ADUser -Identity Giovanni.Lubrano -Replace @{pwdLastSet=-1}





lunedì 22 giugno 2020

Windows Server 2019: Usare le Group Policy per impostare le password e blocco account

Un elemento fondamentale per la sicurezza di un sistema è la gestione delle credenziali di autenticazione. Lasciare eccessiva libertà agli utenti nella scelta della password da utilizzare non è una buona idea. E' sempre opportuno adottare un'adeguata politica restrittiva che definisca le caratteristiche che la password utente debba possedere per essere accettata (lunghezza minima, caratteri obbligatori, validità minima e massima, divieto di usare una password già utilizzata in precedenza, ecc) inoltre è opportuno prevedere anche il blocco temporaneo dell'account a seguito di diversi tentativi di accesso con credenziali errate (che potrebbero indicare che l'account è sotto attacco da parte di un malintenzionato).
Nell'articolo Windows Server 2019: Impostare la complessità della password tramite Password Settings Object abbiamo visto come fare in modo che la password scelta dagli utenti rispetti alcuni criteri di complessità. Attraverso l'utilizzo dei criteri granulari per le password (FINE-GRAINED password policy) è possibile fare in modo che gli utenti di un dominio abbiano policy relative alle password diverse. In altri termini, è possibile fare in modo, ad esempio, che gli utenti che appartengono al gruppo amministratori di dominio o del reparto IT di un azienda siano obbligati ad usare password più complesse e/o più lunghe degli altri utenti.

In questo articolo vedremo come gestire le password e blocchi degli account del Dominio tramite i Criteri di gruppo.

Per default, in un dominio Windows Server 2012 R2 o successivi, Le impostazioni di default delle password e criteri di gruppo locali sono già impostati all'interno del GPO Default Domain Policy. Vediamo come modificare le impostazioni di default.
  • Da Server Manager, cliccare su Strumenti quindi su Gestione Criteri di gruppo.
    Server Manager
    FIG 1 - Server Manager
  • Espandere il dominio mycompany.local quindi cliccare, con il tasto destro del mouse, su Default Domain Policy e dal menu contestuale selezionare Modifica.
    Gestione Criteri di gruppo
    FIG 2 - Gestione Criteri di gruppo
  • Le impostazioni relative alle password degli account e le policy locali sono memorizzate all'interno della sezione Configurazione computer. Questo significa che indipendentemente da quale utente esegue il logon sul computer, la policy verrà sempre applicata. Posizionarsi su Configurazione computer\Criteri\Impostazioni di Windows\Impostazioni sicurezza\Criteri account (FIG 3). Le due impostazioni che ci interessano in questo articolo sono Criteri password e Criterio di blocco account. Iniziamo con il primo. Cliccare su Criteri password.
    Criteri Default Domain Policy
    FIG 3 - Criteri Default Domain Policy
    Criteri password
    FIG 4 - Criteri password

    In Criteri password troviamo diverse impostazioni (FIG 4).

    Archivia password mediante crittografia reversibile
    Le password sono normalmente memorizzate in una crittografia hash a senso unico. Questo criterio, se attivato, comporta un decadimento della sicurezza e fa in modo che la cifratura sia reversibile. L'impostazione predefinita prevede che il criterio sia disattivato e, generalmente, è sconsigliabile attivarlo tuttavia è necessario attivarlo nel caso in cui si utilizza l'autenticazione Challenge-Handshake Authentication Protocol (CHAP) tramite una connessione di accesso remoto o Servizio autenticazione Internet (IAS, Internet Authentication Service), nonché quando si utilizza l'autenticazione del digest in Internet Information Services (IIS).

    Imponi cronologia delle password
    Questo criterio consente di migliorare la sicurezza garantendo che le vecchie password non vengano riutilizzate continuamente. Il criterio consente di specificare il numero delle nuove password univoche che devono essere associate a un account utente prima che sia possibile riutilizzare una vecchia password. Il valore deve essere compreso tra 0 e 24 (24 è il valore di default nei controller di dominio).

    Le password devono essere conformi ai requisiti di complessità
    Consente di specificare se le password devono essere conformi ai requisiti di complessità.I requisiti di complessità vengono verificati al momento della creazione o della modifica delle password. Se tale criterio è attivato, le password devono soddisfare i seguenti requisiti minimi:
    - Non possono contenere più di due caratteri consecutivi del nome completo dell'utente o del nome dell'account utente.
    - Devono includere almeno sei caratteri.
    - Devono contenere caratteri appartenenti ad almeno tre delle quattro categorie seguenti:
    1. Caratteri maiuscoli dell'alfabeto inglese (A-Z)
    2. Caratteri minuscoli dell'alfabeto inglese (a-z)
    3. Cifre decimali (0-9)
    4. Caratteri non alfabetici, ad esempio !, $, #, % 

    Lunghezza minima password
    Questa impostazione di sicurezza consente di specificare il numero minimo di caratteri delle password per gli account utente. È possibile impostare un valore da 1 a 20 oppure impostare su 0 il numero dei caratteri, per specificare che non è richiesta alcuna password. L'impostazione predefinita nei controller di dominio prevede che la password abbia una lunghezza minima di 7 caratteri.

    Validità massima password
    Questa impostazione di sicurezza specifica il periodo di tempo (in giorni) per cui è possibile utilizzare una password prima che il sistema richieda all'utente di modificarla. È possibile impostare un periodo di validità da 1 a 999 giorni oppure impostare su 0 il numero dei giorni per specificare che le password non hanno scadenza. Se per Validità massima password si specifica un numero da 1 a 999 giorni, il valore di Validità minima password dovrà essere inferiore. Se Validità massima password è 0, per Validità minima password sarà possibile specificare qualsiasi valore compreso tra 0 e 998 giorni. Generalmente si consiglia di utilizzare password con scadenza da 30 a 90 giorni. L'impostazione predefinita prevede la scadenza dopo 42 giorni.

    Validità minima password
    Tale criterio permette di specificare il periodo di tempo (in giorni) per cui è necessario utilizzare una password prima che sia possibile modificarla. È possibile impostare un valore da 1 a 998 giorni oppure impostare su 0 il numero dei giorni per consentire la modifica immediata. Il valore di Validità minima password deve essere minore di quello di Validità massima password, a meno che quest'ultimo non sia impostato su 0 per specificare che le password non hanno scadenza. Se Validità massima password è 0, per Validità minima password sarà possibile specificare qualsiasi valore compreso tra 0 e 998 giorni. Per garantire l'efficacia dell'impostazione Imponi cronologia delle password, impostare Validità minima password su un valore maggiore di 0. Se la validità minima delle password non è configurata, infatti, gli utenti potranno modificare ripetutamente le password finché non potranno riutilizzare le proprie vecchie password preferite. Per default nei controller di dominio il valore è impostato a 1.

  • Cliccare due volte su Validità massima password, nella casella La password scadrà tra inserire 30 giorni (in alternativa indicare il numero di giorni desiderato) e cliccare su OK.
    Validità massima password
    FIG 5 - Validità massima password
  • Posizionarsi su Criterio di blocco account (Configurazione computer\Criteri\Impostazioni di Windows\Impostazioni sicurezza\Criteri account\Criterio di blocco account).
    Criterio di blocco account
    FIG 6 - Criterio di blocco account
  • In Criterio di blocco account troviamo 3 impostazioni

    Blocca account per
    L'impostazione Blocca account per specifica il numero di minuti per cui un account bloccato deve rimanere bloccato prima di essere sbloccato automaticamente. È possibile impostare un intervallo da 0 a 99.999 minuti. Se la durata del blocco dell'account viene impostata su 0, l'account rimarrà bloccato finché non verrà esplicitamente sbloccato da un amministratore. Se viene definita l'impostazione Soglia di blocchi dell'account, la durata del blocco dell'account dovrà essere maggiore o uguale all'intervallo di reimpostazione del contatore. Per default l'impostazione non è definita.

    Reimposta contatore blocco account dopo
    Questa impostazione di sicurezza specifica il numero di minuti che deve trascorrere dopo un tentativo di accesso non riuscito prima che il contatore dei tentativi di accesso non riusciti venga reimpostato su 0. È possibile impostare un intervallo da 1 a 99.999 minuti. Se viene definita l'impostazione Soglia di blocchi dell'account, l'intervallo per la reimpostazione deve essere minore o uguale al valore di Durata blocco account. Anche in questo caso l'impostazione, per default, non è definita.

    Soglia di blocchi dell'account
    Tale impostazioni permette di specificare il numero di tentativi di accesso non riusciti dopo il quale l'account verrà bloccato. Un account bloccato non può essere utilizzato finché non viene ripristinato da un amministratore oppure fino alla scadenza della durata del blocco per l'account. È possibile impostare da 0 a 999 tentativi di accesso non riusciti. Se viene impostato il valore 0, l'account non verrà mai bloccato. Il valore di default di tale impostazione è 0.

  • Cliccare due volte su Blocca account per, selezionare l'opzione Definisci le impostazioni relative al criterio e, nella casella L'account è bloccato per, impostare 30 minuti quindi cliccare su OK.
    Blocca account per 30 minuti
    FIG 7 - Blocca account per 30 minuti
  • Nella finestra di dialogo Cambiamenti ai valori suggeriti, cliccare su OK per valorizzare anche i valori dei criteri Soglia di blocchi dell'account e Reimposta contatori blocco account come indicato nel messaggio.
    Cambimenti ai valori suggeriti
    FIG 8 - Cambimenti ai valori suggeriti
  • Cliccare due volte su Soglia di blocchi dell'account  (dopo al modifica precedente anche tale valore risulta modificato da 0 a 5). Assicurarsi che  l'opzione Definisci le impostazioni relative al criterio sia flaggata e che nella casella L'account verrà bloccato dopo sia inserito il valore 5 (o specificare il valore desiderato) come mostrato in figura, quindi cliccare su OK.
    Soglia di blocchi dell'account
    FIG 9 - Soglia di blocchi dell'account
  • Cliccare due volte su Reimposta contatore blocco account dopo (dopo al modifica precedente anche tale criterio viene attivato e impostato a 30 minuti). Assicurarsi che  l'opzione Definisci le impostazioni relative al criterio sia flaggata e che nella casella Reimposta contatore blocco account dopo sia indicato 30 minuti (o specificare il valore desiderato) come mostrato in figura, quindi cliccare su OK.
    Reimposta contatore blocco account
    FIG 10 - Reimposta contatore blocco account

Con le impostazioni sopra indicate, se un utente sbaglia per 5 volte l'inserimento della password durante il logon (o sblocco) su un PC del dominio, verrà visualizzato il messaggio mostrato in FIG 11 e l'account utente verrà bloccato per 30 minuti. Lo sblocco può essere comunque forzato da un amministratore di dominio ma questo verrà illustrato nel prossimo articolo.
Account bloccato
FIG 11 - Account bloccato






mercoledì 3 aprile 2019

Windows Quick Tip: Gestione nomi utente e password archiviati

Quando il computer si connette ad un dispositivo della propria rete locale che richiede user e password, Windows tenta di accedervi utilizzando le credenziali con cui l'utente ha eseguito il logon al sistema. Se tali credenziali non funzionano, Windows tenta di reperirle tra quelle memorizzate localmente e, nel caso in cui non vengano trovate o non risultino valide, il sistema operativo richiederà all'utente di inserirle tramite un'apposita finestra di dialogo.
Se, dopo aver inserito le credenziali, viene selezionata la casella memorizza credenziali presente nella stessa finestra, queste verranno memorizzate e archiviate localmente e riutilizzate da Windows per i futuri accessi alla risorsa.

Per visualizzare l'archivio delle user e password memorizzate localmente, dalla finestra di dialogo Esegui (WIN+R) digitare il comando
rundll32.exe keymgr.dll, KRShowKeyMgr seguito da invio.
Windows, Gestione nomi utente e password archiviati
FIG 1 - Windows, Gestione nomi utente e password archiviati

Dalla finestra Gestione nomi utente e password archiviati è possibile effettuare/ripristinare un backup delle credenziali memorizzate, modificarle, eliminarle o aggiungerne di nuove.





mercoledì 12 aprile 2017

Recuperare l'account e la password da un client di posta tramite Mail PassView

Per recuperare velocemente informazioni sugli account e relative password dai client di posta installati sul PC è possibile utilizzare il tool della NirSoft Mail PassView.
Il tool è gratuito, occupa pochi KB e può essere scaricato da http://www.nirsoft.net/utils/mailpv.html. Dalla pagina indicata è possibile scegliere 2 versioni: la versione che non richiede alcuna installazione, composta da un file zip contenente l'eseguibile e un file di help, e la versione installabile dotata di setup.
Il tool permette di recuperare gli account e relative password dai seguenti client di posta:
Outlook Express
Microsoft Outlook 2000 (solo account POP3 e SMTP)
Microsoft Outlook 2002/2003/2007/2010/2013/2016 (account POP3, IMAP, HTTP e SMTP)
Windows Mail
Windows Live Mail
IncrediMail
Eudora
Netscape 6.x/7.x (solo se la password non è cifrata con la master password)
Mozilla Thunderbird (solo se la password non è cifrata con la master password)
Group Mail Free
Yahoo! Mail (Se la password è salvata nell'applicazione Yahoo! Messenger)
Hotmail/MSN mail (se la password è salvata in MSN/Windows/Live Messenger)
Gmail (se la password è salvata in Gmail Notifier, Google Desktop, Google Talk)

L'utilizzo di Mail PassView è molto semplice: una volta avviato l'eseguibile (mailpv.exe) si aprirà una finestra contenente, oltre alla lista degli account e relative password salvati all'interno dei client di posta presenti sul PC, anche altre informazioni più o meno importanti. Il tool permette il salvataggio dei dati recuperati all'interno di un file di testo o nella clipboard.

NirSoft, Mail PassView
FIG 1 - NirSoft, Mail PassView




martedì 4 aprile 2017

Google Chrome: Esportare ed importare le credenziali salvate

Le recenti versioni di Google Chrome dispongono di una nuova funzione che consente di esportare ed importare le credenziali di accesso ai siti web salvate all'interno del browser. Al momento si tratta ancora di una funzionalità sperimentale pertanto va abilitata manualmente eseguendo semplici passaggi:
  • Avviare Chrome e nella barra degli indirizzi digitare chrome://flags/#password-import-export
  • Individuare la sezione Importazione ed esportazione di password e modificare l'impostazione da Predefinito ad Attiva;
  • Cliccare sul pulsante Riavvia Ora per rendere effettiva la modifica;
    Google Chrome flags
    FIG 1 - Google Chrome flags
  • Al riavvio del browser digitare nella barra degli indirizzi chrome://settings/passwords in alternativa cliccare sul pulsante Personalizza e controlla Google Chrome (quello con i 3 puntini in alto a destra della finestra), Impostazioni -> Mostra impostazioni avanzate -> Gestisci password;
  • Cliccare sul pulsante Esporta per esportare le credenziali all'interno di un file di testo in formato CSV (potrebbero essere richiesto di inserire le credenziali di accesso al sistema).
    Google Chrome, Esporta credenziali salvate
    FIG 2 - Google Chrome, Esporta credenziali salvate
In modo del tutto analogo, cliccando sul pulsante Importa, è possibile importare le credenziali precedentemente salvate all'interno di un file CSV.

ATTENZIONE!: Il file CSV non è altro che un file di testo non protetto. Le informazioni al suo interno sono in chiaro e possono essere lette con un semplice editor di testo da chiunque. Fare attenzione a dove si salva il file.




giovedì 16 marzo 2017

Resettare la password del BIOS/EFI/UEFI

Il BIOS (Binary Input-Output System) e i suoi successori EFI (Extensible Firmware Interface) e UEFI (Unified Extensible Firmware Interface) forniscono una serie di funzionalità basilari per l'utilizzo e il corretto funzionamento dell'hardware di un computer.

Tra le diverse funzionalità messe a disposizione da queste tecnologie c'è quella che consente all'utente di proteggere l'accesso al sistema tramite una password (da non confondere con la password del sistema operativo).

Lo scopo di questo articolo è quello di mostrare come by-passare o resettare questo tipo di password.

ATTENZIONE:
Danneggiare o violare un sistema informatico (anche da remoto) rappresenta un reato penale. Le informazioni presenti in quest'articolo vanno utilizzate solo per testare/verificare sistemi di cui si è titolari. Declino ogni responsabilità civile e penale derivante da un utilizzo non legale delle informazioni presentate in questo articolo a solo scopo didattico.


I metodi generalmente utilizzati sono 3: Reset CMOS, Rimozione della batteria tampone, sfruttare una backdoor del produttore.


Metodo 1: Reset CMOS

Su gran parte delle schede madri dei PC è presente un'interruttore o un jumper, generalmente contrassegnato con una scritta come CLR CMOS CMOS, che consente il reset delle impostazioni CMOS.
Jumper per il reset del CMOS
FIG 1 - Jumper per il reset del CMOS


Metodo 2: Rimozione batteria tampone

Le schede madri dei PC sono dotati di batteria tampone che consente di mantenere i dati all'interno del CMOS anche quando vengono spenti e staccati dalla rete elettrica. Rimuovendo per diverso tempo tale batteria, le informazioni all'interno del CMOS vengono perse e al successivo avvio verrano caricate le impostazioni di fabbrica.
Batteria tampone scheda madre
FIG 2 - Batteria tampone scheda madre

Metodo 3: Backdoor

I precedenti metodi hanno lo svantaggio di resettare, oltre alla password, anche le altre impostazioni memorizzate all'interno del CMOS; inoltre, non sempre è agevole accedere alla scheda madre del dispositivo (si pensi ad es. ai portatili). Un'alternativa consiste nel recuperare una master password inserita dal produttore del sistema che ne consenta lo sblocco senza interferire con le altre impostazioni. Purtroppo (o per fortuna) ogni produttore adotta metodi diversi pertanto i passaggi da seguire possono differire leggermente. Un punto di riferimento per tale metodo è il sito https://bios-pw.org.
Master password, bios-pw.org
FIG 3 - Master password, bios-pw.org

Il valore da inserire nell'apposita casella dipende dal produttore e dal modello della scheda madre: in alcuni casi va inserito il seriale del PC o il codice di matricola nel caso di prodotti DELL, in altri casi il codice visualizzato a seguito blocco del sistema dopo n tentativi di accesso falliti. Una volta inserito il codice basta cliccare sul pulsante Get password per ottenere un elenco di password da provare. Per alcuni modelli DELL è necessario premere CTRL+INVIO (e non solo INVIO) quando si prova ad immettere la master password del BIOS/UEFI suggerita dal sito.



venerdì 10 marzo 2017

PowerShell: Recuperare la password da un oggetto PSCredential

Diversi cmdlet PowerShell permettono l'utilizzo di un oggetto PSCredential per essere eseguiti con un particolare account. Proprio per questo l'oggetto PSCredential viene spesso utilizzato per memorizzare le credenziali in modo da  poterle richiamare in diverse parti di uno script.
Per creare un'istanza di un oggetto PSCredential può essere utilizzato il cmdlet Get-Credential
Ad es. eseguendo da PowerShell il comando
$credenziali=Get-Credential
verrà aperta una finestra di richiesta credenziali (FIG 1). Inserendo utenza e password queste verranno memorizzate all'interno dell'oggetto PSCredential $credenziali
Richiesta credenziali di Windows PowerShell
FIG 1 - Richiesta credenziali di Windows PowerShell

Per visualizzare i membri (metodi e proprietà) dell'oggetto viene utilizzato il cmdlet Get-Member 
$credenziali | Get-Member
Visualizzare i membri di un oggetto PSCredential
FIG 2 - Visualizzare i membri di un oggetto PSCredential

Analizzando le proprietà di un oggetto PSCredential (FIG 2), salta subito all'occhio che l'utenza viene memorizzata in chiaro all'interno di una comune stringa mentre la password viene memorizzata come securestring e pertanto non visibile (almeno non direttamente).

Per visualizzare il nome utente memorizzato all'interno dell'oggetto PSCredential basta utilizzare il comando
$credenziali.UserName

Eseguendo il comando
$credenziali.Password | Get-Member
verranno mostrati i metodi e le proprietà disponibili per la password (FIG 3). Tale informazioni sono d'aiuto per conoscere quali operazioni è possibile effettuare sulla password.
Ad es. per conoscere la lunghezza della password bisogna interrogare la proprietà Length
$credenziali.Password.Length
mentre per cancellarla va utilizzato il metodo Clear()
$credenziali.Password.Clear()
Recuperare informazioni sulla password da un oggetto PSCredential
FIG 3 - Recuperare informazioni sulla password da un oggetto PSCredential

Per "scoprire" la password memorizzata all'interno dell'oggetto PSCredential è possibile lanciare il seguente comando
$credenziali.GetNetworkCredential().Password
Visualizzare la password memorizzata all'interno di un oggetto PSCredential
FIG 4 - Visualizzare la password memorizzata all'interno di un oggetto PSCredential
Dalla FIG 4 si evince che la password memorizzata è "123456" (tra le password più sicure e diffuse al mondo), non resta che scrivere le credenziali su un post-it da attaccare al monitor (ndr Per chi non se ne fosse resto conto, ero sarcastico!!!).

lunedì 8 febbraio 2016

Windows: Resettare/eliminare la password di Windows tramite Offline NT Password & Registry Editor

Può capitare di avere la necessità di accedere al sistema ma di aver dimenticato la password. In questi casi esistono diversi metodi che ci consentono di resettare/cancellare la password di accesso locale (non quella di dominio) e permetterci l'accesso al sistema. Uno di questi metodi consiste nell'utilizzo dell'ottimo tool Offline NT Password & Registry Editor.

ATTENZIONE:
Danneggiare o violare un sistema informatico (anche da remoto) rappresenta un reato penale. Le informazioni presenti in quest'articolo vanno utilizzate solo per testare/verificare sistemi di cui si è titolari. Declino ogni responsabilità civile e penale derivante da un utilizzo non legale delle informazioni presentate in questo articolo a solo scopo didattico.

Da http://pogostick.net/~pnh/ntpasswd/ è possibile scaricare sia l'immagine ISO che i file per creare una pendrive USB bootable. I file vengono scaricati in formato compresso .zip quindi dovranno essere scompattati prima di poterli utilizzare.

Download Offline NT Password & Registry Editor
FIG 1 - Download Offline NT Password & Registry Editor
L'immagine ISO può essere masterizzata su cd/dvd tramite un programma di masterizzazione oppure è possibile creare una pendrive bootable tramite il tool Rufus.
Scaricando i file per la creazione di una pendrive, invece, dobbiamo copiare tutti i file sulla pendrive, aprire un prompt dei comandi come amministratore e digitare il seguente comando
X:\syslinux.exe -ma X:
dove al posto della X va indicata la lettera della nostra pendrive.

Adesso si dispone del supporto con cui si andrà ad eseguire il boot del sistema. Il tool ci chiederà di selezionare alcune opzioni (la maggior parte già selezionate di default) prima di permetterci di resettare la password. Di seguito mostrerò passo passo le operazioni da effettuare con relative immagini per semplificare la vita anche a chi è poco pratico.
Prima di iniziare è utile sapere che le password degli account di Windows vengono crittografate e memorizzate all'interno del file SAM (un file senza estensione) presente in C:\Windows\System32\config. Tale file non è accessibile/modificabile quando Windows è in esecuzione. Ecco perché è necessario creare un supporto con cui effettuare il boot del sistema senza caricare Windows. I più esperti, prima di procedere alla cancellazione della password, possono effettuare il backup dei file SAM e SYSTEM (quest'ultimo contiene il valore Bootkey con cui viene crittografato il file SAM). In questo modo è possibile ripristinare la vecchia password ricopiando semplicemente i file nella loro posizione originale.

Eliminare la password di un determinato account:
  • Eseguire il boot dal supporto creato (CD/DVD o pendrive) e quando a video appare boot: come mostrato in figura FIG 2, premere invio per proseguire.
    Offline NT Password & Registry Editor, Boot
    FIG 2 - Offline NT Password & Registry Editor, Boot
  • Il tool cerca di individuare la partizione dove è installato il sistema operativo e, al termine dell'analisi, ci propone le installazioni di Windows che ha individuato. Digitare il numero dell'installazione di Windows su cui si intende agire e premere invio. L'opzione di default, e più probabile, è indicata tra parentesi quadre (ad es. [1]). Premendo solo invio viene accettata l'opzione di default proposta dal tool.
    Offline NT Password & Registry Editor, installazioni di Windows
    FIG 3 - Offline NT Password & Registry Editor, installazioni di Windows
  • Nel caso in cui venisse richiesto, confermare il percorso del registro di sistema (Windows/System32/config) premendo invio.
  • Confermare l'opzione [1] Password reset [sam] premendo invio per procedere al reset della password
    Offline NT Password & Registry Editor, Password reset [sam]
    FIG 4 - Offline NT Password & Registry Editor, Password reset [sam]
  • Premere nuovamente invio per confermare l'opzione 1 - Edit user data and passwords
    
    Offline NT Password & Registry Editor, Edit user data and passwords
    FIG 5 - Offline NT Password & Registry Editor, Edit user data and passwords
  • Digitare il RID dell'account a cui si intende resettare la password e premere invio (ad es. in figura FIG 6 per resettare la password dell'utente Virtual digitare 03e9 seguito da invio)
    Offline NT Password & Registry Editor, RID user account
    FIG 6 - Offline NT Password & Registry Editor, RID user account
  • Digitare 1 per l'opzione Clear (blank) user password e premere invio
    
    Offline NT Password & Registry Editor, Clear (blank) user password
    FIG 7 - Offline NT Password & Registry Editor, Clear (blank) user password
  • La password è stata eliminata. Digitare q seguito da invio per uscire (Quit editing user, back to user select) quindi ancora q e invio per terminare (FIG 8 e 9)
    Offline NT Password & Registry Editor, Quit editing user, back to user select
    FIG 8 - Offline NT Password & Registry Editor, Quit editing user, back to user select
    Offline NT Password & Registry Editor, Quit (you will be asked if there is something to save)
    FIG 9 - Offline NT Password & Registry Editor, Quit (you will be asked if there is something to save)
  • A questo punto viene chiesto di confermare la scrittura del registro. Premere Y seguito da invio e attendere che la scrittura del Security Account Manager (SAM)
    Offline NT Password & Registry Editor, About to write file(s) back! Do it?
    FIG 10 - Offline NT Password & Registry Editor, About to write file(s) back! Do it?
  • Terminata la scrittura del file SAM viene chiesto se si intende eseguire nuovamente il tool. Confermare l'opzione N proposta premendo invio
    FIG 11 - Offline NT Password & Registry Editor, New run?
  • Non resta che riavviare normalmente il sistema dopo aver rimosso il supporto (CD/DVD o pendrive). La password non ci verrà più richiesta.
    Offline NT Password & Registry Editor, Reboot
    FIG 12 - Offline NT Password & Registry Editor, Reboot

Il metodo presentato funziona solo per il reset degli account locali del sistema. Nel caso in cui il disco sia criptato (ad es. con bitlocker) il tool non funziona. Se l'utente ha criptato qualche file o cartella tramite EFS (Encrypting File System) o Bitlocker, il contenuto di tali file/cartelle risulterà non accessibile finché non verrà ricordata la password originale.