Protezione file di Office con password e gestione della password dimenticata

Sui file di Word, Excel o PowerPoint è possibile gestire la protezione tramite password agendo tramite File >Informazioni > Proteggi (documento, presentazione o cartella di lavoro), di seguito ad esempio le opzioni disponibili per un file di Word:

Un primo modo di proteggere il file è quello di usare la funzionalità Limita modifica che permette di contrassegnare un documento come di sola lettura e comunque consentire l’applicazione di modifiche a parti selezionate. Le parti senza restrizioni possono essere rese disponibili:

  • a chiunque apra il documento ed è possibile impostare una password di protezione (questa opzione consente ad altre persone  di lavorare al documento in contemporanea)
  • oppure solo agli utenti specifici a cui si concedono le autorizzazioni di modifica e in questo caso l documento verrà crittografato (la crittografia del documento impedisce ad altri di apportare modifiche contemporaneamente)

A riguardo di veda Consentire modifiche a parti di un documento protetto – Supporto tecnico Microsoft. in cui viene riportato quanto segue circa lo scenario della password dimenticata:

Se dimentichi la password, Microsoft non potrà recuperarla. Archiviare le password annotate in un luogo sicuro, lontano dalle informazioni che contribuiscono a proteggere.

In questo caso però, se viene applicata una password in caso questa venga dimenticata è possibile bypassare questa protezione intervenendo sul file docx che in realtà è un file compresso che contiene una serie di file tra cui il file word\settings.xml al cui interno è impostata la funzionalità Limita modifica con password:

<w:documentProtection
 w:edit=”readOnly”
 w:enforcement=”1″
 w:cryptProviderType=”rsaAES”
 w:cryptAlgorithmClass=”hash”
 w:cryptAlgorithmType=”typeAny”
 w:cryptAlgorithmSid=”14″
 w:cryptSpinCount=”100000″
 w:hash=”o0LtlaSgSGKMgvIOwClqHASFtLn77tgRq0VfTJ3MzRZyAtBNYAKLRguvUWGChIxEeTWn3KXMaPehfASLHzUm4w==”
 w:salt=”ATW1ug0RT/7BuuDJUGoEzA==”/>

Se la sezione w:documentProtection viene eliminata dal file word\settings.xml la funzionalità Limita modifica con password viene disattivata.

Fatta la dovuta premessa che questo metodo di eliminare la password impostata sulla funzionalità Limita modifica non è supportata, è possibile modificare il file word\settings.xml aprendo il file docx con 7-Zip oppure salvando il file docx in formato xml e cancellando l’itera sezione w:documentProtection.

Per dettagli sulla sezione w:documentProtection si veda How to set the editing restrictions in Word using Open XML SDK 2.0 | Microsoft Learn:

<w:documentProtection

w:edit=”forms”
// Specifies the set of editing restrictions which shall be enforced on a given WordprocessingML document

w:enforcement=”1″
// Specifies if the document protection settings shall be enforced for a given WordprocessingML document

w:cryptProviderType=”rsaFull”
// Specifies the type of cryptographic provider to be used

w:cryptAlgorithmClass=”hash”
// Specifies the class of cryptographic algorithm used by this protection

w:cryptAlgorithmType=”typeAny”
// Specifies the type of cryptographic algorithm used by this protection

w:cryptAlgorithmSid=”4″
// Specifies the specific cryptographic hashing algorithm which shall be used along with the salt
// attribute and user-supplied password in order to compute a hash value for comparison.

w:cryptSpinCount=”50000″
// Specifies the number of times the hashing function shall be iteratively run

w:hash=”0AMSgIVdSif6F5unNC/Lk3rBvr4=”
// Specifies the hash value for the password stored with this document

w:salt=”m3sJnUyPgf0hUjz+U1Sdxg==”
// Specifies the salt which was prepended to the user-supplied password before it was hashed using the
// hashing algorithm

/>

Ovviamente il fatto che l’impostazione della password nella funzionalità Limita modifica possa essere semplicemente bypassata deve farci comprendere che questo approccio è una protezione debole del file che va piuttosto intesa come un modo per evitare erronee modifiche involontarie.

Un secondo modo di proteggere il file è quello di utilizzare la funzionalità Crittografa con password in questo caso il file docx sarà ancora un file compresso, ma i file all’interno saranno crittografati e in questo caso il recupero di una password dimenticata è più complesso.

Circa la gestione di password dimenticata di file office in cui è stata abilitata la funzionalità Crittografa con password come Microsoft nel seguente Proteggere un documento con una password – Supporto tecnico Microsoft riporta le seguenti informazioni:

Se si perde o si dimentica la password del documento, Word non sarà in grado di recuperarla. Gli amministratori IT possono fornire assistenza per il recupero delle password, ma solo se hanno implementato lo strumento DocRecrypt prima di creare la password del documento.

Se si teme che le persone dell’organizzazione perdano l’accesso ai file di Microsoft 365 protetti da password, è consigliabile implementare lo strumento DocRecrypt. DocRecrypt consente di recuperare solo i file crittografati dopo l’implementazione. Per altre informazioni, vedere Rimuovere o reimpostare le password dei file con DocRecrypt.

In un precedente documento You cannot recover a document that is protected with a password if the password is lost in Word – Microsoft Support veniva riportata quanto segue:

In Microsoft Word, a password-protected document cannot be recovered if the password for that document is lost or forgotten. Microsoft does not offer a service to retrieve documents to which passwords have been added, nor does it offer any information about such services or processes.

In alternativa è possibile provare ad usare tool di terze parti cercare di rilevare la password, come ad esempio lostmypass.com che consente di provare a forzare gratuitamente le password deboli (ovvero le password di uso comune, il sistema proverà ad utilizzare un elenco di circa 3 milioni di password), esiste poi la possibilità tentare di recuperare la password a pagamento provando ad utilizzare un elenco di circa 20 miliardi di password reali oppure tentare un attacco a forza bruta con costo economico superiore. Va però precisato che lostmypass.com è un servizio di recupero password online e quindi occorre caricare sui server di lostmypass.com il file con possibili implicazioni dal punto di vista della privacy, al seguente link è possibile consultare la Privacy Policy — LostMyPass.com.

[Update 01]
Nel seguente post Script PowerShell per ricerca della password di protezione di un file Word – DevAdmin Blog è possibile trovare uno script PowerShell per provare a ricercare la password dimentica mediante un elenco di password contenuto in un file di testo.